掌桥专利:专业的专利平台
掌桥专利
首页

一种基于用户行为实现物品推荐的控制方法及装置

文献发布时间:2023-06-19 10:27:30


一种基于用户行为实现物品推荐的控制方法及装置

技术领域

本发明属于互联网应用技术领域,特别涉及一种基于用户行为实现物品推荐的控制方法及装置。

背景技术

推荐系统需要解决海量用户和海量物品匹配的问题,需要在几十毫秒内,从海量物品中找到用户最可能感兴趣的物品,2019年谷歌开发了双塔模型,其主要思想是:通过DNN将用户特征映射到用户特征向量,特征向量可以基于Embedding技术生成,表示用户兴趣特征。同时通过DNN将物品特征和物品ID映射到物品特征向量,表示物品特征。然后通过用户的行为反馈数据训练模型,目标是让用户和它喜欢的物品的距离最近,而这个距离通过内积运算得到。通过训练模型,将物品特征生成的特征向量(Embedding)放入向量数据库中,当用户来时,通过模型生成用户的特征向量(Embedding),然后去物品向量库里查找特征(Embedding)最相似的物品,推荐给用户。

而目前在现有技术中,存在一定的问题,无论是Google的双塔模型或基于双塔模型思想的衍生模型,基本上都是针对视频推荐的,然而应用于信息流推荐会存在如下缺点:信息流时效性特别强,每天出现大量新闻,很多新闻很快就过时了,能够迅速找出用户感兴趣的最新新闻特别重要。然而谷歌的双塔模型,物品的embedding生成依赖用户对物品的行为反馈,无法解决这种新物品的冷启动问题;信息流含有大量文本信息,双塔模型及其衍生模型无法有效利用这些文本信息,而当一些物品只有很少部分人有行为反馈时,生成的物品embedding就无法准确表达物品的信息;为了能够对新物品生成embedding,需要频繁的训练模型,而这将同时改变老物品的embedding,因此,需要频繁更新物品向量库,当物品熟练较大时,频繁更新的开销是十分巨大的;物品的embedding经常变化,无法用于排序模型的训练,因为物品embedding的变化可能导致同一个物品训练时和排序时特征不一致;物品特征embedding生成不具有迁移性,每个项目都需要训练自己的embedding。

尤其对于用户与物品、物品与物品之间的关联程度没有很好的一种预测方法,也没有一种能够通过用户来预测物品,进而通过物品来实现近似物品推荐的控制方法,目前在现有的技术中,并没有一种能够解决上述技术问题的技术方案,具体地,缺少一种基于用户行为实现物品推荐的控制方法及装置。

发明内容

针对现有技术存在的技术缺陷,本发明的目的是提供一种基于用户行为实现物品推荐的控制方法,包括如下步骤:

a.在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,其中,所述状态信息至少包括历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息;

b.基于最邻近查找算法确定一个或多个与所述用户当前访问的embedding特征向量相似的一个或多个第一物品。

优选地,所述DNN模型通过如下方式建立:

i:将用户偏好物品标记为用户的正样本,在所有待推荐物品中随机采样一个物品标记为用户的负样本,其中,用户的正样本和用户的负样本包含用户信息、物品信息及标签信息;

ii:将所述用户的正样本及所述用户的负样本的用户信息输入至DNN模型中,采用梯度下降法对所述DNN模型进行训练。

优选地,所述步骤a包括如下步骤:

a1:基于用户历史访问信息所确定的一个或多个历史偏好物品在向量检索数据库中匹配,确定所述历史偏好物品的一个或多个embedding特征向量;

a2:将所述历史偏好物品的一个或多个embedding特征向量进行平均计算以确定历史偏好物品的embedding特征向量;

a3:将所述历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息及其他用户特征信息作为输入并输出用户当前访问的embedding特征向量,其中,其他用户特征信息至少包括用户的兴趣画像、用户的年龄、籍贯信息。

