基于知识图谱知识推理的视频推荐算法

2020-04-24 03:07许智宏董永峰闫文杰
计算机工程与设计 2020年3期
关键词:三元组相似性图谱

许智宏,赵 杏,董永峰+,闫文杰

(1.河北工业大学 人工智能与数据科学学院,天津 300401; 2.河北工业大学 河北省大数据计算重点实验室,天津 300401)

0 引 言

协同过滤[1](collaborative filtering,CF)是最盛行的推荐技术之一。该技术广泛应用于电子商务、电影、音乐等领域,但也存在一些自身的缺陷。

文献[2]提出了一种基于用户行为分析的视频推荐算法,使用用户行为代替视频内容进行推荐。文献[3]提出了一种基于视频内容检测的协同过滤视频推荐算法,通过使用捕捉的动态变化的视频内容进行推荐,但单独使用用户行为或者视频内容数据进行推荐,都会降低推荐的准确性。文献[4]提出了基于用户行为与内容综合分析评估的视频推荐方法研究,结合了用户行为和视频内容,但未考虑语义信息。文献[5]提出了一种基于知识图谱表示学习的协同过滤推荐算法,结合用户的行为信息与语义信息,但也未考虑实体关系之间的多路径关系,降低了推荐的准确度。

通过对已有的改进算法的研究与分析,在物品属性特征较稳定的基础上,引入了知识图谱的知识推理PTransE(Path-based TransE)模型[6],提出了一种名为PTransE_CF的推荐算法。该算法不仅使用用户电影评级数据,还引入电影本身的语义信息,充分利用语义信息的显式特征和隐式特征的互补性,预期提高预测效果。

1 基于物品的协同过滤推荐

1.1 数据模型分析

在一个完整的推荐系统中,假设有m个用户,有n个物品V={v1,v2,…,vn}, 将用户-物品评分数据构建成常用的用户-物品评分矩阵Rm×n, 如式(1)所示

(1)

1.2 流行度

当某用户仅观看了当前流行的几部影片时,可能这些电影之间不存在相似性关系,因此引入流行性电影权重因子降低两者之间的相似性[10,11]。流行度因子为

(2)

其中,N(Vi) 表示喜欢电影Vi的用户数, |N(Vi)∩N(Vj)| 表示同时喜欢电影Vi和电影Vj的用户数。

1.3 用户行为相似性

对于某一个视频,该视频本身的属性信息不会随着时间的变化而变化,因此可以根据余弦相似性算法、皮尔逊算法,修正的余弦相似性算法等线下提前计算好目标物品与用户已观看过的或者已评过分的物品间的相似性,根据得到的相似性矩阵去进行评分预测。本文采用余弦相似性算法通过夹角的余弦值计算任意两个视频之间的相似性,对其降低流行度的影响,最终的相似性如式(3)所示

(3)

2 基于知识图谱知识推理的推荐

2.1 领域知识图谱

在知识图谱[13]中,任意两个实体表示成(实体1,关系,实体2)的三元组形式,各个实体可以通过关系形成一个强大的有向的语义网络,节点是由实体组成的,关系构成了边。实体间通过各种关系相互连接,形成极大的网络结构图。

电影领域中的各种属性特征(导演、演员、国家、上映时间等),均可以构成三元组,例如(毒液,导演,艾里克斯·库兹曼),电影实体之间通过关系相互连接构成了电影的知识图谱。以movielens数据为例,则部分实体关系的知识图谱如图1所示。

图1 部分电影的知识图谱

由图1可以看出两个电影间的关系路径越多,两个电影的相似属性也越多,电影的相似性就越大。

2.2 PTransE数据模型

已知存在三元组 (h,r1,e1), 同时存在三元组 (e1,r2,t), 使用PTransE模型得到新的实体间的路径关系示例如图2所示。

图2 PTransE模型

对于关系所包含的信息对两侧实体而言具有语义上的双向性[14],因此本文可以将知识图谱看成是无向图,也就是说,如果存在三元组 (h,r,t), 则 (t,r-1,h) 也加入到三元组集合中,利用基于路径推理的路径排序算法PRA(path ranking algorithm)[14,15]寻找任意两个电影实体对之间的可能路径,例如:知识图谱中有三元组 (h,r1,e1), 同时存在三元组 (e1,r2,t), 若此时第一个三元组的尾实体e1与第二个三元组的头实体e1为同一实体,则获得h到t的路径,考虑到三元组关系路径的可靠性,将三元组 (h,r1·r2,t) 得分不小于0.01的加入到新的三元组集合中。为了避免路径太长,造成训练集中重复数据太多,限制随机游走的长度控制在4跳以内,由于三元组为(实体,关系,属性)的形式,所以在建立两个实体间的关系时,只取偶数跳,并从TransE出发,将所有的实体、关系以及路径都在低维的向量空间中表示。

2.3 语义相似性

在知识计算语义相似性时,主要由两部分组成,一部分为直接相连的实体,另一部分为在有限的路径中可以到达的,因此语义相似性如式(4)所示

(4)

(5)

(6)

其中,ei(n,·) 表示是ei-1直接后继。Rp(n) 表示该路径游走到实体n的概率。

