KBQA: 趋势浅谈

KBQA: 趋势浅谈_第1张图片

KBQA

  • 前言
  • 一、百问
  • 二、十年
        • 基于神经网络
        • 基于语言学
        • 其他
  • 三、浪潮翻涌
        • ACL 2019
        • AAAI 2020
        • 其他
  • 四、尾声
  • 附录
        • Language to Logical Form with Neural Attention (Dong and Lapata, 2016)
        • Dialog-to-Action - Conversational Question Answering Over a Large-Scale Knowledge Base (Guo et al., 2018)
        • The Natural Language Decathlon: Multitask Learning as Question Answering (McCann et al., 2018)
  • 参考文献

前言

Knowledge-based Question Answering (KBQA) 领域经历了十余年的积淀,留下了诸多优秀的作品。从这些作品的迭代中,我们看到了这个领域逐渐趋于成熟的态势。基于神经网络的语义解析模型在 2014 年前后发迹,并逐渐成为主流,影响至今。而传统的语言学知识从未被遗忘,依然有人在负重前行。从搜索引擎到聊天机器人,KBQA 的应用早已悄悄融入我们的生活。

一、百问

为更好地理解前人的创造是如何工作的,不如先切身地感受他们面对的困难。对 QA 大背景下的所有的问题,进行统一的定义和分类,呈现以下结果:

类别 简介 Example Example Logical Expression
Simple Question (Entity) 简单的实体抽取问题 “Who was the dad of Jorgen Ottesen Brahe?” find(set={“Jorgen Ottesen Brahe”}, pre=“father”)
Simple Question (Predicate) 简单的关系抽取问题 “What’s the relationship between Jorgen Ottesen Brahe and Otte Brahe?” find(set={“Jorgen Ottesen Brahe”,“Otte Brahe”})
Complex Question (Logic) 多重实体抽取问题 “Which cities are municipalities in southern China?” filter(set=find(set={“China”},pre=“municipality”),pre=None,cond={“Southern China”})
Complex Question (Count) 实体统计问题 “How many children did Roosevelt have?” count(set=find(set={“Roosevelt”}, pre=“children”))
Complex Question (Contrast) 实体比较问题 “Who is the port with the largest annual throughput in the world?” argmax(set=find(set={“port”}, pre=“instance”),num=get(set={ENTITY}, pre=“annual throughput”))
Complex Question (Count & Contrast) 实体统计并比较的问题 “Which university has the maximum number of Nobel Prize winners?” argmax(set=find(set={“university”}, pre=“instance”),num=count(filter(set=find(set={ENTITY}, pre=“student”),pre=None,cond={“Nobel Prize”})))
Complex Question (Verification) 判断是非类问题 “Is New York the Capital of USA?” equal(setA={“New York”},setB=find(set={“USA”}, pre=“capital”)))

除了以上常规的单问题类型,还有以下非常规的问题类型:

类别 简介 Example
Coreference Question 无法找到实体,常见于多轮对话 “Who is the spouse of him?”
Ellipsis Question 无法找到谓词,常见于多轮对话 “Also tell me about Brett MacLean.”
Combined Question 多个独立问题组合 “Who created Apple and Amazon respectively?”
Unfactual Question 非既成的实时问题 “Which politican has been infected the coronavirus in USA?”
Macro Question 过于宏观的问题 “Tell me about the worldwide economy in 2020.”
Subjective Question 涉及主观判断的问题 “What do you think of Donald Trump?”
Nest Question 嵌套问题 “Who is the father of the sister of the mother of Mark Twain?”
Mis-Presented Question 包含错误的问题 “Who found the Carnegie Mellon University?”
Unquantifiable Question 相关指标无法量化的问题 “Is there any star more dangerous than quasar?”
Technical Question 涉及专业知识的问题 “How is ozone layer naturally generated?”

二、十年

KBQA: 趋势浅谈_第2张图片

十年前的今天,神经网络刚刚从历史的尘埃中走出,重新唤醒人们的记忆。那时的自动化 KBQA 尚无法达到工业应用的要求。在进行的项目中,项目开发者使用大量的语法规则识别问题,将谓词与关系之间的依赖关系定义明确,以期望问题能顺着他们预定义的思路得到解答。这样的项目,在小规模知识图谱的应用上并不少见。但由于缺乏泛化能力,每次在新的知识领域搭建 KBQA 系统,开发者们都需要重新进行规则的定义,以适应领域知识。彼时学术界还正画着依存关系图,思考着解决方案。