优选地,在所述步骤a中,所述用户的位置信息包括用户的IP地址和/或用户的GPS经纬度,将所述用户的位置信息所归属的城市进行分类编码数字化,输入至所述DNN模型中。

优选地,所述最邻近查找算法为如下方式中的任一种:

-余弦相似度算法;

-向量内积算法;或

-欧式距离算法。

优选地,在所述步骤b之后,还包括步骤c:基于最邻近查找算法确定一个或多个与所述第一物品的embedding特征向量相适应的第二物品的embedding特征向量。

优选地,在所述步骤a之前,还包括步骤:

A:将所有待推荐物品的特征信息作为输入在BERT模型中进行预测以确定一个或多个待推荐物品的embedding特征向量,所述待推荐物品至少包括第一物品、第二物品以及历史偏好物品;

B:将一个或多个待推荐物品的embedding特征向量存储在向量检索数据库中。

优选地,所述BERT模型通过如下步骤建立:

A1:计算所有待推荐物品中任意两个物品之间的相似度Score(a,b);

A2:将Score(a,b)大于第一阈值的一个或多个物品对以及特征信息作为正样本,将Score(a,b)小于第二阈值的一个或多个物品对及其特征信息作为负样本,将正样本以及负样本按照相同比例数量对BERT模型进行训练,其中,所述物品对包含2个物品。

优选地,在所述步骤A1中,通过如下公式实现所有待推荐物品中任意两个物品之间的相似度的计算:

优选地,所述第一阈值的取值范围为0.05~1。

优选地,所述第二阈值的取值范围为0~0.0015。

优选地,还包括步骤d:将一个或多个所述第一物品按照相似度从大到小的顺序进行排序后作为第一顺位,将一个或多个所述第二物品按照相似度从大到小的顺序进行排序后作为第二顺位,按照第一顺位、第二顺位的先后顺序进行展示。

根据本发明的另一个方面,提供了一种基于用户行为实现物品推荐的控制装置,其采用所述的控制方法,包括:

第一处理装置:在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量;

第一确定装置:基于最邻近查找算法确定一个或多个与所述用户当前访问的embedding特征向量相似的一个或多个第一物品。

优选地,还包括:

第二处理装置:将用户偏好物品标记为用户的正样本,在所有待推荐物品中随机采样一个物品标记为用户的负样本;

第三处理装置:将所述用户的正样本及所述用户的负样本的用户信息输入至DNN模型中,采用梯度下降法对所述DNN模型进行训练。

优选地,所述第一处理装置包括:

第二确定装置:基于用户历史访问信息所确定的一个或多个历史偏好物品在向量检索数据库中匹配,确定所述历史偏好物品的一个或多个embedding特征向量;

第三确定装置:将所述历史偏好物品的一个或多个embedding特征向量进行平均计算以确定历史偏好物品的embedding特征向量;

第四处理装置:将所述历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息及其他用户特征信息作为输入并输出用户当前访问的embedding特征向量。

优选地,还包括:

第四确定装置:将所有待推荐物品的特征信息作为输入在BERT模型中进行预测以确定一个或多个待推荐物品的embedding特征向量;

第一存储装置:将一个或多个待推荐物品的embedding特征向量存储在向量检索数据库中。

优选地,还包括:

第一计算装置:计算所有待推荐物品中任意两个物品之间的相似度Score(a,b);

第五处理装置:将Score(a,b)大于第一阈值的一个或多个物品对以及特征信息作为正样本,将Score(a,b)小于第二阈值的一个或多个物品对及其特征信息作为负样本,将正样本以及负样本按照相同比例数量对BERT模型进行训练。

本发明在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,其中,所述状态信息至少包括历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息;基于最邻近查找算法确定一个或多个与所述用户当前访问的embedding特征向量相似的一个或多个第一物品。

本发明的有益效果如下:

