夏远远 王 宇
(大连理工大学管理与经济学部 辽宁 大连 116024)
近年来,问答系统逐渐兴起和发展,提供了不同于搜索引擎返回关于搜索关键字的一系列相关文档的知识获取方式,在社区用户的参与下问答系统可以准确地提供用户用自然语言提出的问题的答案。典型的问答系统如百度知道、知乎、Quora、Yahoo!Answers等,以“知乎”网站为例,累计共有超过1 000万个提问以及3 400万个回答,其中有相当一部分问题得到了解决。问句检索的主要任务是在问答系统知识库的基础上,检索出与当前提问相似的历史已解决的问题,缩短用户获取答案的等待时间,以及减少用户重复提交问题造成系统冗余[1]。
问句检索面临的主要困难是相似语义的查询问句与候选问句之间的词不匹配问题,如“失眠如何解决?”和“怎样快速入睡?”这两个问题,使用了完全不同的词汇形式表达相似的语义,并且由于问答系统问句一般以短文本形式呈现,缺乏足够的背景语义信息,使得基于严格词匹配的方法(如VSM模型[2])不能够召回这样语义相似但词形不同的问句。
为此,Ponte等[3]将统计语言模型的方法应用到文档检索中,对每一个候选文档估计生成查询的概率,再根据概率的大小对文档排序。Jeon等[4]使用统计机器翻译概率平滑语言模型,提出了一种基于统计翻译的语言模型,借助统计翻译获得的背景语义信息,在一定程度上解决了语言模型的词不匹配问题。Xue[5]等将语言模型的背景平滑机制融入到IBM Model 1中,提出了基于翻译模型的语言模型,其通过答案相似度判断问题相似的方法构造翻译模型平行语料,也在一定程度上解决了翻译噪声的问题。但是该模型在平行语料缺乏或者质量不高时,翻译概率的准确性较差,这就需要对可能出现偏差的翻译概率利用人工词典进行修正。文献[6-8]通过获得问句的潜在主题信息,提高翻译模型的检索性能。但由于翻译模型的准确性易受训练语料集及文本语义表达的影响,致使检索效果不够理想。文献[9]引入能够反映自然语言中语义内涵概念之间关系的概念层次网络HNC理论[10-11],探讨了在信息检索中增强检索智能的处理模式,为问句检索模型提供了语义信息来源。
本文在翻译模型基础上,收集社区问答系统高质量的相似问句对,构建翻译模型训练语料集,减少不必要的噪声。同时考虑到HNC理论符号体系在语义表达上合理完备的优点,引入HNC理论词语知识库修正翻译概率,构建新的问句检索模型,并给出问句检索模型的实现算法。实验结果表明,本文提出的实现算法能有效提高翻译模型的性能,获得更好的检索效果。
翻译概率需要背景训练语料提供先验知识,相应的训练语料集的质量对翻译概率的准确性有显著的影响。由于平行语料难以获得,之前的研究者多采用问题及其答案作为近似的平行语料获得翻译概率。可以发现,问题和答案在长度以及表达方式上有比较明显的差异,使用它们作为背景语料不可避免地容易发生词项误翻译的情况。考虑到“知乎”和“百度知道”等社区问答系统记录了丰富的用户关于问题的标记信息,部分问题还有用户直接标记的相似问题,利用这些信息可以构建高质量平行语料。
社区问答系统提供问题标记的方法,作为一种标签信息,问题标记一般用来表示问题的类别、领域、话题或者主题等信息。由于问题的标记由社区用户共同添加,充分地从不同侧面对问题进行抽象,这就使得标记成为理解问题的一个重要的信息来源。具有相同标记的问题具有相似度比较的基础,自然地,相同标记越多的问题往往语义上就越可能是相似的。以下在问题标记的基础上,介绍利用VSM算法识别相似问题的方法。
对于给定的两个问答对中问句的Q1和Q2,它们的相似计算公式如下:
SQ1,Q2=αSt1,t2+βSa1,a2
(1)
式中:St1,t2表示问答对间问题标记集合的相似度,首先将t1、t2的全部标记项组成长度为m的集合C,若t1中的问题标记t1i出现在集合C中,该问题标记为1,否则为0,则问题标记集合的相似度计算公式如下:
(2)
Sa1,a2表示问题答案相似度,计算公式如下:
(3)
通过收集问答对资源,计算每一个问答对与其余问答对的相似度大小,设置阈值T,将SQ1,Q2值大于T的问句判定为相似问句,将判定为相似的问句对组成第一部分的相似问句训练语料集。
人工标记的相似问句对在之前比较难以获取,而随着问答系统越来越强调社区用户对问答资源管理的作用,用户在浏览问答时可以将其认为相似的两个或者多个问题进行合并,问答系统则记录这种合并关系。依靠人工判定的相似问题往往具有更高的准确性,理论上可以发现任何形式具有相似语义的问题。通过问答系统提供的关于问题合并的功能收集得到相似问句对,作为另一部分的平行语料,用来训练翻译模型获得词项间的翻译概率。
当前在问句检索中被证明使用效果较好的模型是由Xue等提出的,该模型的排序机制如下:
PTLM(w|(q,a))=λ1Pml(w|q)+
(4)
式中:q,a分别为待检索问句及其答案,P(w|t)作为翻译概率表示查询问句的词项w与候选问句q的词项t的互译概率,ml表示语言模型的极大似然估计方法。
该翻译模型使用具有相似语义的同种语言句子作为互为翻译的平行语料,其翻译概率能够在一定程度上体现词项间的语义关系。但词项w和t可能由于训练语料的偏差造成翻译概率P(w|t)过高或者过低。
为此,引入HNC理论。该理论及其语言处理技术通过建立人工的语言概念基元符号体系,能够准确描述自然语言词汇中蕴涵的概念知识,同时在翻译概率发生偏差时,通过其具有的语义知识和概念之间关系,消除不准确的翻译概率对检索结果带来的影响。
在HNC理论中,词项w和t可以看作概念在自然语言中的映射符号,分别记为thnc和whnc。
记引入HNC理论的词汇语义符号修正翻译概率形成的新翻译概率为Phnc+(w|t),则Phnc+(w|t)定义为:
Phnc+(w|t)=P(w,whnc|t,thnc)=
P(w|t,thnc)P(whnc|t,thnc)=
P(w|t)P(whnc|thnc)
式中:thnc是一个概念的两个不同映射结果,它们彼此之间是独立的,因此,第一步到第二步的推导和第二步到第三步的推导成立。对于P(whnc|thnc)的计算,使用词项在HNC语义网络中的映射符号whnc,thnc的相似度sim(whnc,thnc)获得,sim(whnc,thnc)通过衡量词项w和t在HNC理论概念层次树中的距离以及所在层次计算得出。
为了提高式(4)排序机制的准确性,使用修正后的翻译概率结合式(4)的检索模型,得到新的问句检索排序公式,如式(5)所示。
Phnc+(w|(q,a))=αPml(w|q)+
γPml(w|a)
(5)
式中:w表示查询中特定词项,q、a分别表示待检索问答对的问句以及答案,ml表示语言模型的极大似然估计方法。对于翻译概率P(w|t)使用GIZA++[12]软件获得,HNC词汇语义符号相似度p(whnc|thnc)使用文献[13]中HNC词汇相似度计算方法。
从排序公式组成上看,一方面利用了翻译模型先进的词汇匹配的优势,消除词汇间的语义鸿沟,同时引入HNC词汇语义知识,修正了翻译噪声对检索结果的影响。当前HNC理论词语知识库收录常见的汉语词汇共计36 431个,覆盖绝大部分日常用语词汇,但由于问句检索面向开放的问答系统,出现的新词由于人工构建词库的滞后,不能在HNC词库被及时更新,当出现词项不能够被映射到HNC语义网络符号上的情况时,取sim(whnc,thnc)=P(w|t),即认为统计获得的翻译概率是正确的。以上通过融入HNC理论词汇语义知识,实现了词汇语义信息对统计翻译概率准确性的修正,构建了新的问句检索模型。
模型实现算法如下:
输入:查询问句s,待检索问答对集合Cq,a
输出:对于在待检索问答对集合Cq,a中所有待检索问句q关于s的排序结果
(1) 对s分词形成查询问句词项集合Cs。
(2)在Cq,a任取一对候选问答对q,a。
(3) 对于每一个在查询问句词项集合Cs中的词项w使用式(4)的排序机制计算Phnc+(w|(q,a))。
(4) 获得Phnc+(w|(q,a))后,使用式(5)计算查询问句s和待检索问句q的相似度Scores,q。
(5) 重复(2)到(4)步骤的过程,直至获取全部待检索问答对集合Cq,a的相似度Scores,q。
(6) 按照Scores,q大小对待检索问句集合排序,获取问句检索排序结果。
由于HNC理论概念词库建设的限制,本实验的数据集的语言环境选择为中文。在获取翻译模型的训练集数据方面,为了验证使用用户标记信息和用户交互信息给训练集数据质量提高的有效性,准备了两组翻译模型的训练语料集。首先在“知乎”网站上随机收集了共691 138个完整的问答对(包括问题问句、问题答案和问题标记),作为第一组训练语料集。然后通过问答系统的标记特征,在以上问答对内两两计算问句相似度,并且把相似度阈值T设置为0.6,式(1)的α、β分别设置为0.4、0.6,最终共获得2 246 342个相似问句对,之后利用“知乎”网站的相似问题合并功能收集了15 790个人工标记的相似问句对,则使用本文方法构建的训练集中共有2 262 132对相似问句对,作为第二组训练语料集。
在测试集方面,使用已被人工标记的1 140个测试问句,每个测试问句有20个候选问句,这20个候选问句被分别标记为0或者1(0和1分别表示与测试问句不相似和相似)。同时随机选择20个测试问句作为开发集调试参数,最后将剩下的作为测试问句验证各实验对比系统。
模型评价选择了多种具有代表性的问句检索模型作为对比模型,它们代表了各阶段使用效果较好的经典模型,具体模型如下:
(1) 语言模型:以Jeon等[4]提出的首次将语言模型应用到问句检索的模型为代表。
(2) 基于翻译模型的语言模型:以Xue等[5]提出的基于翻译模型的语言模型为代表。
(3) 主题翻译模型:融合了主题信息的翻译模型的改进模型,以张伟男等[6]提出的主题翻译模型为代表。
将以上检索模型与本文提出的基于HNC理论问句模型(模型4)做检索结果上的比较,验证模型性能。
检索结果的评价指标选择AP@1、MAP和MRR:
AP@1:关于特定查询的检索排序结果中,相关问句在第一位的平均百分比。
MAP:表示返回结果的平均准确率,本实验中计算每个查询返回的前10个结果的平均准确率,即MAP10。
MRR:在保证MAP检索准确性的同时,还要关注检索结果的排序顺序,MRR是加入排序顺序影响后的检索结果准确率。
分别使用第一组训练集和第二组训练集获得翻译概率P(w|t),并且在模型1上验证训练集对检索结果的影响。图1为模型1在两组训练集上各评价指标的结果。
图1 模型1在两组训练集上检索结果评价指标
从图1可以看出第二组训练集提高了模型的检索性能,验证了通过用户标记以及交互信息收集训练语料集的有效性。以下实验均在第二组训练集上进行的。
使用开发集数据将对比模型参数调至最优,改进后的模型式(4)中参数α、β和γ的值分别为0.3、0.5和0.2。各实验模型在测试数据集上的性能指标结果见表1。
表1 四种模型在MRR、MAP和AP@1上的结果
由表1,可以得出如下分析结果:
(1) 相较于模型1(语言模型),其他三种模型在全部性能指标上都明显优于以模型1为代表的语言模型。可以看出,语言模型由于缺少合适的平滑机制,依靠词与词之间的严格匹配度量句子间的相似度,使得词形不同但语义相同的句子不能被召回。另外虽然语言模型使用了与其他三种模型同样的使用翻译概率作为查询扩展信息的来源,但是语言模型使用的平滑方式限制了翻译概率扩展查询的效果。
(2) 模型3(主题翻译模型)和模型4(基于HNC理论的翻译模型)在MAP、MRR指标上要优于改进之前的模型2(基于翻译模型的语言模型)。说明前两种模型的检索结果平均准确率要好于后一种模型,因为模型3和模型4均是在模型2的基础上改进,模型3是将主题信息引入基于翻译的语言模型当中,通过主题信息约束翻译噪声,从而提高翻译概率的准确性。而模型4从提高翻译概率准确性入手,使用可靠的外部语义知识在调整词项权重的同时修正翻译概率,都对模型性能的提高做出了贡献,并且模型4表现优于模型3,说明HNC理论概率修正的良好效果。
(3) 可以看出在全部的评价指标上模型4均优于模型3。模型3和模型4都采用引入语义信息的方法,提高翻译模型语义相似度的计算能力,但模型3利用背景语料的统计词共现信息,容易出现因为训练数据导致的统计错误,影响最终的主题生成效果,同时若文本长度过短也不利于主题模型获取潜在主题语义信息。模型4通过引入HNC理论的词汇语义知识,从全局概念空间的角度扩展了词的语义信息来源,不受当前文本数据的影响,提供了更准确的词项语义信息,辅助修正翻译概率的准确性,提高了问句检索的效果。
(4) 在实际实验过程中,发现本文的方法较之引入主题信息的模型3从计算的准备时间到计算速度上都要更快,主题模型需要训练集得到潜在主题分布情况后才能用于问句检索,而本文提出的方法在将词汇映射到HNC概念空间后,即可进行问句对相似度的计算,因此更适合实际场景下的问句检索。
本文从提高翻译概率准确性方面考虑,首先利用社区问答系统的问题标记以及用户人工合并的相似问题收集高质量的相似问句对作为平行语料,然后将HNC理论语义知识结合到词项翻译过程中,从而解决翻译概率语义相似度度量的问题。通过实验证明了HNC理论引入的语义知识对翻译概率准确性的提高,同时也说明了整合后的模型的有效性。
同时也可以发现,虽然HNC理论在自然语言理解上具备一定的优势,但由于需要人工进行自然语言到HNC理论概念空间的映射,人工建立映射的滞后性限制了HNC理论应用的范围。在后续的工作中,将试图解决检索依赖词项映射这一问题。