易燃物匯聚 YouTube 有聲書與書評
機器閱讀理解:算法與實踐 封面

機器閱讀理解:算法與實踐

朱晨光

176人在讀
17.4萬字總字數
¥47定價

內容簡介

全書分爲三個部分,共計10章內容。第壹部分爲基礎篇,介紹機器閱讀理解的基礎知識。其中包括機器閱讀理解任務的定義,閱讀理解模型中常用的自然語言處理技術和深度學習網絡模塊等。 第二部分爲架構篇,對機器閱讀理解任務進行分類,然後介紹解決各類任務的基本模型架構和前沿算法,並剖析對機器閱讀理解研究有着革命性影響的預訓練模型(如BERT和GPT)。 第三部分爲實戰篇,包括筆者在2018年獲得CoQA閱讀理解競賽第一名的模型SDNet的代碼解讀,機器閱讀理解在各種工業界應用中的具體落地過程和挑戰,以及筆者對於機器閱讀理解未來發展方向的思考。

讀者書評

★★★★★

《機器閱讀理解:算法與實踐》核心拆解 一句話概括 機器閱讀理解的核心,是把文章與問題編碼成向量,通過注意力建立二者的語義聯繫,再以抽取、分類或生成的方式輸出答案;但評測成績接近人類,不等於模型真正理解了文章。 核心邏輯 全書沿着“從原理到模型,再到工程落地”的路徑展開:文本數字化→上下文編碼→文章與問題交互→預測或生成答案→使用數據集訓練和評測→引入預訓練模型遷移知識→通過SDNet展示工程實現→進入客服、搜索、醫療、法律、金融和教育。 全書分爲三篇:基礎篇講機器閱讀理解任務、NLP基礎和深度學習模塊;架構篇講通用架構、經典模型和預訓練模型;實戰篇講CoQA冠軍模型SDNet源碼及產業應用。 核心內容 1. 什麼是機器閱讀理解 機器閱讀理解的典型輸入包括一篇文章、一個與文章有關的問題,以及可選的歷史對話或候選答案。模型需要分析文章語義,判斷問題關注的信息,再輸出答案。 按輸出形式,可分爲抽取式、選擇式、判斷式、生成式和多輪對話式。典型模型由編碼層、交互層和輸出層組成。編碼層理解文章和問題各自的上下文;交互層尋找文章與問題之間的聯繫;輸出層根據任務形式生成答案。 2. 機器閱讀理解的應用價值 機器閱讀理解可以從產品文檔中回答客戶問題,從網頁和知識庫中尋找精準答案,分析病歷和醫學文獻,閱讀合同、法規和案件材料,提取金融新聞和公司報告中的信息,自動批改作文並支持翻譯、摘要和多輪對話。 如果模型尚未達到完全替代人的質量,可以先處理簡單、高頻、標準化問題,再把複雜問題交給人工。 3. 機器閱讀並不等於真正理解 現有模型在部分數據集上的成績已經接近甚至超過人類平均水平,但這不代表模型具備人類式理解。 模型經常依賴關鍵詞重合、相鄰句匹配、問題與答案之間的統計模式、數據集固定模板、答案位置偏差和訓練數據中的捷徑特徵。一旦加入干擾語句、改寫問題或改變答案分佈,性能就可能明顯下降。 真正的閱讀還需要常識、邏輯、因果關係、指代消解、跨段推理和篇章結構理解,而這些正是模型的薄弱環節。 4. 分詞是文本數字化的第一步 英文通常以空格劃分單詞,但仍需處理縮寫、標點、詞形變化和複合詞;中文沒有天然空格,分詞本身就是預測任務。 中文分詞方法包括基於詞典的最大匹配、隱馬爾可夫模型、條件隨機場、神經網絡序列標註和子詞切分。隨着BERT等模型普及,WordPiece、BPE等子詞方法能夠緩解未登錄詞問題。 5. 詞向量是語言處理的基礎表示 獨熱編碼不能表達詞語之間的語義關係,維度也非常高。詞向量把每個單詞表示成低維連續向量,語義相近或使用環境相似的詞,在向量空間中的位置也更接近。 常見方法包括Word2Vec、GloVe、FastText和上下文化詞向量。靜態詞向量的問題是,一個詞無論出現在什麼語境中都使用同一個表示,難以處理一詞多義。ELMo、BERT等上下文模型會根據句子生成不同的詞向量。 6. 命名實體和詞性提供額外語言信息 命名實體識別用於發現人名、地點、機構、時間和數字等信息。詞性標註則區分名詞、動詞、形容詞等語法角色。 機器閱讀模型可以把詞向量、詞性、實體類型、字符編碼、詞頻及精確匹配特徵拼接起來,讓模型獲得更豐富的語言線索。不過,這些人工特徵可能引入上游模型錯誤,預訓練模型則能在一定程度上自行學習這些知識。 7. 語言模型學習文本的概率規律 語言模型的目標,是根據上下文預測單詞或計算一個句子的概率。傳統語言模型使用N元語法、平滑技術和馬爾可夫假設,神經語言模型則使用詞向量和神經網絡處理更長的上下文。 語言模型可以利用海量無標註文本訓練,因此成爲預訓練模型的基礎:在進入具體閱讀理解任務之前,先讓模型從通用文本中學習詞義、語法和部分世界知識。 8. 深度學習負責生成上下文表示 閱讀理解需要把單詞編碼成包含上下文的信息,常用模塊包括循環神經網絡、雙向RNN、LSTM、GRU、卷積神經網絡和Transformer。 雙向網絡同時利用一個單詞之前和之後的信息;LSTM和GRU通過門控機制緩解長距離依賴問題;CNN適合提取局部模式;Transformer則通過自注意力讓任意位置的單詞直接交互,並支持並行計算。 9. 自然語言理解與自然語言生成 選擇題、分類和答案類型判斷屬於判定式任務,模型爲每個候選類別計算分數。 生成答案、摘要和對話回覆屬於生成式任務,通常採用編碼器—解碼器結構:編碼器處理文章或問題,解碼器逐詞生成目標文本,訓練時可以使用Teacher Forcing,推理時可用集束搜索尋找候選答案。 生成式模型表達更靈活,但也可能生成原文中沒有的信息。 10. 注意力機制連接文章和問題 注意力機制針對問題中的每個詞,動態計算文章各位置的重要程度;也可以反過來根據文章關注問題。 常見形式包括文章到問題的注意力、問題到文章的注意力、雙向注意力、自注意力、多頭注意力和互注意力。 注意力權重可以提供部分分析線索,但不能簡單地把它當作模型完整的推理解釋。 11. 模型評測必須匹配任務形式 不同閱讀理解任務需要不同指標:準確率適用於選擇題和判斷題;精確匹配率要求答案與標準答案完全一致;F1衡量預測答案與標準答案的詞語重合程度;ROUGE和BLEU常用於摘要及生成式答案;人工評價則判斷正確性、相關性、完整性和語言質量。 自動指標便於比較模型,但也存在侷限。一個答案可能含義正確,卻因表達不同而得分較低;也可能詞語高度重合,卻沒有真正回答問題。 12. 數據集決定模型學到什麼 訓練數據可以通過人工標註、衆包、從網頁和文檔構造、自動生成問題和答案、翻譯其他語言數據及弱監督獲得。 數據集需要控制問題質量、答案唯一性、訓練與測試集重合、標註一致性及難度分佈。如果數據集存在明顯規律,模型可能學會“解數據集”,而不是學會閱讀。 13. 編碼—交互—輸出是通用架構 編碼層執行分詞、建立詞表、生成詞向量、拼接字符、詞性、實體和匹配特徵,並使用雙向RNN或預訓練模型生成上下文表示。 交互層建立文章與問題之間的語義聯繫,是經典模型創新最集中的部分。輸出層根據任務預測答案開始位置、結束位置、候選答案類別、是否可以回答或生成式文本。 這種分層方式便於替換模塊,也方便分析性能來源。 14. BiDAF:雙向注意力流 BiDAF通過兩個方向的注意力建立文章與問題之間的聯繫:文章中的每個詞關注問題,問題整體反過來關注文章中的關鍵位置。 雙向注意力生成的表示既包含文章上下文,也包含問題線索,是神經閱讀理解發展中的重要基礎模型。 15. R-Net:加入自匹配和指針機制 R-Net先對文章和問題進行門控注意力交互,再使用自匹配注意力,讓文章中的不同位置互相聯繫。輸出層採用指針網絡預測答案的起點和終點。 自匹配機制有助於處理跨句信息和較長文本,但循環網絡仍然存在並行效率較低的問題。 16. FusionNet:融合不同層次的表示 FusionNet不僅使用神經網絡最終層的輸出,還融合原始詞向量、低層語法特徵、高層語義特徵和歷史交互信息。 其核心思想是,不同網絡層學習的是不同抽象程度的信息,不應只保留最後一層。 17. DrQA:檢索和閱讀結合 面對大規模文檔庫,僅有閱讀模型還不夠。DrQA將系統分爲文檔檢索器和文檔閱讀器:先從海量文本中找到相關文檔,再在候選文檔中定位答案。 這奠定了現代開放域問答“先召回、再精讀、最後回答”的基本結構,其思想與今天的檢索增強生成系統具有明顯連續性。 18. 預訓練和遷移學習改變了NLP 預訓練模型先在大規模無標註文本上學習通用語言表示,再針對閱讀理解任務微調,能夠降低標註數據需求、提升低資源任務性能、縮短模型設計週期、遷移語法和語義知識,並統一不同NLP任務的建模方式。 19. CoVe與ELMo:上下文詞向量的形成 CoVe從機器翻譯模型的編碼器中遷移上下文表示。ELMo利用雙向語言模型,根據具體語境爲每個單詞生成不同表示,並融合網絡不同層次的信息。 它們突破了靜態詞向量“一詞一個向量”的限制,爲Transformer預訓練模型鋪平了道路。 20. GPT:生成式預訓練 GPT使用Transformer語言模型在大規模文本上預訓練,再通過簡單的任務輸出層完成分類、推理和閱讀理解。 其重要意義是證明統一的生成式預訓練模型可以遷移到多種語言任務,不必爲每個任務從頭設計網絡。本書討論的主要是早期GPT,尚未進入今天的大語言模型和指令微調階段。 21. BERT:雙向語言理解 BERT使用Transformer編碼器,通過遮蔽語言模型等任務進行雙向預訓練。與從左到右的語言模型相比,BERT可以同時利用目標詞前後的內容,特別適合閱讀理解、文本分類、序列標註和語義匹配。 BERT是從“任務專用模型”轉向“預訓練基礎模型”的重要里程碑。 22. SDNet:多輪對話式閱讀理解 SDNet在CoQA多輪對話閱讀理解競賽中獲得第一名,並公開了PyTorch代碼。 它把前兩輪問答與當前問題拼接,將多輪問答轉化爲包含對話歷史的閱讀理解任務。編碼特徵包括GloVe詞向量、詞性編碼、命名實體編碼、精確匹配編碼、詞頻編碼和BERT上下文編碼。 交互層包括單詞注意力、閱讀層、問題理解層、全關注互注意力和問題自注意力。輸出層同時處理原文區間答案、“是”、“否”和“無法回答”。 SDNet的價值不僅在於競賽成績,還在於展示了論文模型如何落到預處理、數據批次、訓練器、網絡結構和推理代碼中。 23. 智能客服與搜索 智能客服可以閱讀產品文檔、歷史工單和用戶問題,自動回答高頻問題,把不確定情況轉交人工。 搜索引擎則需要經歷抓取文檔、建立索引、召回相關結果、語義匹配及抽取或生成答案。機器閱讀理解可以把搜索從“返回網頁”推進到“直接回答問題”,但必須提供來源並控制錯誤答案。 24. 醫療、法律和金融 醫療場景可以分析病歷、醫學文獻和診療知識,但誤判代價高,必須強調專業審覈、隱私和可解釋性。 法律場景可以檢索案件、分析合同和法規、提取爭議焦點,但“自動判案”涉及價值判斷、程序正義和責任,不能只追求效率。 金融場景需要快速處理新聞、公告、研報和市場數據,但歷史相關性未必代表未來因果規律。 這些高風險領域更適合“模型輔助專家”,而不是直接替代專家。 25. 教育應用 機器閱讀理解可以用於拼寫和語法檢查、作文自動評分、語義連貫性分析、個性化易錯點總結、自動生成問題及閱讀和寫作輔助。 作文評價既要考慮語言正確性,也要考慮篇章連貫性。僅檢查關鍵詞或語法,無法判斷文章是否真正有邏輯和思想。 26. 產業化面臨的關鍵挑戰 主要難題包括:模型依賴關鍵詞而不是真正理解;深度學習缺乏可解釋性;行業標註數據不足;數據分佈變化導致性能下降;多段和多步推理能力有限;需要處理表格、圖像和語音等多模態數據;錯誤答案在高風險場景中代價巨大;離線測試成績與線上業務效果存在差距。 產業落地應優先選擇文本量大、問題集中、答案標準化且容易人工接管的場景。 反對的觀念 本書反對以下認識:評測分數超過人類就代表機器真正理解了語言;閱讀理解只需在原文中尋找相同關鍵詞;一個模型可以直接適用於所有行業;注意力權重就是完整的模型解釋;數據集越大標註質量就不重要;生成式答案比抽取式答案一定更先進;有了BERT就不再需要數據處理和任務設計;離線準確率高模型即可完全取代人工;所有閱讀理解問題都可以轉化爲單輪問答;自動醫療診斷、自動判案只需要繼續提高模型精度。 本書最值得關注的核心觀點 機器閱讀理解最重要的分界,不是模型能否給出答案,而是答案來自真正可靠的語義證據,還是數據集中的統計捷徑。 一個成熟系統必須同時回答:答案是什麼?依據哪段材料?模型有多確定?文檔中是否真的包含答案?出錯時能否被發現?哪些情況必須交給人工? 因此,閱讀理解的工程目標不應只是“答對更多題”,而應是構建有證據、可校驗、可拒答、可接管的問答系統。 個人啓示 1. 先確定任務類型,再決定使用抽取、分類還是生成模型。2. 把檢索和閱讀分開設計。沒有可靠召回,再強的閱讀模型也無法得到正確答案。3. 建立無法回答機制,比強迫模型回答每個問題更重要。4. 自動指標只是代理目標,必須結合錯誤分析和人工評價。5. 行業落地的壁壘往往是高質量數據、知識體系和業務閉環,而不是模型結構。6. 對高風險答案應保留來源、置信度、審覈記錄和版本信息。7. 模型達到人類平均分,不代表具備人類式理解,可能只是更善於利用基準數據規律。 觀點評價 這本書的優點是體系完整,能夠把分詞、詞向量、RNN、注意力、經典閱讀模型、預訓練模型和SDNet代碼連接起來。它既解釋算法,也討論數據、評測和產業應用,適合想了解BERT時代機器閱讀理解全貌的讀者。 其侷限主要來自出版時間:內容主要停留在BERT和早期GPT階段,沒有系統覆蓋大語言模型、指令微調、上下文學習、RAG、向量數據庫和智能體;對生成模型幻覺、提示注入、來源引用和大模型評測缺少討論;部分經典RNN架構今天已不再是主流,但仍有助於理解技術演進;“技術奇點”等展望略顯樂觀;醫療診斷和自動判案等表達需要加入更嚴格的倫理、法律與責任約束。 總體而言,這是一部很好的“BERT時代機器閱讀理解教材”。它最值得保留的不是某個具體網絡結構,而是任務定義、數據構造、評測、證據定位和人機協同的完整工程思維。 一段話總結 《機器閱讀理解:算法與實踐》系統講解了計算機如何將文章和問題數字化,通過上下文編碼、注意力交互及抽取、分類或生成模塊輸出答案,並沿着分詞、詞向量、RNN、注意力、BiDAF、R-Net、FusionNet、DrQA、CoVe、ELMo、GPT、BERT和SDNet展示機器閱讀理解的技術演進。全書最重要的提醒是,模型在數據集上達到甚至超過人類分數,不代表它真正理解了語言,因爲它仍可能依賴關鍵詞、位置偏差和統計捷徑;真正可用的閱讀理解系統必須把檢索、證據、置信度、拒答、人工接管和業務反饋連接成閉環,讓模型不僅能夠回答,還能說明依據,並在不知道時承認不知道。