(1)只在训练时依赖用户行为,预测时不依赖用户行为,只依赖物品本身的文本内容,如标题,摘要/正文等等。这样对于新的物品我们可以实时生成相应的embedding加入物品库,并根据用户历史点击物品的embedding或者用户的embedding,通过最近邻查找的方式找到并推动给可能感兴趣的用户,这有效解决了信息流推荐中的冷启动问题;

(2)采用BERT进行训练,能够有效捕捉物品中文本上下文的信息,生成可靠的Embedding;

(3)可以采用大量数据训练,一旦训练完成,可以使用较长时间,没有必要频繁更新。这不仅节约了训练时间,同时也避免了频繁更新物品向量库带来的线上性能开销;

(4)由于可以较长时间维持稳定,因此物品的embedding特征可以直接拿来进行排序模型的训练和线上预测,不会带来训练和预测不一致的问题;

(5)整体模型具备一定的可迁移性,在成熟的大规模信息流场景中训练的模型,可以直接拿去给类似的新的信息流产品使用,解决项目冷启动,没有数据的问题;

(6)用户embedding也没有采用用户ID,而是通过地理位置信息(如IP地址)以及用户的特征和历史行为来生成用户的embedding,因此即使是新用户,也能生成有效的embedding,可以解决用户的冷启动问题。

本发明方法简单、流程便捷、推荐精准、节约训练时间并解决了冷启动的问题,具有极高的商业价值。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出了本发明的具体实施方式的,一种基于用户行为实现物品推荐的控制方法的具体流程示意图;

图2示出了本发明的第一实施例的,所述DNN模型建立的具体流程示意图;

图3示出了本发明的第二实施例的,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量的具体流程示意图;

图4示出了本发明的第三实施例的,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量之前的具体流程示意图;

图5示出了本发明的第四实施例的,所述BERT模型建立的具体流程示意图;以及

图6示出了本发明的另一具体实施方式的,一种基于用户行为实现物品推荐的控制装置的模块连接示意图。

具体实施方式

为了更好的使本发明的技术方案清晰的表示出来,下面结合附图对本发明作进一步说明。

图1示出了本发明的具体实施方式的,一种基于用户行为实现物品推荐的控制方法的具体流程示意图,本领域技术人员理解,本发明旨在通过双塔模型实现用户行为特征与物品之间的相关推荐,进一步地,通过向量化表示的用户行为特征确定与之相匹配的物品,进而通过物品来寻找更多相关联的物品,从而基于用户行为实现多个物品相关联推荐,具体地,包括如下步骤:

首先,进入步骤S101,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,其中,所述状态信息至少包括历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息,所述DNN模型即为DeepNeuralNetwork,深度神经网络,是机器学习领域中一种技术,本领域技术人员理解,本发明旨在将用户当前访问的状态信息作为输入,即并不需要通过用户在当前访问状态下浏览、点击、收藏或确认一些物品、指令等,而是可以基于用户历史浏览记录,用户历史偏好物品等等特性,在当前状态访问时,直接调取历史记录,从而将历史记录作为一个必要参数进行输入,这样做的目的有效的解决了当前环境下普遍存在的冷启动的问题。

进一步地,本发明不仅需要结合用户的历史记录,还需要结合用户的位置信息、用户的时间信息,在本发明中,所述历史记录优选地为历史偏好物品的embedding特征向量,所述历史偏好物品的embedding特征向量的获取将在后述的具体实施方式中做进一步描述,在所述步骤S101中,所述用户的位置信息包括用户的IP地址和/或用户的GPS经纬度,将所述用户的位置信息所归属的城市进行分类编码数字化,输入至所述DNN模型中,本发明中采用IP/GPS分解embedding的方式来表示,具体是,将IP分成四个0~255的整数分别embedding,然后拼接后接入残差网络生成ipembedding,最后再将这个embedding和用户其他特征拼接输入双塔模型,这样处理的优点是,可以增强模型泛化能力,任何ip输入,模型都能获取其embedding特征。