2013 年,谷歌第一次搭建起以维基百科作为背书的知识库,更名为知识图谱,引起世界关注。随后两年内推出了搜索引擎即时问答。当用户输入问题时,答案以一定的概率直接出现在搜索框下方。这一举,既完成了维基百科的导流,也提升了用户满意度。巧合的是,正是在这一年前后,KBQA 在学术界的热度迅速上升,并在 2017 年前后达到巅峰。

但是当然,这并不是谷歌的贡献。故事讲到这里先结束。

如同我们在上文所说,有一种简单的构建 KBQA 的方法,是定义大量的语法规则,顺着语法解析的路径,解决多重复合的问题。这样的 KBQA 项目部署起来简单迅速,对软硬件要求不高,搭配同义词映射表和具体的实体消歧规则,能在小规模知识图谱上取得不错的效果,因而十分流行,常见于任务型 KBQA 系统。但这样的模式缺点也非常明显,那便是泛化能力不足。当图谱的规模逐渐扩大,关系的数量逐渐增多,从数据中寻求解决方案,自动构建 KBQA 的需求也就变得非常明确了。因此我们避开工业界这一常见的做法,探讨那些基于大数据构建有效模型的 KBQA 工作。

KBQA 的研究,根据目标问题的性质,可以分为几个方向。第一个是针对 简单问题 (simple question) ,第二个针对与其相对的 复杂问题 (complex question)。大量的研究者认为,现在的学术界连简单问题都没能很好地解决,研究复杂问题简直是在浪费时间。但也有专业人士认为,在寻求复杂问题的解决方案时,能同时收获有效的简单问题应对方案。正是在这样的争论下,针对简单问题和复杂问题的研究齐驱并进,共同占据了 KBQA 的半壁江山。而除这两个方向,其他的领域多和一些特殊的问题类型有关,例如 TEQUILA (Jia et al., 2018) 通过将问题分解,解决时间相关的非事实类问题;TSHCNN (Gupta et al., 2018) 基于文本 CNN,应对多种语言混合的问题。

从设计理念上,最主流的 KBQA 方案是 语义解析 (semantic parsing, SP) 模型。具体做法是通过一定的语义理解架构,将自然语言问题 (utterance/query) 转换为机器可执行的 逻辑表达式 (logical form) (Zelle and Mooney, 1996)。这一理念合情合理,也给予了研究者巨大的探索空间,其中一点表现在数据上:现有的数据集往往提供 问题-答案 对,而模型真正需要的是 问题-逻辑表达式 对。为此,我们需要预先定义完整的 逻辑规则,再基于该逻辑规则,展开深度优先搜索或广度优先搜索,在知识图谱搜寻指向答案的路径。人工标注也能解决这一问题,但很少有人真的这么做。这一套借力的机制称为 距离监督 (distant supervision)。开发者往往在这个过程中添加一定的剪枝策略,以减少时间的损耗。除这一点饱受诟病,SP 模型以其高自由度、强泛化能力以及大型知识图谱的适应性,维持着其难以撼动的地位。

依照具体的技术方案,可以将 SP 模型分为两个大类:一类基于神经网络,一类基于传统语言学。

基于神经网络

KBQA 起初是语言学的天下,自深度学习成为热潮后,主流模型逐渐被神经网络所取代,并任务表现上远远超出了基于传统语言学的模型。类似的事情,也发生在我们熟悉的计算机视觉领域。我们以以下几个具有代表性的作品为例,一窥其演变历史:

  • Vlachos and Clark, 2014 使用一系列串行的 分类模型 识别问题的模式,并依据既定的模板生成机器可执行的程序;

KBQA: 趋势浅谈_第3张图片

  • Dong and Lapada, 2016 基于 biLSTM 和 Attention 机制,构建 Seq2Tree 的 encoder-decoder 架构,在推理时逐路径生成 逻辑树

KBQA: 趋势浅谈_第4张图片

  • Zhong et al, 2017 使用 强化学习 (reinforcement learning) 使模型自动生成 SQL 条件,最终形成完整的 SQL 语句;
    KBQA: 趋势浅谈_第5张图片

  • Suhr et al., 2018 在逻辑中引入 copy mechanism,以在模型需要时复刻前几轮对话生成的序列,完成共指消解 (coreference) ;
    KBQA: 趋势浅谈_第6张图片

  • Guo et al., 2018 使用能应付绝大多数复杂问题的 语法 将逻辑表达式定义为线性的逻辑组合,并引入 记忆模块 管理实体和关系;
    KBQA: 趋势浅谈_第7张图片

  • McCann et al., 2018 汇集来自十个 NLP 子领域的公开数据集,统一转换为 context-question-answer 的数据形式,训练 multi-task learning 网络;
    KBQA: 趋势浅谈_第8张图片

  • Shen et al., 2019 基于 D2A,加入时下流行的 BERT 预训练及微调,构建 multi-task learning 框架,并在实体和关系两项检测之外,加入 实体类别分类器,提高实体链接的准确度。

