基于四元数的协同推荐方法、装置、终端及可读存储介质

文档序号:32346124发布日期:2022-11-26 11:24阅读:26来源:国知局
基于四元数的协同推荐方法、装置、终端及可读存储介质

1.本发明涉及大数据处理技术领域,尤其涉及一种基于四元数的协同推荐方法、装置、终端及可读存储介质。


背景技术:

2.近年来互联网飞速发展造成互联网上信息总量快速增加,同时电子商务也在不断地扩大。网上数据量的巨大导致用户需要花费大量时间去寻找自己喜欢的物品,这种排除大量无用信息的过程无疑会阻碍用户享受互联网带来的便利。为了解决这些问题,个性化推荐系统应用而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级智能平台,它主要是根据用户的兴趣特点和其它信息,向用户推荐其感兴趣的信息和商品,以帮助用户提供完全个性化的决策支持和信息服务。个性化推荐不仅在推动经济发展和网络发展上有重要的作用和价值,同时如何提高推荐的效率和准确度也是一个值得研究的热点问题。
3.协同过滤推荐算法(collaborative filtering recommendation algorithm)是个性化推荐系统中最常用而且有效的一种推荐算法。与传统的基于内容得推荐不同,协同过滤算法分析用户的兴趣,在用户群中找到指定用户的相似用户,并且综合这些相似用户对某一物品的评价,最后形成该指定用户对此物品的喜好程度的预测。虽然有着广泛的应用,协同过滤推荐仍难克服数据稀疏性和信息来源单一造成的问题,既由于用户物品矩阵的稀疏导致用户相似性计算不准确,从而影响到推荐的准确性。
4.因此,设计一种准确性高的协同推荐方法,就成为一个亟待解决的问题。


技术实现要素:

5.有鉴于此,本发明的主要目的在于提供一种基于四元数的协同推荐方法、装置、终端及可读存储介质。
6.为达到上述目的,本发明的技术方案是这样实现的:一种基于四元数的协同推荐方法,包括以下步骤:从预设协同推荐模型中,获取用户u对应的四元数向量eu=e
u,r
+e
u,i i+e
u,j j+e
u,k k,其中,i、j和k为虚部,且e
u,r
、e
u,i
、e
u,j
和e
u,k
均是维度为d的实数向量,d为自然数,且d≥2;获取在预设时间段中的与所述用户u具有隐式的关系num1个物品n1、n2、...、n
num1
,基于所述预设协同推荐模型,生成物品nh对应的四元数向量e
′h=e

h,r
+e

h,i i+e

h,j j+e

h,k k,e

h,r
、e

h,i
、e

h,j
和e

h,k
均是维度为d的实数向量,h和num1均为自然数,h=1,2,...,num1;生成四元数向量其中,w为一个四元数向量w=pr+p
i i+p
j j+p
k k,pr、pi、pj和pk均是维度为d的实数向量,为汉密尔顿乘法,在进行汉密尔顿乘法时,两个d维实数向量之间的乘积为哈达马乘积;用户u对应的修正四元数向量hu=g
·eu
+(1-g)
·
p,其中,g为实数,0≤g≤1;基于修正四元数向量hu向用户u推荐物品。
7.作为本发明实施例的一种改进,所述“基于修正四元数向量hu向用户u推荐物品”具体包括:获取num2个物品n
′1、n
′2、...、n

num2
,基于所述预设协同推荐模型,生成物品n
′g对应的四元数向量e
″g=e

g,r
+e

g,i i+e

g,j j+e

g,k k,且e

g,r
、e

g,i
、e

g,j
和e

g,k
均是维度
为d的实数向量,g和num2均为自然数,g=1,2,...,num2;生成物品n
′g对应的评分值为其中,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积;从num2个物品n
′1、n
′2、...、n

