在线问答社区
——海川化工论坛的回答者推荐算法

2021-10-19 01:45:22袁玺明杜军威
计算机与现代化 2021年10期
关键词:回答者矩阵预测

陈 卓,袁玺明,杜军威

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

0 引 言

随着网络的高速发展,书本知识难以满足人们日益增长的知识需求,问答社区成为了人们分享经验与获取知识的新平台。海川化工论坛成立于2004年8月,是国内最大的专业化工问答社区和化工类交流的专业平台,和其他平台相比,海川化工论坛中的问题主要为化工类的专业知识,且时效性更强。海川化工论坛官方显示,论坛日均访客可达10万以上,其中95%以上的访客均为从业人员,成员来自国内各大设计院、生产制造企业、销售单位及各大高校。在海川化工论坛近10年的数据中,有超过400万用户和超过100万个问题。本文将海川化工论坛中的答案获得的财富值作为可靠答案质量的指标,其中32%的问题没有获得可靠的答案。在注册的用户中,94%的用户只是浏览问题,没有提出问题和回答问题。据统计显示,论坛中平均每个问题在提出后,过14.2 h才会获得可靠答案,14.3 h后才会获得最佳答案。

尽管学术界和业界的各种推荐方法都取得了成功,例如协同过滤[1]、因子分解机(FM)[2]、基于内容的推荐方法[3]和基于深度学习的推荐方法[4],深度学习和FM组成的DeepFM(Combines the Power of Factorization Machines for Recommendation and Deep Learning for Feature Learning)[5]算法可以有效利用用户的特征,但对于稠密矩阵的预测效果远低于矩阵分解(Matrix Factorization)的预测结果,而矩阵分解[6]虽然对稠密特征预测结果较为准确但无法解决冷启动的问题,且由于海川化工论坛的用户和问题规模达到了数百万,这些推荐方法面临的问题在海川化工变得更加严重。目前推荐系统在应用到海川化工论坛时,主要面临2大技术挑战:

2)冷启动。在海川化工论坛,每天都有超过60个新问题被提出,急待解决。同时超过400万用户中,仅有不到30万的用户参与回答问题,绝大多数用户没有用户行为。预测这些问题的回答者或预测用户对这些问题的偏好是具有挑战性的,这就是所谓的“冷启动”问题。

针对海川化工论坛遇到的这些挑战,本文设计一种融合DeepFM与矩阵分解的混合推荐方法。第1阶段,通过对提问者特征、问题特征和回答者特征的分析,使用DeepFM算法预测出参与过问题讨论未获得财富值的答案质量,同时预测出活跃用户回答新问题时能够获得的财富值,使用户-问题矩阵得到有效填充,增强矩阵分解学习器的预测结果,同时预测活跃用户对新问题的回答情况,解决冷启动问题。第2阶段,基于原始训练数据以及第1阶段的预测数据对用户-问题矩阵使用基于矩阵分解的协同过滤算法进行预测。

1 相关工作

Liu等人[7]综合考虑多种社会化信息,如用户的专业水平、最佳回答者判定情况、好友相似度等,为新问题提供多样化的回答者推荐;Bhanu等人[8]参考回答者之前参与回答问题的难度等级,结合用户交互参数等来辨别问答社区中潜在的相关领域专家;而Van Dijk等人[9]结合问答文本特征、用户行为特征、问答时间感知等特征,采用半监督机器学习方法来识别潜在的领域专家。刘迎春等人[10]通过挖掘学习者信息,得到专业可信回答者、高信誉回答者和徽章回答者3种潜在回答者,对三者进行推荐性能对比,发现可信回答者推荐具有更高的准确率和召回率。Greer等人[11]在问答社区中成功为少数学习者及时推荐问题解答的回答者特征,这些人员通常在多个不同领域有着丰富的知识及兴趣;Xia等人[12]从静态特征挖掘角度,分析了开发者和主题之间关联,以实现为特定主题推荐开发者。Tian等人[13]分析Stack Overflow上开发者的历史数据,通过LDA主题模型分析,发现了开发者潜在兴趣,并基于这些兴趣和协作投票机制来推荐问题回答专家;张祖平等人[4]在研究用户行为序列中相邻行为之间相似性和关联性的基础上,挖掘词语之间内部结构关系的TextRank,融合Word2vec提出新的用户行为推荐方法。