★★★★★

微軟人工智能首席技術官黃學東、中國計算機學會祕書長杜子德聯袂推薦!微軟高級研究員、2次獲得全球閱讀理解競賽冠軍的斯坦福大學計算機系博士朱晨光撰寫。讓你深刻認識機器閱讀理解並直接進行相關模型的開發、實驗和部署。

★★★★★

"當下市面上完整介紹機器閱讀理解算法研究與應用現狀的書籍非常少見,相關的中文資料更是少之又少。朱晨光博士在機器閱讀理解領域深耕多年,並曾在多項國際競賽中帶領團隊奪得冠軍。本書旨在將機器閱讀理解的真實面貌展現給讀者。 全書分爲三篇,基礎篇主要介紹了機器閱讀理解的基礎知識和關鍵支撐技術,涵蓋機器閱讀理解任務的定義,閱讀理解模型中常用的自然語言處理技術和深度學習網絡模塊。架構篇介紹瞭解決各類機器閱讀理解任務的基本模型架構和前沿算法,並剖析對機器閱讀理解研究有着重要影響的預訓練模型。實戰篇包括作者在2018年獲得CoQA對話閱讀理解競賽第一名時所用的模型SDNet的代碼解讀,機器閱讀理解在各種工業界應用中的具體落地過程和挑戰,以及筆者對於機器閱讀理解未來發展方向的思考。希望本書能夠啓發各位讀者爲實現人類水平的機器閱讀理解共同努力。"

★★★★★

從GPTs回頭看感慨萬千 雖說底層原理很久沒突破 但依然是不斷站在巨人肩膀上摸索和優化 硬是完成了量變到質變 唯一可惜的是曾經機器學習的許多tricky的靈光一閃在GPT架構的大力出奇跡下變的泯然衆人 連曾經同樣是基於transformer模型甚至更全面雙向的BERT也不再爲人所知 但AGI之路依然遙遠 拋開資本炒作和概念投機之外 書中所言知識與推理能力 可解釋性 低資源 多模態也只解決了後兩者 然而正如曾經一位NLP朋友所言 who cares?

★★★★☆

一些總結挺不錯的, 可以當成比較簡單的綜述來看。 如果對MRC比較熟悉,可以梳理下整個體系,總結一些模型的架構與設計經驗。

★★★★★

實用的工具書以及閱讀理解綜述書。對於神經網絡的介紹也比較清晰

★★★☆☆

只讀了第一章,介紹機器閱讀的原理,現狀,目前幾種數據庫,應用方式!

書籍信息

作者朱晨光
出版社機械工業出版社
出版時間2022-01-12
ISBN9787111649502
分類計算機-人工智能
格式EPUB
完結狀態連載中
章節數156