3. 简单问答相关工作

简答问答通常可以拆分为两个任务,实体链接与关系分类。
对于问题“中国的首都是哪里?”,通过问题的mention“中国”链接到知识图谱中的实体“中国”。第二个任务是关系分类,寻找问题中提及的关系,问题中的谓语动词是“首都”,我们通过一个分类任务,将关系联系到知识图谱上。通过这两个任务得到了实体“中国”和关系“首都”,就能从知识图谱中提取出答案“北京”。
4. 复杂问答相关工作

复杂问答涉及的相关工作会更加多样,通常可以分为两类:
- 语义解析法
对于一个给定的自然语言问题,通过某些模型或操作,转换为逻辑语言,比如SPARQL是知识图谱中常用的逻辑语言,将逻辑语言输入到知识图谱引擎中并得出答案。
- 信息检索法
依赖于神经网络的表达能力,隐式地寻找问题的答案,比如Memory Networks在知识图谱中的变种Key-Value Memory Networks,引入了Key-Value键值对,对于一个给定的查询,维护一个查询向量,基于查询向量在Memory中进行多次的查询并更新查询向量,模拟复杂问题的多步推理。另一种检索法是基于图神经网络,基于给定的问题,在图神经网络中进行特征更新,最后通过分类得到答案。

这两类方法各有各的优势和劣势,语义解析法能够处理各种类型的问题,比如前文提到的四种类型复杂问题,而且整个推理过程的可解释性强,但构建推理过程的标注数据成本很高。对于信息检索法来讲,它只需要问题与答案这样的标注数据即可训练模型,可以端到端地预测结果,但解决问题能力有限,中间过程不可解释,所以一般使用中我们更倾向于语义解析法。
5. 关键问题