作为一种描述自然知识和社会知识的重要载体,知识图谱最直接和最重要的任务是满足用户的精确信息需求,提供个性化知识服务。其中,致力于回答各种类型问题的问答和对话系统是最典型的任务之一。本章介绍的问答和对话的相关技术并主要关注面向知识图谱的问答和对话。目前的问答和对话系统大多只能回答事实型问题,不能很好地处理复杂问题。本章主要关注问答和对话中能回答事实型问题的相关技术。

自动问答概述

自动问答技术可以追溯到计算机诞生初期的二十世纪五六十年代,其中,代表性的系统包括Baseball和Lunar。

随着互联网技术的发展,人们希望利用日益丰富的网络数据资源解决问答系统中的数据匮乏问题,特别是二十世纪九十年代中期在TREC-QA评测任务推动下,检索式问答技术取得了显著的进展,这种系统的特点是:利用浅层自然语言处理技术分析问题,并利用信息检索等技术从大规模文本或网页库中抽取答案。

随着近年来统计及机器学习方法的兴起和发展,自然语言处理中的各个任务都取得了突飞猛进的发展,无论是基于语义分析的知识工程还是大规模开放域的问句理解都取得了长足的进步。

问答系统按照依赖的数据源可以分为多种类型,其中典型的包括:(1) 单文本问答系统:也称为阅读理解式问答系统,例如CLEF组织的基于机器理解的入学考试评测任务和斯坦福问答测试平台SQuAD;(2) 固定语料非结构化文本问答系统:系统从预先给定的文本语料库中检索和抽取答案,例如TREC组织的问答评测任务(QA Track)和NT-CIR组织的跨语言问答评测任务(CLQA);(3) 网络问答系统:从互联网中查找问题的答案,但是因为互联网数据动态变化,所以难以评测;(4) 知识库问答系统:也称为知识问答和基于知识图谱的问答系统,它是从预先建立好的结构化知识库中查找问题的答案,例如CLEF组织的基于关联数据(Linked Data)的问答系统评测(QALD)。

知识问答

知识问答技术概述

目前,面向知识图谱的问答系统按照技术方法可以分为以下两种类型:

(1) 语义解析型:考虑到知识图谱可以使用其支持的查询语言检索信息(如MQL、SPARQL等),那么如果能够把自然语言问句自动地转换为结构化查询语句,就可以直接通过检索知识图谱得到精确答案。我们把这类模型称为基于语义解析的方法。

(2) 搜索排序型:事实性问题一般都包括相关实体。通常来说,该问题的答案与相关实体在知识图谱中有比较紧密的联系,例如,它们之间可以通过一步或若干步关系路径关联。因此,首先可以通过搜索与相关实体有路径联系的实体作为候选答案,然后利用从问句和候选答案提取出来的特征进行对比,进而对候选答案进行排序得到最优答案。我们把这类模型称为基于搜索排序的方法。

基于语义解析的方法

基于语义解析的问答方法是把问句转换为某种规范的形式化知识表示语句,其实质就是问句的语义解析(semantic parsing)。语义解析是指把一个自然语言句子映射为某种形式化的语义表示,语义表示形式会根据应用领域的不同而不同,典型的应用包括提供航空旅游信息服务接口的ATIS、用于机器人足球赛的CLang和美国地理知识问答系统中使用的GeoQuery等。

具体来说,面向知识图谱的问句解析是指利用知识图谱中的资源项(实体、关系、类别等)表示自然语言问句的语义,并以逻辑公式等形式化语句进行语义表示的任务。实际上,这是一个挑战性非常大的任务。首先需要对问句中的词/短语与知识图谱中的资源项(词汇表)进行映射;然后对匹配到的资源项进行组合;最后还需要对匹配和组合过程中存在的歧义进行消解,选择最正确的组合结果。基本上,可以把语义解析的方法分为基于训练数据的有监督方法和基于规则(或先验知识)的无监督方法。

有监督方法

语义解析的任务是把一种结构的数据(串行结构的自然语言句子或树形结构的句法树)转换成另一种结构的数据(逻辑表达式)。目前的方法主要根据语义组合原则构造完整的语义表示结果。语义组合原则是Gottlob Frege提出的理论:一条复杂语句的含义由其子句的含义和它们的语义组合原则确定。

语义解析包含两个需要解决的关键问题:

(1) 如何确定问句的子句(短语)和它们对应的形式化表示?

(2) 当已知各个子句的含义及其形式化表示,如何对它们进行语义组合?

  1. 语义组合模式
  2. 语义辞典构造
  3. 组合消歧模型

无监督方法

(1) 语言分析工具模块

(2) 元素级匹配模块

(3) 三元组映射模块

(4) 融合和排序模块

基于搜索排序的方法

基于特征工程的方法

  1. 问句特征抽取
  2. 候选答案特征抽取
  3. 问句-候选答案匹配

基于表示学习的神经网络方法

常用评测数据及各方法性能比较

  • ATIS
  • GeoQuery
  • QALD
  • Free917
  • WebQuestions

知识对话

知识对话技术概述

对话系统一般包含如下六个组成部分:(1) 语音识别;(2) 对话理解;(3) 对话管理;(4) 任务管理;(5) 对话生成;(6) 语音生成

任务导向型对话模型

  1. 自然语言理解
  2. 对话管理
  3. 自然语言生成

通用对话模型

  1. 基于模板的方法
  2. 端到端的方法

评价方法

  • 最大化任务完成度
  • 最小化成本开销