本发明涉及协同过滤推荐技术领域。具体涉及一种基于社会化卷积矩阵分解的文档上下文感知推荐方法。
背景技术:
推荐系统作为个性化服务的重要实现技术之一,其中,推荐算法是整个推荐系统的核心,决定了推荐系统性能的优劣。现在主流的推荐系统主要包括:基于内容的推荐、协同过滤推荐、基于知识的推荐和混合推荐。但,随着电子商务服务中用户和项目数量的爆炸性增长,增加了用户对项目评级数据的稀疏性。最终,这种稀疏性降低了传统协同过滤技术的评估预测精度。为了提高推荐系统的精度,很多推荐算法不只是运用评分数据,还包括用户的基本信息,社交信息或项目的描述文本等信息来提高系统的准确率。
近年来,随着诸如facebook,twitter等社会媒体的兴起,利用用户间的社会关系进行推荐的方法,逐渐成为推荐领域的研究热点。这类方法在推荐过程中假设用户的决策过程容易受到信任关系或朋友关系的影响,相互信任的朋友之间具有相近的兴趣爱好。例如,ma等人研究了如何利用用户间的信任关系来进一步提高传统推荐算法的性能,并给出了一种能够将信任关系信息进行融合的概率矩阵分解框架,即提出了一种联合概率矩阵分解(unifiedprobabilisticmatrixfactorization,upmf)方法。然而这些方法都忽略了文本上下文对推荐的影响。
最近,研究者们已经提出了基于文档建模方法,如利用潜在狄利克雷(lda)主题模型和堆栈去噪自动编码器(sdae)的方法来利用项目描述文档,诸如评论,摘要或概要的上下文信息。具体来说,wang等人提出的协作主题回归(ctr),其结合了主题建模(lda)和协同过滤的概率方法。还有学者提出了不同的ctr,将lda整合到协同过滤中,以不同的集成方法分析项目描述文档。最近,wang等人提出了将sdae集成到概率矩阵分解(pmf)中的协同深度学习(cdl),从而在评分预测精度方面产生更准确的潜在模型。然而这些方法没有考虑到用户之间信任关系的影响。如何有效利用项目的文档上下文信息和用户的信任关系来提高推荐的成功率和准确率,是目前亟待解决的问题。
技术实现要素:
为了提高评分预测的准确性从而有效的提高推荐的成功率和精准度,本发明的目的在于提供一种基于社会化卷积矩阵分解的文档上下文感知推荐方法。该方法首先生成有效反映项目描述文档的上下文信息的项目潜在模型,并以概率的角度将cnn无缝集成到基于矩阵分解技术的社会化推荐中,这使得它能在学习过程中进一步识别出与目标用户具有信任关系并且兴趣比较接近的朋友,从而达到优化推荐结果的目的。
为了实现上述目的本发明采用如下技术方案:一种基于社会化卷积矩阵分解的文档上下文感知推荐方法,包括以下步骤:
s1:收集用户的基本信息数据集x,并进行了预处理;
s2:将原始的文档上下文信息通过卷积神经网络(cnn)架构中的嵌入层转换为数字矩阵d;
s3:利用s2生成的数字矩阵d,通过卷积层提取出上下文权重w;并提取出具有代表性的特征,通过构建固定长度特征向量的池操作来处理可变长度的文档;
s4:经过s2,s3得到的每个文档的潜在向量sj作为平均值可以得到项目的潜在特征向量;
s5:通过计算其好友的潜在特征向量的平均值可以得到目标用户的潜在特征向量;
s6:经过贝叶斯推断可以得到用户和项目的联合概率分布,最后可以综合利用那些与目标用户之间具有信任关系的用户的评分以及项目的文档上下文信息进行推荐。
在以上步骤中,用户的基本信息数据集x为:x=[用户对项目的评分矩阵、用户属性、项目的描述文档、用户的好友集合、用户的信任关系集合]。
cnn体系结构的目标是从项目文档中生成文档潜在向量,用于构造具有变量的项目潜在模型。我们的cnn架构由四层组成:1)嵌入层,2)卷积层,3)池层,4)输出层。其中,嵌入层将原始文档转换成表示下一个卷积层的文档的密集数字矩阵d为:
s21:嵌入层将原始文档转换成表示下一个卷积层的文档的密集数字矩阵。详细地说,关于该文件作为l个单词的序列,我们通过连接文档中的单词的向量来将文档表示为矩阵。
s22:然后将单词向量随机初始化或初始化用训练前的单词嵌入模型,通过优化过程进一步训练单词向量。然后,文档矩阵
其中l是文档的长度,p表示每个词wi的嵌入维数的大小。
进一步地,卷积层提取的上下文特征w计算过程为:
s31:通过第j个共享权重
其中,*是一个卷积运算符,
s32:我们使用不饱和非线性的神经元为修正线性单元relu(rectifiedlinearunits)来避免梯度消失的问题,导致优化收敛速度慢,并可能导致局部最小值。然后,具有
其中每个上下文特征向量具有可变长度(即,l-ws+1上下文特征)。
s33:一个共享权重捕捉一种类型的上下文特征。因此,我们使用多个共享权重来捕获多种类型的上下文特征,这使得我们能够生成与wc的数量nc具有相同的上下文特征向量。(即
s34:我们利用max-pooling,通过从每个上下文特征向量中提取最大上下文特征,将文档的表示形式减少为nc固定长度向量。
其中cj是由第j个共享权重
上述步骤s4中所述项目的潜在特征向量的构建过程为:
s41:经过步骤s2,s3,我们在用户和项目潜在模型的k维空间上投影df用于我们的推荐任务,最终通过使用传统的非线性投影产生文档潜向矢量。
s=tanh(wf2{tanh(wf1df+bf1)}+bf2)
其中
s42:经过步骤s41,我们的cnn体系结构成为一个以原始文档为输入的函数,并将每个文档的潜在向量作为输出返回:
sj=cnn(w,xj)
其中w表示防止混乱的所有权重和偏差变量,并且xj表示项目j的原始文档,并且sj表示项目j的文档潜在向量。
s43:使用ε变量为高斯噪声,这使得我们可以进一步优化项目潜在模型的评级。因此,通过以下等式获得最终项目潜在模型:
vj=cnn(w,xj)+εj
其中,
s44:对于w中的每个权重wk,放置到重用的先验模型,即零均值球形高斯先验:
因此,项目潜在模型的条件分布由下式给出:
步骤s5所述目标用户的潜在特征向量的计算为:
s51:假设用户的兴趣爱好更容易受到其所信任的朋友的影响(具有直接链接关系),并且目标用户的潜在特征向量可以通过计算其朋友的潜在特征向量的平均值来得到,对于任意一个用户ui来说,其特征向量可以表示为:
其中,
s52:用户的特征u主要由以下两方面的信息决定:1)为了防止过拟合,所采用的均值为0的高斯先验;2)能反映出用户所信任朋友的特征向量的条件概率分布。因此可以得到如下:
最后,通过步骤s6可以得到u,v的联合概率分布:
本发明首先利用用户之间的信任关系进行关联,然后捕获文档中单词的微妙上下文差异,最后再利用那些与目标用户之间具有信任关系的用户的评分和项目的文档上下文进行推荐方法。该方法有效地提高了推荐的准确性和可靠性,同时缓解了推荐过程中可能存在的数据稀疏性以及冷启动问题。
附图说明
本发明的上述和/或附加的方面和优点,结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明的整体流程示意图;
图2是本发明的cnn体系架构示意图;
图3是本发明的社会化卷积矩阵模型图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的含义。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
图1是本发明的整体流程结构示意图。如图所示,本发明提供一种基于社会化卷积矩阵分解的文档上下文感知推荐方法。首先利用卷积神经网络(cnn)捕获物品描述文档的上下文信息,并将获得的上下文特征向量和高斯噪声一起作为项目的潜在向量模型;然后利用用户的兴趣爱好更容易受到其所信任的朋友的影响(具有直接链接关系)的特点,通过计算其好友的潜在特征向量的平均值来确定目标用户的潜在特征向量;最后根据用户和项目的联合概率分布函数预测出用户对项目的评分信息。具体步聚如下:
s1:收集用户的基本信息数据集x,并进行了预处理;
s2:将原始的文档上下文信息通过卷积神经网络(cnn)架构中的嵌入层转换为数字矩阵d;
s3:利用s2生成的数字矩阵d,通过卷积层提取出上下文权重w;并提取出具有代表性的特征,通过构建固定长度特征向量的池操作来处理可变长度的文档;
s4:经过s2,s3得到的每个文档的潜在向量sj作为平均值可以得到项目的潜在特征向量;
s5:通过计算其好友的潜在特征向量的平均值可以得到目标用户的潜在特征向量;
s6:经过贝叶斯推断可以得到用户和项目的联合概率分布,最后可以综合利用那些与目标用户之间具有信任关系的用户的评分以及项目的文档上下文信息进行推荐。
s7:预测出用户对未知项目的评分。
本发明融合用户之间的信任关系以及项目的文档上下文信息,实现了一种新颖的融合文档上下文感知的社会化推荐模型。从而有效的提高了推荐的成功率和精准度。该方法一方面使用项目的文档上下文信息可以进一步缓解评分稀疏性来带的推荐准确度低的问题;另一方面,相对于相似近邻的冷启动用户,可以从可能的好友集中为其挑选推荐候选,从而在一定程度上降低冷启动用户存在的可能性。
图2是本发明的cnn体系架构示意图。如图所示,cnn体系结构的目标是从项目文档中生成文档潜在向量,用于构造具有ε变量的项目潜在模型。首先,嵌入层将原始文档转换成表示下一个卷积层的文档的密集数字矩阵。详细地说,关于该文件作为l个单词的序列,我们通过连接文档中的单词的向量来将文档表示为矩阵。文档矩阵
然后,使用卷积层提取上下文特征。通过第j个共享权重
之后,池化层从卷积层提取代表性的特征,并且还通过构建固定长度特征向量的池操作来处理可变长度的文档。在卷积层之后,文档被表示为nc上下文特征向量,其中每个上下文特征向量具有可变长度(即,l-ws+1上下文特征)。然而,这种表示方式有两个问题:1)上下文特征ci太多,其中大多数语境特征可能无助于提高性能,2)上下文特征向量的长度变化,这使得难以构建以下层。因此,我们利用max-pooling,通过从每个上下文特征向量中提取最大上下文特征,将文档的表示形式减少为nc固定长度向量。
最后,在输出层,从上一层获得的高级特征应该转换为特定的任务。因此,我们在用户和项目潜在模型的k维空间上投影df用于我们的推荐任务,最终通过使用传统的非线性投影产生文档潜向矢量。
s=tanh(wf2{tanh(wf1df+bf1)}+bf2)
最终,通过上述过程,我们的cnn体系结构成为一个以原始文档为输入的函数,并将每个文档的潜在向量作为输出返回:sj=cnn(w,xj)
本发明根据卷积神经网络(cnn)捕获物品描述文档的上下文信息,并将获得的上下文特征向量和高斯噪声一起作为项目的潜在向量模型。从而有效的缓解评分稀疏带来的推荐精确度低下的问题。
图3是本发明的社会化卷积矩阵模型图。如图左边框图所示,首先通过卷积神经网络(cnn)捕获物品描述文档的上下文信息,并将获得的上下文特征向量和高斯噪声一起作为项目的潜在向量模型。假设项目item潜在特征矩阵由三个变量产生:1)在cnn中内部权重w;2)xj代表项目j的文件;3)ε变量为高斯噪声,这使得我们可以进一步优化项目潜在模型的评级。因此,通过以下等式获得最终项目潜在模型。vj=cnn(w,xj)+εj。从而给出项目潜在模型的条件分布由下式给出:
然后,如图右边框图所示,计算用户的潜在特征向量。用户的特征u主要由以下两方面的信息决定:1)为了防止过拟合,所采用的均值为0的高斯先验;2)能反映出用户所信任朋友的特征向量的条件概率分布。因此可以得到如下。
最后,假设有n个用户和m个项目,以及显示的评分矩阵用
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。