- 機器閱讀理解:算法與實踐
- 朱晨光
- 2020字
- 2020-04-24 18:38:06
前言
閱讀是人類獲取知識、認識世界的重要手段。傳承人類文明的語言文字中包含了豐富的信息、經驗和智慧,而語言高度濃縮的特性也決定了閱讀能力本身就是一項重要的智能。著名科幻小說作家劉慈欣先生在《鄉村教師》中曾經這樣描述人類語言交流的效率:
你是想告訴我們,一種沒有記憶遺傳,相互間用聲波進行信息交流,并且是以令人難以置信的每秒1至10比特的速率進行交流的物種,能創造出5B級文明?!而且這種文明是在沒有任何外部高級文明培植的情況下自行進化的?!
根據測算,人類閱讀的平均速度約為說話語速的2~3倍。因此,粗略估算一下,一個人哪怕50年如一日地每天閱讀8個小時,最終獲取的文字信息量也只有4.9GB左右。但人類的文明和智慧程度遠遠超過了這個量級。可以說,閱讀是一種通過理解將精簡的文字抽象成概念和思想以及衍生知識的復雜過程。
在人工智能浪潮席卷世界的今天,讓計算機學會閱讀有著重要的意義。一方面,閱讀能力涉及人類的核心智能,也是終極人工智能必不可少的組成部分;另一方面,隨著文本數據的爆炸式增長,利用模型將文本信息的理解過程自動化,可節省大量人力物力成本,在許多行業有著廣泛的使用價值。
因此,最近三四年,自然語言處理十分熱門、前沿的研究課題之一就是機器閱讀理解。其研究目標是讓計算機讀懂文章,并像人類一樣回答與文章相關的問題。大量人工智能和深度學習中的核心技術被運用到這一領域,各種機器閱讀理解任務層出不窮。筆者有幸作為最早涉足這一領域的研究者之一,設計并實現了若干閱讀理解模型,并在斯坦福大學主辦的機器閱讀理解競賽SQuAD中獲得了第一名的成績,在CoQA競賽中讓計算機模型的得分首次超越了人類的得分。
然而,隨著計算機模型在越來越多的數據集上得分超過人類,一些媒體在相關報道中都冠以“計算機閱讀理解水平已超人類”的標題,這也在一定程度上對“人工智能已經可以取代人類”的說法有推波助瀾的作用。而作為實際參與模型設計的研究者,筆者深深感覺計算機與人類理解文章和進行思考的能力相差甚遠。當前的機器閱讀理解模型和十年前的成果相比已經有了巨大的飛躍,但只是在特定的數據集與限定的任務上超過了人類水平。已有研究表明,如果在文章中加入一個對于人類來說很容易判斷的迷惑性句子,就會使計算機模型的表現大打折扣。
另外,與機器閱讀理解研究熱潮不匹配的是,到目前為止,市面上還沒有這方面的書籍,大多數模型都是以學術論文方式發表的,而機器閱讀理解在工業界應用方面的資料更是寥寥無幾。筆者寫這本書的目的在于客觀地展現當前機器閱讀理解研究的現狀,從最基礎的模塊、閱讀理解模型的基本架構直到最前沿的算法,完整地展現機器閱讀理解模型的核心知識。書中有大量筆者在構建閱讀理解模型過程中精煉出的代碼實例,這些實例有著很強的實戰價值。所有代碼均上傳至https://github.com/zcgzcgzcg1/MRC_book,并可直接運行。本書還詳細闡述了機器閱讀理解模型在智能客服、搜索引擎等各種工業界應用中落地的方法、難點和挑戰,并探討了這項研究未來的發展方向。
雖然當前機器閱讀理解的能力遠遜于人類,但我們可以利用計算機的超快運算速度和超大存儲能力找到“彎道超車”的方法。所謂“熟讀唐詩三百首,不會吟詩也會吟”,而現在的計算機一秒內就可以讀詩千萬首,我們完全有理由期待它能取得突破性的成果。例如,2018年橫空出世的BERT模型融合了大數據和大模型,在機器閱讀理解等多個自然語言處理領域取得了可喜的突破。筆者希望本書能夠給大家帶來啟發和思考,在不遠的將來能夠真正使計算機達到并超過人類閱讀理解的水平。
全書分為3篇,共8章內容。
基礎篇(第1~3章),主要介紹機器閱讀理解的基礎知識和關鍵支撐技術。其中包括機器閱讀理解任務的定義、閱讀理解模型中常用的自然語言處理技術和深度學習網絡模塊,例如如何讓計算機表示文章和問題、做多項選擇題和生成回答等。
架構篇(第4~6章),介紹解決各類機器閱讀理解任務的基本模型架構和前沿算法,并剖析對機器閱讀理解研究有著革命性影響的預訓練模型(如BERT和GPT)。
實戰篇(第7~8章),其中包括筆者在2018年獲得CoQA閱讀理解競賽第一名時所用的模型SDNet的代碼解讀、機器閱讀理解在各種工業界應用中的具體落地過程和挑戰,以及筆者對機器閱讀理解未來發展方向的思考。
由于筆者的水平有限,且編寫時間倉促,書中難免會存在疏漏,懇請讀者朋友批評指正。如果您有更多的寶貴意見,歡迎通過郵箱zcg.stanford@gmail.com聯系我,期待能夠得到讀者朋友的反饋,在技術之路上互勉共進。
致謝
感謝微軟公司語音與語言研究團隊黃學東、曾南山和各位同事給予我指導和幫助。
感謝中國計算機學會秘書長杜子德先生一直以來對我的鼓勵和支持。
感謝高婧雅編輯在本書策劃、寫作和完稿過程中給予我巨大幫助。
特別感謝我的太太夢云和女兒,在寫作這本書的過程中,我犧牲了很多陪伴她們的時間,有了她們的付出與支持,我才能堅持寫下去。
同時,感謝我的父母幫助我們照顧女兒,有了你們的支持,我才有時間和精力完成寫作。
謹以此書獻給我最親愛的家人,以及眾多熱愛機器閱讀理解技術的朋友們!
朱晨光
- 社會科學數據處理軟件應用
- Photoshop CC 網店視覺設計
- 剪映短視頻制作全流程:剪輯、調色、字幕、音效
- Photoshop 2022從入門到精通
- Spring Web Flow 2 Web Development
- 中文版Premiere Pro CC實用教程
- Drupal 6 Panels Cookbook
- ASP.NET jQuery Cookbook
- NetLogo多主體建模入門
- Oracle Warehouse Builder 11g R2: Getting Started 2011
- 無師自通AutoCAD 2014中文版機械設計
- Flash CC動畫制作與應用(第3版)
- 3ds Max-Photoshop游戲模型制作全攻略
- AutoCAD 2019中文版完全自學手冊(標準版)
- AutoCAD 2021中文版從入門到精通