进一步地,用户的时间信息则是用户当前状态下访问的时间,包括年、月、日、星期、小时等等,在此不予赘述。

然后,进入步骤S102,基于最邻近查找算法确定一个或多个与所述用户当前访问的embedding特征向量相似的一个或多个第一物品,基于步骤S102有可能确定与所述用户当前访问的embedding特征向量相似的一个第一物品,也可以确定与所述用户当前访问的embedding特征向量相似的多个第一物品,所述最邻近查找算法为余弦相似度算法、向量内积算法或欧式距离算法,在本步骤中,优选地采用向量内积算法。

作为一个优选地实施例,在所述步骤S102之后,还包括步骤S103:基于最邻近查找算法确定一个或多个与所述第一物品的embedding特征向量相适应的第二物品的embedding特征向量,所述最邻近查找算法为余弦相似度算法、向量内积算法或欧式距离算法,在本步骤中,优选地采用余弦相似度算法,在本步骤中,涉及到物品与物品之间推荐的方法,这些将在后述的具体实施方式中进行描述,所述最邻近查找算法包括但不限于余弦相似度算法、向量内积算法或欧式距离算法,进一步地,通过所述第一物品优选地可以查找出多个第二物品,进一步地,基于相似度的高低,进行排序后推荐。

进一步地,余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度,余弦相似度将向量根据坐标值,绘制到向量空间中;向量的内积是对两个向量执行点乘运算,对这两个向量对应位一一相乘之后求和的操作,而欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离,就三种用以实现最邻近查找算法查找物品的结果来看,余弦相似度算法、向量内积算法的结果越大越相似,而欧式距离算法所得到的结果则是越小越相似。

进一步地,当所述最邻近查找算法为余弦相似度算法时,将与所述第一物品的embedding特征向量相似度小于一阈值的一个或多个物品作为不相关物品进行去除,本发明优选的通过余弦相似度算法来确定与所述第一物品相似的多个第二物品,当与所述第一物品的embedding特征向量相似度小于一阈值时,则认为当前物品与第一物品的相似度较低,可以作为不相关物品进行去除,进一步地,所述阈值优选地为0.6,而在其他实施例中,所述阈值还可以为0.4、0.5等等,这些都不影响本发明的具体实施方式,在此不予赘述。

进一步地,将与所述第一物品的embedding特征向量相似度大于另一阈值的一个或多个物品的embedding特征向量作为相同物品进行去除,在这样的实施例中,当与所述第一物品的embedding特征向量相似度大于另一阈值时,则认为当前物品与第一物品相同,则需要将其进行去除,更为具体地,所述另一阈值的取值范围为0.997~1,在本申请中,优选地可以设置在0.997,即将与所述第一物品的embedding特征向量相似度大于0.997的一个或多个物品的embedding特征向量作为相同物品进行去除。

进一步地,将一个或多个所述第二物品按照相似度从大到小的顺序进行排序后展示,结合上述实施例,若一个或多个所述第二物品与所述第一物品的相似度分别为0.77、0.75、0.86、0.92、0.89、0.74,则优选地按照相识度为0.92、0.89、0.86、0.77、0.75、0.74的顺序将多个所述第二物品进行排序后展示。

作为另一个优选地实施例,还包括步骤S104:将一个或多个所述第一物品按照相似度从大到小的顺序进行排序后作为第一顺位,将一个或多个所述第二物品按照相似度从大到小的顺序进行排序后作为第二顺位,按照第一顺位、第二顺位的先后顺序进行展示,即若经过步骤S101至步骤S103,第一物品包括X、Y、以及Z三个物品,且这三个物品按照相似度排序为Y、X以及Z,且基于Y确定的第二物品分别为Y1为0.91、Y2为0.93、Y3为0.79,则按照相似度从大到小的顺序进行排序后为Y2、Y1、Y3,且基于X确定的第二物品分别为X1为0.76、X2为0.96、X3为0.95,则按照相似度从大到小的顺序进行排序后为X2、X3、X1,且基于Z确定的第二物品分别为Z1为0.88、Z2为0.87、Z3为0.91,则按照相似度从大到小的顺序进行排序后为Z3、Z1、Z2,则将一个或多个所述第一物品按照相似度从大到小的顺序进行排序后作为第一顺位,将一个或多个所述第二物品按照相似度从大到小的顺序进行排序后作为第二顺位,按照第一顺位、第二顺位的先后顺序进行展示后,最终的展示结果为:Y2、Y1、Y3、X2、X3、X1、Z3、Z1、Z2。