Ishola等人[14]基于个性化标签预测高质量的问题解决者;Elalfy等人[15]使用问题的内容和内容特征训练机器学习模型直接得到推荐的问题答案。何明等人[16]基于用户标签行为和用户与项目的相似性线性组合来预测用户对项目的偏好值,并根据预测偏好值排序,生成最终的推荐列表。翟姗姗等人[17]深入分析了知识图谱在健康医疗社区信息推荐中的优势,提出融合知识图谱和病情画像的在线医疗社区信息推荐,提出了一种基于隐性行为的问题解决者推荐算法。罗达雄等人[18]通过计算开发者的基于标签的隐性行为变量、解决问题的倾向性变量,并结合能力变量使用贝叶斯多变量回归得到开发者得分,排序后推荐问题解决者。Mao等人[19]采用基于内容的推荐技术来自动匹配任务和开发人员;Khot等人[20]利用最近提出的QA支持图优化框架,为开放IE开发了一个新的推理模型,特别是一个可以有效地处理多个短事实、噪声和元组的关系结构的推理模型。Hao等人[21]提出了一种端到端的神经网络模型,通过交叉注意机制,将问题及其对应的分数动态地反映到考生的不同回答方面。叶俊民等人[22]结合问答数据与学生行为数据,提出了一种论坛问题回答者的推荐方法。徐爱武[23]提出了一种综合考虑用户兴趣、用户专长以及用户活跃度等多个因素的问题回答者推荐算法。

2 融合DeepFM与矩阵分解的混合推荐方法

2.1 问题描述

在海川化工论坛中,假设有M个用户U={u1,u2,…,uM}和N个问题Q={q1,q2,…,qN},用户参与回答获得的财富值构成了一个M行N列的评分矩阵RM×N(如表1所示)。同时,每个用户有C个特征Uf={uf1,uf2,…,ufC},每个问题有D个特征Qf={iq1,iq2,…,iqD}。表1中,第i行第j列表示用户ui参与问题qj的评分。由于海川化工论坛中,一些用户因为参与问题较晚或者答案热度较低,并没有获得财富值,在用户-问题矩阵中表示为0。

表1 用户-问题矩阵

2.2 DeepFM模型

DeepFM在2017年由Guo等人提出,包含2部分:因子分解机(Factorization Machine, FM)部分与深度神经网络(Deep Neural Networks, DNN)部分,分别负责低阶特征的提取和高阶特征的提取。2部分共享同样的嵌入层(Embedding Layer)输入。DeepFM的输出结果如公式(1)所示。

(1)

2.2.1 FM部分

FM部分是一个因子分解机,由Rendle在2010年提出。在之前的方法中,只有当2个特征出现在同一个数据中时,才能训练这2个特征之间的交互参数。在FM中,它是通过潜在向量内积的方式来计算的。该方法通过两两特征组合,引入交叉项特征的方式,发现各个特征之间的关联信息,提高模型得分,如公式(2)所示。

(2)

其中,w0为初始权重值即偏置项,wi为每个特征xi对应的权重值,vi为第i维特征的隐向量。

2.2.2 深度神经网络部分

深度神经网络是一种用于学习高阶特征交互的前向神经网络。如图1所示,数据向量输入到神经网络中,经过嵌入层,将高维、稀疏的输入向量压缩为一个低维、稠密的向量,然后再进一步输入到第1个隐藏层。嵌入层的输出表示为:

图1 深度神经网络

a(0)=[e1,e2,…,em]

(3)

其中,ei是第i个field的嵌入,m是field的数量。然后将a(0)输入深度神经网络,正向过程为:

A(l+1)=W(l)a(l)+b(l)

