国外基于知识库的问答系统相关研究进展及其启示
本文首先在Web of Science上检索国外三年内关于知识库问答系统的最新相关研究,介绍了知识库问答系统研究在计算机信息检索领域和自然语言处理领域的发展进程;再从目前最前沿的相关研究出发,介绍了两种主要解决知识库问答系统的自然语言处理方法;最后探讨了国外最前沿的研究成果为国内知识库问答系统和自然语言处理相关研究带来的启示,并对未来研究前景进行了展望。
有关于问答系统的研究在自然语言处理领域和信息检索相关研究领域已经有了相当长的研究历史。早期人类对于问答系统研究的动机和需求大多数来源于于信息检索系统的自动化,人们寻求一种计算机检索系统能自动并且准确地理解人的信息需求,以便于找到比较合适的信息。所以,早期的问答系统解决办法主要是基于信息检索的技术。比如在(Unger, C.et al,2012)中,传统的问答系统都是将问题转换为RDF三元组的形式,再通过三元组在知识库中检索可能的候选答案,但是作者觉得单纯使用RDF三元组无法准确的表达问题真正的含义,尤其是对于较为复杂的问题,RDF三元组很难回答出准确答案。于是作者提出了一种更复杂的问题解析方法,即引入“SPARQL”模式来代替原有的简单RDF三元组。“SPARQL”模式是一种专门用于RDF的查询语言和数据获取协议,通过“SPARQL”的引入,可以更准确的表达提问的逻辑关系,来提升解析提问的正确率。同时另一篇文章(Yahya.et al,2012)在处理web中的自然语言提问时,也利用了“SPARQL”模式对自然语言提问进行拆分和进一步的语义分析。这种处理自然语言提问的方法的主要思路是将问题转换为RDF三元组或者更复杂的“SPARQL”形式,即抽取问题中最核心的信息,然后在知识库中进行检索,之后对检索结果进行排序,选择最可能的答案。其主要缺陷是对问题解析不够准确,尽管使用“SPARQL”来表示问题中的逻辑关系,也仍然是基于三元组的形式,对于逻辑关系更复杂的问题无法准确理解,其次对于候选答案的选择和排序的准确率也不是非常理想。
随着自然语言处理技术的持续不断的发展,对于自然语言问答系统的解决方案目前主要有两种形式,一种是基于语义分析的方法,即利用语义分析的方法对提问进行解析,将自然语言的提问转换成更高级的表达形式或者标准提问语句。最终目标是解析提问的语义,将其转换为逻辑形式来准确表达自然语言提问的含义。然后直接通过逻辑表达式在知识库中匹配正确的答案,不再需要找到大量候选答案,然后挑选可能性最大的答案。与之相反,另一种处理自然语言提问的方法是基于信息抽取。这种方法不去理解提问的逻辑或含义,而是抽取提问中重要的核心话题实体和关系,然后在知识库中搜索核心实体几跳以内的候选答案实体。最后计算候选答案与提问文本的相似性或相关性,来选取可能的最佳答案。
首先来看近三年来基于语义分析技术的问答系统相关研究。传统的基于语义分析的问答系统一般来说都是通过人工标注的逻辑词表,在小范围内进行有监督的机器学习。这种方式有非常大的缺陷,最主要的问题之一就是通过监督学习,并且依赖于人工标注,这就导致在大规模的知识库中表现不佳,遇到在监督学习中没有学习过的样本就很难处理。(Cai, Q., & Yates, A. 2013)的研究目的是在传统监督学习的基础上,建立了一种能够适用于大规模知识库问答系统的半监督学习模型,以解决纯监督学习的语义分析方法在知识库问答系统中存在的问题。首先作者依然使用了纯监督学习的办法来进行了一个语义分析器的训练,之后作者开发了一个匹配算法在知识库中找到与词汇相关的标识,最后作者建立了一个词汇扩展器,将词汇和知识库中的相关标识联系在一起,并能不断添加新的词汇和知识库相关标识,最终完成学习。这种半监督学习模型虽然性能比传统的方法有了较大提升,但仍旧没办法完全摆脱对人工标注的依赖,同时对词汇扩展器中词汇与相关标识的正确度要求比较高,所以任旧存在一些问题。
在(Kwiatkowski, T.et al,2013)中作者发现在传统的语义分析解决知识库问答系统的方法中,由于对同一问题自然语言表述的多样性,导致对相近提问的语义分析结果,即逻辑表达式会有所差异。因为在知识库中实体间的关系是唯一的,这就会产生逻辑表达式与知识库的关系无法匹配的情况以此来降低了问答系统的性能。其次,面对大范围的知识库,依赖于人工标记的逻辑形式是不现实的。于是作者提出了一种基于本体匹配并且不依赖与人工词汇触发器的解决办法。这种方法分为两个步骤,首先对问题进行不依赖与知识库或者人工词汇触发器的语义分析,允许产生不明确的逻辑表达式,或者说允许产生对相近含义的提问产生不一样的逻辑形式。之后第二步就是作者提出的本体匹配模型,在这种模型下,针对知识库中不相同的领域内的本体或者关系,将产生的不明确的逻辑表达式转换成能够与知识库中本体匹配的明确逻辑形式,来提升问答系统的对不同表达的相似提问的处理能力。
(Berant, J., Chou, A.et al,2013)作为提出了一个行之有效的摆脱人工标注的语义分析学习方法的文章,使得后期很多的相关研究都以其研究成果作为比较的对象。在这篇文章中,为解决语义分析中对人工标注的依赖,作者提出了一种基于问题答案对的学习方法。首先作者使用了λ-DCS语言来构成提问的逻辑表达式。由于自然语言的复杂性,导致对提问的语义分析会产生很多可能的候选逻辑表达式。作者等人的主要贡献就是设计了一种学习算法,能够最终靠正确答案的逻辑表达式,训练得到一个向量,使得其与最正确的逻辑表达式的内积最大。得到该向量后,即使针对陌生的新问题也能够找到最符合的逻辑表达式,从而在知识库中找到符合逻辑的答案。
(Berant, J., & Liang, P. 2014)是对上一个研究的进一步深入。在2014年的这篇文章中,Berant等人认为2013年的模型较为粗糙,直接将候选逻辑表达式和正确答案的逻辑表达式进行匹配。在2014年的研究中,作者等人提出了一种更复杂的模型来进行学习。其主要的贡献是在对提问进行语义分析,生成逻辑表达式的过程中,增加了一步转义。主要的过程是先通过粗糙语义分析,生成一些候选逻辑表达式,其次通过候选逻辑表达式生成与原提问语义相近的规范自然语言表达,再通过语义相似度的计算方式,找到与原提问最相似的规范自然语言提问,再生成可能正确的逻辑表达式。最后通过正确答案的逻辑表达式,来训练模型。Berant等人的两种方法尽管仍没有完全解决知识库问答系统的问题,但对基于语义分析方法的研究产生了很大的影响。
除了以上利用语义分析产生逻辑表达式的思路,还有另一种语义分析来解决知识库问答系统问题的思路,即语义分析拓扑图与知识库实体关系拓扑图的匹配。如(Reddy, S.et al,2014)提出在大规模的知识库中解决自然语言问答系统的问题,既不基于人工标注的学习方法,也不利用正确的问题答案对进行训练,而是利用对自然语言提问的语义分析产生的逻辑关系拓补图与知识库中的实体关系拓补图进行匹配,作者觉得在这两者之间有许多的共性。作者使用CGC语义分析算法将自然语言提问转换成逻辑关系拓补图,然后将其与知识库中已经存在的实体关系图进行相似度计算,找到相似度最大的子实体关系图,最后根据逻辑关系图中未知答案的位置,在匹配的实体关系图中相同的位置找到合理的答案。其研究为语义分析方法解决知识库问答系统提供了一种全新的思路。
(Wen-tau Yih,et al,2015)也是基于逻辑拓扑图匹配的思路出发,更加深入的创新了一种方法。作者等人最大的创新点在于直接利用知识库中的实体关系,分阶段逐步生成与提问含义最相近的完整逻辑拓扑图。首先,该方法第一步是选取自然语言提问中可能的候选核心实体,然后第二步针对每个可能的核心实体和关心逐步生成候选核心链,第三步利用卷积神经网络的深度学习方法来找到与提问含义最相近的核心链,最后一步将一些限定条件添加到核心链中,最终得到与提问含义最相近的完整逻辑关系拓补图,从而依据需求的未知答案在图中的位置,得到正确可能性最大的答案。
有关语义分析方法解决知识库问答系统问题还有别的许多有趣的研究,如(Fader, Anthony,et al,2014)提出了一种OQA的方法,既能应用于FREEBASE这种规范化、结构化的知识库,也能应用于覆盖面更广泛的Open Information Extraction这种基于信息抽取的知识库,其方法的主要过程仍然是基于对自然语言提问的转义,语义分析,逻辑表达式的生成和答案的匹配,其创新点在于引入了OQA问答系统;其次提出了一种找到高可靠性答案的算法,并设计了一个感知机模型来进行答案的打分;最后开发了一个自动化的提问转义和重写的算法。(Bao, J.,et al,2014)的研究主要是通过引入了CYK语义分析方法,将自然语言提问的表达式转换和答案查找合并成一个过程。以及(Yih, W. T.,et al,2014)的研究将注意力大多分布在在单关系的自然语言问答系统的语义分析上,通过卷积神经网络模型来计算提问中出现的实体与知识库中的实体在关系模式上的相似度,进而选择相似度最高的三元组来作为问题的答案,尽管取得了一些成果,但是在处理较为复杂的多关系的问题时,仍然力不从心。
在介绍了基于语义分析的知识库问答系统的相关研究后,接下来了解另一种处理自然语言提问的思路,即基于自然语言提问信息抽取的方法的问答系统研究。在关于信息抽取方法的研究中,最有代表性的便是(Yao, X., & Durme, B. V. 2014),在这篇文章中,作者觉得即使语义分析方法十分流行,信息抽取的方法在性能上依然能与语义分析法相媲美。作者首先将问题中有意义的词和关系抽取出来,并根据其关系生成一个关系图,然后根据抽取出的词确定一些核心话题词,之后在知识库中依据这一些核心词周围几跳内的关系和实体抽取出一个知识库的关系图。作者觉得通过这样的抽取,在知识库关系图中应该包含有正确的答案,然后作者将问题关系图中的所有节点作为问题的特征,将知识库关系图中的所有节点作为知识库关系图的特征。将两者的特征进行相似度比较,相似度高的知识库中的节点获得高分,反之获得低分,最后的沿着得分最高的节点一路走下去就是答案。在该研究中,作者证明了基于信息抽取的方法相较于语义分析法是有一定的可取性的。
随着词嵌入技术的发展,对于基于信息抽取解决知识库问答系统的研究有非常显著的提升。(Antoine Bordes,et al,2015)就将词嵌入技术与知识库开发问答系统相结合起来。在这篇文章中,作者觉得在语义分析解决问答系统的研究中,仍然需要人工标注,仍然是有监督的学习,智能化不足。于是其提出了引入词嵌入技术,省去了语义分析,直接将自然语言提问转换成低维向量,同时将与问题相关的候选答案的三元组也转换为向量。再利用正确答案进行模型训练,在实际应用中将相似度最高的候选答案作为最终答案。在文章中,作者还提出了一些计算向量相似度的优化算法,并进行了比较。
在引入了词嵌入技术之后,Bordes对其进行了更加深入的研究。在(Bordes, A.et al,2014)中,作者对其之前的模型进行了优化,其主要贡献有两点。第一,作者引入了同义提问进行模型的辅助训练,以提高模型应对复杂的长路径问题的能力。由于自然语言的复杂性,对含义相近的问题有多种表达方式,当简单的问题换一种复杂表述时,机器模型解决能力就会下降。未解决这一问题,作者增加了自然语言问题转义的训练。第二,作者对候选答案的向量表示更加细化,不再仅仅将答案三元组转换为向量,而是从答案的实体,关系路径和子关系图三个方面出发,更加全面的构成表示答案的低维向量。
在Bordes等人提出了将词嵌入技术引入知识库问答系统之后,许多研究者受到启发,对这种方式来进行了更加深入的研究。如(Li Dong.et al,2015)在Bordes的研究基础上,提出了一种多列卷积神经网络的模型来计算问题向量和候选答案向量直接的相似度。在这篇研究中,作者等人的贡献大多数表现在从三个不同的方面来比较问题和答案的相似性,即知识库中候选答案实体的关系路径,上下文联系和答案类型。作者利用正确问题答案训练的卷积神经网络,对自然语言提问分别生成三个方面的表示向量,之后与候选答案的三个方面的向量分别进行打分计算,将结果相加,总和得分最高的答案作为最佳答案。
在词嵌入技术显示出强大性能的同时,有研究者在尝试将词嵌入技术与语义分析方法的优势相结合,解决语义分析方法中的劣势,同时提升知识库问答系统的性能。(Yang, M. C.et al,2014)就提出了一种新的方法,将词嵌入技术与逻辑表达式相结合,但是省去了对自然语言提问的语义分析过程。在研究中,作者觉得在语义分析方法中的优势之一是利用了逻辑表达式作为对提问的解析形式,逻辑关系清晰所以答案的可靠性较高;但是缺陷就是语义分析的过程难度较大,由于自然语言的复杂性,对同一问题的不同描述数量非常大。语义分析往往基于实体间关系的人工标注,但是成本很高效率很低。为解决这一问题,作者利用了词嵌入技术,将提问和候选的逻辑表达式转换成向量形式,通过比较二者之间的相似度,来确定最合适的逻辑表达式,最终在知识库中确定正确答案。此研究与信息抽取方法最大的不同是其不直接比较提问与答案间向量的相似度,而是计算逻辑表达式与提问间的相似度,既保留了语义分析法的逻辑清晰的优势,又加入了信息抽取方法中模型简单的优势,是两种方法优势的结合。
首先,根据国外最前沿的一些研究成果,我们大家可以发现,想要建立一个成熟的知识库自然语言问答系统是一项非常复杂的工作。由于人类自然语言本身的复杂性,再加上目前计算机技术的局限性,使得计算机进行自然语言的准确理解和处理是非常困难的。然而建立一个知识库问答系统的关键就在于解决计算机在自然语言理解上的难题。尽管随着机器学习技术的不断发展,乃至于在计算机深度学习领域的研究也取得了长足的进步,尤其在一些国外的前沿研究中不断应用新的优化算法,但是最终计算机对自然语言提问的回答准确率依然无法达到可以接受的水平。目前这些不尽如人意的实验结果一方面说明实现一个成熟的知识库自然语言问答系统是一项具有挑战性的研究;另一方面也说明在知识库自然语言问答系统的研究领域仍然有很大发展空间。
其次,要真正建立一个成熟的知识库自然语言问答系统,实现计算机自然语言的无监督学习是十分必要的。尽管目前计算机在无监督学习下的自然语言处理结果相比有监督的学习准确度且更为复杂,但是计算机对自然语言的无监督学习是实现真正意义上的智能问答系统的必然趋势。在有监督学习下建立的问答系统有一个最致命的缺陷就是无法处理新的知识,即无法处理没有标注过的内容。由于人类自然语言的复杂性,再加上人类语言自身仍在不断变化和更新,难以通过人工标注的方式将所有自然语言的词汇全部囊括到知识库中。这就需要计算机有自主学习的能力,通过知识库中已有的知识来不断学习新的内容。计算机有自主更新知识库的能力是其实现真正智能的自然语言问答系统的前提。
最后,词嵌入这种将自然语言抽象化,向量化的方法是目前解决计算机自然语言处理的发展方向。由国外对基于知识库的自然语言问答系统相关研究不难发现,无论是用语义分析方法进行自然语言处理的研究,还是用信息抽取方法进行自然语言处理的研究,最终都选择了将词嵌入法与自身相结合的发展方向,说明词嵌入法或者说自然语言向量化对整个自然语言处理研究领域以及知识库问答研究领域都产生了深远的影响。其中主要的原因就在于词嵌入技术最大的特点,其真正实现了将人类的自然语言转换成计算机可以处理的抽象化的向量,为计算机真正理解自然语言提供了基础。因此,国内在知识库问答系统以及自然语言处理方面的研究中也要将词嵌入技术和其它能够把自然语言抽象化的技术重视起来,与自身的研究相结合,把握解决问题的正确方向。
由于自然语言处理技术的持续不断的发展,有关知识库问答系统的研究也取得了长足的进步。一个具有高度人工智能的自然语言问答系统将会为整个社会带来重大改变。比如人们可以更高效的获取信息和知识,人类将从复杂信息检索和信息筛选中解放出来;其次对于企业来说,高智能的自然语言问答系统可以为其降低与客户的沟通成本,将繁琐的客服工作交给计算机完成;从社会的角度来看,自然语言问答系统的实现标志着计算机真正做到了对信息的理解,是人工智能技术里程碑式的进步,也意味着人类社会处理信息的能力又上了一个台阶。尽管目前的成果仍然无法完全解决知识库问答系统存在的问题,比如完全无监督的学习,真正对自然语言提问的语义理解,大规模化知识库的问答系统,以及可接受的回答正确率等等。但在未来的研究中,仍然有很多问题值得进一步的研究和探讨,随着机器学习和人工智能技术的持续不断的发展,完全解决知识库问答系统问题的未来指日可待。