唐 浩 刘柏嵩 黄伟明
(宁波大学信息科学与工程学院 浙江 宁波 315211)
对科研工作者而言,获取高相关性和高质量论文需要耗费大量时间和精力,如果存在一种可以智能协助研究人员(下文简称“用户”)高效地寻找论文的过滤工具必将受到欢迎。目前用户查找论文一般通过特定关键词直接搜索,然而每次查找后必须再经若干次的过滤才能得到较为满意的论文列表;另一种有效的方法是从参考书目或者引文数据中筛选,虽然在某种程度上提高了查询结果的相关度,但是固有问题是优质的新论文由于引文的缺失而很难被搜索到。论文推荐系统简化了用户查找论文的流程,促成从人找论文到论文找人的转变[1],极大地提高了论文获取的效率。目前的论文推荐方法[2]一般分为基于协同过滤(CF)、基于内容过滤(CBF)和基于图(GB)的方法。
CF方法的主要观点是行为相似的用户对项目有相同的偏好,一般通过计算用户向量和论文向量的匹配获得分数,由于论文推荐固有的数据稀疏等问题通常表现不佳。近年来由于深度学习强大的特征学习能力,一定程度改善了CF方法的推荐性能,例如,Ebesu等[3]提出一种协同记忆网络CMN,以非线性的方式统一了全局因子模型和基于局部邻域结构的两类CF模型,取得了较好的论文推荐效果。然而,CF仅基于用户和论文的交互数据,丢失大部分显式和隐式的关联信息。
CBF技术已经较为成熟,其原理是推荐与用户兴趣相似的文章(论文或论文),关键步骤是匹配用户和文章的相关性[4]。例如,ER[1]融合内容特征和非内容的偏置,在基于内容的框架中推荐多类型的学术资源。微软学术推荐系统[5]是一种基于内容和基于图的混合系统,首先用基于内容的方法从海量文献中召回大部分相似论文,接着融合学术图谱的引用关系等推送论文,提升整个系统的推荐覆盖率和用户满意度。在论文推荐领域的CBF虽然简单易行,但是仅用文本的语义相似度去衡量用户兴趣使得质量难以保证[2],此外,用户的阅读行为具有很强的目的性,CBF方法导致用户的阅读视野局限于个人掌握的背景知识范围内[6]。
GB方法不考虑用户的行为和论文的内容,而是将用户和论文抽象化为图上的节点,在论文推荐领域常用的拓扑图类别有引文网络、社交网络和其他异构信息网络等。例如,Cai等[7]将推荐的若干相关要素表示在同一个图上,使用图表示学习的方法计算推荐列表,例如将查询人员、查询文本、论文、作者、实体之间的关系构建成异构网络,或使用作者、论文和发表场地组成的书目网络[8]。然而,GB方法显然浪费了用户个性化的特征和内容特征,而基于引文网络的推荐因为新论文的被引数较少面临冷启动问题。
在表示学习技术帮助下,辅助信息(side information)可以有效缓解上述的论文推荐问题,知识图谱正因为其包含的丰富实体和关系,被认为是一种十分优良的辅助信息。例如Zhao等[9]构建概念图谱跨越用户与项目的知识鸿沟,从知识图谱上抽取符合用户认知模式的概念路径帮助研究人员获取目标知识;Frederick等[10]通过映射专业术语到外部知识图谱DPpedia,用于扩展查询手稿(摘要)的特征生成排序列表。然而现存的方法却未能考虑知识图谱上用户实体和论文实体的高阶关联关系。
综合以上问题,本文重点关注以下两个方面:(1)在用户历史交互稀疏的前提下,如何推荐给用户相关的论文;(2)在已知有限的领域知识,研究人员如何全面获取自身领域相关的论文。在分析现有研究成果的基础上,本文提出一种混合的推荐模型(GNPR)。首先,为了取得用户更完整的显式阅读偏好,DKN[6]利用多通道CNN获取文本特征的启发,模型首先使用Word2vec和多通道CNN处理文本。由于CNN的表示方法重点关注文本的局部特征,句子的全局特征被忽略无法得到全面的用户显式阅读偏好,提出一种双层自注意力特征抽取模式补充用户显式的阅读偏好。其次,在外部知识库的帮助下,从论文文本内容中抽取概念,与用户和论文、论文元数据等构建成知识图谱。最后,为了有效挖掘用户的隐式阅读偏好,鉴于图神经网络可以有效获取高阶关系[11-14],文本使用改进的图卷积网络学习用户和论文之间的关联。本文工作的贡献如下。
(1) 提出一种新的论文推荐模型,混合了基于图的推荐和基于内容的推荐。其中,用户显式阅读偏好由文本局部特征和文本的全局特征组成,提出双层自注意力机制来建模全局性特征。
(2) 用论文的非结构化数据、半结构化元数据和LOD数据构建知识图谱。为解决在建模高阶关系的图卷积网络不考虑关系类型的问题,提出以关系类型为权值的邻域聚合方式,以获得用户隐式阅读偏好的部分。
(3) 经过在真实数据集CiteULike-a和学术推荐应用日志数据的验证,与传统推荐模型和融合知识图谱的模型相比,本文模型在准确率和点击概率方面有不错的提升。
假设论文推荐系统中包括N位用户U={u1,u2,…,uN}和M篇论文P={p1,p2,…,pM},根据用户的历史交互,对于用户u∈U与论文p∈P的交互情况可表示为:
(1)
用户的交互行为可以是隐式反馈或者显式评分,本文选择更贴近实际场景的隐式反馈。根据式(1)的表示可以得到用户-论文的交互矩阵Y∈Rm×n,yij∈Y表示第i(i=1,2,…,m)位用户与第j(i=1,2,…,n)篇论文的交互结果。关于本文涉及的图数据,首先将Y转换为用户-论文二部图G1,图上的边代表用户与项目的交互情况,其次在G1的基础上加入更多节点(例如概念、关键词和实例等)以及它们对应的关系,形成知识图谱G=
表1 本文使用的符号
GNPR模型框架结构如图1和图2所示。用户的阅读偏好向量表示包括两个部分的计算:显式阅读偏好和隐式阅读偏好。用户显式阅读偏好又由文本的局部特征和文本的全局特征组成,如图1所示。隐式阅读偏好包含在GCN对知识图谱处理后的用户节点向量中,因此将用户和论文及论文的相关元数据抽象为概念知识图谱上的节点,如图2所示。最后,推荐计算是使用多层感知机(Multi-Layer Perceptron,MLP)学习匹配函数并输出相关度得分。
图1 GNPR框架之用户显式阅读偏好
图2 GNPR框架之用户隐式阅读偏好
从文本局部特征和文本全局特征两个方面综合用户的显式阅读偏好。基于论文标题(或关键词)和摘要的语义,文本局部特征旨在找出句子中最重要的分词特征,文本全局特征则关注于整个句子的语义特征。
图3 DCNN模型的结构
(2)
则从用户历史的文本局部特征中得到的显式阅读偏好表示如下:
(3)
(2) 全局特征抽取器。针对文本全局特征,GNPR模型采用自注意力机制(self-attention)处理由标题、关键词和摘要组成的短文本。自注意力机制有效获取句子的长距离依赖,在考虑全局信息情况下判定词语的重要程度,文本使用度量函数为句子中的每个分词fself(wi)计算得分,用于表示分词在句子中的重要性,此时不需要任何额外的指引信息(guider)。以计算第t个标题的表示为例,第i个分词的权重为:
(4)
则考虑全局依赖的句子表示为:
(5)
为了在用户点击历史集合中找到用户对论文t的点击意图受其他论文的影响,模型将全局特征抽取器设计为双层的自注意力层形式,若用户u的点击历史数为h,则从用户历史的文本全局特征中得到的显式阅读偏好表示如下:
(6)
为了建模用户的隐式阅读偏好,本节构造由用户、论文、论文元数据和相关概念组成的知识图谱。针对知识图谱的表示,本文使用改进的图卷积网络学习融合高阶信息的用户节点表示隐含着用户潜在的兴趣。
(1) 概念知识图谱构建。开放互联数据(Linked Open Data,LOD)储存丰富的实体和关系构成的关联知识。本文从论文中获取的概念和其他实体构建成面向推荐的知识图谱G,目的是关联已知概念和未知的相关概念,并通过高阶关联关系融入到用户和论文表示中,以更好地建模用户隐式的阅读偏好,从而缓解用户-项交互数据稀疏问题。
针对标题、摘要、关键词等数据,本文首先提取TF-IDF权重较高的词,然后链接LOD中准确的概念以及若干跳邻域,例如与链接实体处于上下位关系的概念、概念的实例等等。关于用户与论文之间的关系,若存在交互,在用户和论文实体之间设置“交互”关系边。以上的概念部分子图融合用户-论文二部图G1组成最终的知识图谱G,其中包含实体类型:用户、论文、概念和论文的其他元数据等;关系类型:用户与论文的交互关系、论文的引用关系、概念与论文的从属关系、实例与概念的isa关系、主题与论文从属关系、概念之间的上下位关系。因此,通过知识图谱的组织形式,论文的标题、摘要、关键词中蕴含的语义可通过该概念之间的上下位关联显示出来,而论文其他元数据(如参考文献)则通过论文之间的引用关系保持关联。
(2) 基于改进GCN的知识图谱表示。针对知识图谱的表示学习,本文使用输出结果包含了实体间高阶关系的图卷积网络(GCN)。首先,GCN通过传播嵌入的方法获得用户和论文的分布式表示,其中包含用户潜在的阅读偏好,即上文提及的用户隐式兴趣。然而,GCN一般处理的方式是将知识图谱当成无向图,忽略对关系类型的区分,因此本文预先考虑用户对所有关系的隐含偏好分布[11,13]。以下是计算单个GCN层的某节点v嵌入的一般形式:
hNv=faggN({ev,eNv})
(7)
hv=σ(W2·hNv+b1)
(8)
式中:faggN:Rd×Rd→Rd表示邻域聚合函数用于聚合来自邻域的信息,本文使用文献[11]提到的函数Concataggregator;ev和eNv分别是实体v和v的邻域的向量表示。
本文模型在邻域的计算方式中融入了关系类型,即每一个邻域实体对邻域表示的贡献度取决于用户和关系的匹配值,例如,用户更喜欢通过引用关系查找论文,则图上的嵌入传播方向则受到相应的影响。假设邻域为Nv={(r,ent)|(v,r,ent)∈G,(ent,r,v)∈G},本节定义一个映射fur:RD×RD→R(例如内积)计算用户u和关系r的匹配值。因此邻域的向量表示为:
(9)
经过L1层邻域的聚合后,论文节点的向量表示为ep,用户节点的向量表示,即用户的隐式阅读偏好表示为uimt。论文最终的表示向量为p=ep,用户的最终的向量表示为u=W3[uet;uimt],W3∈RD×2D。
现存的深度学习对推荐模型的侧重点分为两方面:侧重用户与项目的表示学习,侧重用户与项目的交互建模。与先前的研究不同,通过上文的介绍可知模型GNPR已经对用户和论文进行了学习表示,接下来利用训练好的用户向量和论文向量进行推荐预测。在交互建模阶段,本文基于用户-论文交互对,拼接训练好的用户向量与用户交互历史的论文向量,以作为交互建模层的输入x1,在L2次非线性变换后得到预测分数。由以上的计算可知,用户最终表示为u,候选论文向量表示p,将最终用户与论文向量输入到交互建模层MLP中进行计算:
(10)
式中:Wi、bi和σ分别表示第i层感知器的权重矩阵、偏置向量和激活函数。
为了有效地训练GNPR模型,从隐式反馈中为特定用户采样未交互的论文作为负样本,数量和正样本相同。例如,一个训练样本可以表示为,其中x是预测是否单击的候选论文。对于每个正样本,y=1,否则y=0。文本使用交叉熵损失(cross-entropy)作为损失函数:
λ||W||2
(11)
式中:△+是正样本集合;△-是负样本集;λ||W||2是L2正则项。
本节给出实验设计细节和相应的结果,为了证明本文模型的有效性,本次实验用它与基准模型进行比较。实验将从下面两个研究问题(Research Question,RQ)来分析实验。
RQ1:在用户-论文的交互记录十分稀疏的前提下,如何有效推荐论文?即与基准模型比较,本文模型在稀疏数据集的实验效果是否超过state-of-the-art的性能?
RQ2:在已知有限的领域知识,研究人员如何获取更多样的论文?GNPR模型的组成部分对模型的影响是什么,特别是知识图谱的融入对实验结果是否有提升?
(1) 数据集和预处理。论文推荐数据集使用CiteULike-a和学术推荐应用的日志(文中称为APPData数据集)。CiteULike是一个在线论文存储与分享平台,允许用户创建自己感兴趣的论文集合,选择该平台数据的理由在于用户主观创建的论文集很大程度体现用户真实的阅读偏好,而且提供了论文的标题和摘要等元数据。CiteULike-a是文献[17]从该平台收集并预处理后的隐式反馈数据集;而APPData是部署在学术机构的推荐应用,实验中的数据集是用户与论文交互后产生的点击日志。
数据集预处理:针对知识图谱构建,首先依次对文本内容进行清洗和概念抽取,最终挑选权重较高的名词性术语;依次将术语链接到外部知识库Xlore得到半结构数据,接着对其清洗和预处理得到三元组,统计如表2所示。最后,按照7 ∶2 ∶1比例将数据集划分成训练集、验证集和测试集,其中验证集用于优化超参数。
表2 数据集的各项统计
(2) 基准方法。BPRMF:基于贝叶斯后验优化的个性化排序的矩阵分解,本文使用用户-论文交互矩阵Y。
NeuMF[18]:一种NCF框架的实例,在用户和项目的嵌入层组合了广义矩阵分解(GMF)和MLP,本文使用与BPRMF相同输入。
CML[19]:一种度量学习算法,同时编码了用户的偏好以及用户-用户、项-项的相似性,本文使用与BPRMF相同输入。
KGAT[13]:在知识图谱上显式地建模用户和项目的高阶关系,使用注意力的聚合方法。
DKN[6]:基于内容的深度学习推荐框架,它融合多通道CNN对论文的语义层和知识层的表示。在本文中,将内容C的特征作为语义层特征,知识图谱G的特征作为知识层特征。
(1) 评估指标。准确率(precision)表示推荐列表预测为真的论文占推荐列表的比例;召回率(recall)是覆盖率的评价指标,表示推荐列表中预测为真的论文占所有与论文相关论文数的比例。F1-score是准确率和召回率的加权平均,其数值越大越准确,计算方式如下:
(12)
AUC为ROC曲线下方的面积。ROC曲线的横坐标是预测结果的假阳性率,纵坐标是真阳性率。
首先介绍与所有基线相比的总体性能,表3和表4分别是在CiteULike-a数据集和APPData上与所有模型对比的实验结果,加粗表示最好性能。
表3 CiteULike数据集的实验结果
表4 APPData数据集的实验结果
通过结果的对比可以得出:首先,通过比较本文模型和其他基准模型的结果,本文模型在两个数据集的F1-score和AUC分别优于大部分基线。与BPRMF、NeuMF和CML的比较结果说明在数据稀疏(见表1)的情况下GNPR模型性能没有遭受较大影响,即可以更好地缓解数据稀疏问题,可能的原因是本文模型挖掘了更丰富的内容特征和知识图谱特征。而DKN虽然同样有足够的内容特征,但是GNPR模型结果较好可能原因在于考虑全局文本特征。KGCN和GNPR都使用了图神经网络,实验差别的原因可能在于融合了内容特征。实验还发现,所有基于内容的模型都比基于CF的模型具有更好的性能。原因是基于CF的方法在数据稀疏的论文推荐场景性能受影响。本文模型是一个混合模型,结合了基于内容的方法和基于图的方法的优点,对于缺少点击历史的论文,可以通过内容和图上的关联。
以APPData数据集为例,对GNPR变体的实验结果进行比较,以证明本文的模型设计在以下方面的有效性:(1) 内容特征可以达到的实验效果;(2) 双层注意力机制对用户显式阅读偏好的影响;(3) GCN的高阶关系与普通表示学习方法对实验的影响;(4) MLP对建模交互的影响。实验结果如表5所示。三个设置的详细信息如下:
(1) 删除图的特征(Remove Graph Future,RGF):只保留用2.2节描述的用户显式阅读偏好模块对实验结果的影响。
(2) 删除自注意力(Remove Self-Attention,RSA):除去2.2节描述用户显式阅读偏好模块中文本全局特征对实验结果的影响。
(3) 用TransE替换GCN(With TransE,WTE):用TransE代替2.3节描述用户隐式阅读偏好模块中的GCN后对实验的影响。
(4) 用内积替换MLP(With Inner-Product,WIP):内积代替2.4节描述的用户-项交互计算对结果的影响。
表5 GNPR变体的实验结果
可以看出:(1) GNPR表现最好,表明模型的不同成分的有效性;(2) 缺少文本的全局特征对结果影响较大;(3) 知识图谱的嵌入对结果提升较大和GCN算法在本文中性能比TransE[20]更优。
参数分析:GNPR模型涉及多个参数的选择,接下来以APPData为例,考虑GCN的层数L1和MPL的层数L2对评估指标F1-score和AUC的影响,结果如表6所示。
表6 APPData数据集的GCN和MLP层数变化
本文提出一种混合的端到端的推荐模型GNPR。首先,自注意力机制考虑了文本的全局特征,融合CNN后的双层特征抽取模式可以获取用户更完整的显式阅读偏好。从论文中抽取概念并链接外部知识库,通过概念之间的关联寻找研究人员、论文和概念之间的潜在相关性,此时知识的融入有效缓解了数据稀疏性,图神经网络通过在图上传播嵌入高阶结构信息,可以有效地挖掘出用户的隐式阅读偏好。在真实的论文推荐数据集CiteULike-a和学术推荐应用的实验结果表明,本文提出的论文推荐模型在F1-score和AUC指标上明显优于基线方法。