CN110955831B - 物品推荐方法、装置、计算机设备及存储介质 - Google Patents
物品推荐方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110955831B CN110955831B CN201911168478.4A CN201911168478A CN110955831B CN 110955831 B CN110955831 B CN 110955831B CN 201911168478 A CN201911168478 A CN 201911168478A CN 110955831 B CN110955831 B CN 110955831B
- Authority
- CN
- China
- Prior art keywords
- item
- vector
- article
- similarity
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Abstract
本申请公开了一种物品推荐方法、装置、计算机设备及存储介质,属于计算机技术领域。本申请通过根据两两样本物品之间的至少一个协同过滤分数,获取两两特征之间的至少一个相似度,从而能够训练出物品的特征之间的相似度,根据该至少一个相似度,对各个特征进行向量化,获取该多个特征的特征向量,基于该多个特征的特征向量,确定目标物品的物品向量,也即是以向量化后的特征来表示目标物品的物品向量,以体现目标物品在语义上的特征信息,根据该至少一个目标物品的物品向量进行物品推荐,能够提升物品推荐过程的智能性。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种物品推荐方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,计算机设备可以基于推荐系统预测用户可能感兴趣的物品,从而向用户终端推荐用户可能感兴趣的物品。目前,通常采用基于协同过滤(Collaborative Filtering,CF)的方式,从海量物品中召回用户可能感兴趣的物品所组成的候选集。
然而,上述基于协同过滤进行召回时,新物品(也即是推荐系统中从未出现过的物品)永远没有机会出现在召回的候选集中。针对上述情况,可以对新物品构建关键词序列,根据关键词序列的重合度来确定新物品与已有物品之间的相似度,从而可以将新物品推荐给喜欢过与新物品相似度较高的已有物品的用户。
在上述过程中,在获取新物品与已有物品之间的相似度时,仅仅是比对两者的关键词序列中是否存在共同的关键词,如果不存在共同的关键词,相似度则为0。考察一种情况:假设新物品包含关键词“迪士尼”,已有物品包含关键词“游乐场”,由于“迪士尼”和“游乐场”不是相同的关键词,因此机器会判断出新物品与已有物品之间相似度为0,然而实际上“迪士尼”和“游乐场”在语义上是具有较高相似度的,因此,上述基于关键词序列获取相似度的方式准确度低,使得对新物品与已有物品之间语义是否相似的判断能力差,导致推荐新物品过程的智能性差。
发明内容
本申请实施例提供了一种物品推荐方法、装置、计算机设备及存储介质,能够解决推荐新物品过程的智能性差的问题。该技术方案如下:
一方面,提供了一种物品推荐方法,该方法包括:
根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度;
根据所述至少一个相似度,获取所述多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度;
基于所述多个特征的特征向量,确定至少一个目标物品的物品向量;
根据所述至少一个目标物品的物品向量进行物品推荐。
在一种可能实施方式中,所述根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度包括:
根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及所述多个特征对应的多个预估权重,获取所述多个样本物品中两两样本物品之间的至少一个物品相似度;
根据所述至少一个物品相似度和所述至少一个协同过滤分数,获取目标函数值;
若所述目标函数值大于目标阈值,基于梯度下降算法更新所述至少一个预估相似度和所述多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行获取目标函数值的步骤,直到目标函数值小于或等于目标阈值;
若所述目标函数值小于或等于目标阈值,将本次迭代采用的至少一个预估相似度确定为所述多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为所述多个特征对应的多个权重。
在一种可能实施方式中,所述根据所述至少一个物品相似度和所述至少一个协同过滤分数,获取目标函数值包括:
将所述至少一个物品相似度与所述至少一个协同过滤分数之间的均方误差确定为所述目标函数值。
在一种可能实施方式中,所述根据所述至少一个相似度,获取所述多个特征的特征向量包括:
根据所述至少一个相似度,构建特征网络结构图,所述特征网络结构图包括与所述多个特征对应的多个节点,不同节点之间的连线用于表示与所述不同节点所对应的两特征之间的相似度;
对所述特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征;
基于所述多个特征序列训练词向量模型,通过所述词向量模型获取所述多个特征的特征向量。
在一种可能实施方式中,所述基于所述多个特征的特征向量,确定至少一个目标物品的物品向量包括:
对每个目标物品,确定所述目标物品所包括的至少一个目标特征;
从所述多个特征的特征向量中,获取所述至少一个目标特征的特征向量;
根据所述至少一个目标特征的特征向量,获取所述目标物品的物品向量。
在一种可能实施方式中,所述根据所述至少一个目标特征的特征向量,获取所述目标物品的物品向量包括:
对所述至少一个目标特征的特征向量分别进行加权均值池化和加权最大池化,得到所述至少一个目标特征的池化向量;
将所述至少一个目标特征的池化向量进行拼接处理,得到所述目标物品的物品向量。
在一种可能实施方式中,所述根据所述至少一个目标物品的物品向量进行物品推荐包括:
基于所述多个特征的特征向量,确定所述多个样本物品的物品向量;
根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度;
将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
在一种可能实施方式中,所述根据所述至少一个目标物品的物品向量进行物品推荐包括:
对任一用户,确定与所述用户的互动行为对应的至少一个物品;
从各个目标物品的物品向量以及各个样本物品的物品向量中,获取所述至少一个物品的物品向量;
根据所述至少一个物品的物品向量,生成所述用户的用户向量,基于所述用户向量对所述用户进行物品推荐。
在一种可能实施方式中,所述根据所述至少一个物品的物品向量,生成所述用户的用户向量包括:
对所述至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到所述至少一个物品的池化向量;
将所述至少一个物品的池化向量进行拼接处理,得到所述用户向量。
在一种可能实施方式中,所述基于所述用户向量对所述用户进行物品推荐包括:
根据各个用户的用户向量,获取各个用户之间的用户相似度,为所述用户推荐用户相似度大于第二相似度阈值的用户所对应的物品;或,
获取所述用户向量与各个物品的物品向量之间的匹配度,为所述用户推荐匹配度大于匹配度阈值的物品。
在一种可能实施方式中,所述互动行为包括浏览行为、收藏行为或者下单行为中的至少一项。
一方面,提供了一种物品推荐装置,该装置包括:
第一获取模块,用于根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度;
第二获取模块,用于根据所述至少一个相似度,获取所述多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度;
确定模块,用于基于所述多个特征的特征向量,确定至少一个目标物品的物品向量;
推荐模块,用于根据所述至少一个目标物品的物品向量进行物品推荐。
在一种可能实施方式中,所述第一获取模块包括:
第一获取单元,用于根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及所述多个特征对应的多个预估权重,获取所述多个样本物品中两两样本物品之间的至少一个物品相似度;
第二获取单元,用于根据所述至少一个物品相似度和所述至少一个协同过滤分数,获取目标函数值;
更新迭代单元,用于若所述目标函数值大于目标阈值,基于梯度下降算法更新所述至少一个预估相似度和所述多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行获取目标函数值的步骤,直到目标函数值小于或等于目标阈值;
确定单元,用于若所述目标函数值小于或等于目标阈值,将本次迭代采用的至少一个预估相似度确定为所述多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为所述多个特征对应的多个权重。
在一种可能实施方式中,所述第二获取单元用于:
将所述至少一个物品相似度与所述至少一个协同过滤分数之间的均方误差确定为所述目标函数值。
在一种可能实施方式中,所述第二获取模块用于:
根据所述至少一个相似度,构建特征网络结构图,所述特征网络结构图包括与所述多个特征对应的多个节点,不同节点之间的连线用于表示与所述不同节点所对应的两特征之间的相似度;
对所述特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征;
基于所述多个特征序列训练词向量模型,通过所述词向量模型获取所述多个特征的特征向量。
在一种可能实施方式中,所述确定模块包括:
第一确定单元,用于对每个目标物品,确定所述目标物品所包括的至少一个目标特征;
第三获取单元,用于从所述多个特征的特征向量中,获取所述至少一个目标特征的特征向量;
第四获取单元,用于根据所述至少一个目标特征的特征向量,获取所述目标物品的物品向量。
在一种可能实施方式中,所述第四获取单元用于:
对所述至少一个目标特征的特征向量分别进行加权均值池化和加权最大池化,得到所述至少一个目标特征的池化向量;
将所述至少一个目标特征的池化向量进行拼接处理,得到所述目标物品的物品向量。
在一种可能实施方式中,所述推荐模块用于:
基于所述多个特征的特征向量,确定所述多个样本物品的物品向量;
根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度;
将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
在一种可能实施方式中,所述推荐模块包括:
第二确定单元,用于对任一用户,确定与所述用户的互动行为对应的至少一个物品;
第五获取单元,用于从各个目标物品的物品向量以及各个样本物品的物品向量中,获取所述至少一个物品的物品向量;
生成推荐单元,用于根据所述至少一个物品的物品向量,生成所述用户的用户向量,基于所述用户向量对所述用户进行物品推荐。
在一种可能实施方式中,所述生成推荐单元用于:
对所述至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到所述至少一个物品的池化向量;
将所述至少一个物品的池化向量进行拼接处理,得到所述用户向量。
在一种可能实施方式中,所述生成推荐单元用于:
根据各个用户的用户向量,获取各个用户之间的用户相似度,为所述用户推荐用户相似度大于第二相似度阈值的用户所对应的物品;或,
获取所述用户向量与各个物品的物品向量之间的匹配度,为所述用户推荐匹配度大于匹配度阈值的物品。
在一种可能实施方式中,所述互动行为包括浏览行为、收藏行为或者下单行为中的至少一项。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的物品推荐方法所执行的操作。
一方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的物品推荐方法所执行的操作。
一方面,提供了一种计算机程序产品,该计算机程序产品包括至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的物品推荐方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度,从而能够通过样本物品训练出物品的特征之间的相似度,根据该至少一个相似度,获取该多个特征的特征向量,从而能够对各个特征进行向量化,不同特征的特征向量之间的距离用于表示不同特征之间的相似度,基于该多个特征的特征向量,确定至少一个目标物品的物品向量,也即是说,以向量化后的特征来表示出目标物品的物品向量,使得目标物品的物品向量能够体现目标物品在语义上的一些特征信息,使得在根据该至少一个目标物品的物品向量进行物品推荐时,能够不依赖于关键词序列的重合度,而由于向量化之后的特征具有更强的表达能力和更高的准确性,从而能够提升整体物品推荐的智能性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种物品推荐方法的实施环境示意图;
图2是本申请实施例提供的一种物品推荐方法的流程图;
图3是本申请实施例提供的一种物品推荐方法的流程图;
图4是本申请实施例提供的一种物品相似度计算模型的原理图;
图5是本申请实施例提供的一种获取特征向量的原理性示意图;
图6是本申请实施例提供的一种获取物品向量的原理性示意图;
图7是本申请实施例提供的一种物品推荐方法的流程图;
图8的本申请实施例提供的一种获取用户向量的原理性示意图;
图9是本申请实施例提供的一种物品推荐装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
以下,对本申请涉及的术语进行解释。
物品(item),是指待向用户终端推荐物品的物品资源,可选地,待推荐的物品可以是一种待推荐的商品,或者一种待推荐的服务,而待推荐物品的物品资源可以包括网页资源、文本资源、图片资源、视频资源或者音频资源中的至少一项,例如,该物品资源为待推荐物品的特写图片,或者为待推荐物品的展示视频,或者为待推荐物品的详情页面资源等,本申请实施例不对物品资源的类型进行具体限定。
物品推荐,是指计算机设备预测不同用户可能感兴趣的物品,并向不同的用户终端分别推送个性化的物品资源的过程。具体地,计算机设备可以通过推荐系统来预测用户可能感兴趣的物品,推荐系统本质上是一种包括至少一条程序代码的计算机程序产品,推荐系统通常可以划分为召回阶段和排序阶段。
在召回阶段中,计算机设备从海量物品中筛选出用户可能感兴趣的一个或多个物品,将上述一个或多个物品确定为候选集。在排序阶段中,计算机设备对候选集中的一个或多个物品进行精细化的排序,以便于按照排序后的各个物品进行物品推荐。比如,推荐排序位于前目标数量的物品,或者推荐排序位于前目标比例的物品,本申请实施例不对物品推荐的方式进行具体限定。
协同过滤(Collaborative Filtering,简称CF),是指利用具有共同兴趣或共同经验的群体偏好来进行个体用户推荐,由于协同过滤的计算逻辑简单、效果好,因此协同过滤是一种被广泛应用在召回阶段的算法。具体地,在协同过滤算法中,计算机设备可以统计一定时间周期内各个用户对已有物品的互动行为,从而依据各个用户的互动行为来划分不同的用户群体,对相同的用户群体推荐类似的物品。例如,对用户a而言,在确定用户a属于用户群体A之后,可以向用户a推荐符合用户群体A的群体偏好的物品。
然而,在上述协同过滤算法中存在两大固有问题,分别可以称之为“物品冷启动”问题和“用户冷启动”问题,下面进行详述:
1)物品冷启动:指在协同过滤算法统计的时间周期内未出现过的物品,用于没有机会出现在召回的候选集中,这是由于协同过滤算法中划分用户群体时依赖于用户对已有物品的历史行为,因此倘若某一物品未在统计的时间周期内出现(通常情况下这种物品是在统计的时间周期结束之后新上架的物品),那么新物品将永远不会出现在召回的候选集中。
2)用户冷启动:指在协同过滤算法统计的时间周期内未出现过的用户(通常情况下是在统计的时间周期结束之后新注册的用户),推荐系统无法为上述新用户推荐相应的物品。
相关技术中,为解决上述物品冷启动问题,可以依据新物品的属性构建新物品的关键词序列,依据已有物品的属性构建已有物品的关键词序列,通过比对新物品的关键词序列是否与已有物品的关键词序列存在相同的关键词,从而判断出新物品与已有物品之间的相似度,将新物品推荐给喜欢过与新物品相似度较高的已有物品的用户。
然而,上述过程中,如果两个关键词序列中不存在共同的关键词,相似度会被判断为0。考察一种情况:假设新物品包含关键词“迪士尼”,已有物品包含关键词“游乐场”,由于“迪士尼”和“游乐场”不是相同的关键词,因此机器会判断出新物品与已有物品之间相似度为0,然而实际上“迪士尼”和“游乐场”在语义上是具有较高相似度的,因此,上述基于关键词序列获取相似度的方式准确度低,使得对新物品与已有物品之间语义是否相似的判断能力差,导致推荐新物品过程的智能性差。
有鉴于此,本申请提供一种物品推荐方法,能够提升判断新物品与已有物品之间是否语义相似的能力,提升推荐新物品过程的智能性,将在下述各个实施例中进行详述。
图1是本申请实施例提供的一种物品推荐方法的实施环境示意图。参见图1,在该实施环境中包括终端101和服务器102,终端101和服务器102通过无线网络或有限网络相连,服务器102也即是上述计算机设备的一种示例。
其中,终端101用于浏览物品资源,在终端101上可以安装有能够推送物品资源的应用程序,使得用户可以通过启动该应用程序来浏览物品资源,该应用程序可以是购物应用程序、外卖应用程序、旅行应用程序、游戏应用程序或者社交应用程序中至少一项。
其中,服务器102用于向终端101提供物品推荐服务,服务器102可以包括一台服务器、多台服务器、云计算平台或虚拟化中心中的至少一项。可选地,服务器102可以承担主要计算工作,终端101可以承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102和终端101两者之间采用分布式计算架构进行协同计算。
在一个示例性场景中,以终端101安装购物应用程序为例,服务器102通过购物应用程序向终端101提供购物平台,并依据终端101所对应用户对于购物平台中各个物品的互动行为,预测该用户可能感兴趣的物品,从而向终端101的购物应用程序下发上述物品的物品资源,使得当用户启动终端101上的购物应用程序后,能够查看服务器102下发的物品资源。
当然,上述场景仅以向购物应用程序推送物品为例,可选地,服务器102还可以向终端101的外卖应用程序推送菜品,向旅行应用程序推荐景点、向游戏应用程序推荐虚拟道具,向社交应用程序推荐图文内容等,本申请实施例不对待推荐物品的类型进行具体限定。
需要说明的是,终端101可以泛指多个终端中的一个,终端101的设备类型可以包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机或者台式计算机中的至少一种。例如,终端101可以是智能手机,或者其他手持便携式电子设备。以下实施例,以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是本申请实施例提供的一种物品推荐方法的流程图。参见图2,该方法应用于计算机设备,在本实施例中以计算机设备为服务器为例进行说明,该实施例包括:
201、服务器根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度。
202、服务器根据该至少一个相似度,获取该多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度。
203、服务器基于该多个特征的特征向量,确定至少一个目标物品的物品向量。
204、服务器根据该至少一个目标物品的物品向量进行物品推荐。
本申请实施例提供的方法,通过根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度,从而能够通过样本物品训练出物品的特征之间的相似度,根据该至少一个相似度,获取该多个特征的特征向量,从而能够对各个特征进行向量化,不同特征的特征向量之间的距离用于表示不同特征之间的相似度,基于该多个特征的特征向量,确定至少一个目标物品的物品向量,也即是说,以向量化后的特征来表示出目标物品的物品向量,使得目标物品的物品向量能够体现目标物品在语义上的一些特征信息,使得在根据该至少一个目标物品的物品向量进行物品推荐时,能够不依赖于关键词序列的重合度,而由于向量化之后的特征具有更强的表达能力和更高的准确性,从而能够提升整体物品推荐的智能性。
在一种可能实施方式中,根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度包括:
根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及该多个特征对应的多个预估权重,获取该多个样本物品中两两样本物品之间的至少一个物品相似度;
根据该至少一个物品相似度和该至少一个协同过滤分数,获取目标函数值;
若该目标函数值大于目标阈值,基于梯度下降算法更新该至少一个预估相似度和该多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行获取目标函数值的步骤,直到目标函数值小于或等于目标阈值;
若该目标函数值小于或等于目标阈值,将本次迭代采用的至少一个预估相似度确定为该多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为该多个特征对应的多个权重。
在一种可能实施方式中,根据该至少一个物品相似度和该至少一个协同过滤分数,获取目标函数值包括:
将该至少一个物品相似度与该至少一个协同过滤分数之间的均方误差确定为该目标函数值。
在一种可能实施方式中,根据该至少一个相似度,获取该多个特征的特征向量包括:
根据该至少一个相似度,构建特征网络结构图,该特征网络结构图包括与该多个特征对应的多个节点,不同节点之间的连线用于表示与该不同节点所对应的两特征之间的相似度;
对该特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征;
基于该多个特征序列训练词向量模型,通过该词向量模型获取该多个特征的特征向量。
在一种可能实施方式中,基于该多个特征的特征向量,确定至少一个目标物品的物品向量包括:
对每个目标物品,确定该目标物品所包括的至少一个目标特征;
从该多个特征的特征向量中,获取该至少一个目标特征的特征向量;
根据该至少一个目标特征的特征向量,获取该目标物品的物品向量。
在一种可能实施方式中,根据该至少一个目标特征的特征向量,获取该目标物品的物品向量包括:
对该至少一个目标特征的特征向量分别进行加权均值池化和加权最大池化,得到该至少一个目标特征的池化向量;
将该至少一个目标特征的池化向量进行拼接处理,得到该目标物品的物品向量。
在一种可能实施方式中,根据该至少一个目标物品的物品向量进行物品推荐包括:
基于该多个特征的特征向量,确定该多个样本物品的物品向量;
根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度;
将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
在一种可能实施方式中,根据该至少一个目标物品的物品向量进行物品推荐包括:
对任一用户,确定与该用户的互动行为对应的至少一个物品;
从各个目标物品的物品向量以及各个样本物品的物品向量中,获取该至少一个物品的物品向量;
根据该至少一个物品的物品向量,生成该用户的用户向量,基于该用户向量对该用户进行物品推荐。
在一种可能实施方式中,根据该至少一个物品的物品向量,生成该用户的用户向量包括:
对该至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到该至少一个物品的池化向量;
将该至少一个物品的池化向量进行拼接处理,得到该用户向量。
在一种可能实施方式中,基于该用户向量对该用户进行物品推荐包括:
根据各个用户的用户向量,获取各个用户之间的用户相似度,为该用户推荐用户相似度大于第二相似度阈值的用户所对应的物品;或,
获取该用户向量与各个物品的物品向量之间的匹配度,为该用户推荐匹配度大于匹配度阈值的物品。
在一种可能实施方式中,该互动行为包括浏览行为、收藏行为或者下单行为中的至少一项。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图3是本申请实施例提供的一种物品推荐方法的流程图。参见图3,该方法应用于计算机设备,在本实施例中以计算机设备为服务器为例进行说明,该实施例包括:
301、服务器初始化不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及该多个特征对应的多个预估权重。
在上述过程中,服务器可以从数据库中获取各个样本物品的一个或多个特征,需要说明的是,这些样本物品可以是服务器的推荐系统在某一时间周期内统计到的全部物品或者部分物品,本申请实施例不对样本物品的来源进行具体限定。
在初始化过程中,服务器可以对上述各个预估相似度与各个预估权重进行随机初始化。具体地,对任一样本物品的任一特征而言,服务器可以为该任一特征与其他样本物品的每个特征之间初始化一个预估相似度,同时为该任一特征初始化一个预估权重,其中,每个特征的预估权重可以用于表示该特征在对应的样本物品的全部特征中所占的归一化权重。
例如,假设存在样本物品1(用item1表示)和样本物品2(用item2表示),item1包括的特征为[item1;f1,f2,f3...],item2包括的特征为[item2;f1,f2,f3...],那么对item1的第i个特征fi|item1而言,服务器需要对fi|item1与item2的每个特征之间初始化一个预估相似度,同时为fi|item1初始化一个预估权重,该预估权重用于表示fi|item1在item1的全部特征中所占的归一化权重,也即是说,该预估权重可以用下述公式进行表示:
在上述公式中,i大于或等于1且小于或等于item1的特征总数量,j大于或等于1且小于或等于item2的特征总数量,w(fi|item1)表示fi|item1预估的归一化权重,w(fi)表示fi|item1的权重,∑fi∈item1w(fi)表示item1的全部特征的权重的和值。
302、服务器根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及该多个特征对应的多个预估权重,获取多个样本物品中两两样本物品之间的至少一个物品相似度。
在上述过程中,对任意两个样本物品而言,可以将该两个样本物品之间的物品相似度拆分为多个子项之和,每个子项为一个样本物品的一个特征与另一样本物品的另一个特征之间的预估相似度以及两个特征各自的预估权重之间相乘所得的数值,遍历该两个样本物品的所有特征即可获取所有的子项,对所有的子项进行求和所得数值即为该两个样本物品之间的物品相似度。
可选地,服务器还可以不直接将求和所得数值确定为上述物品相似度,而是对求和所得数值进行归一化,并将归一化之后所得数值(一个取值范围处于0~1之间的数值)确定为两个样本物品之间的相似度,从而能够便于计算后续的目标函数值。
以样本物品1(用item1表示)和样本物品2(用item2表示)之间的物品相似度为例,假设采用sigmoid函数对物品相似度进行归一化,该物品相似度可以用下述公式进行表示:
t=∑i∑jsimi(fi,fj)·w(fi|item1)·w(fj|item2)
在上述第二个公式中,fi表示item1的第i个特征,i大于或等于1且小于或等于item1的特征总数量,fi表示item2的第j个特征,j大于或等于1且小于或等于item2的特征总数量,simi(fi,fi)表示fi与fj之间的预估相似度,w(fi|item1)表示fi在item1上预估的归一化权重(也即是fi的预估权重),w(fj|itam2)表示fj在item2上预估的归一化权重(也即是fj的预估权重)。
303、服务器根据该至少一个物品相似度和该多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取目标函数值。
在上述过程中,服务器可以将该至少一个物品相似度以及至少一个协同过滤分数代入目标函数,即可获取一次迭代过程的目标函数值。其中,该至少一个协同过滤分数是推荐系统根据协同过滤算法所获得的已知量。
在一些实施例中,目标函数可以如下述公式所示:
在上述公式中,L表示目标函数,θ表示待训练的参数(包括各个预估相似度以及各个预估权重),Y表示样本集(也即是该多个样本物品),y表示任意两个样本物品之间的协同过滤分数,表示任意两个样本物品之间的物品相似度,将上述步骤302中的表达式代入之后,即可得到上述等式变换。
从上述公式中可以看出,目标函数正比于两两样本物品之间的协同过滤分数与物品相似度之间的差值的平方并求和所得的数值。可选地,服务器可以将该至少一个物品相似度与该至少一个协同过滤分数之间的均方误差确定为该目标函数值。
304、若该目标函数值大于目标阈值,服务器基于梯度下降算法更新该至少一个预估相似度和该多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行上述步骤302-303中获取目标函数值的步骤,直到目标函数值小于或等于目标阈值,执行下述步骤305。
其中,该目标阈值为任一大于或等于0且小于或等于1的数值。
梯度下降算法是指沿着梯度下降的方向确定目标函数的极小值,当目标函数大于目标阈值时,通过调整上述至少一个预估相似度以及多个预估权重,能够在无约束的条件下不断逼近目标函数的极小值。
换言之,服务器相当于通过梯度下降算法对待训练的参数进行最优化求解,上述待训练的参数包括两两特征之间预估相似度simi(fi,fj)以及各个特征的预估权重w(fi),并利用待训练的参数计算得到的物品相似度去逼近真实的协同过滤分数的过程,从而能够使得在满足目标函数时,得到处于预期的误差范围内的各个待训练的参数。
图4是本申请实施例提供的一种物品相似度计算模型的原理图,参见图4,可以将上述步骤301-304中获取并更新物品相似度的过程视为一个物品相似度计算模型,左侧为物品CF图,图中的圆圈表示A~F共6个样本物品,各个圆圈旁边的矩形表示各个样本物品所具有的特征,而圆圈之间连线上的数值则表示各个样本物品之间的协同过滤分数(俗称CF得分)。右侧是以物品CF图中任一两个样本物品item1和item2为例,item1用上方的方框表示,方框内各个圆圈表示item1的各个特征,item2用下方的方框表示,方框内各个圆圈表示item2的各个特征,进一步地,针对item1的第1个特征和item2的第1个特征,两者的预估权重相乘所得的数值用w11表示,其中w11=w(f1|item1)·w(f1|item2),以此类推,这里不做赘述。进一步地,服务器计算出各个样本物品之间的物品相似度,并将各个物品相似度与对应的协同过滤分数计算均方误差,即可得到目标函数值,若目标函数值大于目标阈值,对各个待训练的参数进行迭代更新,重复执行上述步骤302-304直到目标函数值小于或等于目标阈值,执行下述步骤305。
305、若该目标函数值小于或等于目标阈值,服务器将本次迭代采用的至少一个预估相似度确定为该多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为该多个特征对应的多个权重。
在上述过程中,若目标函数值小于或等于目标阈值,服务器即可停止迭代,并将本次迭代采用的参数确定为后续预测过程使用的参数。服务器通过物品相似度去逼近协同过滤分数,能够训练出与实际情况相符的特征间的相似度以及特征所占的权重,从而在后续过程中可以通过对特征进行向量化,以获得各个特征的特征向量。
在上述步骤302-305中,服务器根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度,此外,还能够获取到多个特征对应的多个权重。
306、服务器根据该至少一个相似度,构建特征网络结构图,该特征网络结构图包括与该多个特征对应的多个节点,不同节点之间的连线用于表示与该不同节点所对应的两特征之间的相似度。
在上述过程中,服务器可以将各个样本物品的各个特征整合为一个特征集,将特征集中的每个特征作为特征网络结构图中的一个节点,并根据上述步骤305中所得的相似度,确定各个节点连线上对应的数值。由于在训练过程中获取了每个特征与所有其他特征之间的相似度,也即是说,在特征网络结构图中每个节点均与所有其他节点相连,并且相连节点之间的连线是无方向的(或者也可以认为是双向的)。
307、服务器对该特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征。
在上述过程中,随机游走(random walk)是指随机指定一个起始节点vi后,服务器有一定的概率游走至与vi相连的任一个节点vj,直到遍历了特征网络结构图中所有节点,即可得到一个特征序列,通过选取不同的起始节点、途经不同的游走顺序,可以得到不同的特征序列。
在一些实施例中,随机游走的过程中,某一节点游走至相连节点的概率与两节点连线上标注的数值呈正相关,也即是说,当特征fi和特征fj之间的相似度越高时,两特征对应的相连节点(vi与vj)上标注的数值越大,那么从vi游走至vj的概率就越大,或者从vj游走至vi的概率就越大。
308、服务器基于该多个特征序列训练词向量模型,通过该词向量模型获取该多个特征的特征向量。
其中,该词向量模型用于将多个特征序列中各个特征进行向量化,例如,该词向量模型可以为word2vector(单词到向量的模型)、ELMo(Embeddings from Language Models,采用嵌入处理的语言模型)、BERT(Bidirectional Encoder Representation fromTransformers,采用双向编码表示的翻译模型)等,本申请实施例不对采取的词向量模型的类型进行具体限定。
在上述过程中,服务器以多个特征序列作为训练样本来训练词向量模型,具体地,将该多个特征序列输入预训练的词向量模型,通过词向量模型对该多个特征序列进行嵌入(embedding)处理,将各个特征映射至嵌入空间中,得到各个特征的嵌入向量,服务器获取本次训练的损失函数值,若损失函数值不符合收敛条件,则基于反向传播算法(BackPropagation algorithm,BP算法)对词向量模型进行参数调整,迭代执行上述过程直到损失函数值符合收敛条件,此时停止训练,将此次训练得到的该多个特征的嵌入向量确定为该多个特征的特征向量。
在上述步骤306-308中,服务器根据该至少一个相似度,获取该多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度。通过上述词向量模型的训练过程所获取到的特征向量,能够体现出特征的深层语义,具有更好的表达能力,使得后续基于特征向量进行推荐的过程准确性更高,并且由于对特征进行了向量化,而并非是简单地判断关键词是否重合,因此能够进一步地提升推荐系统的泛化能力。
图5是本申请实施例提供的一种获取特征向量的原理性示意图,参见图5,左侧图为上述步骤306中所构建的特征网络结构图(feature graph),在图中以圆圈来表示节点,各个节点(也即是各个圆圈)对应于各个样本物品的特征,需要说明的是,不同节点所表示的特征可以对应于同一个样本物品,也可以对应于不同的样本物品。而不同的节点之间可以建立连线,连线上标注的数值用于表示连线两端节点所表示的两特征之间的相似度。中部图为在上述特征网络结构图上进行随机游走所得到的多个特征序列,这些特征序列可以俗称为“特征串”。进一步地,将该多个特征序列作为词向量模型的训练数据(trainingdata),以词向量模型为word2vector为例,右侧图中示出了word2vector模型所输出的各个特征的特征向量(feature vector,以方框表示),由于上述过程是基于特征网络结构图进行特征的向量化,因此,这种向量化方式也可以形象地称为图形嵌入(graph embedding)方式。通过word2vector模型所得到的各个特征的特征向量可以具有相同的维度,例如,该维度可以设置为100维,当然也可以设置为其他任一大于0的数值,本申请实施例不对特征向量的维度取值进行具体限定。
309、服务器基于该多个特征的特征向量,确定至少一个目标物品的物品向量以及该多个样本物品的物品向量。
在上述过程中,由于服务器对特征进行了向量化,因此可以基于向量化之后的特征(也即是特征向量)来表示各个物品,从而实现对物品进行向量化。由于物品所包括的特征是具有共性的,换言之,样本物品和目标物品共享相同的特征集,因此在对特征进行向量化之后,不仅能够确定出任一样本物品的物品向量,而且还能够确定出任一目标物品的物品向量。
需要说明的是,样本物品是指上述步骤301-305中获取特征之间的相似度以及特征的权重时采用的样本集内的物品,而目标物品则是指处于该样本集之外的物品,通常情况下,样本集会尽可能全面的采集推荐系统中所出现过的所有物品,以达到更好的训练效果,而目标物品则通常是在推荐系统的采集周期之后才上架的新商品,因此目标物品也可以俗称为“新物品”。
在一些实施例中,以获取目标物品的物品向量为例进行说明,上述步骤309可以包括下述子步骤:
3091、对每个目标物品,服务器确定该目标物品所包括的至少一个目标特征。
在一些实施例中,服务器可以将目标物品的标识与目标物品的特征在数据库中对应存储,在获取某一目标物品的目标特征时,可以以该目标物品的标识作为索引,在数据库中查找与该索引相对应的索引内容,当该索引能够命中任一索引内容中,将该索引内容中存储的数据项确定为该目标物品所包括的至少一个目标特征。
3092、服务器从该多个特征的特征向量中,获取该至少一个目标特征的特征向量。
服务器在通过上述步骤308获取到各个特征的特征向量之后,可以将各个特征的标识以及各个特征的特征向量在特征库中对应存储,在获取某一目标特征的特征向量时,可以以该目标特征的标识为索引,在特征库中查找与该索引相对应的索引内容,当该索引能够命中任一索引内容时,将该索引内容中存储的数据项确定为该目标特征的特征向量,对每个目标特征重复执行上述步骤,即可得到至少一个目标特征的特征向量。
3093、服务器根据该至少一个目标特征的特征向量,获取该目标物品的物品向量。
在一些实施例中,服务器可以对该至少一个目标特征的特征向量分别进行加权均值池化(weighted average pooling)和加权最大池化(weighted max pooling),得到该至少一个目标特征的池化向量;将该至少一个目标特征的池化向量进行拼接(concat)处理,得到该目标物品的物品向量。
可选地,在进行加权均值池化和加权最大池化时,各个目标特征采用的权值可以为上述步骤305中所获取到的各个特征的权重。
在上述过程中,通过这种携带权重的池化处理,能够所得目标物品的物品向量中各个目标特征所占的比重有所倾斜,能够更好地表达出目标物品中对区分度贡献最大的目标特征,进一步地提升目标物品的物品向量的表达能力。
在一些实施例中,服务器也可以不进行加权,也即是说,直接对该至少一个目标特征的特征向量分别进行均值池化和最大池化,得到该至少一个目标特征的池化向量,将该至少一个目标特征的池化向量进行拼接处理,得到目标物品的物品向量,从而可以简化获取物品向量的流程,同时减少获取物品向量过程的计算量。
图6是本申请实施例提供的一种获取物品向量的原理性示意图,参见图6,中部的矩形表示目标物品,矩形内部的各个圆圈表示该目标物品所包括的各个目标特征,各个圆圈下方的方框则表示各个特征的特征向量,通过对各个特征的特征向量进行加权均值池化和加权最大池化,并进行拼接处理之后,即可得到图中上方的物品向量。
需要说明的是,上述步骤3091-3093是以获取目标物品的物品向量为例进行说明,实际上对于任一样本物品,可以执行与上述步骤3091-3093类似的步骤,获取各个样本物品的物品向量,这里不做赘述。
310、服务器根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度。
在上述过程中,服务器可以对任意两个物品计算物品相似度,其中,这两个物品可以是两个样本物品,可以是两个目标物品,也可以是一个样本物品和一个目标物品。
可选地,服务器可以将上述任意两个物品的物品向量之间的余弦相似度确定为物品相似度,从而当两个物品在向量空间中的余弦距离越近时,余弦相似度就越高,意味着两个物品的物品相似度较高,两个物品在语义上的含义较为接近。通过余弦相似度,能够衡量两个物品向量之间夹角的余弦值,也就能够更好地表示两个物品向量之间的相关性,从而更准确地体现出两个物品之间在语义上的接近程度。
在一些实施例中,服务器还可以将上述任意两个物品的物品向量之间的欧氏距离的倒数确定为物品相似度,从而当两个物品在向量空间中的欧式距离越近时,欧氏距离的倒数就越大,意味着两个物品的物品相似度越高,两个物品在语义上的含义较为接近。通过欧式距离的倒数,能够衡量出两个物品向量在向量空间的绝对距离的远近,也能够体现出两个物品在语义上的接近程度,本申请实施例不对获取物品相似度的方式进行具体限定。
311、服务器将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
其中,该第一相似度阈值为任一大于或等于0的数值。
在上述过程中,对任一目标物品,服务器可以获取该目标物品与所有样本物品之间的物品相似度,筛选出物品相似度大于第一相似度阈值的相似物品,从而将该目标物品推荐给该相似物品所对应的用户,与相似物品所对应的用户是基于协同过滤算法而确定的,这里的相似物品可以是一个或多个,同理,推荐的用户也可以是一个或多个。
在上述步骤309-311中,服务器根据该至少一个目标物品的物品向量进行物品推荐,通过比较目标物品与样本物品之间的物品相似度,能够直观地找到与目标物品在语义上更接近的样本物品,从而当推荐系统对样本物品进行推荐时,也将与样本物品的物品相似度较高的目标物品推荐给相同的用户群体,不但能够解决协同过滤算法中的“物品冷启动”问题,而且还可以使得针对目标物品(新物品)的推荐具有更高的准确性。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度,从而能够通过样本物品训练出物品的特征之间的相似度,根据该至少一个相似度,获取该多个特征的特征向量,从而能够对各个特征进行向量化,不同特征的特征向量之间的距离用于表示不同特征之间的相似度,基于该多个特征的特征向量,确定至少一个目标物品的物品向量,也即是说,以向量化后的特征来表示出目标物品的物品向量,使得目标物品的物品向量能够体现目标物品在语义上的一些特征信息,使得在根据该至少一个目标物品的物品向量进行物品推荐时,能够不依赖于关键词序列的重合度,而由于向量化之后的特征具有更强的表达能力和更高的准确性,从而能够提升整体物品推荐的智能性。
进一步地,在物品相似度计算模型中,不止考虑到了同一纬度上特征之间的相似度,而且考虑到了交叉维度上特征之间的相似度,并且还引入了各个特征的权重,能够将特征的重要性引入到物品相似度的计算中,大大提升了针对物品相似度计算的准确性,提升了特征向量的表达能力。
进一步地,考察之前涉及到的“迪士尼”与“游乐场”的问题,在相关技术中,由于两者关键词不重合,因此机器会判断出相似度为0,而在本申请实施例中,由于将“迪士尼”和“游乐场”这两个特征分别进行了向量化,并且在训练过程中保证了损失函数符合收敛条件,因此“迪士尼”和“游乐场”的特征向量之间必定会具有较高的余弦相似度,机器可以向喜欢具有“游乐场”特征的物品的用户推荐具有“迪士尼”特征的物品,从而能够将解决相关技术中物品推荐不够智能的问题,使得物品推荐的准确性更高,智能性更高,提升用户体验。
在上述实施例中,介绍了如何基于本申请实施例提供的物品推荐方法解决协同过滤算法中的“物品冷启动”问题,对“用户冷启动”问题而言,在相关技术中,通常是利用新用户的基本属性(例如地域、年龄、性别等)统计出不同属性下的热门物品,从而向新用户推荐对应属性下的热门物品,然而,由于在相关技术中考虑的是单维度属性下的热门物品,因此针对新用户推荐的准确性较差。而在本实施例中,提供一种物品推荐方法,能够提升针对新用户推荐的准确性,下面将进行详述。
图7是本申请实施例提供的一种物品推荐方法的流程图,参见图7,本申请实施例应用于服务器,服务器可以在执行上述实施例中的步骤309之后,不执行步骤310,而是跳转至执行下述步骤701。
701、服务器对任一用户,确定与该用户的互动行为对应的至少一个物品。
可选地,该互动行为可以包括浏览行为、收藏行为或者下单行为中的至少一项。
在上述过程中,服务器可以每间隔一定的时间周期,统计在该时间周期内用户产生过互动行为的所有物品。在一些实施例中,由于数据较为海量,因此服务器可以仅统计在该时间周期内用户产生的互动行为的频率符合目标条件的至少一个物品,例如,服务器统计用户的浏览行为超过3次的物品。
702、服务器从各个目标物品的物品向量以及各个样本物品的物品向量中,获取该至少一个物品的物品向量。
在上述过程中,服务器可以将各个物品的标识与在上述步骤309中所获得的各个物品的物品向量在数据库中对应存储,从而在获取某一物品的物品向量时,可以以该至少一个物品的标识作为索引,在数据库中查找与该索引相对应的索引内容,当该索引能够命中任一索引内容时,将该索引内容中存储的数据项确定为该物品的物品向量,对每个物品重复执行上述步骤,即可得到该至少一个物品的物品向量。
703、服务器根据该至少一个物品的物品向量,生成该用户的用户向量。
可选地,服务器可以对该至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到该至少一个物品的池化向量;将该至少一个物品的池化向量进行拼接处理,得到该用户向量。
在一些实施例中,在进行加权均值池化和加权最大池化时,各个物品采用的权值可以与用户对该物品产生的互动行为相关,例如,对下单行为赋予最大的权重,对收藏行为赋予居中的权重,对浏览行为赋予最小的权重,进一步地,服务器还可以根据互动行为的次数,对权重进行累加,从而能够更好地体现出用户对于不同物品的偏好程度。
图8的本申请实施例提供的一种获取用户向量的原理性示意图,参见图8,中部的椭圆形表示某一用户,椭圆形内部的各个矩形表示该用户所产生过互动行为的各个物品,各个矩形下方的方框则表示各个物品的物品向量,通过对各个物品的物品向量进行加权均值池化和加权最大池化,并进行拼接处理之后,即可得到图中上方的用户向量。
上述步骤703与上述步骤3093类似,这里不做赘述。
704、服务器根据各个用户的用户向量,获取各个用户之间的用户相似度,为该用户推荐用户相似度大于第二相似度阈值的用户所对应的物品。
在上述过程中,对任一用户,服务器可以获取该用户与所有其他用户之间的用户相似度,筛选出用户相似度大于第二相似度阈值的相似用户,从而向该用户推荐该相似用户可能感兴趣的物品,上述相似用户可能感兴趣的物品是基于协同过滤算法而确定的,这里的相似用户可以是一个或多个,同理,可能感兴趣的物品也可以是一个或多个。
在一些实施例中,上述步骤704还可以采用下述方式进行替换:服务器获取该用户向量与各个物品的物品向量之间的匹配度,为该用户推荐匹配度大于匹配度阈值的物品。可选地,在获取匹配度时,可以将余弦距离或者欧氏距离的倒数作为匹配度的计算方式,本申请实施例不对获取匹配度的方式进行具体限定。
由于已经获取到了用户向量和物品向量,因此服务器可以直接对用户向量和物品向量之间进行匹配度计算,从而直接向用户推荐匹配度较高的物品。在上述情况下,无需去分辨到底是新用户还是已有用户,也无需去分辨到底是目标物品还是样本物品,直接通过向量之间的匹配度进行推荐,能够大大简化物品推荐的复杂度。
通过上述步骤704,服务器基于该用户向量对该用户进行物品推荐。不管是新用户还是已有用户,无需像相关技术中那样去判断单维度属性下的热门物品,而仅仅需要计算各个用户之间的相似度,并对相似度较高的用户推荐相同的物品,即可以实现基于协同过滤的推荐方式,由于通过特征向量挖掘出了特征的深层语义,因此通过各个用户在多维特征上加权融合而计算出的用户相似度,能够对新用户也进行精准的物品推荐,更好地解决协同过滤算法中的“用户冷启动”问题。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过各个物品的物品向量,能够获取各个用户的用户向量,从而能够通过计算不同用户之间的用户相似度,实现针对相似度较高的用户进行协同推荐,此外,还可以通过计算用户与物品之间的匹配度,实现针对各个用户的个性化推荐,由于特征向量本身具有深层语义信息,因此基于特征向量获取的物品向量、用户向量也具有深层语义信息,使得在判断是否相似时,考虑的并非是文本上关键词是否相似,而是由服务器直接通过向量判断出语义是否相似,从而使得推荐系统具有更强的泛化能力,也使得物品推荐过程具有更高的准确性。
图9是本申请实施例提供的一种物品推荐装置的结构示意图,参见图9,该装置包括:
第一获取模块901,用于根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度;
第二获取模块902,用于根据该至少一个相似度,获取该多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度;
确定模块903,用于基于该多个特征的特征向量,确定至少一个目标物品的物品向量;
推荐模块904,用于根据该至少一个目标物品的物品向量进行物品推荐。
本申请实施例提供的装置,通过根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度,从而能够通过样本物品训练出物品的特征之间的相似度,根据该至少一个相似度,获取该多个特征的特征向量,从而能够对各个特征进行向量化,不同特征的特征向量之间的距离用于表示不同特征之间的相似度,基于该多个特征的特征向量,确定至少一个目标物品的物品向量,也即是说,以向量化后的特征来表示出目标物品的物品向量,使得目标物品的物品向量能够体现目标物品在语义上的一些特征信息,使得在根据该至少一个目标物品的物品向量进行物品推荐时,能够不依赖于关键词序列的重合度,而由于向量化之后的特征具有更强的表达能力和更高的准确性,从而能够提升整体物品推荐的智能性。
在一种可能实施方式中,基于图9的装置组成,该第一获取模块901包括:
第一获取单元,用于根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及该多个特征对应的多个预估权重,获取该多个样本物品中两两样本物品之间的至少一个物品相似度;
第二获取单元,用于根据该至少一个物品相似度和该至少一个协同过滤分数,获取目标函数值:
更新迭代单元,用于若该目标函数值大于目标阈值,基于梯度下降算法更新该至少一个预估相似度和该多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行获取目标函数值的步骤,直到目标函数值小于或等于目标阈值;
确定单元,用于若该目标函数值小于或等于目标阈值,将本次迭代采用的至少一个预估相似度确定为该多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为该多个特征对应的多个权重。
在一种可能实施方式中,该第二获取单元用于:
将该至少一个物品相似度与该至少一个协同过滤分数之间的均方误差确定为该目标函数值。
在一种可能实施方式中,该第二获取模块902用于:
根据该至少一个相似度,构建特征网络结构图,该特征网络结构图包括与该多个特征对应的多个节点,不同节点之间的连线用于表示与该不同节点所对应的两特征之间的相似度;
对该特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征;
基于该多个特征序列训练词向量模型,通过该词向量模型获取该多个特征的特征向量。
在一种可能实施方式中,基于图9的装置组成,该确定模块903包括:
第一确定单元,用于对每个目标物品,确定该目标物品所包括的至少一个目标特征;
第三获取单元,用于从该多个特征的特征向量中,获取该至少一个目标特征的特征向量;
第四获取单元,用于根据该至少一个目标特征的特征向量,获取该目标物品的物品向量。
在一种可能实施方式中,该第四获取单元用于:
对该至少一个目标特征的特征向量分别进行加权均值池化和加权最大池化,得到该至少一个目标特征的池化向量;
将该至少一个目标特征的池化向量进行拼接处理,得到该目标物品的物品向量。
在一种可能实施方式中,该推荐模块904用于:
基于该多个特征的特征向量,确定该多个样本物品的物品向量;
根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度;
将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
在一种可能实施方式中,基于图9的装置组成,该推荐模块904包括:
第二确定单元,用于对任一用户,确定与该用户的互动行为对应的至少一个物品;
第五获取单元,用于从各个目标物品的物品向量以及各个样本物品的物品向量中,获取该至少一个物品的物品向量;
生成推荐单元,用于根据该至少一个物品的物品向量,生成该用户的用户向量,基于该用户向量对该用户进行物品推荐。
在一种可能实施方式中,该生成推荐单元用于:
对该至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到该至少一个物品的池化向量;
将该至少一个物品的池化向量进行拼接处理,得到该用户向量。
在一种可能实施方式中,该生成推荐单元用于:
根据各个用户的用户向量,获取各个用户之间的用户相似度,为该用户推荐用户相似度大于第二相似度阈值的用户所对应的物品;或,
获取该用户向量与各个物品的物品向量之间的匹配度,为该用户推荐匹配度大于匹配度阈值的物品。
在一种可能实施方式中,该互动行为包括浏览行为、收藏行为或者下单行为中的至少一项。
需要说明的是:上述实施例提供的物品推荐装置在推荐物品时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的物品推荐装置与物品推荐方法实施例属于同一构思,其具体实现过程详见物品推荐方法实施例,这里不再赘述。
图10是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一条程序代码,该至少一条程序代码由该处理器1001加载并执行以实现上述各个实施例提供的物品推荐方法。当然,该计算机设备1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码可由终端中的处理器执行以完成上述实施例中物品推荐方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括至少一条程序代码,该至少一条程序代码可由处理器加载并执行以实现如上述各个实施例中的物品推荐方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种物品推荐方法,其特征在于,所述方法包括:
根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度;
根据所述至少一个相似度,获取所述多个特征的特征向量,不同特征的特征向量之间的距离用于表示不同特征之间的相似度;
基于所述多个特征的特征向量,确定至少一个目标物品的物品向量;
根据所述至少一个目标物品的物品向量进行物品推荐;
所述根据多个样本物品中两两样本物品之间的至少一个协同过滤分数,获取不同样本物品的多个特征中两两特征之间的至少一个相似度包括:
根据不同样本物品的多个特征中两两特征之间的至少一个预估相似度以及所述多个特征对应的多个预估权重,获取所述多个样本物品中两两样本物品之间的至少一个物品相似度;
根据所述至少一个物品相似度和所述至少一个协同过滤分数,获取目标函数值;
若所述目标函数值大于目标阈值,基于梯度下降算法更新所述至少一个预估相似度和所述多个预估权重,基于更新后的至少一个预估相似度和多个预估权重迭代执行获取目标函数值的步骤,直到目标函数值小于或等于目标阈值;
若所述目标函数值小于或等于目标阈值,将本次迭代采用的至少一个预估相似度确定为所述多个特征中两两特征之间的至少一个相似度,将本次迭代采用的多个预估权重确定为所述多个特征对应的多个权重。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个物品相似度和所述至少一个协同过滤分数,获取目标函数值包括:
将所述至少一个物品相似度与所述至少一个协同过滤分数之间的均方误差确定为所述目标函数值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个相似度,获取所述多个特征的特征向量包括:
根据所述至少一个相似度,构建特征网络结构图,所述特征网络结构图包括与所述多个特征对应的多个节点,不同节点之间的连线用于表示与所述不同节点所对应的两特征之间的相似度;
对所述特征网络结构图进行随机游走,得到多个特征序列,每个特征序列中相邻的元素为相连的节点所对应的各个特征;
基于所述多个特征序列训练词向量模型,通过所述词向量模型获取所述多个特征的特征向量。
4.根据权利要求1所述的方法,其特征在于,所述基于所述多个特征的特征向量,确定至少一个目标物品的物品向量包括:
对每个目标物品,确定所述目标物品所包括的至少一个目标特征;
从所述多个特征的特征向量中,获取所述至少一个目标特征的特征向量;
根据所述至少一个目标特征的特征向量,获取所述目标物品的物品向量。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个目标特征的特征向量,获取所述目标物品的物品向量包括:
对所述至少一个目标特征的特征向量分别进行加权均值池化和加权最大池化,得到所述至少一个目标特征的池化向量;
将所述至少一个目标特征的池化向量进行拼接处理,得到所述目标物品的物品向量。
6.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个目标物品的物品向量进行物品推荐包括:
基于所述多个特征的特征向量,确定所述多个样本物品的物品向量;
根据各个样本物品的物品向量以及各个目标物品的物品向量,获取各个目标物品与各个样本物品之间的物品相似度;
将各个目标物品分别推荐给物品相似度大于第一相似度阈值的样本物品所对应的用户。
7.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个目标物品的物品向量进行物品推荐包括:
对任一用户,确定与所述用户的互动行为对应的至少一个物品;
从各个目标物品的物品向量以及各个样本物品的物品向量中,获取所述至少一个物品的物品向量;
根据所述至少一个物品的物品向量,生成所述用户的用户向量,基于所述用户向量对所述用户进行物品推荐。
8.根据权利要求7所述的方法,其特征在于,所述根据所述至少一个物品的物品向量,生成所述用户的用户向量包括:
对所述至少一个物品的物品向量分别进行加权均值池化和加权最大池化,得到所述至少一个物品的池化向量;
将所述至少一个物品的池化向量进行拼接处理,得到所述用户向量。
9.根据权利要求7所述的方法,其特征在于,所述基于所述用户向量对所述用户进行物品推荐包括:
根据各个用户的用户向量,获取各个用户之间的用户相似度,为所述用户推荐用户相似度大于第二相似度阈值的用户所对应的物品;或,
获取所述用户向量与各个物品的物品向量之间的匹配度,为所述用户推荐匹配度大于匹配度阈值的物品。
10.根据权利要求7所述的方法,其特征在于,所述互动行为包括浏览行为、收藏行为或者下单行为中的至少一项。
11.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求10任一项所述的物品推荐方法所执行的操作。
12.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求10任一项所述的物品推荐方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168478.4A CN110955831B (zh) | 2019-11-25 | 2019-11-25 | 物品推荐方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168478.4A CN110955831B (zh) | 2019-11-25 | 2019-11-25 | 物品推荐方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955831A CN110955831A (zh) | 2020-04-03 |
CN110955831B true CN110955831B (zh) | 2023-04-14 |
Family
ID=69976753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168478.4A Active CN110955831B (zh) | 2019-11-25 | 2019-11-25 | 物品推荐方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955831B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369306B (zh) * | 2020-06-01 | 2020-08-28 | 北京搜狐新媒体信息技术有限公司 | 产品推荐的方法和装置 |
CN113762997A (zh) * | 2020-07-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种信息生成的方法、装置、系统和存储介质 |
CN113763082A (zh) * | 2020-09-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种信息推送方法和装置 |
CN112115377B (zh) * | 2020-09-11 | 2022-05-27 | 安徽农业大学 | 一种基于社交关系的图神经网络链路预测推荐方法 |
CN112579889B (zh) * | 2020-12-07 | 2022-05-03 | 北京百度网讯科技有限公司 | 物品推荐方法、装置、电子设备及存储介质 |
CN112597389A (zh) * | 2020-12-24 | 2021-04-02 | 上海二三四五网络科技有限公司 | 一种基于用户行为实现物品推荐的控制方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017121244A1 (zh) * | 2016-01-12 | 2017-07-20 | 腾讯科技(深圳)有限公司 | 信息推荐方法、系统以及存储介质 |
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN109635291A (zh) * | 2018-12-04 | 2019-04-16 | 重庆理工大学 | 一种基于协同训练的融合评分信息和物品内容的推荐方法 |
CN109783738A (zh) * | 2019-01-22 | 2019-05-21 | 东华大学 | 一种基于多相似度的双极限学习机混合协同过滤推荐方法 |
CN110209922A (zh) * | 2018-06-12 | 2019-09-06 | 中国科学院自动化研究所 | 对象推荐方法、装置、存储介质及计算机设备 |
CN110287285A (zh) * | 2019-05-31 | 2019-09-27 | 平安科技(深圳)有限公司 | 一种问题意图识别方法、装置、计算机设备及存储介质 |
CN110489751A (zh) * | 2019-08-13 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 文本相似度计算方法及装置、存储介质、电子设备 |
-
2019
- 2019-11-25 CN CN201911168478.4A patent/CN110955831B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017121244A1 (zh) * | 2016-01-12 | 2017-07-20 | 腾讯科技(深圳)有限公司 | 信息推荐方法、系统以及存储介质 |
CN107239993A (zh) * | 2017-05-24 | 2017-10-10 | 海南大学 | 一种基于拓展标签的矩阵分解推荐方法及系统 |
CN110209922A (zh) * | 2018-06-12 | 2019-09-06 | 中国科学院自动化研究所 | 对象推荐方法、装置、存储介质及计算机设备 |
CN109635291A (zh) * | 2018-12-04 | 2019-04-16 | 重庆理工大学 | 一种基于协同训练的融合评分信息和物品内容的推荐方法 |
CN109783738A (zh) * | 2019-01-22 | 2019-05-21 | 东华大学 | 一种基于多相似度的双极限学习机混合协同过滤推荐方法 |
CN110287285A (zh) * | 2019-05-31 | 2019-09-27 | 平安科技(深圳)有限公司 | 一种问题意图识别方法、装置、计算机设备及存储介质 |
CN110489751A (zh) * | 2019-08-13 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 文本相似度计算方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110955831A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955831B (zh) | 物品推荐方法、装置、计算机设备及存储介质 | |
CN107436875B (zh) | 文本分类方法及装置 | |
CN110909182B (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
CN110532479A (zh) | 一种信息推荐方法、装置及设备 | |
CN109471978B (zh) | 一种电子资源推荐方法及装置 | |
CN110362663B (zh) | 自适应多感知相似度检测和解析 | |
CN115917535A (zh) | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 | |
CN108665148B (zh) | 一种电子资源质量评价方法、装置和存储介质 | |
US20210279279A1 (en) | Automated graph embedding recommendations based on extracted graph features | |
CN115244547A (zh) | 自动并智能地探索设计空间 | |
Li et al. | From reputation perspective: A hybrid matrix factorization for QoS prediction in location-aware mobile service recommendation system | |
Rashidi et al. | Proposing improved meta-heuristic algorithms for clustering and separating users in the recommender systems | |
CN115712780A (zh) | 一种基于云计算和大数据的信息推送方法及装置 | |
CN110362662A (zh) | 数据处理方法、装置以及计算机可读存储介质 | |
KR101738809B1 (ko) | IoT 기반 스마트 홈 커뮤니티에서 소셜 매칭 및 소통 서비스를 위한 다차원매트릭스 지역화 방법 및 시스템 | |
CN113657087A (zh) | 信息的匹配方法及装置 | |
CN110347916B (zh) | 跨场景的项目推荐方法、装置、电子设备及存储介质 | |
CN112650869B (zh) | 图像检索重排序方法、装置、电子设备及存储介质 | |
JP5588938B2 (ja) | アイテム推薦装置及び方法及びプログラム | |
Souza Cabral et al. | Combining multiple metadata types in movies recommendation using ensemble algorithms | |
CN112000888B (zh) | 信息推送方法、装置、服务器及存储介质 | |
Zhang et al. | A users clustering algorithm for group recommendation | |
CN114595323B (zh) | 画像构建、推荐、模型训练方法、装置、设备及存储介质 | |
CN111597220B (zh) | 数据挖掘方法和装置 | |
JP6856567B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |