雷鋒網(wǎng) AI 科技評(píng)論按:斯坦福大學(xué)Christopher D. Manning 組的論文《Answering Complex Open-domain Questions Through Iterative Query Generation》(通過迭代生成查詢語句回答復(fù)雜開放領(lǐng)域問題)近期被 EMNLP-IJCNLP 2019 接收,論文第一作者 Peng Qi 為這個(gè)任務(wù)以及這篇論文撰寫了一篇深入淺出的解讀文章。雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng)) AI 科技評(píng)論全文翻譯如下。
本文主題:NLP 研究大家庭已經(jīng)在開放領(lǐng)域問答中取得了很大進(jìn)步,而這篇論文中提出的系統(tǒng)繼續(xù)在「基于海量文本回答復(fù)雜問題」的情境下帶來了改進(jìn)。作者們展示了一種高效、可解釋的方法,能在系統(tǒng)中進(jìn)行多步推理。
從搜索引擎,一直到自動(dòng)問答系統(tǒng),自然語言處理(NLP)系統(tǒng)的發(fā)展已經(jīng)極大地增強(qiáng)了我們獲取文本信息的能力,幫我們節(jié)省了很多用來記憶和查找的時(shí)間精力。今天,每當(dāng)我們腦海中涌現(xiàn)出問題的時(shí)候,我們的第一反應(yīng)都是去搜索引擎(谷歌、百度、必應(yīng))上搜索一下。
有的問題比較簡(jiǎn)單,比如「中國面積最大省是什么省」,也有一些問題就不那么直白了,比如「第一個(gè)發(fā)現(xiàn)可以用 GPS 探測(cè)地震波的人是誰」,各家搜索引擎都很難直接給出這個(gè)問題的答案。這種時(shí)候我們需要借助網(wǎng)絡(luò)上的電子百科全書,比如 Wikipedia,然后就可以看到第一個(gè)發(fā)現(xiàn)可以用 GPS 探測(cè)地震波的人是 美國科學(xué)家 Kristine Larson 博士。
如果能讓 NLP 系統(tǒng)直接給出這個(gè)答案,而不需要我們?nèi)ブR(shí)庫中翻文章尋找答案,這個(gè)問題就叫做開放領(lǐng)域問答(open-domain QA),這也是 NLP 科研的一個(gè)熱點(diǎn)任務(wù)。
開放領(lǐng)域問答的背景
在開始介紹開放領(lǐng)域問答的新方法之前,我們先花一點(diǎn)時(shí)間了解一下這個(gè)問題的環(huán)境設(shè)置、挑戰(zhàn),以及為什么現(xiàn)有的系統(tǒng)在回答復(fù)雜問題的時(shí)候不那么讓人滿意。
開放領(lǐng)域 vs 封閉領(lǐng)域/內(nèi)容限定
NLP 研究人員們?cè)O(shè)計(jì)的早期的問答系統(tǒng),比如 BASEBALL 和 LUNAR,都是高度領(lǐng)域限定的。這兩個(gè)系統(tǒng)分別可以回答美國在某年的棒球運(yùn)動(dòng)員的信息,或者返回地球的登月飛船的信息,但是對(duì)所有其它領(lǐng)域的信息都無能為力,因?yàn)槌隽嗽O(shè)計(jì)的領(lǐng)域范圍。也就是說,這兩個(gè)系統(tǒng)是封閉領(lǐng)域的。
從此之后,研究人員們開始向開放領(lǐng)域問答的方向進(jìn)攻。對(duì)于開放領(lǐng)域問答,所提出的問題并不局限于預(yù)定義好的領(lǐng)域和領(lǐng)域知識(shí)。在理想情況下,問答系統(tǒng)要有能力在很大規(guī)模的各個(gè)領(lǐng)域的文本中進(jìn)行探索篩選,找到我們所需的答案。
單篇文檔開放領(lǐng)域問答,有時(shí)候也被稱為「閱讀理解」,NLP 研究人員們這幾年來在這個(gè)問題上做出了顯著突破。這個(gè)問題指,給 NLP 系統(tǒng)指定單篇文檔,或者只是一段文字,其中可能含有問題的答案,然后讓系統(tǒng)根據(jù)這些文本回答問題。這就是以 SQuAD 為代表的許多流行的 NLP 問答數(shù)據(jù)集的基本格式。在 SQuAD 數(shù)據(jù)集上訓(xùn)練出的問答系統(tǒng)可以在描述各種不同領(lǐng)域的知識(shí)的文本上工作。不過這樣的問答系統(tǒng)需要我們首先找到可能含有答案的那篇文檔(那段文字),這也就帶來了一些限制。
為了解決這個(gè)問題,研究人員們開始研究能在大量文本上工作的問答系統(tǒng)。相比于 SQuAD 代表的「從含有答案的一段文本里找到答案」,在大量文本上工作的系統(tǒng)需要在一批文檔中進(jìn)行篩選,最終找到答案;這和我們使用搜索引擎有類似之處。這種任務(wù)設(shè)置就被成為開放內(nèi)容開放領(lǐng)域問答(open-context open-domain QA),就比閱讀理解有挑戰(zhàn)得多。當(dāng)然了,當(dāng)你想到了一個(gè)問題,卻不知道要從哪里尋找答案的時(shí)候,開放領(lǐng)域問答也就比閱讀理解有用得多。在內(nèi)容限定的問答之外的新挑戰(zhàn)主要在于如何用可拓展的方法把大量文本縮小到一個(gè)能夠處理的范圍,這樣我們就可以用現(xiàn)有的閱讀理解模型找到那個(gè)答案。
開放領(lǐng)域問答系統(tǒng)
受到文本檢索會(huì)議(TREC)上的系列問答競(jìng)賽啟發(fā),近幾年來研究人員們開始場(chǎng)嘗試把具有很大潛力的基于神經(jīng)網(wǎng)絡(luò)的問答模型用在開放領(lǐng)域問答任務(wù)中。
普林斯頓大學(xué)陳丹琦團(tuán)隊(duì)首先把傳統(tǒng)的搜索引擎和現(xiàn)代的神經(jīng)問答系統(tǒng)相結(jié)合來處理這個(gè)問題。他們的開放領(lǐng)域問答方案名為 DrQA(https://arxiv.org/abs/1704.00051),簡(jiǎn)單但效果出色:給定一個(gè)問題,系統(tǒng)會(huì)根據(jù)問題在文檔庫中搜索可能包含答案的文檔,然后,經(jīng)過篩選之后數(shù)量變少的文檔會(huì)作為閱讀理解系統(tǒng)的輸入,由閱讀理解系統(tǒng)生成最終的回答。
陳丹琦團(tuán)隊(duì)的DrQA 模型示意圖,這篇論文被 ACL 2017 接收
開放領(lǐng)域問答中大多數(shù)的近期研究都依然遵循了這種「檢索+閱讀理解」兩步走的方案,然后會(huì)添加一些重新排序、基于神經(jīng)網(wǎng)絡(luò)的檢索、更好的混合訓(xùn)練等等特性作為改進(jìn)。
復(fù)雜開放領(lǐng)域問題帶來的挑戰(zhàn)
但其實(shí),所有「檢索+閱讀理解」兩步走的方案都沒法很好地處理復(fù)雜問題。下面我們通過一個(gè)例子來說明這是怎么回事。
假設(shè)有一天你突然好奇演《海王》的那個(gè)演員還拍了什么電影,但你一下子想不起他的名字了。這時(shí)候我們會(huì)首先去搜索引擎搜索「海王」或者「海王男主角」,先確認(rèn)這個(gè)人是誰。一般來說在開頭的幾個(gè)搜索結(jié)果里我們就能找到他的名字是「Jason Momoa」,然后再搜索這個(gè)名字就能找到他還拍了什么電影。
在這個(gè)簡(jiǎn)單的例子里,回答問題所需的關(guān)鍵信息并不都是可以直接從問題里讀出來的,也就是說,這其實(shí)還是一個(gè)知識(shí)發(fā)現(xiàn)問題。所以這個(gè)問題對(duì)目前的「檢索+閱讀理解」模式的開放領(lǐng)域問答系統(tǒng)來說就很難處理,因?yàn)榇鸢负蛦栴}之間有一些重要的語義信息并不重合。
針對(duì)這種問題,一種解決辦法是聯(lián)合訓(xùn)練基于神經(jīng)網(wǎng)絡(luò)的信息檢索模型和閱讀理解模型,讓它們能夠?qū)Σ樵冋Z句做一些更新,從而找到更多的信息來回答問題。雖然這種方式確實(shí)也是有機(jī)會(huì)帶來改進(jìn)的,但用這樣的遠(yuǎn)距離監(jiān)督信號(hào)做信息檢索模型的預(yù)訓(xùn)練、讓它找到可能含有答案的文檔還是很有可能失敗,因?yàn)閱栴}和我們想要找到的文檔之間的語義重合部分還是太少了。從問題直接到答案的端對(duì)端訓(xùn)練也消耗資源太多以至于不可行,因?yàn)樵诘谝徊酵评碇熬瓦M(jìn)行查詢的話,需要面對(duì)巨大的查詢空間,即便我們能訓(xùn)練出一個(gè)執(zhí)行這項(xiàng)任務(wù)的模型,這個(gè)模型也很可能只有極低的計(jì)算效率,而且可解釋性很差。
所以,我們是否有可能設(shè)計(jì)一種新的開放領(lǐng)域問答系統(tǒng),讓它既能夠處理復(fù)雜的多步推理問題,而且還計(jì)算高效、可解釋呢?斯坦福大學(xué)Christopher D. Manning 組的論文《Answering Complex Open-domain Questions Through Iterative Query Generation》(通過迭代生成查詢語句回答復(fù)雜開放領(lǐng)域問題,https://nlp.stanford.edu/pubs/qi2019answering.pdf)中就提出了這樣一個(gè)系統(tǒng)。這篇論文的第一作者就是這篇介紹博客的作者Peng Qi,論文也已經(jīng)被EMNLP-IJCNLP 2019 接收,并在 11 月 6 日進(jìn)行了口頭報(bào)告。
回答復(fù)雜的開放領(lǐng)域問題
要介紹論文中的這個(gè)系統(tǒng),敘述要分為兩個(gè)部分,首先介紹針對(duì)開放領(lǐng)域問答的多步推理問題的總體策略,然后介紹用來評(píng)價(jià)這個(gè)系統(tǒng)的數(shù)據(jù)集和實(shí)驗(yàn)結(jié)果。
總體策略
正如上文所說,「檢索+閱讀理解」模式的系統(tǒng)沒法高效地處理復(fù)雜需要多步推理的開放領(lǐng)域問題,原因有:1,這些問題需要有多個(gè)支撐線索才能回答,2,只根據(jù)原來那個(gè)問題通常都很難找到所有必須的支撐線索。一個(gè)理想的系統(tǒng)應(yīng)當(dāng)能夠迭代進(jìn)行「閱讀理解找到的信息」以及「尋找更多的支撐線索」這兩件事,就像人類一樣。
這也就是論文標(biāo)題中的「iterative query generation」部分的含義,論文中提出的這個(gè)開放領(lǐng)域問答系統(tǒng)能夠迭代地根據(jù)目前檢索到的文本內(nèi)容生成自然語言問題,以及在最終回答問題之前搜索更多的必需信息。這樣的設(shè)計(jì)的好處有:1,可以用不同的問題檢索多個(gè)不同的支撐線索;2,生成新問題的過程可以借助更早的檢索中找到的文檔,這樣就可以生成無法單獨(dú)根據(jù)最早的問題生成的問題。由于這個(gè)系統(tǒng)可以生成自然語言的查詢問題,那么它還可以直接在信息檢索的步驟中使用現(xiàn)有的信息檢索系統(tǒng),進(jìn)行高效的檢索。除此之外,這個(gè)模型的運(yùn)行方式對(duì)人類來說也有更好的可解釋性,能夠讓人類隨時(shí)進(jìn)行干預(yù),矯正運(yùn)行中發(fā)生的問題。
比如,如果把英文維基百科作為知識(shí)庫的話,向系統(tǒng)提問「《Armada》的作者的哪部小說會(huì)被 Steven Spielberg 改編為電影」,它的解答過程是這樣的:
模型會(huì)首先生成一個(gè)查詢問題,在維基百科中搜索關(guān)于小說《Armada》的信息。在「閱讀理解」了檢索到的文檔之后,它會(huì)開始嘗試尋找 Ernest Cline (這部小說的作者)的更多信息。最后,當(dāng)系統(tǒng)找到了回答這個(gè)問題所需的全部文檔之后,它就會(huì)把這些檢索步驟中找到的排名靠前的文檔級(jí)聯(lián)起來,然后把它們輸入一個(gè)內(nèi)容限定的問答系統(tǒng)來預(yù)測(cè)最終的答案。
這種方法的主要挑戰(zhàn)在于如何訓(xùn)練一個(gè)易于與其它組件合作的查詢問題生成器,能借助它生成的問題語句檢索到所有所需的信息。這篇論文的主要貢獻(xiàn)也就是一種高效地訓(xùn)練查詢問題生成器的方法,對(duì)于要檢索到哪些文檔只需要很少的監(jiān)督信號(hào),而且能在回答復(fù)雜的開放領(lǐng)域問題時(shí)發(fā)揮出優(yōu)秀的表現(xiàn)。作者們的方法基于一個(gè)重要的觀察:如果一個(gè)問題能根據(jù)語料回答,那么其中就會(huì)存在一個(gè)可以追蹤的過程鏈條(或者圖)。換句話說,作者們提出,在尋找支撐線索的過程中的任意時(shí)刻,都需要在「已知的」(問題文本、已經(jīng)找到的線索)和「要找的」(其余的支撐線索)之間存在強(qiáng)語義重疊。
找到回答復(fù)雜問題所需的許多支撐線索就好像要在草堆里找到很多根針。因?yàn)殡y,所以不要一個(gè)一個(gè)地找它們,要找到穿在這些針之間的線,也就是「已知的」和「要找的」之間的強(qiáng)語義重疊。
在一開始,系統(tǒng)問的問題都是關(guān)于「已知的」,然后需要找到能組成推理鏈、回答這些問題的「要找的」文檔。根據(jù)作者們的觀察,至少能找到一篇文檔可以和問題之間有強(qiáng)的語義重疊,所以這里的目標(biāo)就是至少找到一篇這樣的可以幫助拓展推理鏈的文檔。在前面的《Armada》的例子里,這篇文檔起到幫助作用的文檔就可以是《Armada》小說的維基百科頁面,其中的語義重疊就是「Armada」這個(gè)名字,以及「這是一本小說」。用基于文字的信息檢索系統(tǒng)并不難找到這樣的文檔,只需要確定一個(gè)重疊的詞句然后搜索它就可以。
在一步信息檢索過后,很有可能系統(tǒng)就在許許多多文檔里找到了關(guān)于《Armada》小說的這個(gè)維基百科頁面。到了這里,根據(jù)「已知的」(「Armada」這個(gè)名字和《Armada》小說的維基百科頁面)和「要找的」(「Ernest Cline」)之間的語義重疊就可以生成新的查詢問題。要找到語義重疊并不難,只需要在「已知的」和「要找的」之間進(jìn)行最長(zhǎng)相同子序列查找就可以。
首先找到推理中的每一步所需的查詢問題,然后就可以訓(xùn)練模型來根據(jù)每一步中的問題+已經(jīng)檢索到的文檔生成新的問題。這樣訓(xùn)練出的查詢問題生成器就可以用在多步驟的開放領(lǐng)域推理中。這里的查詢問題生成任務(wù)可以看作是一個(gè)內(nèi)容限定的問答問題,它的本質(zhì)就是把給定的問題和給定的文檔(在上一個(gè)步驟中檢索到的文檔)映射到能根據(jù)文檔導(dǎo)出的一段文本內(nèi)容,所以和問答(閱讀理解)非常相似。
論文作者們把整個(gè)系統(tǒng)稱為 GoldEnRetriever,意為「黃金實(shí)體檢索器」,一方面因?yàn)槟P蜋z索到的維基百科頁面大多數(shù)都是關(guān)于實(shí)體的,同時(shí)這也是一個(gè)用于檢索的模型的很有趣的名字(在英文語境中)。下面的表格中列出了一些樣例問題以及用來訓(xùn)練查詢問題生成器的不同步驟的查詢問題。
根據(jù)尋找語義重疊的流程找到的、希望GoldEnRetriever 學(xué)會(huì)生成的問題例子??梢钥吹剑诙街械牟樵儐栴}針對(duì)的信息是完全不包含在原有的問題中的,只能通過迭代檢索的方式尋找。
在這里,作者指出:
首先不難看到,把語義重疊找到的問題作為查詢問題生成器的訓(xùn)練的監(jiān)督信號(hào),這種做法是可以拓展到任意數(shù)目的支撐線索文檔中的。而且它也不需要額外的知識(shí)來指明是否需要&如何把原本的問題分解成幾個(gè)子問題。只要在訓(xùn)練的時(shí)候已經(jīng)找到了那個(gè)所需的“黃金”支撐線索文檔,就可以用這種方式高效、大規(guī)模地構(gòu)建開放領(lǐng)域下的推理鏈條。
作者們也沒有對(duì)文檔檢索的順序做出任何假設(shè)。在開放領(lǐng)域推理的任意一個(gè)步驟中,假設(shè)可以一次性枚舉出所有有關(guān)聯(lián)的、在推理鏈條里將會(huì)檢索到的文檔,找到這些文檔中的語義重疊、生成查詢問題、進(jìn)行搜索,最先、最容易被找到的文檔就會(huì)是和當(dāng)前的推理步驟最緊密相關(guān)的文檔。
數(shù)據(jù)集:HotpotQA
作者們用來測(cè)試 GoldEnRetriever 表現(xiàn)的數(shù)據(jù)集是HotpotQA,這是Peng Qi 等人發(fā)表在 EMNLP 2018 的論文中介紹的一個(gè)較新的多跳問答數(shù)據(jù)集,它是基于英文維基百科,由眾包的問題組成的 QA 數(shù)據(jù)集。具體來說,他們給眾包工作者展示兩個(gè)相關(guān)聯(lián)的維基百科頁面中的簡(jiǎn)介段落,然后讓他們寫出一些同時(shí)需要這兩部分信息才能回答的問題。上文中關(guān)于《Armada》小說的問題就是來自這個(gè)數(shù)據(jù)集的。為了鼓勵(lì)以及方便其他研究人員設(shè)計(jì)具有可解釋性的問答系統(tǒng),作者們也讓眾包工作者們?cè)诙温渲懈吡翗?biāo)出能支持他們的問題和回答的句子(也就是「支撐線索」),并讓問答系統(tǒng)在測(cè)試時(shí)找出這些線索。
HotpotQA 中包含兩種評(píng)價(jià)設(shè)定:一個(gè)從少量文檔中提取的設(shè)定,以及一個(gè)開放領(lǐng)域、針對(duì)整個(gè)維基百科的設(shè)定;后一個(gè)設(shè)定也是作者們主要研究的,就是給定一個(gè)問題以后,系統(tǒng)需要從整個(gè)維基百科中找到答案。HotpotQA 的一大特色是含有各種不同的推理策略,有一些問題中缺少主體(比如關(guān)于《Armada》小說的問題缺少作者的名字),有一些問題是交叉屬性(比如問題「什么東西同時(shí)有 A 性質(zhì)和 B 性質(zhì)」),有一些問題是比較,比較兩個(gè)實(shí)體的同一個(gè)屬性,等等。
在這個(gè)系統(tǒng)上評(píng)價(jià)問答系統(tǒng),會(huì)考察系統(tǒng)的兩個(gè)方面:回答的準(zhǔn)確率以及可解釋性?;卮饻?zhǔn)確率由答案的確切匹配(exact matches,EM)以及一元組 F1 分?jǐn)?shù)評(píng)價(jià);可解釋性也會(huì)計(jì)算模型預(yù)測(cè)的支撐線索和標(biāo)注出的支撐線索之間重合程度的 EM 和 F1 分?jǐn)?shù)。這兩個(gè)方面的 EM 和 F1 分?jǐn)?shù)是合并考慮的,也就是鼓勵(lì)問答系統(tǒng)在「準(zhǔn)確」和「可解釋」方面都有好的表現(xiàn)。
對(duì)于在檢索出的文檔上做閱讀量理解回答問題的模型,作者們選擇了一個(gè)BiDAF++ 模型。更多的技術(shù)細(xì)節(jié)可以參見論文。
測(cè)試結(jié)果
作者們?cè)u(píng)價(jià) GoldEnRetriever 的表現(xiàn)也從兩個(gè)方面出發(fā):它檢索到好的支撐線索文檔的能力,以及它在問題回答任務(wù)中的端到端表現(xiàn)。
在檢索文檔方面,作者們拿來和 GoldEnRetriever 對(duì)比的是只用原本問題做一次檢索的「檢索+閱讀理解」系統(tǒng)。評(píng)價(jià)方式是,已知有兩個(gè)段落是含有支撐線索的,然后考察兩個(gè)系統(tǒng)從文檔庫中檢索出的 10 個(gè)段落中包含這兩個(gè)段落的召回率(recall)。之所以要評(píng)價(jià)這個(gè)方面,是因?yàn)榧幢銉?nèi)容限定閱讀理解組件是完美的,這個(gè)召回率也決定了整個(gè)系統(tǒng)的表現(xiàn)的上限。
要找的這兩個(gè)段落,段落 1 和問題的關(guān)聯(lián)性較高,兩個(gè)系統(tǒng)都獲得了不錯(cuò)的召回率;而對(duì)于聯(lián)系不那么直接的段落 2,GoldEnRetriever 的召回率足足高了 24%。這意味著,有大概 24% 的問題是「檢索+閱讀理解」系統(tǒng)找不到支撐線索段落,而GoldEnRetriever 能夠找到的。更深入的分析表明提升主要來自于改進(jìn)了非對(duì)比性問題中的表現(xiàn)(recall 提升了 25%),這類問題并不那么容易回答。
在端到端任務(wù)中,作者們把GoldEnRetriever 和多個(gè)「檢索+閱讀理解」系統(tǒng)進(jìn)行了對(duì)比,其中包括在數(shù)據(jù)集的開發(fā)集(development set)上直接和基線系統(tǒng)比較,以及與公開排行榜上的、在隱藏測(cè)試集(hidden test set)上跑出結(jié)果的系統(tǒng)對(duì)比。
HotpotQA 數(shù)據(jù)集中自帶了一個(gè) IR 信息檢索系統(tǒng),它與 Elasticsearch共同作為了「檢索+閱讀理解」的基線系統(tǒng);Elasticsearch 具有更強(qiáng)的檢索能力,但也僅僅把 F1 從 22.75% 提升到 27.11% 而已;公開排行榜上的最好的公開系統(tǒng)有 34.92% 的 F1 分?jǐn)?shù),這還有很大距離。GoldEnRetriever 把公開排行榜成績(jī)提高到了39.13% F1,而且考慮到前一個(gè)系統(tǒng)使用了強(qiáng)大的 BERT 模型作為組件的話,這個(gè)成績(jī)更是十分珍貴。目前開發(fā)集上的最好成績(jī)來自O(shè)racle IR,作者們認(rèn)為如果他們能繼續(xù)改進(jìn)查詢問題生成器,讓它更好地按照設(shè)計(jì)預(yù)期生成問題的話,表現(xiàn)并不會(huì)落后Oracle IR 太多。
在解釋性方面,作者們除了考察了指標(biāo)分?jǐn)?shù),也具體觀察了GoldEnRetriever 生成的查詢問題。它生成的問題都很好理解,而且還有糾正錯(cuò)誤的能力。
開源
作者們已經(jīng)把下列資源開源在https://github.com/qipeng/golden-retriever
用于復(fù)現(xiàn)測(cè)試結(jié)果的模型代碼以及預(yù)訓(xùn)練模型
訓(xùn)練模型使用的「理想的」查詢問題,以及從HotpotQA 修改的訓(xùn)練和開發(fā)文件,用于訓(xùn)練GoldEnRetriever
GoldEnRetriever 預(yù)測(cè)的查詢問題,以及內(nèi)容限定問答模型的開發(fā)/測(cè)試集輸入
這些資源都是英文的
關(guān)于模型的更詳細(xì)介紹,可以閱讀原論文《Answering Complex Open-domain Questions Through Iterative Query Generation》https://nlp.stanford.edu/pubs/qi2019answering.pdf
關(guān)于 EMNLP-IJCNLP 2019 的更多報(bào)道歡迎繼續(xù)關(guān)注雷鋒網(wǎng) AI 科技評(píng)論。
viahttp://ai.stanford.edu/blog/answering-complex-questions/,雷鋒網(wǎng) AI 科技評(píng)論編譯