幾乎在同一時間,微軟和阿里巴巴的機器閱讀理解系統在最新的 SQuAD 資料集測評結果中取得了並列第一的成績。這是歷史上第一次,機器閱讀理解的精準匹配分數超越了人類的評測結果。
這兩天 NLP 圈炸鍋了,焦點圍繞著微軟阿里到底是誰先打破了機器閱讀理解的人類記錄。
事情是這樣的。兩家的 PK 發生在 SQuAD 資料集上,這是行業內公認的機器閱讀理解標準水平測試,也是該領域頂級賽事,被譽為機器閱讀理解界的 ImageNet(影像識別領域的頂級賽事)。和 ImageNet 一樣,SQuAD 的成績排名也會定時更新。
微軟和阿里先後於 1 月 3 日 和 1 月 5 日在 SQuAD 官方平臺提交模型,但阿里的結果在 1 月 11 日先於微軟產出並被公佈,微軟的結果在 1 月 12 日緊隨其後釋出。
阿里釋出結果後,主辦方史丹佛向阿里發了賀信,表彰其機器閱讀理解系統首次超越人類。微軟結果釋出後,鑑於雙方在更細分維度上的評測結果各有千秋,官方給出了排名並列第一的說法。
機器閱讀理解的評測維度分為 EM(Exact Match,精準匹配分數)和 F1(精確率和召回率的平均,模糊匹配分數)。
下圖可見,阿里巴巴在 F1 分數上略勝一籌,微軟的 EM 分數優於阿里巴巴。無論如何,我們可以欣喜地看到包括阿里,微軟亞洲研究院,騰訊,哈工大和訊飛等中國的研究人員走在了世界的前列。
拋開「誰是第一」事件本身,機器之心採訪到此次破紀錄的阿里巴巴 iDST NLP 團隊,希望迴歸技術,對其模型進行解讀。
機器閱讀理解作為 QA 問答技術中的全新領域,允許使用者輸入非結構化文字及問題,機器在閱讀理解基礎上,從文字中尋找答案回答使用者問題。
對於阿里巴巴來說,機器閱讀理解技術的最直接應用就是阿里小蜜現在能直接閱讀說明書回答使用者問題了。
本次阿里巴巴參與測評的系統名為 SLQA,即 SLQA,即 Semantic Learning for Question Answering,是 iDST NLP 團隊提出的「基於分層融合注意力機制」的深度神經網路系統。評測證明,相比傳統方法,SLQA 的效果取得了顯著的提升。
採用傳統方法解決機器閱讀理解問題,一般會將該過程分為以下幾個步驟:
1)對問題、篇章分別進行詞法、句法分析,針對分析結果進行特徵提取:
2)基於特徵採用諸如 LR、CRF 等模型進行答案邊界預測;
3)採用梯度下降類演算法在訓練集上進行最佳化,擬合資料分佈。
在此過程中,基礎語言模型、依存分析等模組的準確率在一定程度上會影響訓練效果,特徵工程的優劣也同樣左右著是否能訓練得到可用的模型。
隨著深度學習在 NLP 領域的大量應用,很多場景如切詞、詞性標註、翻譯、命名實體識別等 End2End 模型逐漸取得接近並超越傳統模型的效果。在機器閱讀理解場景,iDST NLP 團隊設計了 Semantic Learning Net,即 SLQA 背後的演算法模型。
該模型模擬人類在做閱讀理解問題時的一些行為,包括結合篇章內容審題、帶著問題反覆閱讀文章、避免閱讀中遺忘而進行相關標註等。
團隊總結,人類在進行閱讀理解時,常見思維順序如下:
1)通讀篇章,理解文章主題和大體內容;讀題,瞭解提問內容及關注點。
2)帶著問題找答案,將問題同篇章做關聯,並結合篇章主題,理解問題重點。
3)定位可能的答案範圍,並再次重點閱讀附近文字。
4)為避免忘記問題,再次審題,並結合 3)中重點區域進行答案圈選。
5)針對挑出的答案候選進行精篩,確定最正確的答案。
結合以上思路,團隊構建模型的主要思想是在捕捉問題和文章中特定區域關聯的同時,藉助分層策略,逐步集中注意力,使答案邊界清晰。
同時,為了避免過於關注細節,團隊採用融合方式將全域性資訊加入注意力機制,進行適度糾正,確保關注點正確。這種逐步聚焦併兼顧全域性的方式與其他參賽者已經公佈的的做法不太相同,也是團隊此次刷榜登頂的關鍵所在。
目前業界主流的基於 End2End 學習的機器閱讀理解模型主要為 Encode-Interaction-Pointer 框架。基於上述分析,SLQA 系統包含如下基本結構:Encoder Layer(文字表徵),Attention Layer(注意力機制),Match Layer(問題篇章匹配)以及 Output Layer(答案預測)。
- Encoder Layer 用於表示學習,可以理解為語言模型層,用以將篇章及問題從離散字元轉變為蘊含語義的表徵向量。團隊採用了多層雙向 LSTM 並分別對篇章和問題進行主題和重點詞關注。
- Attention Layer 得到有效的問題及篇章表徵後,為表達依據問題定位答案過程,縮小備選答案查詢範圍,將搜尋空間透過注意力機制約束,主要進行多層融合注意力表示,對問題和篇章進行相關性對齊(Align),並不斷補充全域性資訊(Fusion),每一次對齊都基於下層資訊並在此基礎上更加細化(paragraph→sentence→phrase→word),採用的方式分別為 Co-Attention(篇章到問題,問題到篇章),Self-Attention(問題自身,篇章自身)。
- Match Layer 用於做融合資訊後的問題和篇章匹配,團隊採用雙線性矩陣來學習經過多層資訊過濾後的篇章和問題匹配引數,由於在前一階段無關資訊已經被過濾,最後的匹配可完成答案的定位工作。
- Output Layer 結合匹配資訊對篇章中詞彙進行標註,預測相應詞彙是答案開始位置或結束位置的機率。之後,模型會抽取可能性最高的一段連續文字作為答案。
團隊採用的技術就是基於以上四個Layer的深度神經網路模型,重點探索和研究的Layer是第三層(Hierarchical Attention Fusion Network)。
iDST NLP 團隊負責人司羅表示,本次 SQuAD 評測登頂得益於其 NLP 團隊自身的完善性。「NLP 領域內的很多技術方向可以互相借鑑,例如機器閱讀理解任務,我們就借鑑了機器翻譯的一些技術。應該說我們機器閱讀理解的技術是建立在我們更廣闊的自然語言處理能力上的。」
讓知識獲取不受人腦的限制
據司羅介紹,本次登頂只是阿里巴巴相關技術研發的一個側面,其所指向的「創新的問答系統」的落地應用才是團隊的重要發展方向。
由於團隊支援阿里大生態下的問答技術業務(如與阿里小蜜合作的智慧客服等),因此團隊的著眼點其實一直放在業務應用場景而非單純的技術突破上。
「阿里小蜜是我們所知的第一個真正把機器閱讀理解應用在大規模客服場景下的產品。」司羅說。
除阿里小蜜外,SLQA 系統在售前諮詢場景也能發揮作用。
面向商家的智慧客服「店小蜜」是阿里售前諮詢場景的典型案例。顧客在購物時,往往會對商品資訊進行詢問確認後才會下單購買,例如「榮耀 5c 的雙攝像頭拍照效果有什麼特點?」而這些資訊往往已經存在於商品的詳情描述頁。
店小蜜透過機器閱讀理解技術,讓機器對詳情頁中的商品描述文字進行更為智慧的閱讀和回答,在降低賣家服務成本的同時提高購買轉化率。
更廣泛地,著眼整個社會,機器閱讀理解也有著巨大的價值。試想機器自動閱讀病歷回答病人關心的問題、自動閱讀古今名著幫人們寫論文、自動閱讀旅遊場景的說明書來回答旅行者的問題、自動閱讀繁複的法律稅務條款來幫助人們解決法律報稅的問題。
「機器閱讀理解讓知識獲取不受人腦的限制。」司羅說。
儘管社會價值巨大,但目前的機器閱讀理解技術還在面臨很大的挑戰。例如該技術對於解決 WIKI 類客觀知識問答已經取得比較好的結果,但對於複雜問題來說仍處於比較初級的階段。
司羅認為,這是由於 WIKI 場景的資料相對較為充分、文件結構也清晰、內容描述較為正規。而其他廣大的應用場景常常存在訓練資料不足、文件知識不明確、描述不完整等問題,有不少甚至要透過多步推理才能得到答案。
這不僅對阿里巴巴,也對整個業界提出了挑戰。司羅表示,阿里希望建立自己完善的自然語言技術能力,在領域自適應、多步推理、知識自動抽取和歸納等方面進行全面且充分的準備,迎接這些挑戰。