APP下载

基于异构信息网络的推荐系统

2020-12-31

计算机与现代化 2020年12期
关键词:异构信息网络矩阵

崔 鑫

(青岛科技大学信息科学技术学院,山东 青岛 266100)

0 引 言

海川化工论坛已成为国内最有人气的化工领域问答及社交网站,论坛上的注册会员数已经超过了400万,日均访客超过10万,问答帖子超过1000万,每天产生的回答超过6万。然而随着问答社区的问题数量不断增加,提问者和回答者之间的交互问题愈发严重:一方面,问答社区中存在着大量不同领域的问题,回答者需要耗费大量的时间筛选出自己领域的问题并给出相应回答;另一方面,当出现新的问题时,不能迅速与相应的专家建立联系,导致需要很长一段时间才能解决问题。长此以往,问答社区中会滞留大量的问题,导致社区中的用户的满意度、认可度下降,不利于社区的长期发展,因此建立高效、精准的问答社区的个性化推荐系统极其重要。

协同过滤技术是推荐系统中研究最多和最常用的一类算法,基本思想是根据与目标用户最相似的用户对项目的评分进行推荐。然而,传统的协同过滤技术存在着较大的数据稀疏性和冷启动问题,绝大多数用户只对少量的项目进行评级,用户和项目的评分矩阵一般都十分稀疏,特别是对于新用户和新项目,不存在任何历史信息,传统的协同过滤技术无法对这些问题进行处理,对推荐的准确性会造成很大的影响。研究表明,利用异构信息网络[1]引入辅助信息是缓解数据稀疏性和冷启动的一种有效的方法,它能帮助人们更好地利用各种各样的信息,比如用户的好友关系、图片等,从而获得更好的推荐效果。

基于传统的协同过滤技术所存在的不足,本文的研究思路是首先对问题属性和用户属性建立异构信息网络,通过基于元路径的相似度计算方法得到多个问题与用户的相似度矩阵,之后利用本文提出的3种融合方法将得到的问题与用户的相似度矩阵与问题-用户评分矩阵相融合,融合后的问题-用户矩阵经过矩阵分解[2]可以得到问题和用户的潜在特征,最后使用因子分解机进行训练和评分预测,得到最终的推荐列表。

1 相关工作

随着计算机技术和互联网技术的迅速发展,网络中的数据和信息呈爆炸式增长,人们进入信息过载的时代。如何从冗余繁杂的海量信息中寻找有价值的信息成为各个领域研究的热点。自1992年出现了第一篇关于协同过滤的论文以来[3],推荐系统一直保持着很高的研究热度,并逐渐发展成为一门独立的学科[4],随着研究的深入,推荐系统逐渐成为解决信息过载问题的有效手段[5]。但目前推荐系统中存在诸多问题,如刚进入一个系统的新用户没有关于他相关的历史信息,系统无法为其提供精准推荐的冷启动问题;为提供有效推荐,需要获取用户的历史行为信息等涉及用户隐私问题;如何提高推荐的多样性和新颖性的问题[6]。在现实生活中用户在网站上会留下很多重要信息,如何通过分析捕捉这些重要的信息来提高推荐的效果,成为了推荐系统的研究热点。

目前,对信息网络的研究通常假设网络是同构的,即网络中的节点都是同一实体类型的对象,并且链接都是同一关联类型的关系,然而,现实中大多数网络是异构的,即网络中的节点和关系并不属于同一类型,传统的协同过滤方法就无法捕捉到真实的语义信息,而异构信息网络的出现,为推荐系统的发展提供了新的方向。异构信息网络(Heterogeneous Information Network, HIN)通过网络模式指定了对象集合上的类型约束和关系约束,这些约束决定了异构信息网络是半结构化的,对人们探索网络语义起到了指导作用。但是国内外基于异构信息网络的推荐还处在初级阶段,文献[7]提出了HIN中度量相关度的经典方法HeteSim,之后基于HeteSim的研究相继出现。文献[8]中结合用户不同的异构信息提出了个性化推荐方法Hete-Rec。文献[9]中首次提出了加权HIN,充分考虑了网络中边上的不同属性值,将有权元路径分解为有确定属性值的原子元路径,在一定程度上保证了元路径语义信息的全面性。异构网络更能反映人类社会的交互活动和现实世界,研究基于异构网络的推荐对于满足用户的个性化需求和多样化需求是十分必要的。目前,异构信息网络需要解决2个问题,一是如何在推荐时挖掘信息网络中深层次的语义信息,二是如何融合异构网络的信息从而提高推荐的准确性。