KBQA: 趋势浅谈_第9张图片

基于神经网络的这一套演变中,有变,也有不变。不变的是,依靠语义解析生成逻辑表达式这一中心思想从未改变;变的是,底层模型的架构跟随 NLP 社区的进步而演化。每当 NLP 社区有突破性的算法或理念出现时,基于神经网络的 SP 模型都会迎来一阵研究热潮,先后的几个燃点分别有:LSTMSeq2SeqAttentionpointer强化学习multi-task learningBERT。从过去的历史来看,KBQA 领域内部难以产生独具特色、一鸣惊人的模型。

由于数据的性质类似,机器翻译领域和 KBQA 领域始终在互相学习。机器翻译模型以 Transformer 作为主流,而 KBQA 模型始终以循环神经网络系作为解码器。很重要的原因,在于 KBQA 的 target 语言逻辑表达式,定义是简单而明确的,数量也较少,而机器翻译的 target 是另一个庞大的语言体系。

基于语言学

基于神经网络的方法能有效地从大数据中学习特征,获得姣好的模型效果,但缺乏解释性。为此,学术界也从未放弃语言学的应用:

  • Zettlemoyer et al., 2009 使用 组合范畴语法 (Combinatory Categorical Grammar, CCG) (Steedman, 1996) 对文本进行层层解构,转换为 λ \lambda λ-calculus 表达式,并使用上文中检测到的实体填充下文空缺的部分,以达到解析长问句的目的;
    KBQA: 趋势浅谈_第10张图片

  • Liang et al., 2013 基于 λ \lambda λ-calculus 提出 λ \lambda λ depedence-based compositional semantic ( λ \lambda λ-DCS),偏重文本中的计量信息,并消除表达式中的变量,减少逻辑表达的复杂性;
    在这里插入图片描述

  • Yao et al., 2014 基于依存解析树,提取问题特征,形成 问题特征图 (question feature graph),并依据实体在知识库中检索,生成 主题图 (topic graph),将两图对齐,提取答案;
    KBQA: 趋势浅谈_第11张图片

  • Herzig et al., 2018 发挥 零样本学习 (zero-shot learning) 的理念,通过距离监督,训练一个输出逻辑表达模板的语义解析模型,在推理时使用实体替换模板中的表示因子,形成完整表达式;
    KBQA: 趋势浅谈_第12张图片

  • Jie et al., 2018 通过构建 依存混合树 (dependency-based hybrid tree),为节点和语法结构进行编码,寻求最优的转移路径;
    KBQA: 趋势浅谈_第13张图片

  • Gupta et al., 2018 训练一套 语法算子 (semantic operator),效仿组合语法对句子进行分层解构,推理时使用动态规划寻求最优的组合策略。
    KBQA: 趋势浅谈_第14张图片

几乎所有以语言学知识为背景的 SP 模型,都以 句法解析 (syntactic parsing) 作为模型的核心。句法解析方法通常分为两种,一种是以 Combinatory Categorical Grammar (CCG)、Head-driven Phrase Structure Grammar (HPSG) 为代表的 constituency grammar (又称为 phrase structure grammar, PS-grammar),一种是 dependency grammar (D-grammar)。前者更关注近距离的组合关系,能够有效地拆解复杂问题,但缺点是解析的过程复杂而漫长,且无法应对生僻词;后者更关注远距离的依赖关系,解析语句简单高效,但容易形成跨结构依赖,且难以应对多谓词的复杂问题。

多数情况下,两种语法的效果不相上下。但由于基于后者的句法解析结构可以更轻松地转换为逻辑树,因而我们可以看到许多基于依存关系的 SP 模型。无论使用上述哪种策略,在实际的工程应用中,我们都需要获取足够多的领域标注数据,使用如 概率上下文无关文法 (Probabilistic Context-Free Grammar) 的语言学统计算法来训练句法解析模型。如此以后,方能进行推理应用。

十年里,前期的研究重点在于定义规范的逻辑表达语法,以及优化的句法解析规则;到了后期,研究的中心转移到自动学习逻辑规则,以及与神经网络相结合。

其他

在基于生成逻辑表达式的语义解析模型之外,还有一些相对冷门的方法论,例如基于知识表示学习直接端对端地从知识库中抽取答案。这些方法需要大量的计算资源,同时也无法适用到大型知识图谱,因此我们不加以讨论。