(4)

其中,l为隐藏层的层数,a(l)、W(l)、b(l)分别是第l层的输出、权重和偏置项。最后输入到输出层,对目标项进行打分预测:yDNN=WH+1aH+bH+1,其中H是隐藏层的层数。

2.3 矩阵分解模型

协同过滤矩阵分解的目的就是把用户和问题的评分矩阵RM×N分解为M×K的用户矩阵和K×N的问题矩阵,超参数K为潜在因子空间,这样用户-问题矩阵就可以表示为用户矩阵与项目矩阵的乘积,公式为:

RM×N=PM×KQK×N

(5)

用户ui对问题qj的评分预测值rij的计算公式为:

rij=piqj

(6)

矩阵分解模型中用户ui对问题qj的预测评分就是用户ui的因子向量与问题qj的因子向量的点积。当矩阵稀疏时,矩阵分解模型训练时容易出现过拟合,因此采用L2正则化避免模型的过拟合问题,该模型的损失函数定义如下:

(7)

其中,λ为正则化系数,rij表示训练集存在的评分项,d表示DeepFM第1步预测结果与真实结果之间的均方误差,c表示该项目是否为DeepFM预测结果,取值为0或1。求解该损失函数,通常使用随机梯度下降(Stochatic Gradient Descent)或交替最小二乘法(Alternating Least Squares, ALS),本文使用交替最小二乘法。ALS使用上述的损失函数,交替降低损失函数值,该方法在每轮迭代中,只迭代其中一个参数,下次迭代另一参数,交替进行。首先固定Q对P做偏微分,使其为0:

(8)

然后固定P对Q做偏微分,使其为0:

(9)

循环上述过程,不断交替进行,直到损失函数收敛为止。

2.4 融合DeepFM与矩阵分解的混合推荐方法

在矩阵分解算法中,虽然能基于问题过去的回答者获得的财富值为问题推荐更加合适的回答者,但对于新提出的问题,仍旧无法找出合适的回答者。而在DeepFM中,虽然能够结合用户特征与问题特征为问题推荐合适的回答者,但对于活跃的用户和较为复杂的问题,预测效果不如矩阵分解算法准确,因此本文提出融合DeepFM与矩阵分解的混合推荐方法,具体流程如图2所示。

图2 整体流程图

1)将用户特征和问题特征以及用户回答问题所获得的财富值,输入DeepFM模块进行训练。

2)使用训练好的DeepFM模块,为新问题预测部分用户获得财富值的情况。

3)将DeepFM预测的结果与训练集进行结合,组成新的矩阵。相比训练集,新矩阵更加稠密且在矩阵中没有无交互行为的新用户和新问题。

4)将组成的新矩阵输入矩阵分解模块,由矩阵分解算法填满矩阵。

5)对问题列下的用户可能获得的财富值预测后进行排序,将问题推荐给可能获得财富值多的用户。

3 实 验

在本章中,将进行大量的实验来验证本文提出的方法的有效性。首先对稀疏度不同的训练数据进行测试,以验证本文方法在不同稀疏度下的有效性,然后横向对比热门的推荐系统算法,以验证本文提出的融合DeepFM与矩阵分解的混合推荐方法比其它模型效果更好。

3.1 数据集

本文实验选取海川化工论坛2017年11月7日至2018年11月7日由6490人回答12359个问题的46025条问答数据作为训练集,2018年11月8日至12月7日由693人回答773个问题的3495条问答数据作为测试集。每条回答获得的财富值按照公式(10)处理。

(10)

其中,x为实际财富值,μ为同一问题下,每条回答获得的平均财富值,xmax为每条回答获得的最大财富值,xmin为每条回答获得的最小财富值。