现在问答社区已经成为人们获取知识的重要来源,相关研究得到了大量学者的关注,同时提出了多种方法和模型。早期的问答社区专家发现大多使用数学统计的方法来进行专家排序。文献[10]认为用户给出的答案越少,提出的问题越多,则他们的专业能力越低,反之亦然,基于此提出用户提问和回答数目的比例关系的模型,并在问答社区中进行了实验,取得了较好的效果。文献[11]对每一个答案生成一个特征向量,描述答案的各种信息进行评级排序。这些基于统计的方法很容易被虚假数据所欺骗,还有一些评价指标特征难以获取,严重影响分析的效率。

近年来,在线问答社区的专家发现大多采用基于信息抽取和链接分析的方法。基于信息抽取的方法由于考虑了信息的全面性和多样性,得到了学者的广泛研究。文献[12]针对问答社区的专家用户进行研究,提出了分段话题模型。文献[13]以LDA模型为基础,提出了以LDA模型的改进模型,在问答社区中进行专家用户发现研究。文献[14]利用了LDA模型和链接分析方法来解决专家发现问题。不少学者使用基于链接分析的方法包括基于PageRank[15-17]和链路预测[18]等方法来计算用户专家的权威度,用于问答社区的专家发现。

有一些混合模型也用于专家发现问题,综合考虑了多种方法和影响因素对知识社区中的候选专家进行排序,影响因素包括候选专家的经验和权威度,方法是基于PageRank的链接分析[19]则同时考虑了用户的声誉和知识背景,文献[20]则融合了问题标签和点赞信息,对LDA模型进行了改进。

综上所述,问答社区的推荐系统一般只考虑了用户和问题的部分信息,并且上面的模型大多应用于各自的领域,在化工领域应用较少。因此,本文构建了一个基于异构信息网络的推荐系统应用于化工领域的问答社区,来提高推荐的质量。

本文的创新点如下:

1)本文在问答社区中对问题属性和用户属性建立异构信息网络,采用基于元路径的相似度计算方法得到问题和用户的相似度矩阵,利用3种方法将相似度矩阵与问题-用户评分矩阵进行融合,提高了推荐算法的可解释性和准确性。

2)提出了一种“异构特征表示+矩阵分解+因子分解机”的框架,将异构信息网络捕捉丰富信息的能力和因子分解机的推理能力相结合。这种融合了异构信息网络的混合推荐算法,有效地缓解了传统协同过滤技术中的数据稀疏性问题,提高了推荐系统的性能。

2 异构信息网络

2.1 信息网络

信息网络[21]由有向图G=(V,E)表示,V表示网络中的节点,E表示网络中的边,节点类型映射函数φ:V→A,表示每一个节点v∈V的类型属于节点类型集合A,边类型映射函数ψ:E→R,表示每一条边e∈E的类型属于边类型集合R。若信息网络中节点类型集合内元素数量|A|>1或者边类型集合中元素数量|R|>1,则这个信息网络即为异构信息网络。

2.2 网络模式

网络模式[21]是异构信息网络的元模板,节点类型映射函数φ:V→A,边类型映射函数ψ:E→R的异构信息网络G=(V,E)的网络模式表示为TG=(A,R)。本文使用的用户与问题的异构网络模式如图1和图2所示。

2.3 元路径

不同于信息网络,HIN中的2个节点可以通过包含着不同物理意义的不同路径连接起来,这些路径称为元路径[22]。元路径P定义在网络模式TG=(A,R)上,用元路径连接的节点类型来表示元路径P,具体表示为P=A1A2A3…Al+1。

