语义分析(Semantic Parsing)调研

semantic parsing 调研综述

任务说明

semantic parsing,语义解析,从名称上来说,是一种相对于语法分析级别上更为高层的分析。具体来说,通常指的是将自然语言转换成为机器可以理解的意义表示。这种机器可以理解的意义表示,通常指逻辑形式(Logic Forms)。以下给出一个范例说明:

NL(natural language): article published in 1950
CF(canonical form): article whose publication date is 1950
LF(logic form): get[[lambda,s,[filter,s,pubDate,=,1950]],article]
DT(derivation tree): s0(np0 (np1 (typenp0), cp0 (relnp0, entitynp0))
DS(derivation seqs): s0 np0 np1 typenp0 cp0 relnp0 entitynp0

本文调研角度,主要侧重于semantic parsing这个任务的当前进展形式如何,了解在各个常用的实验数据集上的the-state-of-the-art的方法发展等。

调研结果

本文涉及的论文集合主要包含的是2015~2017年在ACL,EMNLP等会议上的文章,其中做了一些筛选,可能有所遗漏。

在所调研的文章中,其中实验使用较广的数据集有:GEO,JOBs,WebQuestions,WebQuestionsSP,WIKITABLEQUESTIONS,OVERNIGHT等。接下来从在从各个数据集上出发,做一个 state-of-the-art的报告:

  • GEO DATA:89.3

    构建更多的训练数据:在Data recombination for neural semantic parsing这篇文章中,基于 seq-to-seq 的 RNN 模型,结合 Attention-based Copying 机制,对应的是将一些可能没有转换规则的word直接输出,而不是再去从softmax 层去获取输出。这一点可以将 RNN-based的方法从74.6提升至85.0。本文更为重要的贡献是从给定的初始训练集中,利用同步上下文文法,以及抽象实体等方式,生成更多的in-domain的训练样例,使得模型获得了提升。

  • JOBs DATA:90.0

    不要手工特征,DL使我 happy:在 Language to logical form with neural attention一文中,作者利用 RNN以及注意力机制构建了seq-to-seq 模型,已经在此基础上构建了一个 tree-decoder,即为 seq-to-tree。其中 seq-to-tree model 获得了在神经网络方法上的state-of-the-art,在此之前,Percy liang(2013) 一篇基于DCS-L 的方法拥有更好的性能,但需要一系列手工特征设计。

  • FREE:79.2

    标注,不存在的:Large-scale semantic parsing without question answer pairs。在之前提过的方案中,训练实例是,这种形式需要的代价往往较大;还有一些人提到的方案面向 question-answer pair,但本文更厉害,连 question-answer 的 pair 都不需要了。基于 Freebase,利用 CCG parser 将输入转为 semantic graph,利用了自然语言与知识库中的概念之间的联系,用该semantic graph去 Freebase 中去进行匹配获取 answer。

  • WebQuestions 52.5/52.6(ranking)

    分级搜索?知识库帮我pruning:在Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base中,定义query graph 为可以直接从知识库转为 logical form,定义 semantic parsing 的任务为生成 query graph。本文利用 knowledge base 进行预先的实体链指,利用 Deep CNN 来进行 question 和 predicate 的匹配程度计算,获得了当前的 state-of-the-art.

  • OVERNIGHT 48.8/58.8/72.7

    该数据集构建之前,诸位大佬的实验均在GEO 和 JOBs上,该数据构建之后,开始一顿狂刷。但是报结果的人都很奇怪,总共8个 domain,有人报七个,有人报8个,报7个的后来者,就把报8个 domain 的人的结果拿过来算一下平均做对比。

    其中58.8的结果为 Building a semantic parser overnight这篇文章中的结果,做法倒不是特别重要了,因为这个数据集就是从这篇文章中出来的。

    72.7的结果为Sequence-based structured prediction for semantic parsing中所提出,其在 RNN-based 模型上增加了语法的限制。对应的设计了一系列性能结果。

    48.8为IJCAI 2017中Symbolic Priors for RNN-based Semantic Parsing新提出的方法的结果,走的路子与Sequence-based structured prediction for semantic parsing相似,但定位于利用先验知识在 input dependency上进行处理,利用 well-formedness 的逻辑文法,对相应的实体进行处理。其文中对比了72.7的方法,但评测的指标数却不是72.7了。

一些结论

以上是在各个数据集合上当前的 state-of-the-art 方法,以下是收集到的文章列表。

  • 从训练方式来看,趋势是从原始的question-logical form pair到自己生成更多的样例,到使用集合更大的question-answer pair,甚至是without question-answer pair而直接与海量知识库结合,即标注不够用,能不能自己造,能不能不用标注等。
  • 从模型来说,紧随深度学习潮流,新方法很快迁移。seq-to-seq 可以,那就 seq-to-seq,attention 火,那就赶快引进,包括使用multi-head Attention 等。
  • 2017年的三篇文章,两篇是结合文法或者符号先验的,一篇是 universal learning 方面的。这也算一种趋势吧,与符号结合以及面向更为通用的场景去设计。
    • Symbolic Priors for RNN-based Semantic Parsing
    • Macro Grammars and Holistic Triggering for Efficient Semantic Parsing
    • Universal Semantic Parsing(2017)

论文收集列表

论文标题 数据集&&性能 方法 备注
Symbolic Priors for RNN-based Semantic Parsing(IJCAI2017) OVERNIGHT:48.8 结合符号先验背景在一个 RNN 模型,主要是利用一些 well-formedness 逻辑形式 需要标注体系,面向 semantic parsing 本身
Sequence-based structured prediction for semantic parsing(ACL2016) OVERNIGHT:72.7 早于第一篇将语法限制放入一个 RNN 模型 性能与第一篇中提到的结果不太一样,需要标注体系
Learning semantic parsers on freebase with weak supervision(2016) WEBQsSP F1:71.7 利用神经符号机器不用人工标注任何特征,面向问题的答案,而没有中间的 LF 形式 利用强化学习,面向 Q-A pairs,不需要中间逻辑形式的标注
Data recombination for neural semantic parsing(2016) GEO 89.3 ATIS 83.3 OVERNIGHT:77.5 Seq-to-seq + Attention copying 生成式模型,需要标注辅助
Language to logical form with neural attention(ACL2016) JOBS 87.1/90.0 GEO 84.6/87.1 ATIS 84.2/84.6 Seq-to-seq or Seq-to-tree 性能较往年方法并不强势,但贵在不需要手工设置 feature以及文法规则,但依然需要逻辑形式的标注作为学习目标
Building a semantic parser overnight(ACL2015) OVERNIGHT 58.8 OVERNIGHT数据的构建,通过 paraphrase 等方式并在此基础上做semantic parsing  
Compositional semantic parsing on semi-structured tables(ACL2015) WIKITABLEQs 37.0 DEV 37.1 TEST 本篇文章构建了 WIKITABLEQUESTIONS  
Large-scale semantic parsing without question answer pairs(TACL2014) FREE917 F1:79.2 WEBQ 41.4 利用 CCG parser 学习将自然语言转成 semantic graph 在更大的语料中学习,在 FREE917上测试
Semantic parsing via paraphrasing(ACL2014) FREE917 73.9/68.5 WEBQ 41.2/39.9 确定性的生成一个候选的逻辑形式集合,然后用 paraphrase 模型去挑选最合适的 在第二篇中提到,为输入问题提供的 LF 是其使用手写规则得到的句子中与查询问题最相似的
Semantic parsing on freebase from question-answer pairs(EMNLP2013) FREE917 71.3 WEBQ 32.9 面向问题的是解决 logic forms 标注与扩大的 domain 之间的矛盾,直接利用知识库和大规模文本进行对齐,然后在用相邻标记来纠正。 不需要标注数据,只利用知识库进行 phrase->predicate
Universal Semantic Parsing(2017) WEBQ 49.5 将依存分析的结果转为 Semantic parser 的 LF 形式 需要LF 标注
Improving Semantic Parsing via Answer Type Inference(EMNLP2016) WEBQ 52.6    
Transforming Dependency Structures to Logical Forms for Semantic Parsing(2015) FREE917 78.0 WEBQ 50.3 利用 Lambda 算子将依存结构转为 LF 面向查询目标,不需要 LF 的标注,但是利用了依存分析器
Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base(ACL2015) WEBQ 52.5 利用知识库,定义了一个可以直接转为 LF 的查询图 不需要额外的标注?
Large-scale simple question answering with memory networks(2015) WEBQ 42.2 基于 Memory NNs  
Imitation Learning of Agenda-Based Semantic Parsers(TACL2015) WEBQ 49.7    
More Accurate Question Answering on Freebase(CIKM2015) FREE917 76.4 WEBQ 49.4    
Mapping between Dependency Structures and Compositional Semantic Representations(LREC2010)     在依存结构和组合的语义表示之间做映射
Learning Structured Natural Language Representations for Semantic Parsing(2017) GEO 86.7 WEBQ 49.3 基于转移的系统,E2E 的方式在input 和 LF 之间做映射 需要标注,基于转移的系统
The value of semantic parse labeling for knowledge base question answering(ACL2016)     探讨了 semantic parser 的中间标注的价值与从 Q-A pairs 学习的对比,并构建了 WEBQSP 的数据
Simple and effective question answering with recurrent neural networks(2016) WEBQ 52.2 两步:探索句子中的实体;利用知识库中的相关实体的关系来结合分析 看起来像是 KBQA 的开山做法,武鹏的工作
Semantic parsing with semi-supervised sequential autoencoders(EMNLP2016) GEO 87.3 利用使用注意力机制的自动编码器+半监督学习获得的性能 需要LF 标注,同时利用了外部的单语数据
Evaluating induced CCG parsers on grounded semantic parsing https://aclweb.org/anthology/D16-1214   构建了一个句法结构和语义解析之间关系的评测,以及 CCG 解析结果对理解的影响
Question answering over Freebase with multicolumn convolutional neural networks(ACL2015) WEBQ 40.8 利用 FREEBASE,利用 MCCNN去抽取 feature以及分类 不需要 LF 标注,利用 Q-A pairs+FREE base
A* CCG parsing with a supertag-factored model(EMNLP2014) CCGBank 86.11 supertagging model+parsing model  
Lambda dependency-based compositional semantics(2013) https://arxiv.org/pdf/1309.4408.pdf   提出了 lambada dcs LF
Weakly supervised training of semantic parsers(2014) 在 FREEbase 上的 ontology77的实验 弱监督 无LF 标注
Learning dependency-based compositional semantics(ACL2011) GEO:91.1(RECALL) JOBS:95.0(RECALL)   侧重点,从 Q-A pairs 中自动构建潜在的 LF 形式,不需要标注
Inducing probabilistic CCG grammars from logical form with higherorder unification(EMNLP2010) GEO 88.2 利用PCCG 需要标注
Macro Grammars and Holistic Triggering for Efficient Semantic Parsing WIKITABLEQUESTION 42.7% 在线学习,抽取 LF 的抽象模式  
  • Learning Executable Semantic Parsers for Natural Language Understanding - D && P: Geo880,ATIS-3,Regexp824,Free917
    • Semantic parsing on Freebase from question-answer pairs (2013)
      • do not need annotated logical forms data, learn from Q-A pairs
      • mapping phrase to predicates using Knowledge base and text corpus
      • D && P: Free917 71.3 WebQ 32.9
    • Semantic Parsing as Machine Translation(2013)
      • D && P: GEO 81.8
    • LSTM CCG Parsing(2016)
      • middle annotated:CCGBank
      • https://github.com/uwnlp/EasySRL/blob/master/corpora.properties
      • performance:
    • End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks(2015)
      • using rnn encoder-decoder
      • D && P F1: Conll-2005 Dev 79.6 WSJ 82.8 Brown 69.4 Conll-2012 dev 81.1 test 81.3
    • Deep Semantic Role Labeling with Self-Attention(2017)
      • using Multi-head attention
      • D && P F1: Conll-2005 Dev 84.6 WSJ 86.1 Brown 74.8 Conll-2012 dev 84.1 test 83.9

你可能感兴趣的:(NLP)