从论文的发表数量和引用量上来看,SP 模型的研究在 2017 年达到顶峰,并由于方法逐渐趋于成熟,在随后几年逐渐下降。几年里,研究人员们进行了多方面的尝试。使人遗憾的是,在这些尝试背后,逻辑表达式始终没有统一的标准和规范。从类 SQL 语句 (例如 SPARQL、GraphQL 等)、 λ \lambda λ-calculus 到自定义的逻辑组合,绝大多数研究者都运用自己认可的逻辑规则,配合时下流行的模型,在有限的数据集上验证。造成 KBQA 领域的大部分模型都难有说服力。KBQA 也终究没有如同 MRC 任务中, SQuAD 那样使大部分研究者能够认可并公平竞争的标杆数据集。

此外,由于大量实体带来大量生僻词,预训练模型运用在 KBQA 上,往往提升有限。相对地,逻辑规则 成为影响模型性能最为关键的要素。逻辑规则的质量决定了逻辑表达式的质量,从而间接地影响了模型效果。对于开发者们来说,这也是一项挑战,那便是如何根据自身的业务,量身订造合适的逻辑规则。

目前,我们只讨论了 KBQA 模型如何处理语义信息。实际上,KBQA 的研究边界难以界定。例如,在 搜索引擎 中,KBQA 涉及到实体/关系检测、语义解析和实体/关系链接;在 图谱检索 中,只涉及到实体/关系检测和实体/关系链接;而在 任务/聊天机器人 中,还需要涉及对话管理和自然语言生成。目前 KBQA 中出现的 对话管理 方案,包括:

  • Copy Mechanism:复刻前轮对话生成的逻辑表达式序列;
  • Joint Learning:将历史问题和答案加入到当前对话中共同训练;
  • Slot Filling:识别的实体和关系按性质填充到对应的槽位中,供下轮对话取用;
  • State Tracking:当出现实体和关系空缺时,使用 MRC 模型从前几轮对话中找寻答案;
  • Context Graph:以图谱的形式存储对话中涉及的实体、关系和事件,图谱的规模随对话进行逐渐扩大。

除以上讨论的应用场景外,还有研究者将 KBQA 的问题和其他 QA 领域的知识结合起来,促成统一的 QA 系统。Miller et al., 2016 基于 2015 年 MRC 领域的经典模型 Memory Network,提出构建 Key-Value Memory Network,将 KB 中相关的事实三元组及文本中检测到的拟三元组,以键值对的形式存储在记忆中,应对需要 multi-hop 推理的 MRC 问题。这时,与其说是 MRC 模型提升了 KBQA 能力,不如反过来说是 KB 帮助解决了 MRC 问题。这是由数据集的性质决定的。因此我们不把这一类问题归类到 KBQA 领域。

三、浪潮翻涌

ACL 2019

https://www.aclweb.org/anthology/volumes/P19-1/

ACL (abbr. Association for Computational Linguistics) 因极具综合性,是公认最好的的自然语言处理顶会之一。ACL 2019 总共接收投稿 2,900 余篇,较前一年增长 75%,其中 660 篇被录用,接受率 22.7%。有专业机构 RUC AI Box 使用 660 篇论文的标题做了一个词云,如上所示。提交的 2,900 余篇论文中,数量上排名前五的子领域分别为 信息提取和文本挖掘 (9%)、机器翻译 (8%)、机器学习 (7%)、对话与交互系统 (7%) 以及自然语言生成 (6%)。其中,自然语言生成、语言理论、认知建模以及语言心理学的投稿数量较前一年有 3-4 倍的增幅。知识图谱相关的论文约 30 篇。而知识库虽是对话系统重要的知识来源,但接收的对话与交互系统论文多与指令型 (如工厂作业机器人) 机器人和聊天型机器人有关,并不涉及从知识库中汲取知识。与往年对比,知识图谱在 NLP 社区的讨论度在逐年减少。

Saha et al. 推出 Complex Imperative Program Induction from Terminal Rewards (CIPITR),基于 强化学习 使模型自动生成可执行的程序,在训练中找寻解决问题的逻辑路径。

KBQA: 趋势浅谈_第15张图片
CIPITR 对 KBQA 社区的最大贡献在于,它是第一个跳过弱监督数据的生成环节,直接使用问题-答案对作为训练材料,生成可执行程序的模型。这样的做法有利有弊,利是减少人工对模型的干预,进一步加深模型的自动化,减少在弱监督数据生成时繁复的 剪枝工作;弊是由于人工干预的缺失,容易使模型生成能够导向答案,但逻辑错误的路径。这样的路径,学术界称为 spurious creation。有研究者专门研究如何解决这类问题 (Shen et al., 2019)。这篇论文是 ACL 2019 录取的佳作中唯一一篇正面挑战 SP 模型的,遗憾的是,在同样的一套 CSQA 数据集上,CIPITR 最终没能超过 2019 年上半年 Shen et al. 创造的 state-of-the-art (SOTA) 成绩。