图2示出了本发明的第一实施例的,所述DNN模型建立的具体流程示意图,本领域技术人员理解,在步骤S101中,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,图2即用于阐述所述DNN模型的建立,具体地,包括如下步骤:

首先,进入步骤S201,将用户偏好物品标记为用户的正样本,在所有待推荐物品中随机采样一个物品标记为用户的负样本,其中,用户的正样本和用户的负样本包含用户信息、物品信息及标签信息,本发明旨在训练一个用户和物品的双塔模型,以获得用户的embedding,同样,本发明旨在使得用户的embedding和用户偏好的物品的embedding尽可能的接近,进而能通过用户的embedding用最近邻查找的方式,迅速找到用户感兴趣的物品。本发明通过用户对物品的反馈,提取正负样本,用户喜欢的物品,为正样本。对应的从当天全部物品中随机采样一个物品作为负样本。

所述用户偏好物品即为用户感兴趣的物品,可通过用户历史偏好物品、历史偏好访问、用户点击,信息流资讯推荐,视频观看时长等等来确定,而所述待推荐物品则是用于实现物品推荐的所有物品。

然后,进入步骤S202,将所述用户的正样本及所述用户的负样本的用户信息输入至DNN模型中,采用梯度下降法对所述DNN模型进行训练,将正负样本输入上图中左侧的用户和物品的双塔模型进行训练,得到双塔模型,梯度下降是迭代法的一种,可以用于求解最小二乘问题。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

图3示出了本发明的第二实施例的,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量的具体流程示意图,本领域技术人员理解,所述图3即为步骤S101的具体描述,所述步骤S101包括如下步骤:

首先,进入步骤S1011,基于用户历史访问信息所确定的一个或多个历史偏好物品在向量检索数据库中匹配,确定所述历史偏好物品的一个或多个embedding特征向量,本发明旨在通过所确定的一个或多个历史偏好物品的embedding特征向量来确定用户当前访问的状态信息,进一步地,由于用户历史访问信息中大概率会存在有多个历史偏好物品,而如何将这些历史偏好物品全部作为参数融入到DNN模型中作为参考是目前亟待解决的技术难点,故本发明首先将一个或多个历史偏好物品进行向量化表示,从而确定所述历史偏好物品的一个或多个embedding特征向量。而所述向量检索数据库的建立、确定、匹配将在后述的具体实施方式中作进一步的描述。

进一步地,所述用户历史访问信息为用户当前访问状态下进行点击、浏览、收藏、喜欢等行为操作,更进一步地,是指用户在一段时间内所进行的上述行为操作,通过用户行为操作,可以确定用户的一个或多个历史偏好物品。进一步地,所述一个或多个历史偏好物品对应于一个或多个历史偏好物品的embedding特征向量,在所述步骤S101之前,优选地在向量检索数据库中进行了存储,这些将在后述的具体实施方式中作进一步的描述,进而所述一个或多个历史偏好物品在向量检索数据库中匹配,确定所述一个或多个历史偏好物品的embedding特征向量。

然后,进入步骤S1012,将所述历史偏好物品的一个或多个embedding特征向量进行平均计算以确定历史偏好物品的embedding特征向量,在这样的实施例中,优选地采用了平均算法,而在其他的实施例中,还可以采用加权平均算法,或者去掉最高值以及最低值后再平均等算法,本步骤的目的在于将用户历史偏好物品全部作为参数进行计算,进而更为精准的确定用户当前状态下所需要推荐的物品。