num2
中选择评分值最高的num3个展示给用户u,其中,num3为自然数,num3≤num2。
8.作为本发明实施例的一种改进,num3=20。
9.作为本发明实施例的一种改进,还包括以下步骤:在所述预设协同推荐模型中,将四元数向量eu替换为修正四元数向量hu。
10.作为本发明实施例的一种改进,还包括以下步骤:利用余弦对比损失作为本发明实施例的一种改进,还包括以下步骤:利用余弦对比损失对所述预设协同推荐模型进行优化;其中,m为阈值,w是常数,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积。
11.本发明实施例还提供了一种基于四元数的协同推荐装置,包括以下模块:用户信息处理模块,用于从预设协同推荐模型中,获取用户u对应的四元数向量eu=e
u,r
+e
u,i i+e
u,j j+e
u,k k,其中,i、j和k为虚部,且e
u,r
、e
u,i
、e
u,j
和e
u,k
均是维度为d的实数向量,d为自然数,且d≥2;物品信息处理模块,用于获取在预设时间段中的与所述用户u具有隐式的关系num1个物品n1、n2、...、n
num1
,基于所述预设协同推荐模型,生成物品nh对应的四元数向量e
′h=e

h,r
+e

h,i i+e

h,j j+e

h,k k,e

h,r
、e

h,i
、e

h,j
和e

h,k
均是维度为d的实数向量,h和num1均为自然数,h=1,2,...,num1;处理模块,用于生成四元数向量其中,w为一个四元数向量w=pr+p
i i+p
j j+p
k k,pr、pi、pj和pk均是维度为d的实数向量,为汉密尔顿乘法,在进行汉密尔顿乘法时,两个d维实数向量之间的乘积为哈达马乘积;推荐模块,用于用户u对应的修正四元数向量hu=g
·eu
+(1-g)
·
p,其中,g为实数,0≤g≤1;基于修正四元数向量hu向用户u推荐物品。
12.作为本发明实施例的一种改进,所述推荐模块还用于:获取num2个物品n
′1、n
′2、...、n

num2
,基于所述预设协同推荐模型,生成物品n
′g对应的四元数向量e
″g=e

g,r
+e

g,i i+e

g,j j+e

g,k k,且e

g,r
、e

g,i
、e

g,j
和e

g,k
均是维度为d的实数向量,g和num2均为自然数,g=1,2,...,num2;生成物品n
′g对应的评分值为其中,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积;从num2个物品n
′1、n
′2、...、n

num2
中选择评分值最高的num3个展示给用户u,其中,num3为自然数,num3≤num2。
13.作为本发明实施例的一种改进,num3=20。
14.本发明实施例还提供了一种终端,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述的协同推荐方法的步骤。
15.本发明实施例还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的协同推荐方法的步骤。
16.本发明实施例所提供的基于四元数的协同推荐方法、装置、终端及可读存储介质
具有以下优点:本发明实施例公开了基于四元数的协同推荐方法、装置、终端及可读存储介质,该协同推荐方法包括:从预设协同推荐模型中,获取用户对应的四元数向量;获取在预设时间段中的与所述用户具有隐式的关系多个物品,基于所述预设协同推荐模型,生成每个物品对应的四元数向量;基于多个物品的四元数向量、得到用户对应的修正四元数向量;并基于修正四元数向量向用户推荐物品。该协同推荐方法具有准确性高的优点。
附图说明
17.图1为本发明实施例提供的协同推荐方法的流程示意图;
18.图2和图3为协同推荐方法的实验结果图。
具体实施方式
19.以下将结合附图所示的实施方式对本发明进行详细描述。但该实施方式并不限制本发明,本领域的普通技术人员根据该实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
20.以下描述和附图充分地示出本文的具体实施方案,以使本领域的技术人员能够实践它们。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本文的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。本文中,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来,而不要求或者暗示这些元素之间存在任何实际的关系或者顺序。实际上第一元素也能够被称为第二元素,反之亦然。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的结构、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种结构、装置或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的结构、装置或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
21.本文中的术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本文和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本文的描述中,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
22.本发明实施例一提供了一种基于四元数的协同推荐方法,这里,可以使用一个计算机系统来执行该协同推荐方法,例如,在线电影售票网站的服务器,在线购物网站的服务器等等;于是,在本技术文件中,该物品可以为电影票,商品等等。该计算机系统会每隔一个预设的时间就执行一次该协同推荐方法,或者在用户登录的时候,就执行一次该协同推荐方法。
23.如图1所示,包括以下步骤:
24.步骤101:从预设协同推荐模型中,获取用户u对应的四元数向量eu=e
u,r
+e
u,i i+eu,j j+e
u,k k,其中,i、j和k为虚部,且e
u,r
、e
u,i
、e
u,j
和e
u,k
均是维度为d的实数向量,d为自然数,且d≥2;
25.这里,该预设协同推荐模型一般由交互编码器、负采样和损失函数这三个部分组成,该预设协同推荐模型使用四元数嵌入将用户u嵌入到四元数空间中,从而得到用户u对应的四元数向量eu。
26.这里,将用户表征为一个四元数,四元数具有良好的表征能力,从而便于后续的处理。
27.步骤102:获取在预设时间段中的与所述用户u具有隐式的关系num1个物品n1、n2、...、n
num1
,基于所述预设协同推荐模型,生成物品nh对应的四元数向量e
′h=e