ACL 2019 收录的另几篇相关论文中,Yang et al. 和 Xiong et al. 延续 QA 的主题,在一些阅读理解 (Machine Reading Comprehension, MRC) 任务上取得了不错的成绩。Yang el al. 推出 KT-Net,使用注意力机制适应性地从 KB 中提取相关实体的 embedding,而后将其与 BERT 的编码相结合,输送到下游环节;最终模型在 ReCoRD 和 SQuAD1.1 两大数据集上名列单模型榜首。
KBQA: 趋势浅谈_第16张图片

Xiong et al. 使用基于 图注意网络 的阅读器从知识库中读取相关实体的邻接信息,再运用点积注意力机制将文本知识与 KB 知识结合,最后经由 biLSTM 单元扫描文本,获取答案。

KBQA: 趋势浅谈_第17张图片
MRC 的模型相对于 KBQA 模型而言,更注重数学方法,也更缺乏可解释性,甚至一些在我们看来匪夷所思的搭配,却能够创造不错的成绩。鉴于此,最近两年催生出了不少模型解释性策略,试图使用负面样本或其他的方法来检测模型的真实能力。ACL 2019 中也有相关的论文。Sydorova et al. 借用 2017 年 Das et al. 推出的 TextKBQA 模型,分析三种 模型解释性策略,Attention、Local Interpretable Model-Agnostic Explanation (LIME) 和 Input Perturbation (IP) 的优劣,最终 IP 胜出,获得最高的相关性评测分数。到这里,我们的讨论内容已经离 KBQA 越来越远了。从 2016 年 Miler et al. 第一次尝试将 KB 与文本结合以提升 MRC 成绩,到如今依然有大量的研究者从事相关工作。而在 BERT 之后,各种大型预训练模型层出不穷,也带动着 MRC 社区进一步前行。SQuAD 2.0 榜单甚至一度成为现在 NLP 社区公认的,关注度最高的数据集榜单。与之相对的,纯粹的 KBQA 的影子已经越来越少。

其余我们未提及的知识图谱论文,主要分布在知识表示学习、图谱补全、实体/关系链接、自然语言生成这五个细分领域。而这五个领域,正好也是 2019 年大热的 图神经网络 (Graph Neural Network, GNN) 侵占的腹地。应用最多的是 图注意力网络图卷积网络,应用的领域多为 知识表示学习 (或称为知识图谱嵌入)。依目前图神经网络蓬勃的发展态势,其对 NLP 社区的影响力想必还会继续。

AAAI 2020

https://aaai.org/Conferences/AAAI-20/wp-content/uploads/2020/01/AAAI-20-Accepted-Paper-List.pdf

AAAI (abbr. Association for the Advancement of Artificial Intelligence) 由于近年来 AI 大火,论文投稿数量成倍增长,成为今年来最受关注的顶会之一。与其他顶会相比,AAAI 包罗万象,更容易接纳新鲜的事物。AAAI 2020 总共收到投稿 8,800 篇,其中收录 1,591 篇,接收率为 20.6%。接收知识图谱类论文 38 篇,其中 14 篇关于图谱补全,13 篇关于实体/关系链接,3 篇关于图谱对齐,3 篇关于知识表示学习,2 篇关于 KBQA,其余 3 篇其他子领域。

在这两篇关于 KBQA 的佳作中,Sun et al. 基于 2017 年 Reddy et al. 的工作,提出一种全新的语法架构 Sketelon-based Semantic Parsing for Question Answering (SPARQA),以应对前者在处理 complex question 时容易出现的结构性错误。

KBQA: 趋势浅谈_第18张图片
这篇论文延续了 KBQA 研究中传统语言学流派的工作。将问题到逻辑表达式的映射分为三个步骤:解析问题结构,通过 句法依存树 提取实体和谓词,以及基于知识库将以上产出转变为机器可理解的表达式。

另一篇论文 Lv et al., 2019 则是 QA 类的文章,解决 question-choice 对的 自然语言推理 (Natural Language Inference, NLI) 问题。作者在识别实体后从知识库中抽取 three-hop 以内的子图,使用 ElasticSearch 从维基库抽取 top 10 匹配的文本。随后将这些抽取的 evidence 分为两路,一路与 question-choice 合并输入 XLNet 获取 contextual embedding,一路通过图卷积网络获取 node embedding。最后两路汇合,经由图注意力网络预测答案。

KBQA: 趋势浅谈_第19张图片

这是一篇融汇了大量知识,堪称工程级别的作品,将近两年内诸多学术界成果融合到一起。最终,模型在大型常识类数据集 CommonsenseQA 上取得了 SOTA 成绩。从数据的层面看,这篇文章应不属于 KBQA 的范畴,但综合利用现有知识来源,结合结构性文本和非结构性文本的方式,值得学习。