最后,进入步骤S1013,将所述历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息及其他用户特征信息作为输入并输出用户当前访问的embedding特征向量,其中,其他用户特征信息至少包括用户的兴趣画像、用户的年龄、籍贯信息。作为一个优选实施例,结合步骤S101,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,其中,所述状态信息至少包括历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息,而在本步骤中,还包括其他用户特征信息,进一步地,将用户的兴趣画像、用户的年龄、籍贯信息同样作为参考因素,可以使得计算所得到的结果更加贴近于用户所需要的物品推荐。

图4示出了本发明的第三实施例的,在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量之前的具体流程示意图,图4示出的是在所述步骤S101之前所包括的步骤,具体地:

首先,进入步骤S301,将所有待推荐物品的特征信息作为输入在BERT模型中进行预测以确定一个或多个待推荐物品的embedding特征向量,所述待推荐物品至少包括第一物品、第二物品以及历史偏好物品,在这样的实施例中,所述步骤S301之所以需要在步骤S101之前完成,是为了在用户进行实时访问时,不再去花更多的卡顿时间去完成物品向物品向量的转化,进而直接进行实时匹配、实时推荐,即这些步骤将在实际用户进行物品相似推荐时完成,可以在后台中完成,从而节省了计算时间、降低了计算成本,提高了计算效率。本领域技术人员理解,本步骤是将待推荐物品的特征信息进行向量化表示的过程,而所述BERT则是用以实现向量化表示的训练模型,这些将在后述实施例中作进一步的描述,BERT即Bidirectional Encoder Representations from Transformers,其本质上是通过在海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示,所谓自监督学习是指在没有人工标注的数据上运行的监督学习,而本发明将其应用于物品的相似推荐。

最后,进入步骤S302,将一个或多个待推荐物品的embedding特征向量存储在向量检索数据库中,所述向量检索数据库中优选的存储有所有待推荐物品的embedding特征向量,这里涵盖有包括但不限于第一物品、第二物品、用户历史偏好的物品、用户历史不喜欢的物品等等,而这些都将在用户实际进行访问之前,都将所有待推荐物品的特征信息作为输入在BERT模型中进行预测以确定一个或多个待推荐物品的embedding特征向量后,存储在向量检索数据库备用。进一步地,在执行步骤S1011时,可以迅速的查找到在向量检索数据库中匹配,确定所述历史偏好物品的一个或多个embedding特征向量。

图5示出了本发明的第四实施例的,所述BERT模型建立的具体流程示意图,本领域技术人员理解,图5旨在说明在步骤S301中所述BERT模型的建立,具体地,所述BERT模型通过如下步骤建立:

首先,进入步骤S401,计算所有待推荐物品中任意两个物品之间的相似度Score(a,b),计算所有待推荐物品中任意两个物品之间的相似度Score(a,b),在这样的实施例中,若所有待推荐物品中有六个物品,分别为A、B、C、D、E以及F,则根据步骤S401,则计算Score(A,B)、Score(A,C)、Score(A,D)、Score(A,E)、Score(A,F)、Score(B,C)、Score(B,D)、Score(B,E)、Score(B,F)、Score(C,D)、Score(C,E)、Score(C,F)、Score(D,E)、Score(D,F)、Score(E,F)。

然后,进入步骤S402,将Score(a,b)大于第一阈值的一个或多个物品对以及特征信息作为正样本,将Score(a,b)小于第二阈值的一个或多个物品对及其特征信息作为负样本,将正样本以及负样本按照相同比例数量对BERT模型进行训练,其中,所述物品对包含2个物品,在这样的实施例中,由于是计算两个物品的相似度,故需要将所述物品之间的相似度作为一个整体,即作为一个物品对进行处理,所述一个物品对中将包含作为一个整体,用以确定两个物品之间相似度的两个物品,所述特征信息优选地是物品的上下文信息、物品的描述信息、物品名称、物品来源等等。