图1 用户的异构网络模式图

图2 问题的异构网络模式图

3 基于异构信息网络的推荐

本文针对海川化工论坛进行专家推荐,打算利用异构信息网络来完成专家推荐,张邦佐等在文献[23]中提出了一种融合异构信息网络和评分矩阵的新算法,该方法在实验上取得了良好的效果,于是本文利用其方法在海川化工论坛上构建推荐模型并进行实验。方法如下:

在一个有m个问题,n个用户的的协同过滤推荐系统中,首先定义如下记号:

QS={q1,q2,…,qm},其中qi表示系统中的问题;

US={u1,u2,…,un},其中ui表示系统中的用户;

QA={x1,x2,…,xk},其中xi表示问题某一方面的属性,k是问题属性数;

UA={y1,y2,…,yt},其中yi表示用户某一方面的属性,t是用户属性数;

Rt∈Rm×n,Rt表示问题-用户评分矩阵,是一个m×n的矩阵。QU(i,j)∈Rm×n(0

3.1 基于元路径的相似度计算

本文对海川化学工业论坛数据进行整合和分析,利用数据集中的评论、分数、问题等信息构建异构信息网络,对象类型包括:用户节点、问题节点、答案类型节点和评论节点,关系类型包括:问题关系、分数关系、评论关系、答案关系和隶属关系。根据数据集中的相关信息,构建整个数据集的异构信息网络。接下来需要做的是从网络中提取有用的信息,以便提取用户和问题之间的相关性,即计算源节点和目标节点之间的相似性。在本文中,源节点是问题节点,目标节点是用户节点。利用元路径来探索网络模式信息。

计算元路径的相似度的方法有PathSim、HeteSim等方法,由于PathSim定义了对称元路径这个特定情况下的相似度计算问题,因此其只能应用于同构网络的计算之中,无法在一个非对称路径下衡量对象自身的发散程度。而HeteSim则解决了这个问题,其基本思想是以pairwise random walk的方式,将两端对象的相似度定义为二者在中间某个节点相遇的概率。基于此,本文采用HeteSim的思想用于元路径的相似度计算。

定义1(基于元路径的相似度)如果有元路径为P(q1q2…qk…qlql+1),其中qi表示问题的属性实例;ri为qk到qk+1上的关系(即在图中qk与qk+1有边连接)。由此可以得到任意对象a、b之间的相似度,其计算公式定义如下[23]:

(1)

其中,r表示关系集合(r1r2…rl),O(r)和I(r)分别表示关系r的出度和入度。

通过基于元路径的相似度计算后,对于用户来说可以得到用户间关于属性xi的相似度矩阵U(xi)∈Rn×n(0

3.2 评分矩阵与问题-用户相似度矩阵的融合

对于协同过滤推荐系统来说,问题-用户的评分矩阵是一个m×n的矩阵,而问题相似度矩阵是一个m×m的方阵,用户相似度矩阵是一个n×n的方阵。因此,可以通过在问题-用户评分矩阵左乘问题相似度矩阵的方法或者右乘用户相似度矩阵的方法来融合,从而达到融合用户与问题属性的目的。3种融合方式分别为[23]:

1)融合方式1:

(问题-用户评分矩阵)×(用户相似度矩阵)

2)融合方式2:

(问题相似度矩阵)×(问题-用户评分矩阵)

3)融合方式3:

(问题相似度矩阵)×(问题-用户评分矩阵)×(用户相似度矩阵)

经过以上3种融合方法,可以得到多个新的问题-用户关系矩阵QU(i,j)。

3.3 基于矩阵分解和因子分解机的推荐

传统的矩阵分解方法是针对用户-项目评分矩阵,而本文中针对的是与用户或问题相似度矩阵融合后的矩阵QU(i,j),记作S。融合后的矩阵S通过分解得到问题和用户的低维特征向量表示。通过解决公式(2)的优化问题,使得Q和U的乘积不断接近真实矩阵,目标函数如式(2):