h,r
+e

h,i i+e

h,j j+e

h,k k,e

h,r
、e

h,i
、e

h,j
和e

h,k
均是维度为d的实数向量,h和num1均为自然数,h=1,2,...,num1;
28.这里,将物品表征为一个四元数,可以理解的是,四元数具有良好的表征能力,从而便于后续的处理。
29.步骤103:生成四元数向量其中,w为一个四元数向量w=pr+p
i i+p
j j+p
k k,pr、pi、pj和pk均是维度为d的实数向量,为汉密尔顿乘法,在进行汉密尔顿乘法时,两个d维实数向量之间的乘积为哈达马乘积;
30.步骤104:用户u对应的修正四元数向量hu=g
·eu
+(1-g)
·
p,其中,g为实数,0≤g≤1;基于修正四元数向量hu向用户u推荐物品。
31.这里,假设q和q

都是四元数,q=qr+q
i i+q
j j+q
k k,q

=q
′r+q

i i+q

j j+q

k k,qr,qi,qj,qk,q
′r,q
′i,q
′j,q
′k∈r,i,j,k是虚部,满足i2=j2=k2=ijk=-1。
32.在数学中,四元数q和q

的加法定义如下:q+q

=(qr+q
′r)+(qi+q
′i)i+(qj+q
′j)j+(qk+q
′k)k,其中,“+”的含义是两个实数的加法,可以理解的是,将“+”的含义修改为两个向量之间的加法,则可以定义本实施例中两个四元数向量之间的加法。
33.在数学中,四元数q和q

的减法定义如下:q-q

=(q
r-q
′r)+(q
i-q
′i)i+(q
j-q
′j)j+(q
k-q
′k)k,其中,
“‑”
的含义是两个实数的减法。可以理解的是,将“+”的含义修改为两个向量之间的减法,则可以定义本实施例中两个四元数向量之间的减法。
34.在数学中,四元数q和p的汉密尔顿乘法定义如下:
35.其中,“+”的含义是两个实数的加法,
“‑”
的含义是两个实数的减法,“*”的含义是两个实数的乘法。可以理解的是,将“+”的含义修改为两个向量之间的加法,将
“‑”
的含义修改为两个向量之间的减法,将“*”的含义修改为两个向量之间的哈达马乘积,则可以完成公式的运算。
36.这里,在每次执行该协同推荐方法时,就获取用户u对应的历史用户画像eu,然后再获取用户在预设时间段中的活动,于是得到了修正用户画像hu,之后,基于修正用户画像hu
向用户推荐物品,可以理解的是,该协同推荐方法使用多种信息,从而极大的提高了推荐的准确性。
37.在四元数空间中,每个四元数都是一个由一个实部和三个虚部组成的超复数。汉密尔顿积是四元数的乘法,增强了两个四元数的实部和虚部之间的潜在相互关系,输入四元数的任何微小变化都会导致完全不同的输出,从而导致具有高度表示能力的计算,复杂的关系可以被更强大地捕获。
38.本实施例中,所述“基于修正四元数向量hu向用户u推荐物品”具体包括:获取num2个物品n
′1、n
′2、...、n

