讀題or讀你?剝開機器閱讀理解的神秘外衣
剛剛傳來消息,2月21日,百度自然語言處理團隊研發的V-Net模型以46.15的Rouge-L得分登上微軟的MS MARCO(Microsoft MAchine Reading COmprehension)機器閱讀理解測試排行榜首。
加上此前斯坦福大學的SQuAD競賽中,阿裏、哈工大訊飛聯合實驗室等團隊先後超越了人類平均水平。這意味著,機器閱讀理解領域的兩大頂級賽事:MS MARCO和SQuAD的記錄先後由中國團隊打破。
這項技術的奇點似乎正在現實世界的邊緣升起。尤其值得註意的是,百度刷新MS MARCO成績依靠的是單模型。一般情況下多模型集成會拿到更高分數,如此看來,機器閱讀理解的能力邊界還遠未觸達。
但在熱鬧的“軍備競賽”之余,機器閱讀理解領域的深處並非一團和氣。各種爭議和辯論正在這場“機器答題大秀”背後上演。
比如說,為什麽微軟要緊隨SQuAD之後另起爐竈,發布自己的數據集和競賽?以“實戰派”著稱的百度NLP團隊為什麽一定要選擇MS MARCO來剛正面?學術界關於機器閱讀理解的爭議為何一直不斷?
這些疑問或許可以最終歸因到一個問題:讓AI做閱讀理解,到底有什麽用?
今天讓我們從百度的大冒險開始說起,聊聊“閱讀理解圈”的江湖恩怨,以及我們接下來可預見的技術應用未來。
兩大數據集對峙:機器閱讀理解的問題與爭議
所謂的機器閱讀理解,基本概念跟咱們上學時做的閱讀理解題很相似,同樣都是給出一段材料和問題,讓“考生”給出正確答案。所不同的,僅僅是機器閱讀理解的主角變成了AI模型而已。
而機器閱讀理解領域的比賽方式,就像斯坦福大學著名的AI競賽ImageNet一樣,都是由一個官方給定的數據集+一場跑分競賽組成。各大科技巨頭和世界名校的AI研究團隊是主要參賽選手。
百度NLP團隊這次成功刷新世界記錄的比賽,是微軟在2016年末發布的MS MARCO。
這個賽事有趣的地方在於,其運用的訓練數據並非空穴來風,而是微軟在產品實踐中,從真實用戶那裏收集來的問題和答案。MS MARCO是微軟基於搜索引擎BING構建的大規模英文閱讀理解數據集,包含10萬個問題和20萬篇不重復的文檔。
據了解,這個數據集的問題全部來自於BING的搜索日誌,根據用戶在BING中輸入的真實問題模擬搜索引擎中的真實應用場景。此外,又整理了這些問題的人工答案作為訓練數據。這樣可以讓AI模型通過最接近真實應用的語境來進行學習、訓練和反向實踐,完成“學以致用”的小目標。
圈內普遍認為,微軟這麽不容易地搜集一個源自真實網絡的數據集,就是希望硬懟斯坦福大學發布的SQuAD。
2016年早些時候,斯坦福大學相關團隊制作了一個用來測試AI模型閱讀理解能力的數據集。與MS MARCO不同,SQuAD主要訓練數據是來自維基百科的536篇文章,以及由人類閱讀這些文章後,提出的10萬多個問題及相關答案。
這種非常像校園考試的數據設定,從誕生之日起就爭議不斷。比如NLP領域的大牛Yoav Goldberg就認為這個數據集有些太過片面。
SQuAD受到指責的地方,主要可以分為三個層面:
1.問題過分簡單。問題的答案主要源自於文檔中的一個片段,真實應用場景中很少遇到這樣的問題。
2.數據多樣性不足。SQuAD只有500多篇文章,內容不夠豐富,訓練出的模型被質疑難以處理其他數據或者更復雜的問題。
3.通用性不強。為了跑分的方便,SQuAD的問題結構比較簡單,涉及到的機器“推理”一面偏弱,導致其實用性數次受到懷疑。
舉個簡單的例子來描述一下兩個數據集之間的不同:SQuAD大多數問題的答案來自文檔本身,從文檔中“復制粘貼”就能完成回答,這樣模式固然更加方便,但客觀上對問題類型和答案範圍都做了限制,建立在SQuAD上的問題通常更加直白簡單。而MS MARCO的問題則更傾向真實的語言環境,需要智能體推理語境進行分析。
相對而言,MS MARCO的難點主要體現在這幾個方面:
1.對於每一個問題,MARCO 提供多篇來自搜索結果的網頁文檔,系統需要通過閱讀這些文檔來回答用戶提出的問題。但是,文檔中是否含有答案,以及答案具體在哪一篇文檔中,需要系統自己來判斷解決;
2.MARCO 中有一部分問題無法在文檔中直接找到答案,需要閱讀理解模型自己做出判斷;
3.MARCO 也不限制答案必須是文檔中的片段,很多問題的答案必須經過多篇文檔綜合提煉得到。
蘿蔔白菜各有所愛,有人認為SQuAD是最方便測試的機器閱讀理解比賽,也有人堅持MS MARCO是最接近人類問答習慣的競賽。但爭論的背後或許有一個共識正在浮現:機器閱讀理解的應用性,已經開始受到產業的廣泛關註。
進擊的數據集:AI閱讀也要重視“素質教育”
當然,MS MARCO的數據集結構同樣也有很多爭議。但相類似的“從生活中來”的機器閱讀理解訓練數據集正在越來越多。一句話總結這種趨勢,大概就是大家發現,該讓AI從“應試教育”變成“素質教育”了。
結構緊湊、體系清晰的SQuAD,雖然可以非常便捷地展現出AI模型的測試結果,但拓展性和實用性始終受到指責。許多學者認為,這個數據集有些被過分“考試化”了,導致其最終變成為了競賽而競賽。
而直接從互聯網文本與產品實踐問題中訓練出的模型,顯然距離應用性更近。據了解,百度NLP團隊選擇MS MARCO來進行測試,很重要的一方面是看重了在其基礎上研發出的技術,可以更好的投入場景實踐,貼近在復雜和開放的互聯網環境中解決問題的能力。
其實仔細想想,機器閱讀理解這項技術,從來都不是紙上談兵的“象牙塔派”,在我們已經熟悉的互聯網應用中,就有大量只能依靠機器閱讀理解來解決的難題。
舉個例子,當用戶在搜索引擎尋找答案的時候,傳統方案只能依靠用戶互助來回答,正確性和效率都嚴重不足。但智能體進行回答,就不能只依靠關鍵詞填空來處理。比如絕不會有用戶提問“()是我國最長的河流?”;更多情況用戶會詢問復雜的問題,需要完整的解決方案和建議。那麽,從真實提問數據中學習理解材料、回答問題的方案,近乎於AI技術滿足搜索引擎體驗升級的唯一出路。
再比如最近爭議不斷的內容推薦領域。今日頭條最近反復出狀況,很大程度來源於輿論指責其過度依賴關鍵詞進行算法推薦,忽略了用戶的對文章深度與知識性的需求。這就是因為其算法的機器閱讀理解能力不夠,無法閱讀真實的互聯網材料,給出個性化的推薦結果。
除此之外,語音助手、智能客服等領域,都大量依靠於機器閱讀理解閱讀真實問題、真實互聯網材料,給出完整答案的AI能力。從真實數據中訓練AI,可能是破解這些難題的唯一途徑。
百度NLP團隊選擇刷MS MARCO,大概也與產品實踐的需求息息相關。已經深度部署在百度搜索和問答產品中的機器閱讀理解,下一步又會去往何方呢?
中文、通識、應用:可預見的機器閱讀理解未來
可以看到,有幾個傾向性趨勢,已經開始發生在機器閱讀理解這個剛剛開始熱絡的技術當中。
首當其沖,目前機器閱讀理解的訓練數據集和競賽,大部分集中在英文領域。這個尷尬正在一步步被打破。
比如百度在去年發布了與微軟MS MARCO結構類似,但數據量更豐富、數據更多元的全中文數據集DuReader。其首批發布的數據集包含20萬來自百度搜索的真實問題,100萬互聯網真實文檔,以及42萬人工撰寫生成的答案。同時,數據集還標註了問題類型、實體和觀點等豐富信息,並提供開源基線系統和評測平臺。據悉其很快也將進入競賽化。
在中國團隊一次次挑戰機器閱讀理解記錄的同時,讓技術紅利釋放到中文世界,似乎已經指日可待。
另一方面,機器閱讀理解的技術能力如何通用化、泛在化,與各種其他NLP技術體系相擬合,似乎成為了廣為關註的話題。讓機器能“理解”的同時,還能歸納、能思考、能創作,勾勒出完整的Deep NLP時代,也已經提上了日程。
再者,像百度這樣將機器閱讀理解能力高效投入搜索、問答等應用領域,產生現實價值的例子正在增多。相信不久的未來,機器閱讀理解工具化、集成化,可以滲透到各行各業當中,成為一種信息世界的主流解決方案。
比較大概率的狀況,大概是不久的將來,我們在使用百度等產品時,感到了某種難以具體形容卻又真實存在的體驗提升。那就是因為機器正在“讀你”,而不是“讀題”。
讀題or讀你?剝開機器閱讀理解的神秘外衣