語義分析(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.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 | 構建了一個句法結構和語義解析之間關係的評測,以及 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) | 提出了 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
- 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
- Semantic parsing on Freebase from question-answer pairs (2013)