1. 程式人生 > >語義分析(Semantic Parsing)調研

語義分析(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。在之前提過的方案中,訓練例項是<sentence,logical forms>,這種形式需要的代價往往較大;還有一些人提到的方案面向 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.5Seq-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.6Seq-to-seq or Seq-to-tree效能較往年方法並不強勢,但貴在不需要手工設定 feature以及文法規則,但依然需要邏輯形式的標註作為學習目標
Building a semantic parser overnight(ACL2015)OVERNIGHT 58.8OVERNIGHT資料的構建,通過 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構建了一個句法結構和語義解析之間關係的評測,以及 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.11supertagging model+parsing model
Lambda dependency-based compositional semantics(2013)提出了 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 ParsingWIKITABLEQUESTION 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
    • 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