CS224N(10)-QA

QA

一般來說,問答系統(tǒng)的目的就是根據(jù)給定的問題給出相應(yīng)的答案。我們可以將其分解為兩個步驟:1、查找(可能)包含答案的文檔;2、在段落或文檔中找到答案。

一、閱讀理解

閱讀理解是NLP中的一個比較重要的任務(wù)。它的發(fā)展分為以下幾個階段:
1、1977年的Yale A.I. Project;2、Revived by Lynette Hirschman in 1999;3、2013年Chris Burges提出的MCTest;4、2015/2016年隨著預(yù)料規(guī)模擴大而產(chǎn)生的有監(jiān)督神經(jīng)網(wǎng)絡(luò)系統(tǒng)。

1、MCTest

MCTest要求機器回答關(guān)于虛構(gòu)故事的多選擇閱讀理解問題,且這些答案通常只能在故事中找到。
下面是一個簡單的關(guān)于MCTest的示例:

二、開放領(lǐng)域的問答系統(tǒng)

開發(fā)領(lǐng)域的問答系統(tǒng),也經(jīng)歷了多個發(fā)展階段:
1、Simmons et al.(1964)首先探索了基于問題和答案的匹配依賴性解析來從說明文本中回答問題
2、Murax(Kupiec1993)旨在使用IR和淺層語言處理回答在線百科全書的問題
3、1999年開始的NIST TREC QA賽道首次嚴(yán)格調(diào)查了大量文件中的回答事實問題
4、IBM’s Jeopardy! System (DeepQA, 2011))引起了對問題版本的關(guān)注; 它使用了許多方法的集合DrQA(Chen等人,2016)使用IR,然后使用神經(jīng)閱讀理解,為開放域QA引入了深度學(xué)習(xí)方法

The architecture of LCC (Harabagiu/Moldovan) QA system的結(jié)構(gòu)圖如下所示:

三、Stanford Question Answering Dataset (SQuAD1.1)

這個數(shù)據(jù)集包含100K個例子,且每個問題的答案都位于同個段落中,且具備一定的跨度性。

下面是這個數(shù)據(jù)集中的一個樣本示例:

對于當(dāng)前的SQuAD,我們每次選取3個黃金答案,在評價模型的時候,我們有兩個評價指標(biāo):1、完全匹配,如果三個答案中匹配到了一個值就為1,否則為0;2、F1-Score(macro),把系統(tǒng)和每個黃金答案作為一個詞袋模型,計算精確度和召回率,進而得到F1-Score。
在實際應(yīng)用中,通常使用F1-Score,因為它更加可靠。

四、SQuAD2.0

SQuAD 1.0的一個缺陷是每個問題都有單胺且所有問題的答案都在段落中。系統(tǒng)隱式的對候選結(jié)果進行排名并選擇最佳候選結(jié)果,并且我們無需判斷組成答案的回答是否是存在跨度。
在SQuAD 2.0中,1/3的訓(xùn)練問題沒有答案,大約1/2的驗證/測試問題沒有答案,對于NoAnswer示例,對于完全匹配和F1,NoAnswer得分為1,其他的為0。
SQuAD 2.0最簡單的系統(tǒng)方法,它對于組成答案的回答是否是存在跨度具有閾值分?jǐn)?shù)或者您可以二次驗證的方法來確認(rèn)回答,它有點類似于自然語言推理(NLI)或“答案驗證”。

SQuAD 2.0的例子:

雖然就目前來看,Bert系列模型在SQuAD 2.0上的表現(xiàn)已經(jīng)十分接近于人類的表現(xiàn),但是這些模型還是存在一些問題,如NLU錯誤。

SQuAD是一個目標(biāo)明確,結(jié)構(gòu)良好,干凈的數(shù)據(jù)集,當(dāng)然SQuAD還是有些不足的:

1.只有基于跨度的答案(沒有是/否,計數(shù),隱含的原因)。
2.答案來源于段落,沒有涉及到事實/句子推斷有時候得不到我們想要的答案。

五、Stanford Attentive Reader

這是一個在閱讀理解和問答方面小巧且非常有用的框架。

其結(jié)構(gòu)圖如下所示:

基于這個結(jié)構(gòu),后續(xù)還提出了Stanford Attentive Reader++架構(gòu),其結(jié)構(gòu)示意圖如下:

對于這個架構(gòu)來說,3層的BiLSTM表現(xiàn)是非常好的。

主要公式說明部分如下:

p_i是段落中每個token拼接后的向量表示
Word Embedding選取Glove-300d
語言特征:POS & NER,one-hot encoded
Term frequency (unigram probability)
完全匹配:單詞是否出現(xiàn)在問題中,它包含3個二進制特征: exact, uncased, lemma

六、BiDAF: Bi-Directional Attention Flow for Machine Comprehension

多年來,BiDAF架構(gòu)有各種變體和改進,但核心思想是注意力流層,注意力流程的核心思想是想法:注意力應(yīng)該雙向流動-從上下文到問題,從問題到上下文。

其相似矩陣的表達(dá)式為:

Context-to-Question (C2Q) attention,主要是找出哪些查詢詞與每個上下文詞最相關(guān),其計算公式如下:

Question-to-Context (Q2C) attention: 主要是通過最大值的不對稱性找出關(guān)于查詢的上下文中最重要的單詞的加權(quán)和,其計算公式如下:

對于每個段落的位置,其輸出為:

對于BiDAF的modelling layer,其包含一個2層的雙向LSTM。在進行答案選擇時,將BiDAF的輸出和modelling layer連接到密集的FF層,然后連接到softmax。然后將建模層M的輸出通過另一個BiLSTM給出M2,然后與BiDAFlayer連接,再次通過密集的FF層和softmax。

七、其他高級模型

2016年,2017年和2018年的大部分工作都采用了越來越復(fù)雜的模型,其中包含各種注意力機制的變體,都產(chǎn)生了不錯的收益。

1、Dynamic CoattentionNetworks for Question Answering

缺陷:問題具有與輸入無關(guān)的表示
全面的QA模型需要相互依賴

Coattention layer提供了上下文和問題之間的雙向注意力。但是Coattention涉及到了一個二級attention計算,在這里使用C2Q注意力分布αi來獲取Q2C注意力輸出bj的加權(quán)和。這給了我們二級關(guān)注輸出si:

2、FusionNet(Huang, Zhu, Shen, Chen 2017)

模型結(jié)構(gòu)圖如下:

核心公式如下:

Multi-level inter-attention:

在多級互訪之后,使用RNN,自注意力和另一個RNN來獲得上下文的最終表示:{u^{C}_i}。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容