(2)

其中,λu和λq是避免过拟合的超参数。通过对Q和U采用梯度下降的方法进行多次迭代更新,它们收敛时就是分解出来的矩阵[23]。

因子分解机(Factorization Machines, FM)通过两两特征组合,将特征与特征之间的关联联系起来,构建交叉项特征以此来提高模型的效果。FM可以对输入数据集D=(X,y)不同特征间的交互进行分解和建模,其d阶交互模型如式(3):

(3)

其中,w表示特征的一阶权值,V表示二阶权重来模拟特征之间的交互,ω0是全局偏置。是大小为k的2个向量的点积,k表示分解得到的隐因子向量维数。参数w,V可以通过最小均方损失来学习,公式如下:

(4)

针对FM模型的优化学习算法有很多,本文采用随机梯度下降方法进行多次迭代,最终得到提问者对于专家的评分,对这些评分进行Top-N排序,来完成专家推荐。

4 实 验

4.1 数据集

本文从海川化工论坛中爬取了几百万个问答对,海川化工技术论坛日均访客10万,拥有400万注册会员,成员来自于国内各大设计院、各个高校、各个地域的精英,这是一个很好地对化工领域的科研人员进行专业知识交流的平台。通过对这些问答对进行随机数据抽取、数据清洗等预处理后保留了800位用户的问答数据,其中包括1403个话题和9576个问题。本文爬取的数据集中问题文本有主题、问题、悬赏积分以及发帖者的昵称,用户文本包括用户ID、性别、年龄、财富值等。随机抽取70%的数据作为训练集,30%的数据留作测试集。

4.2 实验设置

本实验的硬件环境为:处理器为Intel I7 7700K,内存大小为16 GB,显卡为NVIDIA GTX1080。开发语言为Python3.6。

在计算基于元路径的相似度时分别选取了路径长度为2、4这2种情况,分别记为|P|=2,4;在矩阵融合时分别选取了上文中的3种融合方法,分别记为M=1,2,3。矩阵分解时将学习率设置为0.005,λq=λu=0.1,因子分解机的学习率设置为0.01。推荐列表的长度N分别设置为3,6,9。

采用平均绝对误差(MAE)和均方根误差(RMSE)作为评价指标来检验算法对预测评分结果的准确率。MAE和RMSE的值越小,表示推荐结果的精度越高,意味着有更高的推荐性能。

但是,实现推荐的主要任务并不是为了预测用户对于所有项目的评分,而是能够从海量的项目中挑选出用户可能喜欢的推荐给用户。在推荐系统向用户提供推荐功能时,最终会向用户推送一个长度为N的列表。于是本文采用在信息检索领域常使用的2个评测指标准确率和召回率来进行对比实验,采用Precision和Recall这2个评价指标分别评估专家发现方法对于推荐最佳答案的准确性和覆盖率。

4.3 实验结果及分析

为了进行对比研究,本文给出了不同元路径长度以及不同融合方式的推荐算法,运行结果分别见表1和表2。

表1 不同元路径长度和融合方式的MAE

表2 不同元路径长度和融合方式的RMSE

从表1和表2可以看出,当元路径长度为4时的MAE和RMSE的值均明显小于元路径长度为2的情况,表明元路径越长推荐效果越好;从融合方法来看,使用第3种融合方法的MAE和RMSE的值明显小于使用第1种和第2种融合方法的情况,即同时融合用户和问题相似度矩阵优于仅融合问题相似度矩阵或者仅融合用户相似度矩阵,显示了同时融合用户和问题相似度矩阵方法的优越性。

为了验证本文提出的基于异构信息网络的推荐算法的有效性,在海川化工数据集上进行了大量实验,将本文所提出的算法与PMF、SVD++、SoMF、FMHIN进行比较。

1)PMF。该算法基于正则化矩阵分解,引入概率模型进行优化。通过评分矩阵已知值用最大后验概率和最大似然估计得到U和V的特征矩阵用于预测评分矩阵中的未知值。

