一种基于知识图谱辅助的用户多维度兴趣抽取方法
技术领域
本发明涉及协同过滤技术,具体为基于物品的协同过滤算法;基于知识图谱的表示学习方法,具体为Trans R算法。还涉及用户兴趣建模等数据挖掘与深度学习技术。
背景技术
随着多媒体技术的发展和手持移动电子设备的普及,人们可以随时随地在网络上获取信息,如今互联网一天产生的信息量,可能一个人一生也无法看完,面对日益严重的信息过载问题,推荐系统应运而生,其作用就是在用户和信息之间建立更加有效率的连接,节约大量的时间和成本。1994年,明尼苏达大学双城分校计算机系的Group Lens研究组设计了一个新闻推荐系统,并首次提出了协同过滤(Collaborative filtering,简称CF)思想。自诞生以来,CF不仅在学术界被深入研究,在工业上也有很多实际部署。是目前主流并且广泛使用的推荐算法之一,CF类的方法主要是分析用户-物品的历史交互记录,来预测用户的下一个可能交互的物品,充分利用集体智慧来找出最能满足用户兴趣的内容。基于物品的协同过滤(Item-based collaborative filtering,简称ICF)是根据物品之间的相似性做推荐,ICF认为用户交互的历史物品中,体现了用户的个性化兴趣,可以作为用户兴趣建模的一个重要组成部分。
知识图谱(Knowledge Graph,简称KG)是由Google公司在2012年提出来的一个新的概念。从学术的角度,我们可以对知识图谱给一个这样的定义:“知识图谱本质上是语义网络(Semantic Network)的知识库”。知识图谱作为认知智能的重要一环,在检索推荐等领域有了一系列的应用,知识赋能的智能推荐将成为未来推荐的主流。将知识图谱作为辅助信息引入到推荐系统中可以有效地解决传统推荐系统存在的稀疏性和冷启动问题,并且为最终的推荐结果提供一定的可解释性。为了在KG上挖掘数据的关键性特征,需要使用知识图谱映射(KGE)算法将能够充分表征原始数据的信息编码为低维嵌入特征。KGE算法通常可以分为两类,平移距离模型和语义匹配模型。平移距离模型利用了基于距离的评分函数,通过两个实体之间的距离对事实的合理性进行度量,比如Trans E、Trans H、Trans R,和Trans D等;语义匹配模型利用基于相似性的评分函数。语义匹配模型通过匹配实体的潜在语义和向量空间表示中包含的关系来度量事实的可信性,例如Dist Multi和RESCAL等。
在对个性化推荐算法的研究中,用户兴趣建模是一个永恒的话题。如何表示、计算和更新用户兴趣已成为一个重要的研究课题。用户的兴趣往往遵从一种层级的模式,以电影推荐场景为例,从更高级别的属性(如类型、导演、演员)到具体的较低层属性(具体的一部电影)。之前有关用户兴趣抽取的模型如阿里的DIN和DIEN方法,显然忽略了这种层级的模式,仅仅从物品级别去抽取用户兴趣。我们认为,用户历史行为信息是很重要的一类信息,从中抽取出用户的兴趣可以有效提升推荐的效果,并且在外部信息知识图谱的辅助下,可以从用户的历史交互行为中抽取用户的多维度兴趣表达。
综上所示,对于推荐中的用户兴趣表达还没有达到最优的效果,大多数研究都是使用统一和混合的隐向量来表达用户,没有考虑到用户多维度兴趣的表达,限制了性能的提升,由于交互数据的稀疏性和冷启动的问题,使得获取用户兴趣的多维度表达十分困难,如何定义多个维度也是一个棘手的问题,缺乏可解释性。本发明正是由此入手,提出了一种知识图谱辅助的用户多维度兴趣抽取的方法。
发明内容
现有的推荐算法大多是采用一个单一的、混合的向量表示用户兴趣,并不能从多个维度来表达用户兴趣,这种对用户兴趣统一建模的方法忽略了隐向量中的纠缠,容易得到次优的用户兴趣表达,同时也缺乏一定的可解释性。针对当前推荐系统的需求,本发明的目的是探索一种从用户历史交互记录中合理抽取用户多维度兴趣的方法,在外部信息知识图谱的辅助下,获取用户兴趣在物品不同属性空间中的表达,如图1所示。
为了从多个维度表达用户兴趣,本发明公开了一种基于知识图谱辅助的用户多维度兴趣抽取方法。整体框架如图2所示。该方法使用的数据集均来自于学术界和工业界公开数据集(Amazon-book:书籍,Last-FM:音乐)。该方法包括三个模块,分别为输入层、多维度兴趣抽取层和最大兴趣响应层。输入为用户的历史交互物品和待推荐的物品,使用的知识图谱表示学习方法为Trans R;多维度兴趣抽取层通过把不同连接关系下的不同实体聚合起来,实现用户多维度兴趣的抽取,也就是在不同的物品属性空间中,有不同的用户兴趣表达,其本质在于把物品映射到不同的语义空间后的聚类;最大兴趣响应层首先把待推荐物品映射到不同的物品属性空间,然后和用户在此空间中对应的兴趣做内积,选取最大的值作为最终的预测分数,其本质在于用户对于物品的某一个属性特别喜欢,那么就有理由把这个物品推荐给用户。
本方法各主要模块的发明内容如下:
1.输入层
所述的输入层分为两个部分,首先是在数据集中获得用户交互的历史物品,和待推荐的目标物品一起作为模型的原始输入;然后将数据集中全部物品和知识图谱中的实体一一对应起来,使用表示学习方法Trans R进行学习,即把实体映射到不同的关系空间中比较,如图3所示。在同一个关系空间中满足h+r=t的时候才可以形成三元组(h,r,t),其本质在于,知识图中的实体(即物品)是多种属性的综合体,不同的关系关注实体的不同属性,在A关系空间中相似的两个实体,在B关系空间中可能不相似。具体如图3所示。
2.多维度兴趣抽取层
所述的多维度兴趣抽取层可以获得用户在不同物品属性空间中的兴趣表达。首先依据输入的用户历史交互物品,找到它们在知识图谱中对应的实体。以电影为例,所用的知识图谱未包含用户,不同的电影实体之间依据同一导演、同一演员等关系连接,形成电影1—导演—电影2,电影3—演员—电影4等三元组,如图4所示。在得到用户历史交互过的物品以及它们各自的知识连接实体后,我们把和用户交互过的实体是同一导演的实体抽取出来,值得强调的是,由于大部分情况下用户的历史物品不是一个,所以得到的导演实体的集合并不是只有一个导演,而是多个导演,这就使得这个实体集合表达的是用户对于电影的导演这一属性的兴趣,并不是具体的哪一个导演。同理,我们把和用户交互过的实体是同一演员的实体抽取出来,就得到了用户对于电影的演员这一属性的兴趣,以此类推。在本方法中,首先统计知识图中共有多少种关系,也就是这类物品(电影)有多少种属性,在每一个属性中,都会有相应的用户兴趣表达。另外,由于Trans R的特点是即使是同一个实体,在不同的关系空间中也会有不同的表达,例如同一部电影,在导演关系空间下,我们关注的是它的导演属性,在演员的关系空间下,关注的则是演员属性,这就使得同一部电影在不同的关系空间下的特征表达是不同的。
3.最大兴趣响应层
所述的最大兴趣响应层最终可以得到用户对物品的交互预测得分。在得到用户的多维度兴趣表达之后,本方法首先把待推荐物品使用不同的关系矩阵,映射到不同的物品属性空间,然后和用户在此空间中对应的兴趣做内积,选取最大的值作为最终的预测分数,其本质在于用户对于物品的某一个属性特别喜欢,那么就有理由把这个物品推荐给用户。最大兴趣响应层输出用户对待推荐所有物品的交互预测得分后,对所有物品根据评分进行降序排序,将前N个物品生成一个列表推荐给用户,推荐完成。
附图说明
图1为物品不同属性空间中用户兴趣表达示意图;
图2为本发明中基于知识图谱辅助的用户多维度兴趣抽取方法总体框图;
图3为Trans R算法示意图;
图4为知识图谱示意图;
具体实施方式
:
本发明公开了一种基于知识图谱辅助的用户多维度兴趣抽取的个性化推荐方法。该发明的具体实现步骤如下:
步骤一:数据预处理和训练集测试集划分:数据预处理分为两个部分,一是选择合适的公开数据集,首先为所有用户和物品编排序号,二是把用户-物品交互记录以隐反馈的方式做记录:既用户和物品有过交互,标签记为1,反之为0,如果数据集的交互是评分形式,可把评分过的物品标签记为1,反之为0。然后是把全部物品和知识图谱中的实体一一对应起来。最后是训练集和测试集的划分,本方法中,知识图谱表示学习和推荐预测两个任务是联合训练的,对于推荐预测任务,训练集和测试集中正样本的比例是4:1,经过实验验证,知识图谱表示学习和推荐预测两个任务的训练集中正负样本的比例为1:1时,性能最好。
步骤二:模型输入和Trans R训练:
模型的输入是用户交互过的历史物品实体集合其中是用户交互过的历史物品集合,以及待推荐的目标物品把这些物品和知识图谱中的实体一一对应。首先,为了表示结构化的知识,本发明使用无向图G=(V,R),其中V={v1,v2...vN}表示知识图谱中的实体集合,N表示实体的总个数,R={r1,r2...rM}表示知识图谱中关系集合,M表示关系的总个数。在Trans R算法中,对于每一个三元组(vh,r,vt),vh和vt是两个连接的头实体和尾实体,r表示两个实体之间的关系类型。首先把vh和vt映射到特定的空间vh,vt∈Rk,k是映射后向量的维数,取值为64,且||h||2≤1,||t||2≤1,r∈Rd,d是映射后向量的维数,取值为128,且||r||2≤1。然后设置一个针对当前关系的转换矩阵Mr∈Rk·d,它可以把实体转换到相应的关系空间中,如图3所示。具体为: 这一个三元组的得分函数定义为:
步骤三:用户多维度兴趣抽取:这一层的功能是获取用户在不同物品属性空间中的兴趣表达:Iu=fextractor(Vu,G=(V,R))。假设使用的知识图谱是完备的,那么知识图谱中的关系就是这一类物品的属性空间的划分,以电影为例,导演、演员等关系对应着电影这一实体的属性划分空间,所以知识图谱中有多少种关系,就可以认为,在当前认知下,这类物品有相同个数的属性空间。以用户交互过的历史实体作为中心点,依据不同关系依次获取用户在物品不同属性空间中的兴趣表达,具体计算公式如下:
......
并且有,r1≠r2≠...≠rM,r1,r2...rM∈R,本发明方法中,我们只使用了知识图谱中hop1的信息,没有扩大信息聚合范围,这是考虑到在表达用户兴趣的时候,引入高阶信息同时也会引入一定的噪声,进而影响性能;另外,在传统方法中,用户交互过的历史物品通常是用户兴趣的直接体现,在本发明中,在获取用户在物品不同属性空间的兴趣表达时,也把历史交互物品按照不同的关系计算在了兴趣表达中。
步骤四:最大兴趣响应获得预测分数和推荐列表:获得用户在物品的不同属性空间上兴趣表达之后,为了得到最准确的交互预测得分,本发明把待推荐物品也分别映射到和用户的多维度兴趣相同的空间下进行比较,具体计算公式为:
其中是待推荐物品在知识图谱中的实体特征表达,是任意一种关系的映射矩阵,M是知识图谱中关系的个数。得到待推荐物品在不同属性空间的表达后,分别和用户在此空间中对应的兴趣特征做内积,选取最大的值作为最终的预测分数,计算公式为:
其中是激活函数。最大兴趣响应层的本质在于用户对于物品的某一个属性特别喜欢,那么就有理由把这个物品推荐给用户。最大兴趣响应层输出用户对待推荐所有物品的交互预测得分后,对所有物品根据评分进行降序排序,将前N个物品生成一个列表推荐给用户。
步骤五:优化方法和损失函数:本发明中的损失函数包括三个部分,第一部分是交互预测部分的损失函数。推荐系统中比较常用的两种学习策略是点式(pointwise)和对式(pairwise)优化方法,本发明选用点式。点式方法广泛应用于众多推荐算法中,并取得了优异的效果。它把推荐问题转化为一个二分类的任务,最小化如下目标函数:
其中δ(·)是sigmoid函数,把预测分数控制在0-1之间,R+是正样本集,也就是标签为1的集合,R-是负样本集,也就是标签为0的集合。
第二部分是知识图谱表示学习Trans R训练部分的损失函数,选用的是边缘损失Margin loss,输入样本对是从训练集中获取的正样本集合S和负样本集合S',目标是正负样本得分之间的差值要大于一个阈值γ,目标函数为:
其中max(x,y)表示获取x和y中的最大值,γ表示阈值,设为1.0。第三部分是防止模型过拟合的正则化损失函数,包括交互预测和知识图谱表示学习Trans R训练两部分参数,定义为:
Lreg=LKG_reg+LRec_reg=λ(||θKG||2+||θRec||2)
超参数λ控制L2正则化的强度,设为10-7,θKG和θRec分别表知识图谱训练和交互预测中防止过拟合的模型参数,其中θKG表示实体和关系的初始化向量,
θRec包括用户和物品的初始化向量。
本发明的损失函数由以上三个部分组成,联合训练:L=LRec+LKG+Lre
步骤六:验证方法的有效性:模型训练完成后,为了验证本发明方法的有效性,将本发明的方法在公开数据集Amazon-book:书籍,Last-FM:音乐上进行了实验。在得到目标用户对待推荐物品的交互预测分数后,针对每一个目标用户,选取分数最高的前20,,40,60,80,100个物品形成一个Top-N的个性化推荐列表。实验所使用的的评价指标是Recall(相对于全部正样本的正确率)、Precision(相对于Top-N列表的正确率)、Hit Rate(检验Top-N列表中命中任一个正样本的概率)和Normalized Discounted Cumulative Gain(NDCG关注的是正样本出现在Top-N推荐列表中的位置,位置越靠前,NDCG越大)。表1展示了本发明的方法在两个公开数据集上的性能。
表一:本发明方法在Amazon-book和Last-FM数据集上的实验性能展示