num2
,基于所述预设协同推荐模型,生成物品n
′g对应的四元数向量e
″g=e

g,r
+e

g,i i+e

g,j j+e

g,k k,且e

g,r
、e

g,i
、e

g,j
和e

g,k
均是维度为d的实数向量,g和num2均为自然数,g=1,2,...,num2;生成物品n
′g对应的评分值为其中,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积;从num2个物品n
′1、n
′2、...、n

num2
中选择评分值最高的num3个展示给用户u,其中,num3为自然数,num3≤num2。
39.在数学中,四元数q和四元数q

余弦相似度为其中,“+”的含义是两个实数的加法,
“‑”
的含义是两个实数的减法,“*”的含义是两个实数的乘法。可以理解的是,将“+”的含义修改为两个向量之间的加法,将
“‑”
的含义修改为两个向量之间的减法,将“*”的含义修改为两个向量之间的内积,则可以完成四元数q和四元数p余弦相似度的计算。
40.这里,在展示的时候,评分值越高的物品,展示位越靠前。
41.本实施例中,num3=20。
42.本实施例中,还包括以下步骤:在所述预设协同推荐模型中,将四元数向量eu替换为修正四元数向量hu。
43.可选的,可以将用户的历史用户画像eu替换为修正用户画像hu,于是,下次运行该协同推荐方法时,所获取到的历史用户画像eu即为本次执行所得到的修正用户画像hu。
44.本实施例中,还包括以下步骤:利用余弦对比损失本实施例中,还包括以下步骤:利用余弦对比损失对所述预设协同推荐模型进行优化;其中,m为阈值,w是常数,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积。这里,m可以认为是过滤负样本的阈值,低于该阈值的负样本会被丢弃(因为,此时,)。余弦对比损失通过最大化正对之间的余弦相似度,最小化负对之间的余弦相似度。
45.为了验证本协同推荐方法的可用性,发明人进行以下的实验:
46.为了评估本协同推荐方法的有效性,实验在三个基准数据集上展开:kindle-store,gowalla和yelp2018。第一个来自亚马逊评价数据集,第二个来自gowalla的用户登记信息,第三个来自2018年的yelp挑战赛。以上的三个数据集均被广泛的用于推荐系统评
估工作中。表1显示统计了这三个数据集的详细信息。
47.表1实验数据统计
48.数据集gowallayelp2018kindle-store用户数29,85831,66868,223物品数40,98138,04861,934交互数1,027,3701,561,406982,618稀疏性99.92%99.87%99.98%
49.对比模型介绍
50.neumf:为了解决传统矩阵分解特征交互不足的问题,引入了一种基于深度学习的协同过滤框架,通过对特征之间的相互关系进行非线性的描述,达到了很不错的效果,neumf模型由论文《neural collaborative filtering》公开,下载地址为:https://arxiv.org/abs/1708.05031。
51.hop-rec:通过随机游走来增强用户的交互从而获得高阶的用户-物品交互,hop-rec模型由论文《hop-rec:high-order proximity for implicit recommendation》公开,下载地址为:https://dl.acm.org/doi/abs/10.1145/3240323.3240381。
52.gc-mc:在用户-物品二部图上使用一层图卷积网络来探索用户和物品之间的一阶连接关系,gc-mc模型由论文《graph convolutional matrix completion》公开,下载地址为:https://www.kdd.org/kdd2018/files/deep-learning-day/dlday18_paper_32.pdf。
53.ngcf:提出了嵌入向量的传播层,并以此为基础利用二部图的高阶结构去更新用户和物品的嵌入向量,ngcf模型由论文《neural graph collaborative filtering》公开,下载地址为:https://arxiv.org/abs/1905.08108?context=cs.ir。
54.lightgcn:丢弃掉ngcf中的两个模块:特征转移和非线性激活函数,这样的操作既提高了模型效率同时也提高了模型的泛化能力,lightgcn模型由论文《neural graph collaborative filtering》公开,下载地址为:https://arxiv.org/abs/1905.08108?context=cs.ir。
55.simplex:提出了余弦对比损失,最大化正的用户-物品对的余弦相似度,最小化负样本对的相似度,提高了推荐性能,simplex模型由论文《simplex:a simple and strong baseline for collaborative filtering》公开,下载地址为:https://arxiv.org/abs/2109.12613。
56.在实验中,发明人把用户交互过的物品作为正样本,用户没有交互的物品视为负样本。发明人使用了两个常见的top-k推荐的评价指标:召回率(recall)以及归一化折损累计增益(ndcg,normalized discounted cumulative gain,归一化折损累计增益),对于上述两个指标,模型的评价值是根据评分前20的测试样本计算得到。
57.表2在3个数据集上的推荐性能比较
[0058][0059]
表3参数g的影响
[0060][0061][0062]
发明人在pytorch下实现了发明人的模型并且对关键的参数进行了多次的调整以达到最优的性能。嵌入向量的大小发明人初始化为64*4(四元数对应的四个位置,每个位置大小为64),模型以及其他参数的初始化工作参照simplex模型进行。发明人优化模型使用adam,学习率默认设置为0.001,批尺寸默认设置为512。原始的迭代次数为100次,为了防止训练过程中的过拟合,发明人采用了早停法(early stopping),结合实际实验过程大约迭代次数在四十左右就会停止训练。用户的嵌入向量是根据交互过的物品的嵌入向量聚合更新得到的,这里的聚合方法发明人采用了平均池化法。
[0063]
在本节中,发明人提供了发明人的模型和其他几个推荐模型在三个主要数据集上的综合比较结果,即kindle-store、yelp2018和gowalla,这三个数据集在基于协同过滤的推荐模型(特别是基于图神经网络的协同过滤推荐模型)中非常常用,以证明发明人模型的优越性。图2显示了在3个数据集上的推荐性能比较,对于实验结果,发明人有以下分析:
[0064]
neumf模型是一个经典的协同过滤推荐模型,但是它的推荐性能相对一般。关键原因在于这个模型仅仅捕获了用户和物品在嵌入学习过程中的相关性,并没有用到用户和物品的高阶交互。
[0065]
相较与neumff模型而言,gc-mcf模型在用户-物品二部图上使用一层图卷积网络来探索用户和物品之间的一阶连接关系,性能推升反映了捕获邻居间一阶连接关系对表示学习的作用。
[0066]
hop-recf模型通过随机游走来增强用户的交互从而获得高阶的用户-物品交互,性能相较于gc-mcf模型推荐性能更好。ngcff模型推荐性能比以上几种推荐模型都要好,其提出了嵌入向量的传播层,并以此为基础利用二部图的高阶结构去更新用户和物品的嵌入向量,其推荐性能的提升归功于基于图卷积网络的推荐模型的强大的表示学习能力。lightgcf模型n丢弃掉ngcff模型中的两个模块:特征转移和非线性激活函数,这样的操作既提高了模型效率同时也提高了模型的泛化能力。simplexf模型提出了余弦对比损失,最大化正的用户-物品对的余弦相似度,最小化负样本对的相似度,简化模型的同时也提高了推荐性能。
[0067]
发明人的模型相较于以上对比模型有着显著的性能提升。具体而言,相较于最强的对比模型,发明人的模型在recall@20以及ndcg@20这两个推荐指标上分别有平均7.01%与7.85%的相对提升。发明人将这么大的性能提升归功于四元数空间以及四元数特征变换对用户和物品嵌入的更强大的表示学习能力。
[0068]
这里,发明人评估了几个重要的参数g对实验结果的影响。分别是邻居节点对目标节点嵌入的聚合权重g、负样本损失的权重w、以及负采样的数目n。如表1、表2和表3所示:
[0069]
观察表1、表2和表3中结果,虽然在各个数据集中每个超参对结果的影响趋势不尽相同的,但仍然能发现一些规律:当负样本损失的权重w过大时(如w=1000),在三个数据集上模型的效果都不是很好,这说明四元组引入后,负样本权重不宜设置过大。相较而言,负采样的数目对不同的数据集也会有着相应的影响。表2还反映出yelp2018和kindle-store有着比较同步的变化,其原因在于二者相较于gowalla数据集是小一些的,发明人可以知道上述超参对模型效果的影响和数据集的大小也有着关联。此外,发明人对超参g的超参实验
[0070]
进行了细化展示,如图2和图3所示:由于数据本身的值较小,在图中看变化趋势不是那么的明显,但仍然可以捕捉到一些信息:三个数据集的两个评价指标随着g值的增大,呈现出近似正相关的趋势,这说明推荐效果很大程度上得益于:用户交互物品嵌入对用户嵌入更新所做的贡献。
[0071]
本实施例着眼于绝大多数的协同过滤模型都是在欧几里得空间进行建模,然而欧几里得空间的嵌入已被证明在对复杂的图结构进行建模时具有高失真特性。因此,发明人提出了一个具有余弦对比损失的基于四元数的协同过滤推荐模型。发明人首先使用四元数嵌入将所有用户和物品嵌入到四元数空间中。然后,发明人引入四元数特征变换来聚合负样本以得到当前用户的偏好向量表示,并对当前用户嵌入和其偏好向量表示使用加权和进行组合得到该用户的最终表示。最后,发明人使用余弦对比损失来对模型进行优化。发明人在3个公开的大型数据集上进行大量实验,并与最新的推荐模型进行了比较分析,实验结果证明发明人的模型优于当前最先进的推荐模型。
[0072]
本发明实施例二提供了一种基于四元数的协同推荐装置,包括以下模块:
[0073]
用户信息处理模块,用于从预设协同推荐模型中,获取用户u对应的四元数向量eu=e
u,r
+e
u,i i+e
u,j j+e
u,k k,其中,i、j和k为虚部,且e
u,r
、e
u,i
、e
u,j
和e
u,k
均是维度为d的实数向量,d为自然数,且d≥2;
[0074]
物品信息处理模块,用于获取在预设时间段中的与所述用户u具有隐式的关系num1个物品n1、n2、...、n
num1
,基于所述预设协同推荐模型,生成物品nh对应的四元数向量e
′h=e

