面向化工领域社区问答的答案质量预测研究
2021-10-15杜军威
陈 卓,李 倩,杜军威
(青岛科技大学信息科学技术学院,山东 青岛 266061)
0 引言
近些年来,随着互联网的普及和知识爆炸性的增长,社区问答网站积累了大量的用户和内容,同时也产生了大量的低质量文本,极大地影响了用户检索满意答案的效率,因此,如何提升答案质量预测的性能变得尤为重要.对于问答社区平台来说,要尽可能地向用户展现高质量的答案,以此提高用户的浏览体验,同时促进优质内容的传播[1].对用户来说,有影响力的用户给出的答案具有较高的可信度和可靠性[2].为此,需要根据高质量答案的共有特征以及给出该答案的用户特征,设计高效的高质量答案识别方法,推动社区发展并加快知识传播,减少知识获取成本[3].
日常生活中,化工无处不在.人们每天的吃穿住行都离不开化工,但是目前针对化工问答社区的研究甚少,本文以海川化工论坛为例,海川化工技术论坛(bbs.hcbbs.com)日均访客10万人,拥有400万人注册会员,这是一个很好的对化工领域的科研人员进行专业知识交流的平台.海川化工论坛已成为国内最有人气的化工领域问答及社交网站.目前将社区问答系统答案质量预测问题看作是一个分类问题.传统的分类方法通常是基于机器学习的支持向量机、逻辑斯蒂回归、随机森林,但是支持向量机对核函数以及参数敏感;逻辑斯蒂回归容易欠拟合,分类精度不高;随机森林在噪声较大的分类问题上会过拟合[4].近年来,深度学习受到广泛关注.但是深度学习模型训练时间较长,需要的样本数据量较大,容易出现冗余的现象,另外社区问答系统中可能存在相关的用户特征缺失现象,本文提出在提取出有效的文本特征和用户特征的基础上,使用FM算法来实现对高质量答案的预测.
1 总体框架
图1 总体算法流程
本文对从海川化工论坛爬取的数据进行数据预处理,提取答案的文本特征(比如汉字个数、平均句长等)和用户特征(基于网络表示学习的用户特征),将文本特征和用户特征转化为向量拼接到一起,随机选取一部分通过FM(因子分解机)算法进行训练,另一部分进行测试,测试集所得到的结果即最终的答案质量预测结果.整体算法流程如图1所示.
本文的研究目标是对于爬取的海川化工数据集,通过模型训练预测答案质量.问题定义:给定数据集(问题,答案,用户名,……),通过分析答案特征、用户特征,并将其转化为向量,输入到模型进行训练,优化,得出答案质量预测结果.
由于社区问答的用户比较复杂,数据量比较庞大,那么在给定数据集的情况下,要着重分析用户给定的答案有什么特征,用户怎么表示,本文对答案文本提取了一些有效的特征,用户使用网络表示学习的方式来体现,但是这些特征之间都是独立的,要考虑特征之间的交互作用,于是使用了FM算法,它能够更好地挖掘特征之间的相关性,尤其在稀疏条件下.
2 海川化工论坛特征提取
2.1 文本特征
本文将这些特征分成了两个维度:答案的文本特征和用户特征.文本特征是指直接统计得出的特征数据,例如文本长度、标点符号个数、平均句长等;用户特征即用户在海川化工论坛中回答问题的影响力.
首先,文本特征包括如下方面:
汉字个数[5]:只计算答案文本中文字的个数.该特征反应的是用户对答案最直观的感受.
平均句长[6]:每出现一个标点符号算是一句,计算每一个句子的文本长度,对所有计算的句子的文本长度计算均值,即平均句长等于每个句子的文本长度求和除以句子个数.
标点符号个数[7]:答案文本中标点符号的个数.
词语占比[8]:将答案文本分词过后,将一些类似于“是”“的”“吗”等的词删掉,剩下的就是词语,计算词语的个数.词语占比等于词语的个数除以文本长度.
答赏人数:是指在一个帖子当中对回帖的人给财富人的数量.
财富:是一种论坛存在的虚拟积分值,主要用于论坛的账号升级,只能通过参与论坛互动获取.在论坛无论是升级、下载附件(1财富/线程/次消耗)、悬赏、发起各种活动,都离不开“财富”这个基础分值.
魅力值:本文提取的魅力值仅仅是每个人积极回复别人的求助(版主给评分)得到的,如果版主认为所提供的答案对人们帮助很大或很清晰全面,那么得到的魅力值越多.
2.2 用户特征
DeepWalk网络表示学习是基于神经网络的算法通过对网络结构的深入学习,具有相似网络结构的节点,具有相似的网络表示向量.文献[9]从数学角度证明了DeepWalk方法等同于分解一个目标矩阵G,具有较高的时间复杂度,但算法精度受限于分解算法的效率[10].基于矩阵分解的DeepWalk表示学习算法可避免网络中随机游走和进行神经网络学习和训练的过程,采用高效地矩阵分解方法对目标矩阵G进行分解.该方法能延续DeepWalk的优点,同时满足了从邻接矩阵直接转换为网络表示形式的需求.
网络表示学习基本结构如图2所示,本文构造一个用户网络,即提问者-回答者网络.其目的是将用户网络映射成向量矩阵.首先根据被答赏次数(获得财富的次数)将用户分为两类,对被答赏次数求均值,如被答赏次数大于均值,该用户记为1,否则记为0.所有用户为2 088个,即初始矩阵G为m×n维,即2 088×2 088维.本文中用户网络为有向图,如回答者b回答了提问者a的问题,那么提问题者a指向回答者b,反向则没有.如果回答者b回答了提问题者a的问题1次,那么初始矩阵G中(a,b)位置为1;如果回答2次,则(a,b)为2.由此可知,该初始矩阵G为非对称矩阵.分解出的矩阵U是本文的最终用户矩阵.对于图S(U,E),U是用户集合,E是连接提问者与回答者之间的边集合.一般来说,|U|=|E|.对每一个用户u∈U,将其映射成一个k维向量rv∈Rk,k≪|V|,对每一个边e∈E,将其映射成一个k维向量ev∈Rk,k≪|V|.设U=Rk×|V|,V=Rk×|E|,G是图的邻接矩阵.基本矩阵分解是最基础的分解方法,将目标矩阵G分解为矩阵U和V,通过不断的迭代训练使得U和V的乘积越来越接近真实矩阵,预测值接近真实值就是使其差最小,目标函数为
(1)
为了防止过拟合,本文加了L2正则项,其中λ取0.1.
图2 网络表示学习基本结构
对U,V采用梯度下降的方法进行多次迭代更新,收敛时就是分解出来的矩阵:
(2)
(3)
其中η是学习率,本文中学习率取0.005,迭代次数为80.
3 FM模型
因子分解机(Factorization Machines,简称FM)是通过两两特征组合,将特征与特征之间的关联联系起来,构建交叉项特征以此来提高模型的效果[11].假设一个预测问题的训练数据D=(X,y),其中,X∈Rn×p表示当前数据集D有n个实例,每个实例由一个维度为p的稀疏向量组成,y∈Rn则表示n个实例对应的真实标签,(Xi,yi)表示第i个实例Xi对应标签为yi[12].
FM能够对输入数据集D=(X,y)不同特征间的交互进行分解建模,其d阶交互模型公式为
(4)
分类问题的损失函数
(5)
其中σ表示的是阶跃函数sigmoid,
(6)
所以分类问题的损失函数对权值的梯度(导数)为
(7)
4 实验结果分析
4.1 数据集分析
本文从海川化工论坛中爬取了几百万个问答对,通过对这些问答对进行随机数据抽取、数据清洗、预处理后保留了7 000多个问答对,其中包括1 400多个话题和7 000多个回答.邀请具有海川化工论坛使用经验的人作为标注人,首先对标注人进行培训,使其形成一致的评价标准,然后对答案进行试标注,对比标注的差异,进行学习改进,最后对答案进行标注,得到带标签的训练数据集,把这些数据集的答案分别打上标签为1,2,3,标签1表示答案部分正确,但回答不完整;标签2表示答案回答正确且较全面,优先推荐;标签3表示答案不正确.表1列出了爬取的初始数据中部分比较重要的数据.表2是预处理过的数据.
表1 初始数据
表2 预处理过的数据
4.2 特征分析
4.2.1 文本特征分析
为了确保本文提取的特征对答案的选择是有影响的,本文对从数据集中提取的特征进行了一个P值、均值和标准差的计算.P值是一种概率,一种在原假设为真的前提下出现观察样本以及更极端情况的概率.统计学根据显著性检验方法所得到的P值,大部分情况假设错误拒绝H0的概率为0.05,所以如果P值小于0.05,说明错误拒绝H0的概率很低,则有理由相信H0本身就是错误的,而非检验错误导致.一般以P<0.05为显著.P<0.01为非常显著,当P值小于0.05时,这个独立变量很重要,因为这它变量与输出结果有关.
表3 标签为1,2,3下的各个特征的均值、标准差、P值
由表3可看出标签2的汉字个数、平均句长、标点符号、答赏人数、总财富和总魅力远远高于标签1和标签3.
4.2.2 用户特征分析
根据上面的分析,本文的用户特征向量是通过矩阵分解得到的.将初始矩阵G分解为U和V,分解出的矩阵U是本文的最终用户矩阵.要想得到最优的矩阵U,需要通过调整参数来实现,矩阵分解涉及的主要参数是学习率、迭代次数以及隐向量k(见图3).
图3 不同参数下的准确率分布
图3(a)表示在迭代次数为80,k为128时不同学习率下的准确率分布,该准确率表示矩阵分解的U,V和初始矩阵G的准确度.由图3(a)得出,在学习率为0.005时准确率最高.图3(b)表示在学习率为0.005,k为128时不同迭代次数的准确率分布,可得出迭代次数为80时准确率最高.图3(c)表示在学习率为0.005,迭代次数为80时不同k值下的准确率,可得出k为128时准确率最高.因此,学习率取0.005,迭代次数取80,k取128.
4.3 FM模型优化分析
表4 不同特征数量下所表示的特征
本文将所提取的答案文本特征和用户特征转化为向量并归一化后,在FM模型中进行预测,输出的结果即为预测的标签结果.本文将数据集分为训练集和测试集,测试集从其中随机挑选了1 000个,训练集为6 000多个,为了评价模型的预测结果,本文采用准确率作为衡量指标.目前,针对FM模型的优化有3种优化学习算法,分别是随机梯度下降法(SGD)、交替最小二乘法(ALS)、马尔可夫蒙特卡洛法(MCMC).为了证明本文提取的文本特征向量是否都对最终的预测结果有积极的影响,首先针对文本向量进行分组实验,如表4所示.
图4表示在分解机维度为1.1.10,迭代次数为100,学习率为0.01,优化方法为SGD时的不同文本特征下的准确率,可看出当特征数量为4时,准确率更高;图5表示在文本特征为5,迭代次数为100,学习率为0.01,优化方法为SGD时的不同分解机维度下的准确率,由图5可知分解机维度的改变对准确率没有影响.因此,后续实验将采用这4个特征,分解机维度取1.1.10.
图4 不同文本特征下的准确率
图5 不同分解机维度下的准确率
图6是在分解机维度为1.1.10,学习率为0.01,优化方法为SGD的情况下不同迭代次数对应的准确率;图7是在分解机维度为1.1.10,迭代次数为100,优化方法为SGD的情况下不同学习率对应的准确率.由图6和7可知,在迭代次数为100,学习率为0.01的情况下准确率最高.前面的实验都是只针对文本特征向量,后面则是将文本特征向量和用户向量加起来的实验.
图6 不同迭代次数下的准确率
图7 不同学习率下的准确率
图8表示在学习率为0.01,分解机维度为1.1.10,迭代次数为100的参数条件下,将文本向量和用户向量结合起来的SGD、MCMC、ALS 3种优化方法的准确率分布.由图8可知,使用随即梯度下降(SGD)优化方法所得的准确率最高.并且结合前面的实验发现,将用户向量加上之后,准确率提高到了98.8%.本文随机选取了2组和3组测试集,与第1组作比较,发现准确率最高的是第1组,为98.8%(见图9).
图8 不同优化方法下的准确率
图9 不同组下的准确率
4.4 对比试验
4.4.1 实验环境
实验环境见表5.
表5 实验环境设置
4.4.2 不同分类模型
模型1:word2vec+Bi-LSTM+Attention答案质量预测模型.
首先对海川化工论坛数据进行预处理,去除答案文本中的无关字符、网址链接、重复项,之后利用哈工大LTP分词工具进行分词操作,使用word2vec模型来训练词向量,词向量的长度为200,词向量上下文最大距离(window)为10,采用skip-gram模型,迭代次数为10,进行词向量训练.将经过预处理的文本进行word2vec分布式词向量表示,将Bi-LSTM双向LSTM网络的时序特征输入Attention层,Attention层先将各时序特征进行加权,将所有时序特征加权求和,经过Softmax达到分类的效果.
模型2:word2vec+Bi-LSTM答案质量预测模型.
由word2vec构建文本向量作为LSTM的初始输入,训练Bi-LSTM分类模型,自动提取特征,进行答案质量预测.
4.4.3 实验结果
本文实验模型采用的分类模型评估指标为精确率(P)、召回率(R)及F1值,实验结果如表6所示[13].
表6 不同模型下的对比实验结果
由表6可以看出,本文提出的基于FM模型的分类方法相较于其他深度学习模型性能明显提升,深度学习模型相对较差的原因在于没有考虑用户特征向量,不能有效地进行特征提取,而本文算法效果更好.
5 结束语
针对问答社区答案质量预测问题,本文提出一种基于FM模型的分类方法,并将其应用到海川化工论坛,通过构建一种新的用户特征网络表示形式并将其与文本特征拼接在一起,发现比其他深度学习模型性能明显提升.在后续的工作中,将进一步挖掘用户答案文本,进一步深化研究主题,为用户预测更加优质的答案.