1 信息检索式的知识库问答
信息检索式的方法通常先确定问题的中心实体,继而生成问题的若干候选答案,再使用打分、排序等方式找出最适合原问题的答案。这类方法的整体框架比较简洁,对于简单问题有较好的效果。
1.1 确定中心实体
信息检索式的方法通常假设问题足够简单,大多数系统认为问题中有且仅有一个实体,这个实体被称作中心实体(Topic Entity),这是用户输入自然语言问题的核心,同时假设问题答案在知识图谱中离中心实体足够近,例如在离中心实体θ步以内(θ通常取2)。例如问题“What is the budget of Resident Evil? ”的中心实体是Resident Evil,疑问词是What。对于较复杂的问题,这类方法通常使用启发式规则和模板将复杂问题分解成若干简单问题,依次处理简单问题再对各答案集合求交集。
确定中心实体的本质任务是实体识别(Entity Recognition),其目标是检测出自然语言问题中代表实体的短语,并进一步将这些短语映射到特定的实体上。后一步工作常被称作实体连接(Entity Linking)或者实体消歧。若识别出多个实体,通常选择其中置信度最高的实体,或依次作为中心实体进行后续步骤。
在确定中心实体后,自然语言问题就在知识图中有了一个定位。由于问题规模有限,通常假设答案在知识图中离中心实体的距离足够近。这样,一种简单直观的方法就是将中心实体θ步之内的邻居节点都作为候选答案(θ通常取2)。
1.2 问题答案排序
确定中心实体,以及候选答案后,需要给各候选答案进行评分或排序,从而决定最终的结果。这是基于信息检索方式的问答系统重要阶段。评分或排序的方法包括基于特征抽取的方法[3],也包括基于深度学习的Graph Embedding的方法[4]。
用来计算答案最终得分的特征多种多样,这些特征通常从实体、关系和答案三个角度出发。与实体相关的特征主要包括实体链接的置信度,实体的表征短语和实体之间的单词重叠数等。与关系相关的特征主要包括关系抽取的置信度,关系两侧可以接受的类型等。与答案相关的特征主要包括答案的数目、答案的类型等。除此之外,不同的问答系统还可能考虑各自独有的特征。在计算出候选答案的特征之后,需要使用某种排序模型进行排序,以选择最合适的结果。排序学习(Learningto Rank)在信息抽取(Information Retrieval)领域中已经受到广泛关注和系统研究[14],主要分为单文档方法(PointWise Approach)、文档对方法(PairWise Approach)和文档列表方法(ListWise Approach)。其中文档对方法将排序问题转化为分类问题,在KB-QA任务中的表现较好,一些较成熟的算法可以直接使用,例如SVM-rank[15]。
另一方面,一些系统利用神经网络和各类Embedding的方法,直接评价候选答案与原问题之间的匹配程度。文献[1]将候选答案和原问题分别向量化,再使用多通道卷积神经网络(MCCNN)计算候选答案与原问题之间的相似度。文献[2]将候选实体生成与关系抽取(Relation Extraction)结合起来,利用原问题的上下文信息,使用卷积神经网络为候选实体对应的关系进行打分。文献[4]将候选答案周围的边和节点一同作为子图进行Embedding,再与原问题的向量做点乘作为得分(如图2所示)。