2.4 语义组合

PTransE在多路径关系下面存在语义组合的问题,尝试了很多方法,例如加法模型,乘法模型和递归神经网络模型等。现有实验结果表明了加法模型的语义组合效果最好。本实验中采用加法模型组合语义。例如从e0到e1的路径为:p=r1∘r2∘r3∘…rl, 对于关系p进行语义组合的公式如式(7)所示

p=r1+r2+r3+…+rl

(7)

2.5 损失函数计算

PTransE模型采用TransE(translating embedding)的思想,最大化正例和负分开,利用合页损失函数实现

L(p,r)=∑(h,r′,t)∈Q-[γ+E(p,r)-E(p,r′)]+

(8)

3 行为相似性融合语义相似性

PTransE_CF算法既考虑了用户的行为信息,又考虑了电影本身的语义信息,相似性主要由两部分组成,即用户对电影的评分相似性和物品本身属性信息的语义相似性。对二者采用线性融合的方式进行组合

W(Vi,Vj)=(1-a)*simCF(Vi,Vj)+a*simPTransE(Vi,Vj)

(9)

4 PTransE_CF算法描述

PTransE_CF算法的流程如图3所示。

图3 PTransE_CF流程

5 实验与分析

5.1 数据集

实验选取了GroupLens研究组的MovieLens数据集,943位用户对1682部电影产生10万条评分数据,每个用户对电影评分不少于10部,根据评分数据以及电影领域的知识图谱,针对每部电影主要的23个特征属性,7911个三元组信息进行实验。

5.2 评价指标

一般可以从多个角度来评价算法的好坏,不同的角度使用不同的评价指标,实验选取准确率、召回率和F1值3个指标评价推荐的效果。

例如,常用的计算评价指标的混淆矩阵(confusion matrix)请参见表1。

表1 confusion matrix

根据表1可以得出准确率P、召回率R和F1值。

准确率P

(10)

召回率R

(11)

F1值

(12)

5.3 实验设计

将MovieLens用户电影评分10万条数据每次随机生成80%的训练集数据和20%的测试集数据,根据PTransE_CF算法进行实验,每组实验进行5次,最后取平均值作为最终的结果。

5.3.1 确定融合比

实验通过分别取top-k的邻居数为40、60、80、100、120,知识推理的嵌入维度为200,对参数a的值设定从0-1,以0.1的间隔递增的方式,观察推荐结果的准确性、召回率以及F1值,发现用户的行为信息对相似性的影响较大,因此适用于“黄金分割”法则,本实验最终选定用户行为相似性与语义相似性融合比例为:0.618∶0.382,其中用户行为相似性占较大比重。即a=0.382。

5.3.2 对比实验

(1)从1682部电影中任意取K部电影,比较不同数目的电影数目对F1值的影响。

从图4可以看出随着电影数目的增多,综合评价指标F1值也不断增大,所以PTransE_CF也适用于数据量较大的情况,具有可扩展性。

图4 不同电影数目的F1值

(2)选取知识推理的嵌入维度为200维,近邻数为40,60,80,100,120分别对比普通的协同过滤推荐算法、加入流行性因子的协同过滤推荐算法以及PTransE_CF算法的准确率Precision、召回率Recall以及F1值。

从图5可以看出,加入流行因子后,准确率,召回率和F1值都明显提高,取得了良好的推荐效果。添加语义相似度后,PTransE_CF算法的推荐效果优于其它两种。

(3)选取知识推理的嵌入维度为200维,近邻数为40,60,80,100,120分别与协同过滤推荐算法中的几种典型的算法最对比,每组实验进行5次,最后取平均值。

图5 3种情况在不同邻居数下的准确率、召回率和F1值

图6可以得出,PTransE_CF算法在准确率,召回率,F1值上较其它几种协同过滤推荐算法都有一定的优势,都有相应的提升,实验结果表明了该算法的有效性,充分利用了语义信息显式特征和隐式特征的互补性,并且结合用户的行为信息,对已有的视频信息得到了充分的利用,在一定程度上弥补了协同过滤推荐算法[16,17]的数据稀疏、冷启动等不足。

图6 不同算法在不同邻居数下的准确率、召回率和F1值

6 结束语

本文提出了一种PtransE_CF视频推荐算法。充分利用了知识图谱强大的语义处理能力,通过推理技术对显性特征进行挖掘,发现隐含的特征,对已知数据进行了充分的利用,并且将视频的语义信息融入到协同过滤推荐中,因此在推荐的结果上具有一定的可解释性。

在本文研究过程中,只考虑了单领域,例如:电影领域。在未来的研究中,我们将尝试将该算法应用于多领域研究,尝试对电影、电视剧同时进行分析,使得电视剧和电影之间相互进行推荐。

猜你喜欢
三元组相似性图谱
一类上三角算子矩阵的相似性与酉相似性
特征标三元组的本原诱导子
绘一张成长图谱
浅析当代中西方绘画的相似性
关于余挠三元组的periodic-模
一个时态RDF存储系统的设计与实现
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
低渗透黏土中氯离子弥散作用离心模拟相似性
三元组辐射场的建模与仿真