进一步地,在所述步骤S401中,通过如下公式实现所有待推荐物品中任意两个物品之间的相似度的计算:

进一步地,所述第一阈值的取值范围为0.05~1,所述第一阈值优选地取值为0.1,即将Score(a,b)大于0.1的一个或多个物品对以及特征信息作为正样本,而在其他的实施例中,还可以取值为0.07、0.5、0.8等等。

进一步地,所述第二阈值的取值范围为0~0.0015,所述第二阈值优选地取值为0.001,即将Score(a,b)小于0.001的一个或多个物品对及其特征信息作为负样本,而在其他的实施例中,还可以取值为0.0001、0.0007、0.0013等等。

进一步地,将Score(a,b)大于第一阈值且f(A∩B)大于第三阈值的一个或多个物品对以及作为正样本,其中,所述第三阈值为3,所述物品对包含2个物品,在这样的实施例中,结合上述实施例,将Score(a,b)大于0.1且f(A∩B)大于3的一个或多个物品对以及作为正样本。

结合本发明图1至图5,本领域技术人员理解,在另一个优选地实施例中,根据用户喜欢的物品推荐其他喜欢的物品,即通过模型BERT,将物品的文本内容输入BERT模型,获得物品的embedding向量,并将这些embedding向量存入向量检索数据库,包括历史物品和新出物品;然后实时统计用户最近一段时间喜欢(最近点击)的物品,存入redis或其他缓存中;当用户访问时,对所述每个物品,在向量检索数据库中找到物品的embedding向量;对于前述中每个embedding向量,将向量输入向量检索库中,通过最近邻查找最相似的N个物品以及其对应的相似度;对于前述中的所有检索到的物品,按照一定顺序排序后推荐给用户,所述一定排序可以是按照检索到的物品和用户喜欢的物品的相似度排序,也可以是按照其他排序算法进行排序,形式不限;相似度超过一定阈值的物品可能是重复物品,相似度低于一定阈值的物品不匹配,根据需要可以选择去除。

上述步骤的优点在于:可根据用户喜欢的物品,推荐相似的物品给用户,具有很好的准确性;新物品出现后可以立即输入模型生成embedding,并将embedding加入向量库,加入向量库后段时间内(几秒钟内),就可以被其他相似物品检索到,有很好的实现新物品实时冷启动,新物品的推荐有实时和精准性;用户喜欢的物品实时统计更新,用户行为发生变化后,可以实时带来推荐结果的变化,因此可以实现实时个性化推荐。

进一步地,根据用户的特征和行为推荐可能喜欢的物品,即通过模型DNN。首先将物品的文本内容输入BERT模型,获得物品的embedding向量,并将这些embedding向量存入向量检索数据库,包括历史物品和新出物品;实时统计用户最近一段时间喜欢的物品,存入redis或其他缓存中;当用户访问时,对于前述步骤中每个物品,去向量检索数据库中找到物品的embedding向量,将所有物品的embedding求平均,得到一个新向量记为historylike;当用户访问时,获取用户的位置信息(如PC用户的IP地址,移动用户的GPS经纬度)以及当前访问时间信息,如星期、小时等;将前述步骤获取的history like向量以及用户的位置信息和访问时间信息,连同用户的其他特征一起输入到模型的DNN模型,得到用户本次请求的embedding向量;将用户的embedding向量输入到所述的向量检索数据库中,通过最近邻查找最相似的N个物品以及其对应的相似度,按距离由近及远排序后推荐给用户。

上述步骤的优点在于:既利用了用户喜欢的物品,也利用了用户的其他特征以及用户访问时的上下文信息,用户喜欢的物品实时统计更新,用户访问时间也在变化更新,能够实现用户实时个性化推荐;在前述步骤中,新物品出现后可以立即输入模型生成embedding,并将embedding加入向量库,加入向量库一段时间内,就可以被其他相似物品检索到,有很好的实现新物品实时冷启动,新物品的推荐有实时和精准性;对于冷启动用户,模型可以自动根据用户的位置信息和访问时间,推荐合适的物品,自动实现区域分时推荐。