2)SVD++。SVD++在SVD的基础上,考虑到用户评分较少,增加了隐式反馈,例如点击收藏等方式的隐藏信息。

3)SoMF。该算法在推荐模型中引入了社交网络信息。社会关系被正则化项特征化,并将其集成到基本矩阵分解模型中。

4)FMHIN。该算法本质上是基于上下文的感知分解机,能够充分利用各种辅助信息。

5)WHIN-CF[24]。首先,利用异构网络中的语义信息和边属性信息得出用户间不同元路径的相似度,然后将其应用于协同过滤推荐算法中,得到用户评分矩阵,最后采用监督学习为评分值分配权重,融合成为用户评分。

6)HnMTR[25]。该模型针对标签数据中不同类型对象构建异构网络,然后对不同类型标签进行空间映射,在同空间网络的基础上,引入多参数马尔科夫模型进行标签评分和推荐。

7)HIN-MF。是本文提出的算法,各个模型的MAE和RMSE值分别如图3和图4所示。

图3 各个模型的MAE值

图4 各个模型的RMSE值

从图中可以看出,本文所提算法较PMF、SVD++、SoMF、FMHIN、WHIN-CF、HnMTR方法在MAE值上分别降低了37%、35%、31%、14%、10%、6%,RMSE值分别降低了35%、29%、26%、9%、8%、5%。从该图中可以看出本文提出的算法与FMHIN、WHIN-CF、HnMTR方法的性能要比SVD++和PMF方法在评价指标上表现效果好,这种现象也验证了之前的讨论:引入辅助信息可以缓解用户与问题交互矩阵的稀疏性问题,可以提高推荐性能。SVD++和PMF只是传统的协同过滤算法,简单地利用历史数据进行推荐,很难提高推荐的性能。在异构信息网络推荐方面,WHIN-CF、HnMTR、FMHIN方法的性能要比SoMF方法在评价指标上表现效果好,因为这3种算法充分利用了HIN中丰富的语义信息。本文提出的推荐算法在MAE和RMSE的数值上优于其它的对比算法。因为本文方法借助于元路径引入了丰富的语义信息,并且通过3种融合矩阵的方式,得到了用户和问题的低维特征向量,再利用因子分解机来进行训练和预测,大幅度提高了推荐的准确性。

图5 各个模型的Precision值

图6 各个模型的Recall值

从图5和图6中可以看出,本文所提算法较PMF、SVD++、SoMF、FMHIN、WHIN-CF、HnMTR方法在Precision值上平均提高了33%、27%、16%、5%、4%、2%,Recall值平均提高了28%、20%、11%、4%、4%、1.5%。从图中可以看出本文提出的基于异构信息网络的模型相较于PMF、SVD++、SoMF、FMHIN、WHIN-CF、HnMTR方法,在准确率和召回率上有了明显提升,这表明了通过异构信息网络分析捕捉信息的能力以及因子分解机在缓解数据稀疏性问题有很好的表现,综上所述,本文提出的融合异构信息网络的混合推荐算法在性能和准确性上有较大优势,并通过多组对比实验验证了本文算法的有效性。

5 结束语

本文针对当今的大数据时代更多地关注数据之间的网络结构关系这一特性,使用异构信息网络这一有利工具针对在线问答社区的专家发现问题进行了研究。本文提出了一种基于异构信息网络的混合推荐算法,并应用于海川化工论坛,最后通过实验证明了本文方法的有效性。未来,笔者计划探索更丰富的信息以丰富网络中的功能和语义,并使用深度学习来进一步完善系统。

猜你喜欢

异构信息网络矩阵
试论同课异构之“同”与“异”
吴健:多元异构的数字敦煌
智能化计算机安全监控信息网络技术研究
河南省交通运输厅信息网络监测预警系统
信息网络环境下提高网络统战工作效果的探讨
异构醇醚在超浓缩洗衣液中的应用探索
初等行变换与初等列变换并用求逆矩阵
LTE异构网技术与组网研究
矩阵
矩阵