其他

NeurIPS2019: https://nips.cc/Conferences/2019/Schedule?type=Poster
ICLR2019: https://iclr.cc/Conferences/2019/Schedule?type=Poster

NeurIPS 是 1987 年便开始举办的老牌顶级会议,见证了 AI 史上诸多奇迹的诞生。ICLR 由三位深度学习巨头中的两位,Bengio 和 LeCun 联手创办,重视表示学习的研究,近年来表示学习在各领域生根发芽,ICLR 功不可没。2019 年掀起一阵狂澜的 GPT-2 正是在 ICLR 会议上展示的。两所都是关注泛机器学习领域的顶级会议,NLP 不是关注的重点,因此相对而言不太容易找出关于知识图谱的讨论。2019 年两所顶会总共收录知识图谱类论文 4 篇,其中 3 篇关于知识表示学习,1 篇关于图谱补全。很遗憾没能看到 KBQA 的身影。但 ICLR 评选出的两篇最佳论文中,其中一篇 Shen et al. 所著,标题为《Ordered Neurons: Integrating Tree Structures into Recurrent Neural Networks》的论文,由于涉及如何将 RNN 类神经网络的线性结构向树状结构转换,对 SP 模型的研究具有一定启发性,因此值得一读。

届于时间原因,笔者未能再去研究其他顶会的 KBQA 相关论文,读者如有兴趣,可以自行前往拜读。

四、尾声

从 2019 年到 2020 年的顶会来看,当前的 KBQA 工作更多的是提供对其他 NLP 子任务的支持,或是完善上下游其他子环节。语义解析类的工作已逐渐陷入沉寂,等待新的燃点。

在聊天机器人领域,微软小冰是当之无愧的佼佼者。在小冰凭借俏皮可爱的形象,上线各大聊天软件引起一段时间轰动后,复又退居二线,投入 ToB 产品中,在各个专业领域从事 KBQA 的工作。目前,我们依然无法见到能解答常识类问题的机器人。未来,伴随着学术界的进步,我们期望看到 KBQA 在我们日常生活中发挥更大的作用。

附录

Language to Logical Form with Neural Attention (Dong and Lapata, 2016)

论文指出,传统的语义解析模型依赖于高质量的词典、人工设计的模板以及表示明确的语言学特征,仅能在 specific domain 使用,为此推出一套基于 Attention 机制的 encoder-decoder 框架,最小化建模所需的领域知识。模型使用 biLSTM 作为编码器和解码器,并以所有解码器的隐藏向量 ( h 1 , . . . , h ∣ q ∣ ) (h_1,...,h_{|q|}) (h1,...,hq) 作为 query 计算 Attention,对于每个隐藏向量 h k h_k hk,Attention 的 key 是其前 k − 1 k-1 k1 个隐藏向量。获得 ∣ q ∣ |q| q 个编码器隐藏向量的 Attention score 后,乘以对应的隐藏向量得到语义输出 c t c^t ct。语义向量 c t c^t ct 最终将在解码器的每一个步长与 biLSTM 的隐藏向量相加,得到 h t a t t h_t^{att} htatt。将 h t a t t h_t^{att} htatt 输入全连接层得到第 t t t 个时间步长的输出 y t y_t yt
KBQA: 趋势浅谈_第20张图片

为得到清晰的逻辑树,在推理阶段将线性的 sequence 结构转变为树状结构。每当解码器的输出为 < n n n> 时,对接下来的推理步骤进行分流,如下图所示。
KBQA: 趋势浅谈_第21张图片
在此基础上,推理时使用 束优化 (beam search) 获取全局概率最大化的序列输出。这篇论文因其谨慎而严密的方法论,成为近十年 KBQA 领域中关注度和引用量最高的模型之一。既能应对简单问题,也能应对复杂问题。然而作者并没有抛出它的逻辑规则,留给了我们很多猜想。

Dialog-to-Action - Conversational Question Answering Over a Large-Scale Knowledge Base (Guo et al., 2018)

论文以自由灵活的语法为主,以模型为辅,证明在一套规范的语法下,能够应付绝大多数的复杂问题。

KBQA: 趋势浅谈_第22张图片

论文使用的数据集 CSQA 是近些年来规模最大,问题类型最多的复杂问题数据集。其中包含了简单问题、逻辑推理问题、计量推理问题、比较推理问题和验证类问题等。模型皆能应付。

KBQA: 趋势浅谈_第23张图片

