一文讀懂機器閱讀理解


  一文讀懂機器閱讀理解

  機器閱讀理解(Machine Reading Comprehension,MRC)是一種利用算法使計算機理解文章語義並回答相關問題的技術。由於文章和問題均采用人類語言的形式,因此機器閱讀理解屬於自然語言處理(NLP)的范疇,也是其中最新最熱門的課題之一。近些年來,隨着機器學習,特別是深度學習的發展,機器閱讀理解研究有了長足的進步,並在實際應用中嶄露頭角。

  任務介紹

  學者C. Snow在2002年的一篇論文中定義閱讀理解是“通過交互從書面文字中提取與構造文章語義的過程”。而機器閱讀理解的目標是利用人工智能技術,使計算機具有和人類一樣理解文章的能力。圖1給出了一個機器閱讀理解的樣例。其中,模型需要用文章中的一段原文回答問題。

圖1 機器閱讀理解任務樣例

  圖1 機器閱讀理解任務樣例

  大部分機器閱讀理解任務采用問答式測評:設計與文章內容相關的自然語言式問題,讓模型理解問題並根據文章作答。為了評判答案的正確性,一般有如下幾種形式的參考答案:

  多項選擇式,即模型需要從給定的若干選項中選出正確答案;

  區間答案式,即答案限定是文章的一個子句,需要模型在文章中標明正確的答案起始位置和終止位置;

  自由回答式,即不限定模型生成答案的形式,允許模型自由生成語句;

  完形填空式,即在原文中除去若干關鍵詞,需要模型填入正確單詞或短語。

  此外,一些數據集設計了“無答案”問題,即一個問題可能在文章中沒有合適答案,需要模型輸出“無法回答”(unanswerable)。

  在以上的答案形式中,多項選擇和完形填空屬於客觀類答案,測評時可以將模型答案直接與正確答案比較,並以准確率作為評測標准,易於計算。

  基本框架

  早期的閱讀理解模型大多基於檢索技術,即根據問題在文章中進行搜索,找到相關的語句作為答案。但是,信息檢索主要依賴關鍵詞匹配,而在很多情況下,單純依靠問題和文章片段的文字匹配找到的答案與問題並不相關。隨着深度學習的發展,機器閱讀理解進入了神經網絡時代。相關技術的進步給模型的效率和質量都帶來了很大的提升。機器閱讀理解模型的准確率不斷提高,在一些數據集上已經達到或超過了人類的平均水平。

  基於深度學習的機器閱讀理解模型雖然構造各異,但是經過多年的實踐和探索,逐漸形成了穩定的框架結構。機器閱讀理解模型的輸入為文章和問題。因此,首先要對這兩部分進行數字化編碼,變成可以被計算機處理的信息單元。在編碼的過程中,模型需要保留原有語句在文章中的語義。因此,每個單詞、短語和句子的編碼必須建立在理解上下文的基礎上。我們把模型中進行編碼的模塊稱為編碼層。

  接下來,由於文章和問題之間存在相關性,模型需要建立文章和問題之間的聯系。例如,如果問題中出現關鍵詞“河流”,而文章中出現關鍵詞“長江”,雖然兩個詞不完全一樣,但是其語義編碼接近。因此,文章中“長江”一詞以及鄰近的語句將成為模型回答問題時的重點關注對象。這可以通過自然語言處理中的注意力機制加以解決。在這個過程中,閱讀理解模型將文章和問題的語義結合在一起進行考量,進一步加深模型對於兩者各自的理解。我們將這個模塊稱為交互層。

  經過交互層,模型建立起文章和問題之間的語義聯系,就可以預測問題的答案。完成預測功能的模塊稱為輸出層。由於機器閱讀理解任務的答案有多種類型,因此輸出層的具體形式需要和任務的答案類型相關聯。此外,輸出層需要確定模型優化時的評估函數和損失函數。

  圖2是機器閱讀理解模型的一般架構。可以看出,編碼層用於對文章和問題分別進行底層處理,將文本轉化成為數字編碼。交互層可以讓模型聚焦文章和問題的語義聯系,借助於文章的語義分析加深對問題的理解,同時也借助於問題的語義分析加深對文章的理解。輸出層根據語義分析結果和答案的類型生成模型的答案輸出。

