作者楊植麟目前博士就讀於卡內基梅隆大學,師從 Ruslan Salakhutdinov 教授(蘋果公司 AI 負責人)和 William Cohen 教授從事深度學習方面的研究。
作者齊鵬目前博士就讀於史丹佛大學,師從 Christopher Manning 教授從事自然語言處理方面的研究。
作者張賽崢目前博士就讀於蒙特利爾大學,師從 Yoshua Bengio 教授從事深度學習和自然語言處理方面的研究。
HotpotQA 資料集的作者寫了一篇部落格,介紹了這個「讓人看餓了」的資料集:
你是否好奇過以下問題:
我們都知道 Facebook 總部在加州,那你知道 Facebook 的誕生地在哪個城市嗎?
吃雞和王者農藥這兩款遊戲到底哪個玩家多一些?
如果你是一個吃貨,那你每天要在跑步機上跑多久才能消耗掉你今天偷吃的十包辣條的熱量?
乍一看這些問題有些複雜,然而作為人類,回答這些問題並不難。
比如第一個問題,你只要先在某百科上找到小紮在哈佛大學的寢室創立 Facebook 這一事實,而另一個百科頁面則告訴你哈佛大學在美國麻省的劍橋市。又如第二個問題,你可以在網上的某兩篇新聞中搜尋到吃雞和農藥各自的活躍使用者數量,兩個數字一比對結果便一目瞭然。而對於第三個問題,你可以首先在辣條官網上發現辣條的卡路里說明,然後在健身網站上搜尋到成年人在跑步機上揮汗一小時消耗的熱量,最後計算一番便能得出答案。
總結下來,要回答這些問題,我們需要定位多個資訊來源並從中找到最相關的部分,並且基於這些資訊進行多步推理和理解。一個機智的機器學習研究者看到這裡一定會問了:那目前的機器演算法是否也可以進行這種「基於多個資訊內容的多步推理 (multi-hop reasoning)」並回答問題呢?
懷揣著同樣的疑問,我們對目前主流的問答系統 (question answering (QA) system) 以及相關的大規模資料集 (large-scale QA dataset) 進行了調研,結果稍顯悲劇:對於目前主流的問答資料集(例如史丹佛的 SQuAD 資料集 [1]),問題的答案基本都在單一文件的單一(或連續的)句子中,並且這類問題大多可通過對問題和單一文件使用類似關鍵詞匹配(keyword matching)的方式來回答。基於這些資料集訓練的模型雖然在這類問題上表現不俗,但是它們是否有基於多個資訊進行多步推理的能力依舊是個未知數。同時我們也注意到,一些研究者已經開始對機器多步推理問答的研究:例如 Facebook 之前釋出的 bAbI 資料集 [2] 就嘗試探究機器基於多條資訊的推理綜合能力,然而由於其資料本身並不是來源於真實文字而是通過人造模版生成的,這使得該資料集在實際場景中的效能大打折扣。自去年以來,陸續有研究者開始嘗試收集大規模多步推理問答資料集,其中典型的工作包括 TriviaQA [3] 和 QAngaroo [4]。在 TriviaQA 中,每個問題通常附帶了多個相關文件用來獲取答案(這些文件是通過資訊檢索的方式得到的)。然而相關文件的增多並不能保證回答某個問題一定用到跨文件的多步推理,實際上,該資料庫中大部分問題仍舊可以只通過多個文件中的某一個直接回答。另一方面,QAngaroo 利用知識圖譜技術構建了一批確實需要多步推理才能回答的問題。然而,該資料集的問題和答案的種類嚴重受限於知識圖譜預先定義的模式 (schema) 本身,同時問題格式也被限制為知識圖譜的三元組形式(triple)而非自然語言。此外,以上提到的所有資料集在給出相關問題的同時僅提供相關文件本身,並沒有給出更細粒度和更直接的推理線索。
基於以上種種問題,我們(來自 CMU、Stanford 和 Mila 的聯合小分隊)提出了一個名為「HotpotQA」的資料集(中文名又作「火鍋問答」。注:這篇文章始於作者們在紐約法拉盛的一次火鍋聚餐,同時「火鍋中多種食材混合產生的終極美味」也暗喻多源多步推理)。HotpotQA 是作者們對機器多步推理問答的更進一步探究,它有以下幾個重要特點:
問題被設計為必須使用多步推理來回答。為了收集這些問題和答案,我們使用了亞馬遜的眾包服務 (Amazon Mechanical Turk)。我們向眾包工人展示兩個維基百科選段,通過一些使用者互動設計保證他們可以提問出「必須基於兩個選段進行多步推理才能得到答案」的問題。
問題本身不會受限於任何預設的知識圖譜。我們從維基百科中收集了多種型別多種主題的選段,並且不限制問題的型別。這使得最終收集的資料(問題、答案、選段)以自然語言的形式呈現,並且在內容和難度上具有多樣性。
對於每一個問題,我們還收集了回答它所需要的更細粒度的支援推理線索 (supporting fact)。這些線索可以用來提升模型的可解釋性 (explainability)。相比於之前基於整篇文章進行訓練的粗粒度方式,HotpotQA 允許模型利用這些更加準確的推理線索來提升表現,並且迫使模型在回答問題的同時給出它基於哪些事實進行的推理,不像以前的模型只給出一個答案,知其然而不知其所以然。
話不多說,下面是 HotpotQA 裡面的一個樣例問題,在選段中我們用綠色標出了用來回答該問題的支援推理線索。
除此之外,HotpotQA 的問題種類也十分多樣。除了一些常見的多步推理問題,還包括在大規模文字問答資料集中首次出現的比較型問題 (comparison question),例如文章開頭的「吃雞 vs 農藥」。下圖展示了 HotpotQA 中的問題種類以及佔比情況:
俗話說,酒逢知己千杯少,話不投機半句多。相信耐心讀到此處還沒有關掉頁面的看官一定也像我們一樣對多步推理問答充滿了好奇,那不妨移步我們的 EMNLP2018 paper 一探我們的方法細節。同時對於那些「我的模型已經飢渴難耐」的同仁,你們一定要訪問 HotpotQA 的官方網站,我們在此處設擂,歡迎前來砸場子!你們模型的提交是機器多步推理進步的動力!
以上。
火鍋兄弟團 Zhilin、Peng、Saizheng
HotpotQA 官網:https://hotpotqa.github.io/
論文:HOTPOTQA: A Dataset for Diverse, Explainable Multi-hop Question Answering
論文連結:https://arxiv.org/pdf/1809.09600.pdf
摘要:現有的問答(QA)資料集無法訓練可執行復雜推理和提供答案解釋的 QA 系統。我們建立了一個新型問答資料集 HotpotQA,該資料集包含 11.3 萬個基於維基百科的問答對,具備以下四個特點:
1. 問題的答案必須要基於多個支援文件;
2. 問題多樣化,不侷限於任何已有的知識庫或知識模式;
3. 提供句子級別的支援推理線索(supporting fact),允許 QA 系統用強大的監督進行推理,並對預測結果進行解釋;
4. 提供了新型模擬比較型問題,來測試 QA 系統提取相關線索、執行必要對比的能力。
我們展示了 HotpotQA 資料集對最新 QA 系統是有難度的,支援推理線索幫助模型提升效能、做出可解釋的預測。
參考文獻:
[1] "SQuAD: 100,000+ Questions for Machine Comprehension of Text", Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang. EMNLP 2016.
[2] "Towards AI Complete Question Answering: A Set of Prerequisite Toy Tasks", Jason Weston, Antoine Bordes, Sumit Chopra, Alexander M. Rush, Bart van Merriënboer, Armand Joulin and Tomas Mikolov. arXiv:1502.05698.
[3] "TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension", Mandar Joshi, Eunsol Choi, Daniel Weld, Luke Zettlemoyer. ACL 2017.
[4] "Constructing Datasets for Multi-hop Reading Comprehension Across Documents", Johannes Welbl, Pontus Stenetorp, Sebastian Riedel. TACL 2018.