逻辑表达式的完整形态同样以树的形式呈现,但不同的是,本篇论文使用线性结构输出逻辑表达式的主干,枝干由主干部分自动拆分补充。结构上,模型依然采用 encoder-decoder 架构,encoder 由 biGRU 组成,decoder 为单向的 GRU。

The Natural Language Decathlon: Multitask Learning as Question Answering (McCann et al., 2018)

这篇可以说是非常惊艳的论文,将 NLP 社区近年来多种优质的产出结合在一起。理念上,运用了 multi-task learningtransfer learningzero-shot learningmeta learning。数据上,结合了来自十个不同 NLP 子任务的数据集,其中有一些甚至是标杆性数据集。

KBQA: 趋势浅谈_第24张图片
模型上,同时应用了 biLSTMSeq2SeqCoattentionself-Attentionmulti-head Attentionpointer。大量的试验和切除测试,使得这篇论文变得极度有启发性。

KBQA: 趋势浅谈_第25张图片

回到论文本身,为了实现这一多任务学习框架,作者将数据统一转换成 context-question-answer 的形式。并针对不同的数据集,使用不同的 decoder 来获得输出,例如机器翻译数据集 IWSLT 使用的是 biLSTM,阅读理解数据集 SQuAD 使用的是 pointer network。以 Seq2Seq 作为基准模型,大量的试验过后获得以下成绩:

KBQA: 趋势浅谈_第26张图片

