正文
通过知识图谱为知识源回答问题时,一个问题对应于知识图谱的一个子结构。所以其问答过程的核心在于将自然语言问题映射为知识图谱上的结构化查询。例如对于图 1.1 中的知识图谱,表 1.1 展示了一些它可以回答的问题,以及对应的子结构。
表
1.1:
自然语言问题及其在知识图谱中的属性对应。
基于知识图谱的问答系统,需要解决两个核心问题:(1)如何理解问题语义,并用计算机可以接受的形式进行表示(问题的理解和表示);(2)以及如何将该问题表示关联到知识图谱的结构化查询中(语义关联)。
第 2 节 研究架构与模块关联
2.1. 研究架构
本文研究架构见图 1.2。依据其理解语义的粒度从小到大,从具体技术到上层应用,主要分为以下五个部分。
图 1.2:研究架构图
1. 实体层:语义社团搜索
实体是自然语言的基本单位之一,基于知识图谱的实体语义理解为上层语义计算,特别是问题中的实体语义,提供基本支持。本文研究了面向实体的语义社团搜索模型,特别是从模型的表达性、有效性等方面研究不同社团定义的合理性。其次,语义社团搜索作为语义理解的原子操作,需要保证在大图上的实时回答。为此,本文研究了大图上的高效社团搜索方法,特别是基于大图的局部性的高效搜索方法。
2. 短文本层:动词理解和实体概念化
短文本是自然语言的最常见形式之一,起到对实体和更复杂文本单元(如问句)的承接作用。短文本上已经有了句法结构特征和上下文关系。知识图谱的作用,则可以使系统更精确表示句法结构和上下文信息。本文提出了动词模板,用来表示细粒度的动词语义。并且基于动词模板,优化了基于上下文的实体概念化方法。
3. 问题层:问题语义理解和表示
问题的表示学习,是计算机理解问题的核心步骤。本文提出了问题的模板表示方法,将问题的实体映射到其对应概念,用以表示问题语义。此外,本文还利用问题模板的思路,解决了复杂问句的解析问题。
4. 问答系统层:问题与知识图谱的语义关联
基于问题的模板表示,需要将其映射为知识图谱的结构化查询,最终实现问答。这一映射主要取决于知识库中的属性。本文提出了基于真实问答语料的学习方法,利用概率图建模问题模板到答案的生成,并进行语义关联的参数估计。同时,本文利用属性扩展,研究知识图谱中的多步属性这一复杂知识表示形式,学习问题模板到复杂知识图谱结构的映射。
5. 应用层:面向应用的领域问答适配
由于通用人工智能依然是非常困难的,出于具体应用场景需要,大部分真实应用中的问答系统是面向具体领域的。例如 IBM 的 Watson 专注于医疗和财经领域,亚马逊的 Alexa 专注于智能家庭和零售领域,微软的 Cortana 专注于操作系统助手。为了对问答系统作领域适配,本文有两方面的工作,第一,将开放领域的自然语言模型(例如 POS tagging),适配到具体领域,使得问答系统相关自然语言处理模块在特定领域正常运行。第二,从自然语言文本中,为特定领域进行自动化领域相关的知识抽取。
2.2. 研究系统性
整个研究强调整个研究的系统性,即不同层级之间的关联。一般来说,低层的结果被使用作为高层模型输入的一部分。其具体系统性关联如下:
1. 从实体到短文本
实体层为短文本中的实体提供了语义社团。利用该语义社团,短文本层可以得到实体的相关概念,以进行实体语义消岐。从而帮助短文本层得到更精确的实体概念信息和语义信息。
2. 从短文本到问题
短文本层为问题层提供动词语义以及实体概念信息。这为问题层的问题模板表示学习过程中的实体概念化提供了支持。
3. 从问题到问答系统
问题层的输出,即问题模板,是整个问答系统语义关联的基础。问答系统以问题模板为输入,学习问题模板到知识图谱结构的映射。
4. 从问答系统到领域应用
本文会将利用迁移学习将系统的自然语言处理模块应用到领域问答系统中。同时将应用层抽取的领域知识作为问答系统的知识源,以使问答系统可以适应领域问答。
第 3 节 本文组织结构
本文按照架构(图 1.2)中自底向上的顺序具体介绍每一项研究内容。第三章介绍实体层的语义社团搜索。第四章介绍短文本层的动词模板,并在应用中讲述如何利用动词模板提升基于上下文的实体概念化效果。第五章提出了问答系统 KBQA,包括对问题的模板化理解,以及问题模板到知识图谱的映射学习。在第六章和第七章,本文分别介绍了两个用于问答系统领域适配的技术:自言语言处理模型的领域迁移,和领域知识抽取。第八章给出了一个基于 Freebase 的具体系统展示。最后的第九章进行了总结和展望。
第四章 基于知识图谱的短文本动词理解
动词理解在自然语言的语义理解中至关重要。对于动词的理解,有助于问答系统在短文本层面理解问题语义,进而帮助实现上下文相关的实体概念化。传统的动词表示,如 FrameNet、PropBank、VerbNet 等,专注于动词的角色。但是动词角色过于粗粒度,无法表示和区分动词的语义。本章将介绍基于动词模板的动词语义表示模式。每个动词模板对应于动词的单个语义。首先本文分析了动词模板的原则:一般性和特殊性原则。然后提出一个非监督的最小描述长度模型来建模此问题。实验结果证明了模型的有效性。论文进一步将动词模板应用在上下文相关的实体概念化问题上。
第 1 节 引言
动词对句子的理解是至关重要的 [30, 104]。动词理解的一个主要问题是歧义性 [77],即当同一动词和不同宾语相结合时,会表示不同的语义。本文只考虑和宾语相结合的动词,即及物动词。就像例 4.1 中展示的那样,大部分动词都是具有歧义的。因此需要一个好的动词语义表示方式,来表示其奇异性。
例 4.1. eat 具有以下几种意思:
-
把食物在嘴里咀嚼并吞咽,例如 eat apple,eat hot dog。
-
吃一顿饭,例如 eat breakfast,eat lunch,eat dinner。
-
其他俗语。例如 eat humbie pie 表示承认错误。
许多典型的动词表示方式,包括 FrameNet [7],PropBank [52]和 VerbNet [82],侧重描述动词的语义角色(例如“eat”的摄食者和被进食物)。但是,语义角色是一种非常粗糙的表示,无法区分动词细粒度的语义。不同短语中的同一动词,可以在具有同样语义角色的同时表达不同的语义。在例 4.1 中,无论是“eat apple”还是“eat breakfast”,都具有摄食者等角色。但是这些 eat 具有有不同的语义。
由于无法表达动词的歧义性,传统动词表示形式方式无法完整的表示动词语义。在句子“I like eating pitaya”,人直接可以推断“pitaya”大概是一种食物,因为食物是最常见的“eat”的对应语义。这就可以让人利用上下文相关的概念化技术将“pitaya”理解为食物。而传统动词表示形式只理解“pitaya”是一个被进食物,而无法知道它是一顿饭还是一种食物。
动词模版
本文认为,动词模版可以用来表示一个动词更细粒度的语义。动词模版基于语言学家对单词结合的两个原则设计 [84]:俗语原则(idiom principle)和开放选择原则(open-choice principle)。基于这两个原则,本文设计了两种类型的动词模版: