兩種閱讀理解模型框架的概要介紹

哈工大SCIR發表於2016-12-20

作者: 哈工大SCIR博士生 徐俊

1.  摘要

讓機器具備閱讀理解能⼒是⾃然語⾔研究者長久以來追求的核⼼⽬標之⼀,隨著深度學習技術的興 起和閱讀理解相關⼤資料集的釋出,⼆者結合引爆了當前⼈們對於閱讀理解研究的興趣。本⽂概要 介紹閱讀理解任務和當前兩種“經典”神經⽹絡模型,同時給出模型的開原始碼和實驗所需資料集, 便於讀者快速上⼿。

2.  閱讀理解任務簡介

作為⾃然語⾔處理⽅向乃⾄⼈⼯智慧領域的⼀個核⼼任務,讓機器具備閱讀理解能⼒的研究受到⼈ 們⼴泛⽽持續的關注。

為了考察⼈類的閱讀理解能⼒,往往採取提問的⽅式,即:給定⼀篇⽂本和與⽂本相關的問 題,要求給出該問題的答案。同樣的⽅式也被⽤于衡量機器的閱讀理解能⼒,在⾕歌公司 Hermann(Hermann et al. 2015)[2] 釋出的 CNN 資料集中,資料以三元組的形式存在:⽂本、問題和 答案,機器閱讀⽂本和問題然後給出答案。

CNN 資料集,是基於美國有線電話新聞⽹(The Cable News Network)的新聞構建的,其中新 聞內容會作為“⽂本”,⽽“問題”則是新聞的標題(扣除其中⼀個實體,使⽤ @placeholder 標記),“答 案”是被摳除的那個實體。⽂本中的實體(⼈名、地名、機構等)均被替換成標記符(@entity),同 ⼀個實體使⽤同⼀個標記符表⽰,答案是⼀個在⽂中出現的實體,其在問句中的位置⽤特殊標記 @placeholder 表⽰。Figure 1 展⽰了 CNN 資料集中的⼀個三元組。

兩種閱讀理解模型框架的概要介紹

Figure 1: CNN 資料集的⼀個樣例 [1]

需要注意的是,在 CNN 資料集中答案是⼀個出現在⽂本中的⼀個詞(實體),⽽其他資料集卻 不⼀定如此,⽐如在史丹佛⼤學 Rajpukar&Liang 釋出的 SQuAD[4] 資料集中的答案就可能是由多個片語成且不⼀定是實體。本⽂的闡述基於 CNN 資料集

3.  模型

隨著深度學習技術的再度興起,神經⽹絡模型成為閱讀理解任務中的主流模型。下⾯簡要的介紹其 中兩種具有代表性的模型


3.1 Attention Reader


Attention Reader[2] 在處理的時候,⾸先採⽤雙向 RNN 分別表⽰⽂本(看做⼀個“長句⼦”)和問 句,再利⽤ attention 機制尋找⽂本表⽰中同問句相關的資訊,最後根據相關程度提取⽂本資訊做 分類並給出預測的答案。Figure 2是 Attention Reader 的模型框架圖。

兩種閱讀理解模型框架的概要介紹

Figure 2: Attention Reader


  1. 表示:使⽤雙向 RNN(LSTM Cell)獲取⽂本表⽰和問句表⽰。其中問句表⽰分別由雙向 RNN 兩個⽅向各⾃最後⼀個時刻的隱層狀態(圖中左上⾓雙向 RNN 中的橙⾊向量)拼接⽽ 來
  2. Attention: 使⽤ Attention 機制獲得⽂本中各個時刻的隱藏狀態向量同問句表⽰之間的相關 程度(也就是權重,最簡單的做法就是向量點乘),在圖中⽤紅⾊線條表⽰(越長表⽰相關程 度越⾼)
  3. 輸出層:⽂本各個時刻隱藏狀態向量乘以對應時刻的權值,加和,獲取“提取後的⽂本資訊”, 過 softmax 在詞表上進⾏分類。