参考文献

  • Abujabal, Abdalghani, Mohamed Yahya, Mirek Riedewald, and Gerhard Weikum. “Automated Template Generation for Question Answering over Knowledge Graphs”, In Proceedings of the 26th International Conference on World Wide Web. 2017.

  • Chen, Bo, Le Sun, and Xianpei Han. “Sequence-to-Action: End-to-End Semantic Graph Generation for Semantic Parsing”, arXiv preprint arXiv:1809.00773. 2018.

  • Chen, David L., and Raymond J. Mooney. “Learning to interpret natural language navigation instructions from observations”. In Proceedings of the 15th AAAI, pp. 859– 865. 2011.

  • Cheng, Jianpeng, Siva Reddy, Vijay Saraswat, and Mirella Lapata. “Learning structured natural language representations for semantic parsing”, arXiv preprint arXiv:1704.08387. 2017.

  • Christmann, Philipp, Rishiraj Saha Roy, Abdalghani Abujabal, Jyotsna Singh, and Gerhard Weikum. “Look before you Hop: Conversational Question Answering over Knowledge Graphs Using Judicious Context Expansion”, In Proceedings of the 28th ACM International Conference on Information and Knowledge Management (CIKM '19). 2019.

  • Dong, Li and Mirella Lapata. “Language to logical form with neural attention”. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 33-43. 2016.

  • Dong, Li and Mirella Lapata. “Coarse-to-fine decoding for neural semantic parsing”. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, pp. 731–742. 2018.

  • Dubey, Mohnish, Debayan Banerjee, Debanjan Chaudhuri, and Jens Lehmann. “EARL: joint entity and relation linking for question answering over knowledge graphs.” In International Semantic Web Conference, pp. 108-126. 2018.

  • Gao, Jianfeng, Michel Galley, and Lihong Li. “Neural approaches to conversational ai.”, Foundations and Trends® in Information Retrieval 13, no. 2-3 (2019): 127-298.

  • Guo, Daya, Duyu Tang, Nan Duan, Ming Zhou, and Jian Yin. “Dialog-to-Action: Conversational Question Answering Over a Large-Scale Knowledge Base”, In Advances in Neural Information Processing Systems (NIPS), pp. 2946-2955. 2018.

  • Gupta, Nitish, and Mike Lewis. “Neural Compositional Denotational Semantics for Question Answering”, arXiv preprint arXiv:1808.09942. 2018.

  • Gupta, Vishal, Manoj Chinnakotla, and Manish Shrivastava. “TSHCNN: Transliteration Better than Translation? Answering Code-mixed Questions over a Knowledge Base”, In Proceedings of the Third Workshop on Computational Approaches to Linguistic Code-Switching, pp. 39-50. 2018.

  • Herzig, Jonathan, and Jonathan Berant. “Decoupling Structure and Lexicon for Zero-Shot Semantic Parsing”, In In EMNLP 2018, pp. 1619–1629. 2018.

  • Jia, Zhen, Abdalghani Abujabal, Rishiraj Saha Roy, Jannik Strötgen, and Gerhard Weikum. “TEQUILA: Temporal Question Answering over Knowledge Bases”, In Proceedings of the 27th ACM International Conference on Information and Knowledge, pp. 1807-1810. 2018.

  • Jie, Zhanming, and Wei Lu. “Dependency-based Hybrid Trees for Semantic Parsing”, In EMNLP 2018, pp. 2431–2441. 2018.

  • Labutov, Igor, Bishan Yang, and Tom Mitchell. “Learning to Learn Semantic Parsers from Natural Language Supervision”, In EMNLP 2018, pp. 1676–1690. 2018.

  • Liang, Percy, Michael I. Jordan, and Dan Klein. “Learning dependency-based compositional semantics”. In Computational Linguistics, vol. 39(2), pp. 389–446. 2013.

  • Lv, Shangwen, Daya Guo, Jingjing Xu, Duyu Tang, Nan Duan, Ming Gong, Linjun Shou, Daxin Jiang, Guihong Cao, and Songlin Hu. “Graph-Based Reasoning over Heterogeneous External Knowledge for Commonsense Question Answering”, arXiv preprint arXiv:1909.05311. 2019.

  • Miller, Alexander, Adam Fisch, Jesse Dodge, Amir-Hossein Karimi, Antoine Bordes, and Jason Weston. “Key-value memory networks for directly reading documents.” arXiv preprint arXiv:1606.03126 (2016).

  • McCann, Bryan, Nitish Shirish Keskar, Caiming Xiong, and Richard Socher. “The Natural Language Decathlon: Multitask Learning as Question Answering”, arXiv preprint arXiv:1806.08730. 2018.

  • Reddy, Siva, Oscar Täckström, Michael Collins, and Tom Kwiatkowski. “Transforming dependency structures to logical forms for semantic parsing”, In Transactions of the Association for Computational Linguistics, vol. 4, pp. 127-141. 2016.

  • Saha, Amrita, Ghulam Ahmed Ansari, Abhishek Laddha, Karthik Sankaranarayanan, and Soumen Chakrabarti. “Complex Program Induction for Querying Knowledge Bases in the Absence of Gold Programs”, In Transactions of the Association for Computational Linguistics, vol. 7, pp. 185-200. 2019.

  • Shen, Tao, Xiubo Geng, Tao Qin, Daya Guo, Duyu Tang, Nan Duan, Guodong Long, and Daxin Jiang. “Multi-Task Learning for Conversational Question Answering over a Large-Scale Knowledge Base”, arXiv preprint arXiv: 1910.05069. 2019.

  • Shen, Yikang, Shawn Tan, Alessandro Sordoni, and Aaron Courville. “Ordered neurons: Integrating tree structures into recurrent neural networks.” arXiv preprint arXiv:1810.09536, 2018.

  • Suhr, Alane, Srinivasan Iyer, and Yoav Artzi. “Learning to map context-dependent sentences to executable formal queries”, arXiv preprint arXiv: 1804.06868. 2018.

  • Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. “End-to-end memory networks.” In Advances in neural information processing systems, pp. 2440-2448. 2015.

  • Sun, Yawei, Lingling Zhang, Gong Cheng, and Yuzhong Qu. “SPARQA: Skeleton-based Semantic Parsing for Complex Questions over Knowledge Bases”, arXiv preprint arXiv:2003.13956. 2020.

  • Sydorova, Alona, Nina Poerner, and Benjamin Roth. “Interpretable Question Answering on Knowledge Bases and Text.” arXiv preprint arXiv:1906.10924. 2019.

  • Vlachos, Andreas, and Stephen Clark. “A new corpus and imitation learning framework for context-dependent semantic parsing”, In Transactions of the Association for Computational Linguistics, vol. 2, pp. 547-559. 2014.

  • Xiao, Chunyang, Marc Dymetman, and Claire Gardent. “Sequence-based structured prediction for semantic parsing”, In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, vol.1: Long Papers, pp 1341-1350. 2016.

  • Xiong, Wenhan, Mo Yu, Shiyu Chang, Xiaoxiao Guo, and William Yang Wang. “Improving Question Answering over Incomplete KBs with Knowledge-Aware Reader”, arXiv preprint arXiv:1905.07098. 2019.

  • Yang, An, Quan Wang, Jing Liu, Kai Liu, Yajuan Lyu, Hua Wu, Qiaoqiao She, and Sujian Li. “Enhancing pre-trained language representations with rich knowledge for machine reading comprehension.” In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 2346-2357. 2019.

  • Zelle, M., and R. J. Mooney. “Learning to parse database queries using inductive logic programming”. In Association for the Advancement of Artificial Intelligence (AAAI), pp. 1050–1055. 1996.

  • Zettlemoyer, Luke S., and Michael Collins. “Learning context-dependent mappings from sentences to logical form”, In Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP, pp. 976-984. 2009.

  • Zhong, Victor, Caiming Xiong, and Richard Socher. “Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learning”, arXiv preprint arXiv:1709.00103. 2017.

你可能感兴趣的:(自然语言处理,算法,深度学习,笔记)