田作辉 关毅
摘要:随着问答社区网站的兴起,越来越多的用户生成数据积累了起来。这些用户生成数据不仅具有海量的、多样性的等特点,还有着极高的质量和重用价值。为了高效地管理和利用这些数据,近年来研究人员基于这些数据进行了大量的研究和实践,而社区问答中的问题检索就是一个被广泛研究的课题。主要研究了面向大规模社区问答数据的问题检索方法。收集来自Yahoo! Answers等社区网站的超过1.3亿问题和10亿答案的大规模数据,与之前的基于百万量级的数据的问答社区相关研究工作相比有着明显的不同和极高的实用价值。在此数据的基础上,通过查询自动分类方法来提高每次查询效率和效果。在问题检索过程中,提出了应用查询问句和问题的结构信息和语义信息,结合排序学习算法来融合多种不同类别的特征的方法,通过应用训练数据生成排序模型来提高问题检索的相关性和词语不匹配等问题。实验表明,本文应用Ranking SVM方法来训练的排序模型在不同数据集上,其准确率等评价指标上都相比以往的方法有着显著的提高。
关键词:社区问答; 问题检索; 排序支持向量机
中图分类号:TP31113 文献标识码:A文章编号:2095-2163(2013)06-0063-05
0引言
目前,社区问答服务包含了大量用户生成内容(user-generated contents,简记为UGC)。以Yahoo! Answers为例,目前Yahoo! Answers包含问题涵盖26大类、1 400多小类,共有超过3亿规模的问题和10亿的答案由用户提出和发布。如此庞大的数据规模,促进了非事实问答研究的大规模开展,使得问答系统不再局限于对应命名实体、日期等较短答案的事实类问题上。
这些用户生成内容不仅具有海量、多样性等特点,还有着高质量和重用的价值,充分利用这些资源可以高效、准确地满足人们对信息的需求。如Liu 等[1]研究的发现,在Yahoo! Answers中的四个流行问题分类中,有接近83%的最佳答案可以重用来回答相似的问题。
因此,随着各类问题数据的积累与各项相关技术的成熟,研究面向大规模问答数据的问题检索方法,是一个既具研究挑战又有应用前景的重要技术课题。
全文共分为五部分,其内容具体安排为:第一部分引言,介绍面向问答社区的问题检索课题的研究背景和研究意义。第二部分介绍相关领域的研究现状。第三部分介绍问题检索的模型与特征选择。第四部分介绍实验和结果分析。最后第五部分是本文的结论和对下一步研究的展望。
1相关工作
问题检索依赖于已经建立的问答对数据集,对于给定的查询问句,自动返回相关的问题及其对应答案。问题检索任务的主要挑战是如何解决已有问题和查询问句的词语不匹配问题,因为多数情况下查询问句和问题句并不是字面上相同的。
Jeon等[2]比较了不同检索方法在解决查询问句与问题的词汇不匹配问题的效果,所得出的统计机器翻译方法最为有效。研究中,构造机器翻译的平行语料的方式是以问题的答案作为索引,并用答案去查询其他相似答案。如果某问题的答案与查询答案的相似度高于一定阈值,则认为这两个答案是相似的,同时又假设其对应问题也是相似的。以此方法构造平行语料来训练统计机器翻译模型。基于以上工作,Xue等[3]提出一个统计机器翻译[4]加语言模型[5]的混合模型来进行问题检索,通过利用问题句和答案作为平行语料来进行机器翻译模型的训练。Wang等[6]提出了一个基于句法树结构的新的检索方法来处理相似问题匹配任务,可通过句法分析将问题和查询问句转化为句法树,再通过句法树之间的相似度来衡量问题和查询问句的语义相似度。Bian等[7]提出一个新的问题检索方法GBrank以及其后续工作中的GBrank-MR都能够较好地处理事实性问题,并给出较为满意的答案。Cao等[8]提出基于叶分类信息进行平滑的语言模型来解决词语之间的不匹配问题。该方法的基本思想是同一分类下的问题通常比不同分类下的问题更相似,于是用同一个分类下的词分布信息对语言模型进行平滑,如此可有效提高问题检索的相关性。Zhou等[9]考察了应用用户权威性和用户信息评价对于问题检索相关性的影响,其结论是由于问答社区中的信息过于稀疏,直接应用这些信息并不能够为问题的检索效果带来明显的提升。Duan等[10]应用短语级别的问题焦点和主体识别方法来提高问题检索的相关度。
2问题检索的模型与特征选择
问题检索的目的是给定一个查询问句,系统返回与该问句语义相同或者相似的问题,而由于同义问题语言表达的多样性特点,仅仅对问句和问题进行词语级别的匹配是远远不够的。本文应用排序支持向量机(Ranking SVM)算法作为问题检索的排序模型。
在进行问题检索前,本文应用朴素贝叶斯分类器来构建查询进行分类。这样做法的目的在于相似的问题通常会被分到同一类别当中,对查询问句进行分类,而且只查询与查询问句分类相同的数据就既可以提高检索的效率,也可在一定程度上增强检索的效果。
本文利用1.2亿的Yahoo! Answers数据集训练得到的分类器,将训练数据中的120万的Yahoo! Answers问题句作为测试数据,可达到超过85%的预测准确率。
2.2 问题检索的特征选择
在问题检索过程中,特征和模型的选择同样重要。为了提高问题检索过程中的词语不匹配问题的解决能力,本文考察了大量的可用于量测字符串相似度的特征。
2.2.1基于统计分布的特征
基于统计分布的特征是指应用社区问答数据中的所有问题的词语分布信息来调整问题中每个词语的权重信息。
词频-反向文档词频TF-IDF:很多的检索模型都是应用IDF这一指标来对词语的权重进行调整的,如Okapi BM25和向量空间模型VSM(Vector Space Model)。
信息熵:熵是用于表示信息不确定度的计量标注,应用问题中的类别信息即可计算一个词语对不同类别下问题的权重贡献,由此达到调整词权重的目的。
2.2.2基于结构的特征
基于结构的特征是指应用查询问句和问题中的短语、词语顺序和句法结构等信息来衡量查询问句和问题相似度的特征。文中涉及的相关概念如下:
N元文法:由于存储空间和计算效率的限制,本文只采用了二元文法Bigram。
短语:对于查询问句和问题,可以应用组块分析技术抽取其中的名词短语NP(Noun Phrase),动词短语VP(Verb Phrase)和介词短语PP(Prop Phrase)。本文应用Jaccard相似度指标来计算短语集合的相似度。
命名实体:命名实体NE(Named Entity)是指文本中预先定义了类别的词语或结构片段,如人名、地名、机构名等。同样应用Jaccard相似度指标来计算命名实体的相似度。
最长公共字串和最长公共子序列:本文利用最长公共字串和子序列与问题长度的比例来衡量查询问句和问题之间的相似度。
编辑距离:编辑距离是衡量两个字符串之间差别的一个标准。由于编辑距离和两个词序列之间的相似度成反比,故本文选取编辑距离的倒数来衡量查询问句和候选答案的相似度。
字符串核函数:本文应用了Bu等[11]提出的字符串重写核函数(String Re-writing Kernel)来计算查询问句和问题之间的相似度。
依存分析:依存分析(Dependency Parsing)是通过依存文法对语句进行句法分析生成依存句法树的过程。图1为语句“Bell, based in Los Angeles, makes and distributes electronic, computer and building products.”的依存句法树示意图。
如图1所示,树的任意节点和其子孙节点都会形成一个依存路径(Dependency Path)。路径的长度为路径中节点的数量。本文中统计查询问句和问题的依存句法树中的全部长度为2的依存路径,并加上其中的弧标签。再通过计算两个依存路径集合的相似度来得到查询问句和问题的相似度。
以上基于统计和基于结构的特征可以概括为基于词的特征,这些特征从最简单的无结构特征(如关键词),到浅层结构特征(如N元文法、短语、命名实体等),再到结构化的依存句法树,分别表示了查询文件和问题所包含的各个层面的信息。
2.2.3基于语义的特征
为了更好地解决查询问句和问题的词语不匹配问题,仅仅利用基于词的特征是远远不够的,本文还考察了基于语义的特征在问题检索过程中的应用。基于语义的特征是指应用查询问句和问题的词语之外的可以表征语句的语义或语义特点的信息的特征。现将该技术中的各类方法综述如下:
(1)LML:LML应用了问题的叶节点分类信息来调整语言模型,用以查询问句与问题之间的相似度。该方法的基本思想是:在Yahoo! Answers的分类系统中,每个大类下面都会分为很多小类,这些分类信息都可以通过一个树形结构形象表示,而树中的叶子节点则代表某问题的最小分类信息,如图2所示。
在叶节点分类中,由于话题限定更窄,用户更倾向于讨论相近的问题,如果查询问句中的词在某一叶节点分类中出现的频率更高,则该分类中的问题便极有可能和查询问句相似。
(2)翻译语言模型:模型的关键是训练得出词到词的翻译概率,而用于训练的、可对齐的平行语料却很难获得。本文使用基于商业搜索引擎点击数据中查询问句和网页的标题而训练得出的词到词翻译概率作为翻译模型来计算两个句子的相似度。
(3)复述模型:复述(Paraphrasing)是指对相同信息的不同表达方式,而问题检索的目的便是要找到与查询问题一样或者是查询问句的复述的问题。本文应用通过商业搜索引擎的网络查询日志而训练得出的复述模型判断查询问句和问题之间互为复述的概率。
(4)WordNet语句相似度:WordNet是英文的语义词典数据库。通过WordNet中同义词集合语义的关系,可以应用Wu和Palmer提出的相关性公式来计算两个词之间的相关性。词a和词b在WordNet中同义词的集合关系如图3所示,并可由如下公式计算得出:
WordNet(a,b)=depth(lcaa,b)depth(a)+depth(b)(1)
其中,depth为树中节点的深度,Icaab为节点a和节点b的最近公共祖先。
最后,应用查询问句和问题中每个词的WordNet相似度进行组合,即可得到两句话间的Wordnet语义相似度。
3实验和结果分析
3.1训练数据与工具
3.1.1训练工具
本文应用Joachims开发的SVMRank工具包来训练Ranking SVM排序模型,该工具简单高效,只需将特征文件编写成其要求的格式作为输入,并指定误差容忍度参数c,运行该工具即可生成模型文件和排序预测结果。
3.1.2训练数据
为了避免出现训练得到的模型发生对训练数据过度拟合的问题,在训练数据中需包含两个部分:训练集和调试集。分别论述如下:
(1)训练集:选取商业搜索引擎的部分查询日志的标注数据,所有的查询都是问题查询,且用户输入查询后点击了Yahoo! Answers的页面。数据采用5级标注,将标注中得分为3及以上的问题视作正例(相关),good以下的当作负例(不相关)。最后,正负例共有29 485条。
(2)调试集:在三百万的Yahoo! Answers数据集上随机选出200条问题,并在剩余的数据上通过应用语言模型进行检索。每个问题取出前100个候选结果,再对问题的相关性进行标注,去掉找不到相关结果的问题,最后剩余176个问题,即正负例共有17 600条。
基于调试集依次通过比较第一项准确率(Precision@1),平均准确率(Mean Average Precision),平均倒数排名(Mean Reciprocal Rank)三个指标来选取排序模型。
3.2 实验结果与分析
3.2.1实验数据
本文应用了两组不同的实验数据来验证问题检索方法的有效性。
(1)从2012年上半年的商业搜索引擎查询日志中选取200条高频的查询问句和100条较长的中等频度的查询问句,共300条查询问句。
(2)Cao等提出LML方法时用到的Yahoo! Answers的问答数据。全部数据中包含超过三百万的问题及其答案,其中测试数据为252条查询问句。因其提供的数据同时给出了对应的每个查询问句,应用其方法即找到相关问题。
(3)应用上一节中提到的调试数据集对和一些传统经典信息检索模型进行对比。随机选取156个问题作为测试集,剩余20个问题作为模型参数的调试集。
3.2.2实验结果与分析
在搜索引擎日志查询问句数据集1中,对每个查询问句在全部超过130亿的问题数据中进行检索,给出10个相似度最高的问题,然后对所有问题进行人工标注,并计算其Precision@1,MAP和MRR三个评价指标,实验结果如表1所示。
如表1所示,Precision@1、MAP和MRR三个指标的结果比其他的实验结果要高出很多,这是因为该测试数据集中的查询问句主要由查询日志中的高频查询组成。应用该测试数据集的目的是为了检测本文构建的问答系统的实用性,因为大部分用户提出的问题与查询日志中的查询问句都是一致的,这个结果也说明本文的问答系统具有很高的实用性。
在Cao等实验数据集2中,为了得到真实的对比效果,本文应用其小规模的问答数据重新构建了一套检索系统,即两种方法均是在相同的实验数据集上进行对比的。表2为实验对比结果。
在表2中,R-Prec是Cao等在评测时用到的一个评测指标R-Precision,R则指该问题有R个相关问题标注。因为其公开的数据中只有一个查询问句的相关问题,而并未给出其方法找出的不相关问题,就使得绝大部分的结果都是未标注的。本文结果A是指直接应用其方法找出的相关问题,并以其作为相关问题。这样相当于将全部的未标注问题均当成不相关的进行处理,就会对结果产生很大影响,因此结果中,只有MAP略高于Cao等的方法。本文结果B是对检索结果进行了补充标注,即评测时不再包含未标注问题,从结果中可以看出,本文在各项指标上都要优于Cao等的方法,而在MAP和P@5上则有明显的提高。
在人工标注的调试集3中,本文和传统的经典信息检索模型进行了对比,包括向量空间模型(VSM)、Okapi BM25语言模型(LM)、LML、翻译模型(TM)。对比结果如表3所示。
从表3可以看出,其中LML的结果是应用本文的数据重新训练生成模型计算得到的,这与数据集2中LML直接对照Cao等的实验结果是根本不同的。相对于传统的经典信息检索模型,本文的方法表现了很大的优势,在各个评测指标上都有显著提高。
4结束语
本文应用查询问句和问题的结构信息和语义信息,并结合排序学习算法来融合多种不同类别的特征的方法,再应用训练数据生成排序模型来提高问题检索的相关性和词语不匹配等问题。实验表明,本文的方法在各个数据和评价指标上都要明显优于基准方法。在接下来的研究中,本文可利用问题检索过程中得到的问题及其答案来构造高质量的问答知识库,以将其应用到信息检索系统和其他信息服务当中。
参考文献:
[1]LIU Y, LI S, CAO Y, et al. Understanding and summarizing answers in community-based question answering services[C]// Proceedings of the 22nd International Conference on Computational Linguistics - Volume 1, COLING 08, Stroudsburg, PA, USA, 2008: 497–504.
[2]JEON J, CROFT W B, LEE J H. Finding similar questions in large question and answer archives[C]//Proceedings of the 14th ACM international conference on Information and knowledge management. ACM, 2005: 84-90.
[3]XUE X, JEON J, CROFT W B. Retrieval models for question and answer archives[C]// Proceedings of the 17th ACM international conference on Information and knowledge management, 2008:475–482.
[4]BERGER A, LAFFERTY J. Information retrieval as statistical translation[C]//Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development on Information Retrieval, 1999: 222–229.
[5]PONTE J M, CROFT W B. A language modeling approach to information retrieval[C]//Proceedings of the 21st annual international ACM SIGIR conference on Research and development in information retrieval. ACM, 1998: 275-281.
[6]WANG K, MING Z, CHUA T S. A syntactic tree matching approach to finding similar questions in community-based qa services[C]//Proceedings of the 32nd Annual International ACM SIGIR Conference on Research and Development on Information Retrieval, Boston, MA, USA, 2009, 187–194.
[7]BIAN J, LIU Y, AGICHTEIN E, et al. A few bad votes too many?: towards robust ranking in social media[C]//Proceedings of the 4th international workshop on Adversarial information retrieval on the web. ACM, 2008: 53-60.
[8]CAO X, CONG G, CUI B, et al. A generalized framework of exploring category information for question retrieval in community question answer archives[C]//Proceedings of the 19th international conference on World wide web. ACM, 2010: 201-210.
[9]ZHOU Z, LAN M, NIU Z, et al. Exploiting user profile information for answer ranking in cQA[C]//WWW '12 Companion Proceedings of the 21st international conference companion on WWW, Pages 767-774.
[10]DUAN H, CAO Y, LIN C Y, et al. Searching questions by identifying question topic and question focus. [C]//Proceedings of 46th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies (ACL:HLT), Columbus, OH, June 2008.
[11]BU F, LI H, ZHU X. String re-writing kernel[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Long Papers-Volume 1. 2012: 449-458.