h,r
+e

h,i i+e

h,j j+e

h,k k,e

h,r
、e

h,i
、e

h,j
和e

h,k
均是维度为d的实数向量,h和num1均为自然数,h=1,2,...,num1;
[0075]
处理模块,用于生成四元数向量其中,w为一个四元数向量w=pr+p
i i+p
j j+p
k k,pr、pi、pj和pk均是维度为d的实数向量,为汉密尔顿乘法,在进行汉密尔顿乘法时,两个d维实数向量之间的乘积为哈达马乘积;
[0076]
推荐模块,用于用户u对应的修正四元数向量hu=g
·eu
+(1-g)
·
p,其中,g为实数,0≤g≤1;基于修正四元数向量hu向用户u推荐物品。
[0077]
本实施例中,所述推荐模块还用于:获取num2个物品n
′1、n
′2、...、n

num2
,基于所述预设协同推荐模型,生成物品n
′g对应的四元数向量e
″g=e

g,r
+e

g,i i+e

g,j j+e

g,k k,且e

g,r
、e

g,i
、e

g,j
和e

g,k
均是维度为d的实数向量,g和num2均为自然数,g=1,2,...,num2;生成物品n
′g对应的评分值为其中,cos()为余弦相似度,在进行余弦相似度计算时,两个d维实数向量之间的乘积为内积;从num2个物品n
′1、n
′2、...、n

num2
中选择评分值最高的num3个展示给用户u,其中,num3为自然数,num3≤num2。
[0078]
本实施例中,num3=20。
[0079]
本发明实施例三提供了一种终端,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如实施例一中的协同推荐方法的步骤。
[0080]
本发明实施例四提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一中的协同推荐方法的步骤。
[0081]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0082]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0083]
可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0084]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1