图6示出了本发明的另一具体实施方式的,一种基于用户行为实现物品推荐的控制装置的模块连接示意图,本发明不仅公开了一种基于用户行为实现物品推荐的控制方法,还公开了一种基于用户行为实现物品推荐的控制装置,其采用所述的控制方法,包括第一处理装置1:在DNN模型中将用户当前访问的状态信息作为输入并输出用户当前访问的embedding特征向量,所述第一处理装置1的工作原理可以参考前述步骤S101,在此不予赘述。

进一步地,所述控制装置还包括第一确定装置2:基于最邻近查找算法确定一个或多个与所述用户当前访问的embedding特征向量相似的一个或多个第一物品,所述第一确定装置2的工作原理可以参考前述步骤S102,在此不予赘述。

进一步地,还包括第二处理装置3:将用户偏好物品标记为用户的正样本,在所有待推荐物品中随机采样一个物品标记为用户的负样本,所述第二处理装置3的工作原理可以参考前述步骤S201,在此不予赘述。

进一步地,还包括第三处理装置4:将所述用户的正样本及所述用户的负样本的用户信息输入至DNN模型中,采用梯度下降法对所述DNN模型进行训练,所述第三处理装置4的工作原理可以参考前述步骤S202,在此不予赘述。

进一步地,所述第一处理装置1包括第二确定装置11:基于用户历史访问信息所确定的一个或多个历史偏好物品在向量检索数据库中匹配,确定所述历史偏好物品的一个或多个embedding特征向量,所述第二确定装置11的工作原理可以参考前述步骤S1011,在此不予赘述。

进一步地,所述第一处理装置1包括第三确定装置12:将所述历史偏好物品的一个或多个embedding特征向量进行平均计算以确定历史偏好物品的embedding特征向量,所述第三确定装置12的工作原理可以参考前述步骤S1012,在此不予赘述。

进一步地,所述第一处理装置1包括第四处理装置13:将所述历史偏好物品的embedding特征向量、用户的位置信息、用户的时间信息及其他用户特征信息作为输入并输出用户当前访问的embedding特征向量,所述第四处理装置13的工作原理可以参考前述步骤S1013,在此不予赘述。

进一步地,所述控制装置还包括第四确定装置5:将所有待推荐物品的特征信息作为输入在BERT模型中进行预测以确定一个或多个待推荐物品的embedding特征向量,所述第四确定装置5的工作原理可以参考前述步骤S301,在此不予赘述。

进一步地,所述控制装置还包括第一存储装置6:将一个或多个待推荐物品的embedding特征向量存储在向量检索数据库中,所述第一存储装置6的工作原理可以参考前述步骤S302,在此不予赘述。

进一步地,所述控制装置还包括第一计算装置51:计算所有待推荐物品中任意两个物品之间的相似度Score(a,b),所述第一计算装置51的工作原理可以参考前述步骤S401,在此不予赘述。

进一步地,所述控制装置还包括第五处理装置52:将Score(a,b)大于第一阈值的一个或多个物品对以及特征信息作为正样本,将Score(a,b)小于第二阈值的一个或多个物品对及其特征信息作为负样本,将正样本以及负样本按照相同比例数量对BERT模型进行训练,所述第五处理装置52的工作原理可以参考前述步骤S402,在此不予赘述。

需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。综上所述,本发明的技术方案,为用户提供了一种基于用户行为实现物品推荐的控制方法,该技术方案为用户提供了准确的物品推荐,节约了资源并提高了效率。

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

此外,本领域技术人员理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域技术人员理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

相关技术
  • 一种基于用户行为实现物品推荐的控制方法及装置
  • 一种基于用户行为实现广告推送的控制方法、装置及系统
技术分类

06120112553694