刘 雄,张 宇,张伟男,刘 挺
(哈尔滨工业大学 社会计算与信息检索研究中心,黑龙江 哈尔滨 150001)
基于依存句法分析的复合事实型问句分解方法
刘 雄,张 宇,张伟男,刘 挺
(哈尔滨工业大学 社会计算与信息检索研究中心,黑龙江 哈尔滨 150001)
问答系统一直以来都是自然语言处理领域的研究热点之一,然而现有问答系统技术对复合事实型问句的处理效果并不完美。为了增强问答系统理解复合事实型问句的能力,该文提出了一种针对复合事实型问句的分解方法: 使用基于树核的支持向量机对问句的分解类别进行识别,进而使用基于依存句法分析的方法生成分解结果。实验结果显示,在我们所构建的高质量问句分解语料库中,我们的方法对问句分解类别进行了准确的识别,同时也可以较好地生成嵌套型问句的子问句。
问句分解;复合事实型问句;问句理解;问答系统;自然语言处理
问答系统是目前自然语言处理领域中的研究热点之一,它以精准的答案直接回答用户以自然语言方式表达的问题。宏观地来看,问答系统一般由三个主要部分组成: 问题理解、篇章检索及答案抽取[1]。随着用户越来越倾向于输入自然语言问题作为查询,问题理解成为了信息检索和问答系统领域的研究重点之一。
对于用户输入的复合型自然语言问题,回答此类复合的问题往往要求问答系统结合多个文档的内容得出答案,而传统的问题理解技术(如问题分类[2]、问题主题识别[3]、自动查询扩展[4]、复述[5]及词项赋权[6]等)不能够有效地帮助问答系统处理此类问题。
受TREC(text retrieval conference)评测的影响,问答系统领域通常将问句分为如下几类: 事实型问句、列表型问句、定义型问句、原因型问句及HOW-TO型问句等。事实型问题关心的是时间、地点、人物及事件等客观事实,简单事实型问句的答案通常很短,为包含事实的词或短语,可以通过其上下文构成的语境从文档库中直接抽取得到;复合事实型问句中包含多于一个的简单事实型问句作为子问句,并且通常具有复杂的修饰限制,最终答案需要分别解答原始问题中包含的各个子问句,并在原始问题的修饰限制条件下综合各个子问句的答案得到。
在我们的研究过程中,从分解的角度出发,将可分解的复合事实型问句归为并列类和嵌套类两类。例如问句“考拉,又叫作树袋熊,是哪个国家的国宝动物”就是一个并列类的问句,它可以分解成“考拉是哪个国家的国宝动物”和“树袋熊是哪个国家的国宝动物”两个并列的子问句,这两个子问句的答案都是原问句的最终答案;而问句“飞机的发明者是哪国人”则属于嵌套类,它需要被分解为“飞机的发明者是谁”(其答案为“莱特兄弟”)和“莱特兄弟是哪国人”两个嵌套的子问句,外层子问句需要得到内层子问句的答案才能进行解答。
复合事实型问句分解技术研究具有如下意义:
(1) 为回答复合事实型问句提供证据支持,增强问答系统的可信度。在问答系统中,通过展示问句分解得到的各个子问句、对应的子问句答案及子问句之间的关系,可以让用户了解问答系统解决问题的过程,增加用户对问答系统的信任度。
(2) 丰富原始问句的语义信息,提高答案准确度。将子问句的答案带回到原始问句中,可以更加明确原始问句的提问意图,提高准确回答原始问句的概率。
总体来说,由于复合问句的分解研究工作在问句理解中是一个新兴的研究方向,国内外学者对于复合问句分解技术的研究尚处于初级阶段,前人相关的研究工作积累也较少。同时,不同学者所做的研究针对不同的问题类型及数据集,国际上没有权威机构组织相关工作的评测,这也造成没有标准问题集可用于不同方法之间的比较,无法直接比较各种方法的优劣。
IBM公司研发的沃森机器人在美国益智问答游戏节目“危险边缘(Jeopardy!)”中大胜优秀的人类选手而闻名全球,Deep QA项目是沃森背后的主要问答框架。IBM的研究团队在其论文[7]中介绍了他们在问句分解方面的工作: 与本文分类体系类似地,他们将节目中的线索句分成并行类和嵌套类,对这两类问题应用不同的方法进行检测和分解,通过对复合事实型问句的分解,沃森在“Jeopardy!”决赛问题集上的准确率提高了1.5%。
START问答系统是美国麻省理工学院研究开发的世界上第一个面向网络的问答系统,自1993年12月上线连续运行至今。其领导者Boris Katz教授在其论文[8]中阐述了他们在START系统中所应用的三种问句分解策略: 基于语言学知识的句法分解策略、基于详尽语言描述内容的语义分解策略,以及将问句和资源内容同时分解成断言的策略。
社区问答系统(community question answering, CQA)是近年来互联网上蓬勃发展的问答服务,已经积累了许多高质量问答资源。Liu等人在其论文[9]中针对CQA问答资源提出一套分类体系,并从不同的答案资源中抽取自动摘要,以回答用户所提出问题中的不同部分。这也可以看作是问句分解在社区问答系统中的一次应用探索。
现有相关研究均证明了: 通过对复合问句的分解,识别子问句之间的关系,可以提高这些问答系统回答复合问题的能力。在用户查询从关键词过渡到复杂自然语言的趋势下,分解复合问句将在问句理解模块中占据重要的位置。
由于问句分解是问答系统中一个新兴的任务,前人的经验和积累都很少。因此,作为研究的第一步,我们需要收集相应的复合事实型问句集合,制订详尽的标注规则,以构建高质量的问句分解语料库,作为进一步研究的基础。
在构建语料库的过程中,我们总结归纳出了复合事实型问句的三种分解类型,分别是原子类(atomic)、并列类(parallel)及嵌套类(nested)。对问句的分解类别进行识别是问句分解中的一个必要步骤,它可以在两方面帮助我们完成问句分解的任务: 一方面,不同的分解类别表示了不同子问句之间的关系: 在并列类问句中,各个子问句之间独立互斥,而在嵌套类问句中,外层子问句的解答需要依赖于内层子问句的答案;另一方面,并列类问句和嵌套类问句在句法结构等语言学特征上存在明显的差异,准确地识别这两种类型可以给子问句序列生成以指导信息,让我们在后续分解时做到有的放矢。
借助于分解类别识别结果的指导信息,我们可以对不同类型的问句训练不同的机器学习模型。我们的子问句生成方法借鉴了自然语言处理中句法分析的工作,将子问句生成的过程融入到句法分析器生成句法树的过程中,以完成对复合事实型问句的分解工作。
本章将从语料标注规则、分解类别识别及子问句生成三个方面来阐述我们的复合事实型问句分解方法。
3.1 语料标注规则
为了规范问句分解的标注过程,缩小不同标注者主观意见所带来的标注差别,我们设定了详细的标注规则,一条数据的标注格式定义如图1所示。
图 1 问句分解数据标注格式
如图 1 所示,一条问句分解数据的标注结果由“问句编号”“问句分词结果”“分解类别”及“子问句序列”四部分组成,并由符号“|”作为这四部分之间的分隔符。
问句分词结果是由若干词项组成的序列,词项与词项之间以空格符号分隔,在每个词项中,由“-”连接词语序号和词语内容,词语序号从“0”开始计数。
为了区分不同的问句分解类别,我们设定了三个类: “ATOMIC”“PARALLEL”“NESTED”,分别对应了原子类、并列类及嵌套类。
子问句序列由符号“=”连接词语序号序列及子问句答案代号组成。词语序号序列由空格连接若干词语序号组成,以表示子问句。此外,若该问句为嵌套类,且当前子问句非最“内层”子问句,则可以插入适当的子问句答案代号,使当前子问句更通顺。
图 2 展示了问句分解标注的一个具体实例,它是语料库中的第25号问句,问句具体内容分词后的结果为“在/我国/可/兑换/的/国际/通用/外币/中/,/最/值钱/的/是/哪个/币种”,它的分解类别被标注为“NESTED”(即嵌套类)。第一个子问句的内容为“我国/可/兑换/的/国际/通用/外币”,其答案为一个列表,用代号“LIST0”表示;第二个子问句的内容为“在/LIST0/中/,/最/值钱/的/是/哪个/币种”,其答案为原问句的最终答案,以代号“ANS”表示。
图 2 问句分解标注示例
3.2 基于树核的分解类别识别
如前所述,原子类、并列类及嵌套类构成了我们的问句分解类别体系。
不同分解类别的问句主要差异体现在句法结构上,因此我们在进行分解类别识别的过程中使用的方法主要从问句的句法结构特征出发。句法分析器是一种广泛应用于自然语言处理各个任务的工具,它们能够提供句子的句法结构信息;树核通过子结构的重合度来度量两个句法树的结构相似度,被成功地应用于问题分类的任务中。我们应用了此类基于树核的方法[10]来进行问句分解类别识别的工作。
树核的定义公式如式(1)所示,用两棵句法树中以各个节点为根的子树中相同的子结构数目来度量这两棵句法树的相似度。计算时我们定义不同的子结构,则可以得到如下四种不同的树核空间。
(1) 子树(subtree,ST)空间: 树T中的任意节点及该节点所有后代节点可组成树S,则S为T的一棵子树,ST空间直接用子树作为子结构。
(2) 子集树(subset tree,SST)空间: SST与ST大致相同,唯一的不同在于: 在SST中,原树中的非终结符可以作为子结构的叶子节点,而在ST中,原树中的非终结符是不可以作为叶子结构子节点的。
(3) 子集树—词袋(SST-BOW)空间: 在SST的基础上,进一步比较子结构中叶子节点上的标记符,若两者叶子节点上的标记符相同,则相似度增加。
(4) 部分树(partial tree,PT)空间: PT在SST的基础上进一步放松了控制,允许子结构只使用语法生成规则一部分,而之前ST和SST中的子结构均需遵守语法完整的生成规则。
我们采用支持向量机作为分类器,将树核作为支持向量机中的核方法,对不同的分解类别进行识别。
3.3 基于依存句法分析的子问句生成
在子问句生成的过程中,借鉴依存句法分析的工作,我们保留了依存句法树的整体结构,而将树中边上的依存关系标签改为表征问句分解信息的分解标签。这样做的优点在于: (1)保留了原句法树的结构,可提供句法结构信息;(2)前人已经积累了许多优秀的依存句法分析方法,这些方法都可以被用到子问句生成的过程中。
表征问句分解信息的分解标签可以根据标注结果自动地生成,其生成过程简洁明了,可以看作一个二进制编码的过程: 对于问句中的每个词语,如果该词语出现在某层的子问句中,则对应的二进制编码置为1;若该词语在某层子问句中未出现,则对应的二进制编码置为0;将二进制编码转换为十进制数即得到所对应的分解标签。例如在图 2的标注结果中,共有两层的子问句,则每个词语的二进制编码有两位,对于该问句的最后一个词“币种”,它在第一层子问句中并未出现,仅出现在第二层子问句中,其二进制标签为“10”,转换为十进制标签为“2”。图 3 展示了图 2标注结果转化后的句法树。
图 3 带有问句分解标签依存句法树
我们使用了基于图的依存分析方法训练面向问句分解的依存句法分析器。基于图的依存句法分析方法由McDonald首先提出[11],他将依存分析问题化归为在一个有向图中寻找最大生成树的问题。
式 (2)定义了句子x所对应的依存句法树y的得分,其中f(i,j)是词i与词j之间依存关系的特征向量,而w则为对应的权重向量。在我们面向问句分解的依存句法分析器中,主要从当前词、父亲节点词、子节点词及孙子节点词的词性、树结构中抽取特征组成特征向量f,使用感知器算法训练权重向量w,使用高阶的Eisner算法进行解码[12]。
4.1 语料库构建结果及评价
我们收集了江苏卫视《一站到底》栏目从2012年3月至2013年1月共91期节目中提问的约 8 500个复合事实型问句,以纯文本保存。
在标注过程中,我们先让三位标注者同时标注了前1 000个问句,以期标注人员可以熟悉并理解所制定的标注规则,并对标注规则的认知达成一致。至于剩余约7 500个问句,则分别派给三位标注者2 500个问句进行标注。
我们对三位标注者前1 000句的标注一致性进行了评价,评价的标准采用了常用的Fleiss’ Kappa值[13]。
对于分解类别(即ATOMIC、PARALLEL和NESTED)的标注,三位标注者的一致性达到了0.779 251,在Fleiss’ Kappa的评价类别里达到了第二档。
对于子问句序列的标注,我们同样也做了评价。在评价时,我们将标注问题看成对每个词的二分类问题,即该词是否出现于某子问句中。根据这样的评价方法,三位标注者的子问句序列标注一致性达到了0.697 617,同样达到了Fleiss’ Kappa评价类别中的第二档。
图 4 分解类别占比分布
为了解分解类别分布,我们也对其进行了统计,统计结果如图 4 所示。在我们所标注的8 500多句中,不可分解的问句占比49%,略少于一半;而可分解的问句占比51%,略多于一半。进一步地观察,在可分解的问句中,嵌套类问句占比三分之二,而并列类问句占比三分之一。
4.2 分解类别识别的实验结果
为了验证句法结构信息在问句分解类别识别过程中的作用,在实验中我们使用了如下六种树结构。
(1) 短语句法树(constituency tree,CT): 此类句法树遵循短语结构句法,树的内部节点均为句法节点,而叶子节点均为词语节点。
(2) 词语中心句法树(lexical centered tree,LCT): 此类句法树由依存句法树转化得到,以词语作为中心节点,将对应的语法关系和词性作为添加到词语中的孩子节点。
(3) 词性中心句法树(postag centered tree,PCT): 此类句法树在保留依存句法结构的基础上,以词性节点作为中心,将对应的语法关系节点作为其父亲节点,而对应的词语节点作为孩子节点。
(4) 语法关系中心句法树(grammatical relation centered tree,GRCT): 此类句法树同样保留了依存句法的结构,但它们以语法关系节点作为中心,分别将词性节点和词语节点作为语法关系节点的孩子节点和孙子节点。
(5) 词语词性序列树(lexical and postag sequence tree,LPST): 此类树忽略了问句的句法结构,直接将词语节点和词性节点依次添加到树的根节点。
(6) 词语序列树(lexical sequence tree,LST): 此类树忽略了问句的句法结构,直接将词语节点依次添加到树的根节点中。
在实验中,上述句法树中的短语结构句法树均使用Stanford Parser[14]自动分析生成,而依存句法结构树均使用哈尔滨工业大学语言技术平台[15](language technology platform,LTP)自动分析生成。
基于树核的问句分解类别识别实验结果如表 1~表 4 所示,表中不同行表示不同的树核空间,而不同列表示不同的树结构。我们采用了三种问句分解类型(即ATOMIC、PARALLEL和NESTED)的F1值,以及总体的分类准确率(ACC)作为实验的评价指标,各个指标均是在整个语料库上做了五次交叉验证后取平均值计算得到的。
观察表中结果我们可以看到,整体表现最好的句法树为短语句法树(CT),在四个评价指标上,均是使用短语句法树结构的组合取得了最优效果。而在由依存句法树转换得到的三种树结构中,语法关系中心树(GRCT)的表现更好,与CT的表现基本相当。这是由于短语句法比依存句法稍简单,短语句法树生成的准确率稍高。
表1 原子类问句识别F1值
表 2 并列类问句识别F1值
表 3 嵌套类问句识别F1值
表 4 分解类型识别整体分类准确率(ACC)
而从树核空间上来讲,SST及其改进版SST-BOW较ST及PT表现更加优异。这说明对于我们的任务,SST比较子结构时的限制程度刚好,而ST限制过紧,PT限制过松。
LST+SST及LST+ST两个组合在识别PARALLEL类和ATOMIC类的时候完全失效,其原因在于LST直接将树扁平化,忽略了问句的句法结构信息,这进一步说明了句法结构信息在问句分解类别识别任务中起到了关键的作用。
另一个发现是,除了在CT+SST的组合中,PARALLEL类的F1值略高于NESTED类的F1值以外,在其余的句法树和树核空间的组合里,关于三种问句分解类型F1值的排序均是ATOMIC>NESTED>PARALLEL,这反映了三种不同分解类别的识别难度。
4.3 子问句生成的实验结果
我们对语料库中嵌套类及并列类的问句分别进行了实验,实验结果如表 5 所示,表中的数据均由10次交叉验证得到。
每类实验分为两组: 一组为生成第一层子问句,对于原问句中的每个词语,只需判断其是否出现在第一层子问句中,因此分解标签数目均为2;另一组生成完整的子问句序列,句子中的每个词语可出现在若干层子问句中,因此分解标签数目有所增加,其中嵌套类的标签数目为7,而并列类的标签数目为13。
表 5 基于依存句法分析的复合子问句生成实验结果
评价时我们引入了评价依存句法分析器常用的两个指标: UAS(unlabeled attachment score)和LAS(labeled attachment score)。在实验结果中,嵌套类UAS都高于85%,并列类UAS均在80%左右,说明我们的方法可以很好地保留句子的句法结构信息;嵌套类LAS处于70%左右,可以为子问句生成提供有效指导,而并列类LAS在50%左右,相对较低。
同时,为了实际检验子问句生成的效果,我们将生成的子问句词序列与标注的子问句词序列进行了比较以得到准确率,同时使用编辑距离作为容忍度。我们的实验在嵌套类问句集合上取得了不错的效果: 在容忍度为2的条件下,两组实验的准确率为60%左右;在容忍度为1的条件下,准确率为47%左右;在精确比较的条件下,子问句生成的准确率也有28%。
通过观察发现,我们的方法在并列类问句上取得的效果在各个比较维度上都弱于嵌套类。通过观察实际的分解结果我们做出了如下的分析: 嵌套类问句的分解比较“立体”,子问句通常分布在一个较大的子树中;而并列类问句的分解则比较“扁平”,分解时通常需要将以顿号或连词等连接的若干并列成分放入不同的子问句中,而这些并列成分在句法分析时会分布在同一棵子树下。我们的分解方法基于依存句法分析的过程,更加适合嵌套类问句的特点,因此在嵌套类的问句上取得的效果更佳。
进一步地,我们还和前人的工作[16]进行了比较,结果如表 6 所示。前人工作分解的目标是问句中的一个隐含事实(可视为子问句的不同表达),使用了人工定义的句法模板生成候选,然后进一步使用语言模型对候选进行排序。通过比较可以发现,我们的工作使用了规模更大的语料,分解得也更准确。
表 6 与前人的工作进行比较
从增强问答系统理解复合事实型问句能力的角度出发,本文提出了基于依存句法分析的问句分解方法,并从问句分解语料库构建、问句分解类别识别及子问句生成三个方面阐述了复合事实型问句分解的研究工作。最终,我们构建了高质量的问句分解语料库,对问句分解类别进行了准确的识别,并能较好地生成嵌套型问句的子问句。
尽管我们当前的方法可以较好地解决部分问句分解的问题,但是对于并列类的复合问句仍有部分问题亟待解决。同时,在问答系统中如何高效地利用问句分解的结果,以期获得更高质量的答案,也是未来的研究方向之一。
[1] Ferrucci David, Brown Eric, Chu-Carroll Jennifer, et al. Building Watson: An Overview of the DeepQA Project[J]. AI Magazine, 2010, 31(3): 59-79.
[2] Bu Fan, Zhu Xingwei, Hao Yu, et al. Function-based question classification for general QA[C]//Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2010: 1119-1128.
[3] Duan Huizhong, Cao Yunbo, Lin Chin-Yew, et al. Searching Questions by Identifying Question Topic and Question Focus.[C]//Proceedings of Annual Meeting of the Association for Computational Linguistics Human Language Tchnologies. 2008: 156-164.
[4] Carpineto Claudio, Romano Giovanni. A Survey of Automatic Query Expansion in Information Retrieval[J]. ACM Computing Surveys, ACM, 2012, 44(1): 1-50.
[5] Androutsopoulos Ion, Malakasiotis Prodromos. A Survey of Paraphrasing and Textual Entailment Methods[J]. Journal of Artificial Intelligence Research, 2010: 135-187.
[6] Zhang W, Ming Z, Zhang Y, et al. The Use of Dependency Relation Graph to Enhance the Term Weighting in Question Retrieval.[C]//COLING. 2012: 3105-3120.
[7] Kalyanpur Aditya, Patwardhan Siddharth, Boguraev Branimir K, et al. Fact-based question decomposition in DeepQA[J]. IBM Journal of Research and Development, 2012, 56(3,4): 13: 1-13: 11.
[8] Katz Boris, Borchardt Gary, Felshin Sue. Syntactic and Semantic Decomposition Strategies for Question Answering from Multiple Resources[C]//Proceedings of the AAAI 2005 workshop on inference for textual question answering. 2005: 35-41.
[9] 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. Association for Computational Linguistics, 2008: 497-504.
[10] Croce Danilo, Moschitti Alessandro, Basili Roberto. Structured Lexical Similarity via Convolution Kernels on Dependency Trees[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2011: 1034-1046.
[11] McDonald Ryan, Pereira Fernando, Ribarov Kiril, et al. Non-projective Dependency Parsing using Spanning Tree Algorithms[C]//Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing. Morristown, NJ, USA: Association for Computational Linguistics, 2005: 523-530.
[12] Che Wanxiang, Li Zhenghua, Li Yongqiang, et al. Multilingual Dependency-based Syntactic and Semantic Parsing[C]//Proceedings of the Thirteenth Conference on Computational Natural Language Learning: Shared Task. Association for Computational Linguistics, 2009: 49-54.
[13] Fleiss Joseph L. Measuring Nominal Scale Agreement among Many Raters.[J]. Psychological Bulletin, 1971, 76(5): 378-382.
[14] Socher Richard, Bauer John, Manning Christopher D, et al. Parsing With Compositional Vector Grammars[C]//Proceedings of the 51th Annual Meeting of the Association for Computational Linguistics. 2013.
[15] Che Wanxiang, Li Zhenghua, Liu Ting. LTP: a Chinese Language Technology Platform[C]//Proceedings of the 23rd International Conference on Computational Linguistics: Demonstrations. Association for Computational Linguistics, 2010: 13-16.
[16] 张健. 问答系统中问题拆分技术研究[D]. 哈尔滨工业大学硕士学位论文, 2013.
ADecompositionMethodforComplexFactoidQuestionsBasedonDependencyParsing
LIU Xiong, ZHANG Yu, ZHANG Weinan, LIU Ting
(Research Center for Social Computing and Information Retrieval, Harbin Institute of Technology, Harbin, Heilongjiang 150001,China)
Question answering systems have been one of the hot research areas of natural language processing for a long time. To enhance the ability of analyzing complex factoid questions in question answering systems, we presented a novel method to decompose complex factoid questions: using a tree kernel based support vector machine to recognize decomposition categories of questions, and generating decomposition results with a dependency parsing based method. The evaluation shows that based on the high quality question decomposition corpus we had built, our method recognizes question decomposition categories with high performance and generated sub-question series with high quality, especially for the nested-typeones.
question decomposition; complex factoid question; question analysis; question answering system; natural language processing
刘雄(1990—),硕士,主要研究领域为自然语言处理、问答系统。
张宇(1972—),博士,教授,主要研究领域为信息检索、问答。
张伟男(1985—),博士,讲师,主要研究领域为聊天机器人、对话系统。
1003-0077(2017)03-0140-07
2015-12-11定稿日期: 2016-02-19
国家自然科学基金(61472105)
TP391
: A