在AttentionReader中,核⼼的思路是通過動態的attention機制從⽂本中“尋找相關資訊”,再做 依據該資訊給出預測結果。關於該模型的具體實現有多個不同的版本,史丹佛⼤學的Chen&Manning (Chen et al. 2016)[1] 利⽤該模型在 CNN 測試集上取得了 72.4% 的效果(當時最好效果),Chen 在 ACL2016 會議中報告該模型的最新效果為 73.8%。

3.2 Attention-Sum Reader


IBM 公司的 Kadlec(Rudolf Kadlec et al. 2016)[3] 提出了 Attention-Sum Reader,該模型直接利 ⽤ attention 機制基於問句表⽰在⽂章中尋找最相關的詞作為答案。

Figure3是 Attention-SumReader 的框架圖,可以直觀看出 Attention-SumReader 同 Attention Reader 在模型框架上⼏乎類似。Attention-Sum Reader 直接利⽤ attention 機制獲取⽂本中各個位 置作為答案的概率(需要將同⼀詞語在⽂本中不同位置的概率加和作為該詞語成為答案概率),⽽ 不再同 Attention Reader 最後⼀步那樣,通過分類(softmax)獲取各個詞語作為答案的概率。

兩種閱讀理解模型框架的概要介紹

Figure 3: Attention-Sum Reader

雖然做法上同 Attention Reader 區別不是特別明顯,但是這是兩種不同的思路,基於此⽽衍 ⽣出來的模型的變種則差別甚⼤。二者的本質區別在於最終提供給輸出層的資訊(特徵)型別, Attention Reader 輸入給輸出層的是經過 attention 機制加權後的文字表示,也就是“根據問 句在文字中提取的資訊”,而 Attention-Sum Reader 輸入給輸出層的是 attention 結果本身。

3.3 對比


(Rudolf Kadlec et al. 2016)[3] 報出的效果是 69.5%,但是在我們的實現中獲得了 73% 的效果。可見,兩個 Reader 本身的效能在伯仲之間。

Attention Reader 的輸出層為詞表中每個詞學習⼀個權重向量,⽽其中有效候選詞是真實實體 的指代(如 @entity0),指代在不同的⽂本中代表不同的真實實體,這就使得有效候選詞的權重向 量在⼀定程度上並不能刻畫這個詞,進⽽加⼤學習難度。⽽ Attention-Sum Reader 中這個問題則 要⼩的多,其直接利⽤問句表⽰在⽂本中尋找最相關的詞。

Attention-Sum Reader 的問題在於其嚴重依賴於問句表⽰,Attention Reader 在“⽂本中尋找相關資訊”是對於問句表⽰的豐富,畢竟,⽬標詞的表⽰並不等同於問句表⽰。

4.  資料集和開原始碼

4.1 開原始碼


Attention Reader[1](Theano): https://github.com/danqi/rc-cnn-dailymail; Attention-Sum Reader[3](Theano): https://github.com/rkadlec/asreader;

4.2 資料集


CNN&Daily Mail dataset: http://cs.nyu.edu/~kcho/DMQA/;

More datasets for QA: https://github.com/karthikncode/nlp-datasets;

5.  總結

本⽂概要的介紹了閱讀理解任務,以及兩種“經典”的閱讀理解模型,同時給出對應開原始碼和相關 資料集,⽅便對該領域有興趣的讀者快速上⼿,實踐出真知。

References

[1] Danqi Chen, Jason Bolton, and Christopher D Manning. A thorough examination of the cnn/daily mail reading comprehension task. arXiv preprint arXiv:1606.02858, 2016.

[2KarlMoritzHermann,TomasKocisky,EdwardGrefenstette,LasseEspeholt,WillKay,Mustafa Suleyman, and Phil Blunsom. Teaching machines to read and comprehend. In Advances in Neural Information Processing Systems, pages 1693–1701, 2015.

[3] Rudolf Kadlec, Martin Schmid, Ondrej Bajgar, and Jan Kleindienst. Text understanding with the attention sum reader network. arXiv preprint arXiv:1603.01547, 2016.

[4] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. Squad: 100,000+ questions for machine comprehension of text. arXiv preprint arXiv:1606.05250, 2016.


本文來源於哈工大SCIR

原文連結點選即可跳轉

兩種閱讀理解模型框架的概要介紹

相關文章