在特征选择方面,本文选取提问者和回答者的性别、学历、邮箱认证状态等68个特征,对于连续特征,训练时使用皮尔逊相关系数大于0.1的特征,分别为发布主题数、在线时间、积分、威望以及魅力值。对于非连续值,以one-hot编码的形式输入到网络中。其次将问题内容使用文档主题生成模型(Latent Dirichlet Allocation)划分为10个类别。用户回答该问题获得的财富值越高,则表明该问题越适合相关用户回答。准确地预测用户获得的财富值,可以为未得到答案的问题推荐合适的用户。

本文将训练集用于回答者的数据挖掘和处理,得出回答者在不同问题知识领域的专业可信度;测试集则用于回答者推荐,并通过与其他回答者推荐方法进行对比,评估回答者推荐的性能。实验数据集的基本情况如表2所示。

表2 数据说明

3.2 评估方法

为了能够评估模型的准确性和健壮性,本文采用随机抽样的方法,从原始数据集中抽取20%的数据作为测试集,测试模型效果。在每次评估模型效果时,采用均方根误差(Root Mean Square Error, RMSE)和平均绝对误差(Mean Absolute Error, MAE)这2个指标来对模型预测回答所获得的财富值进行评估。RMSE和MAE计算方式如下:

(11)

(12)

其中,X为测试集中用户回答问题的条数,yij为用户ui回答问题qj的预测分数。

3.3 实验评估

对于海川化工论坛问答数据的实验结果如表3与图3(a)所示。

(a) 为新问题推荐回答者

表3 对于新问题的实验结果

为了验证本文算法对于冷启动的有效性,将最近活跃的1000个用户分别从训练集中删除,实验结果如表4与图3(b)所示。

(b) 为新用户推荐有能力回答的问题

表4 对于新用户的实验结果

为了验证本文算法的泛化能力,将该算法应用在公共数据集Movielens上,预测用户对电影的评分,结果如表5与图4所示。

图4 在Movielens数据集上各方法之间实验结果对比

表5 对于Movielens的实验结果

对比实验结果如表3与图3(a)所示。可以看到在海川化工论坛数据集上,融合DeepFM与矩阵分解的混合推荐方法比其它算法效果突出,这表明了所提方法的有效性。对于用户冷启动问题,实验结果如表4以及图3(b)所示。可以看到在面对用户冷启动问题时,该算法表现依旧出色。虽然在对问题推荐回答者和对论坛用户推荐合适问题时,均方根误差只比传统方法降低了0.0649与0.382,但对于一个拥有数百万用户的海川化工论坛,可以帮助成千上万的问题找到能够准确回答的用户。同时本文将该算法在公用数据集Movielens上进行了对比测试,验证了该算法的泛化能力。

4 结束语

海川化工论坛的数据集的稀疏性给推荐系统带来了巨大压力,本文提出了融合DeepFM与矩阵分解的混合推荐方法来解决这些挑战,该算法充分利用了用户回答问题的历史行为和用户及问题的特征。为了解决稀疏性和冷启动问题,本文提出先使用DeepFM算法将一些参与回答因为问题热度较低或回答时间较晚未获得财富值的回答进行财富值填充,同时对于新问题使用DeepFM预测活跃度较高的用户的回答问题质量,使之后要进行矩阵分解的矩阵更加稠密,准确性也更高。通过对实际问题的预测,验证了该方法的有效性和可行性。今后的工作中,将朝着2个方向努力。首先,在用户特征选择时加入时效性机制,可以为问题更加灵活准确地推荐回答者。第2个方向是在本文的方法中更好地利用文本信息,以利用用户大量的历史回答信息。

猜你喜欢
回答者矩阵预测
无可预测
黄河之声(2022年10期)2022-09-27 13:59:46
选修2-2期中考试预测卷(B卷)
选修2-2期中考试预测卷(A卷)
接梦话
中国诗歌(2019年6期)2019-11-15 00:26:47
不必预测未来,只需把握现在
分答与知识共享
初等行变换与初等列变换并用求逆矩阵
矩阵
南都周刊(2015年1期)2015-09-10 07:22:44
矩阵
南都周刊(2015年3期)2015-09-10 07:22:44
矩阵
南都周刊(2015年4期)2015-09-10 07:22:44