圖2 機器閱讀理解模型的總體架構,輸出層以區間式答案為例

  圖2 機器閱讀理解模型的總體架構,輸出層以區間式答案為例

  相關模型

  在基本框架的指引下,眾多優秀的機器閱讀理解模型脫穎而出。這些模型在網絡架構、模塊設計、訓練方法等方面實現了各種創新,大大提高了算法理解文本和問題的能力和預測答案的准確性,在諸多機器閱讀理解數據集和競賽中取得了非常優秀的成績。其中具有代表性的模型有:雙向注意力流(BiDAF),使用門機制的R-net、融合網絡(FusionNet)等。

  而近期非常流行的預訓練模型給機器閱讀理解領域帶來了革命性的改變。預訓練方法源於機器學習中遷移學習的概念:為了完成一個學習任務,首先在其他相關任務上預訓練模型,然后將模型在目標任務上進一步優化,實現模型所學知識的遷移。預訓練模型最大的好處是,可以克服目標任務(如機器閱讀理解)數據不足的問題,利用大量其他任務的數據,建立有效的模型再遷移到目標任務,大大提高了模型的准確度。這其中最具有代表性的便是Google 於2018年提出的雙向編碼器模型BERT。BERT采用無監督學習在大規模語料上進行預訓練,並創新性地利用掩碼設計與判斷下一段文本兩個子任務增強了模型的語言能力。在論文作者開源了代碼和預訓練模型后,BERT立即被研究者運用在各種NLP任務中,並頻繁大幅刷新之前的最好結果。例如,在SQuAD 2.0競賽中,排名前20名的模型全部基於BERT;CoQA競賽中,前10名模型全部基於BERT。並且這兩個競賽中模型的最好表現已經超越人類水平。

  工業界應用

  機器閱讀理解利用人工智能技術為計算機賦予了閱讀、分析和歸納文本的能力。隨着信息時代的到來,文本的規模呈爆炸式發展。因此,機器閱讀理解帶來的自動化和智能化恰逢其時,在眾多工業界領域和人們生活中的方方面面都有着廣闊的應用空間。

  客服機器人是一種基於自然語言處理的擬人式服務,通過文字或語音與用戶進行多輪交流,獲取相關信息並提供解答。機器閱讀理解可以幫助客服系統根據用戶提供的信息在產品文檔中快速找到解決方案,如圖3所示。

圖3 客服機器人與用戶與產品文檔的關系

  圖3 客服機器人與用戶與產品文檔的關系

  智能法律用於自動處理和應用各種錯綜復雜的法律法規實現對案例的自動審判,這正可以利用機器閱讀理解在處理和分析大規模文檔方面的速度優勢。

  智能教育利用計算機輔助人類的學習過程。機器閱讀理解在這個領域的典型應用是作文自動批閱。自動作文批閱模型可以作為學生寫作時的助手,理解作文語義,自動修改語法錯誤,個性化總結易錯知識點。這些技術與當前流行的在線教育結合,很有可能在不久的將來對教育行業產生顛覆性的影響。

  展望未來,機器閱讀理解研究仍面臨如知識與推理能力、可解釋性、缺乏訓練數據等挑戰,但也有很大的應用空間。基於機器閱讀理解高速處理大量文本的特點,這項技術最容易在勞動密集型文本處理行業落地。而在其產業化的進程中,可以有部分替代人類和完全替代人類兩種模式。部分替代人類模式是指模型的質量沒有完全達到可接受的水平,但是可以很好地處理簡單高頻的場景,然后由人類接力處理。而在作文自動批閱等需要模型獨立完成任務的場景中,可以使用強化學習等手段根據用戶的反饋不斷改進模型的架構和參數,得到更好的表現。

  在今后的發展中,一方面,機器閱讀理解可以在自然語言理解已獲得成功的深耕領域進一步細分與提升質量,如搜索引擎、廣告、推薦等;另一方面,我們相信,隨着機器閱讀理解技術的不斷進步,機器與人類的差距會不斷縮小,我們必將迎來技術的奇點,使得這項技術對更多的行業產生革命性的影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM