2015 Teaching Machines to Read and Comprehend

2015 Teaching Machines to Read and Comprehend

摘要

教會機器閱讀自然語言文檔仍然是一個難以實現(xiàn)的挑戰(zhàn)。機器閱讀系統(tǒng)需要測試在它們看過的文檔內(nèi)容中回答問題的能力, 但目前這種能力驗證缺少大規(guī)模訓(xùn)練和測試的數(shù)據(jù)集 (large scale training and test datasets) 。在這篇文章中,作者定義了一個新的方法,解決了上面提到的瓶頸和提供大規(guī)模有監(jiān)督閱讀理解數(shù)據(jù)。該數(shù)據(jù)集可以讓作者開發(fā)基于 attention 的深度神經(jīng)網(wǎng)絡(luò),通過學(xué)習(xí)閱讀真實文檔和使用最少的先驗的語言結(jié)構(gòu)知識來回答復(fù)雜的問題。

問題背景

  • 從淺層詞袋信息檢索算法 (shallow bag-of-words information retrieval algorithms) 到能夠閱讀和理解文檔的機器這條道路的發(fā)展一直是比較緩慢。傳統(tǒng)的機器閱讀理解方法一直是基于手工設(shè)計的語法 (hand engineered grammars) 或者 檢測可用于關(guān)系型數(shù)據(jù)庫 (relational database) 查詢的謂詞參數(shù)三元組 (predicate argument triples) 的信息提取方法。
  • 有監(jiān)督的機器學(xué)習(xí)方法一直在這個領(lǐng)域缺席的很大部分原因在于缺少大規(guī)模的訓(xùn)練數(shù)據(jù)集,和構(gòu)建能夠靈活學(xué)習(xí)利用文檔結(jié)構(gòu) (exploit document structure) 的統(tǒng)計模型比較困難。
  • 雖然有些方法可以生成無限量的有監(jiān)督數(shù)據(jù),使研究人員能夠在各個模擬現(xiàn)象上分離算法的性能 (isolate the performance of their algorithms on individual simulated phenomena)。但是,許多語言計算的相似方法不能管理合成數(shù)據(jù) (synthetic data) 到真實環(huán)境的過渡,即使用合成數(shù)據(jù)訓(xùn)練的模型,在真實環(huán)境的數(shù)據(jù)中表現(xiàn)很差。

構(gòu)建用于閱讀理解的有監(jiān)督訓(xùn)練數(shù)據(jù)

如果把閱讀理解任務(wù)作為一個監(jiān)督學(xué)習(xí)問題,則需要試圖去評估一個條件概率 (1)
p(a|c,q) \tag{1}
公式 (1) 中的 c 是一個上下文文檔, q 是與 c 相關(guān)聯(lián)的問題, a 是問題 q 的答案。
為了專注評估 (for a focused evaluation) ,作者希望能夠排除附加的信息(即原數(shù)據(jù)沒有提供的信息),例如:從共現(xiàn)統(tǒng)計 (co-occurrence statistic) 中獲取的世界知識 (world knowledge) ,這樣才能測試模型在檢測和理解上下文文檔中實體 (entities in the context document) 之間的語言關(guān)系的核心能力。
這種基于統(tǒng)計的方法需要大量的文檔-問題-答案三元組的訓(xùn)練語料,但至今這種類型的語料只有幾百個樣本,而且大部分只被用作測試。 語料的限制意味著這個領(lǐng)域的大部分工作采用無監(jiān)督方法的形式,使用模板、或者語法/語義分析從文檔中提取關(guān)系三元組,形成可查詢的知識圖譜 (knowledge graph)。
因此,作者提出一種方法來創(chuàng)建真實世界的,大型的有監(jiān)督訓(xùn)練數(shù)據(jù),用于學(xué)習(xí)閱讀理解模型。

  1. 語料生成:
    作者發(fā)現(xiàn)摘要和釋義句子 (summary and paraphrase sentence),與它們相關(guān)聯(lián)的文檔 (associated documents) ,很容易使用簡單的實體識別和匿名算法 (anonymisation algorithms) 轉(zhuǎn)化為上下文-問題-答案 (context-query-answer) 三元組。通過使用這種方法,作者從 CNN 和 Daily Mail 網(wǎng)站收集到兩個新的語料庫,大約有1百萬個新的帶有問題的故事 (a million new stories with associated queries) 。

  2. 實體替換和排列
    該文章的重點在于提供一個語料可用于評估模型閱讀和理解單個文檔的能力,而不是世界知識 (world knowledge) 和共現(xiàn)統(tǒng)計 (co-occurrence) 。為了理解這種區(qū)別,作者以 Cloze 問題形式從 the Daily Mail 的驗證集中舉例說明。
    假設(shè)有以下三個問題, X 是需要模型預(yù)測的單詞(答案):

    • The hi-tech bra that helps you beat breast X
    • Could Saccharin help beat X ?
    • Can fish oils help fight prostate X ?

    一個使用 the Daily mail 訓(xùn)練的 ngram 模型很容易預(yù)測出 X=cancer ,而沒有考慮問題的上下文內(nèi)容,因為在 the Daily Mail 語料中 cancer 是一個非常常見的實體 (a very frequently cured entity) 。
    為了解決上面的問題,作者通過以下步驟,匿名化 (anonymise) 和隨機化 (randomise) 他們的語料:

    1. 使用指代系統(tǒng)在每個數(shù)據(jù)點中建立指代 (coreference)。
    2. 根據(jù)指代 (coreference) 使用抽象的實體標(biāo)記 (abstract entity markers) 對語料中所有的實體進(jìn)行替換。
    3. 每當(dāng)一個數(shù)據(jù)點被加載時 (whenever a data point is loaded) ,就對這些實體標(biāo)記進(jìn)行隨機排序。

    在通過匿名化設(shè)置后問題的回答需要上下文文檔,然而原來的版本(沒有經(jīng)過匿名化等步驟處理)中可以通過某種必備的背景知識 (requisite background knowledge) 來回答問題。因此,通過上面的幾個步驟,模型回答問題的唯一方法就是利用每個問題中的上下文信息。因此,模型在作者的兩個語料 (the CNN and the Daily Mail) 上的性能表現(xiàn)可以真正地測試模型的閱讀理解能力。

模型

作者使用一些 baselines , benchmarks 和新模型來評估他們構(gòu)建的數(shù)據(jù)集。

Ⅰ 兩個簡單的 baselines

他們定義了兩個簡單的 baselines :

  • the majority baseline (最大化頻率, maximum frequency) 從上下文中選擇觀察頻率最高的實體。
  • the exclusive majority (專屬頻率, exclusive frequency) 也是從上下文中選擇觀察頻率最高的實體,但觀察時不涉及問題。這種 exclusion 背后的想法是一個 placeholder ( 要預(yù)測的詞) 不太可能在一個 Cloze 形式的問題中被提及兩次以上。

Ⅱ 符號匹配模型 (Symbolic Matching Models)

傳統(tǒng)上,一系列的 NLP 模型 (a pipeline of NLP models) 已經(jīng)被用于問答。這種模型大量地使用了語言注釋 (linguistic annotation) , 結(jié)構(gòu)化的世界知識 (structured world knowledge) ,語義解析 (semantic parsing) 和 相似的 NLP 管道輸出 (NLP pipeline outputs) 。以這些方法作為基礎(chǔ),他們定義了一些以 NLP 為中心的模型 (NLP-centric models) 來用于機器閱讀任務(wù)。

  • 幀-語義解析 (Frame-Semantic Parsing)
    幀-語義解析會試著去識別謂語和它們的參數(shù),允許模型使用關(guān)于 "who did what to whom" 的信息。當(dāng)然,這種標(biāo)注有利于問題回答。作者建立一個利用幀-語義注釋 (frame-semantic annotations) 的 benchmark ,通過使用最新的幀-語義解析器 (frame-semantic parser)[2][3] 來解析他們的模型,以此獲取語義框架注釋。
    在解析器廣泛利用語言信息時,作者在非匿名化版本的語料上運行他們的 benchmarks 。這里使用的幀-語義方法有一個明顯的劣勢,它沒有具備通過語言模型進(jìn)行歸納概括的能力 (the capability of generalise),除了在解析期間利用語言模型。因此,評估機器閱讀能力的關(guān)鍵目標(biāo)是 maintained 。為了從問題 q 和 上下文文檔 d 中提取實體-謂語三元組 (entity-predicate triples) ,作者使用如(表1)中的規(guī)則協(xié)議:
    表1

    解決策略使用的是 PropBank 三元組。 x 是打算作為答案的實體,V 是一個完全合格 (a fully qualified) 的 PropBank 框架。策略按優(yōu)先順序排序,答案也是按照所選擇的相應(yīng)策略決定。這種啟發(fā)式算法 (heuristic algorithm) 在驗證集上迭代調(diào)整。
  • 詞距離 benchmark (Word Distance Benchmark)
    作者考慮另一種基于詞距離度量 (word distance measurement) 的 baseline 。作者對上下文文檔中每個有可能成為答案的實體與 Cloze 形式的問題中的 placeholder 對齊 (align) ,然后圍繞對齊的實體 (the aligned entity) 計算問題和上下文的距離度量。這個距離度量是 問題中的每個詞 和 上下文文檔中最近鄰的對齊詞 (nearest aligned word) 之間的距離之和,這個對齊可以由詞匹配直接定義或者由指代系統(tǒng)對齊。

Ⅲ 神經(jīng)網(wǎng)絡(luò)模型 (Neural Network Models)

神經(jīng)網(wǎng)絡(luò)模型已經(jīng)成功地被應(yīng)用于NLP的一些任務(wù)中。其中包括了分類任務(wù),例如:情感分析或詞性標(biāo)注 (POS tagging),還有像語言建?;蛘邫C器翻譯的生成問題 (generative problems)。 作者提出了三個神經(jīng)模型來估計上下文文檔 d 中單詞 a 回答問題 q 的概率。
p(a|d,q) \propto exp(W(a)g(d,q)), s.t. a \in V,

  • The Deep LSTIM Reader
    Deep LSTMs [4] 表現(xiàn)出卓越的能力,它可以將長句嵌入到向量表示,這個向量表示包含了充分的信息來生成另一種語言的完整翻譯。所以,作者第一個選擇的神經(jīng)模型是 Deep LSTM encoders ,測試其處理明顯更長的句子能力。他們先將上下文文檔逐詞輸入到 Deep LSTM encoder 中,在一個定界符(上下文文檔和問題的定界符)之后,將問題也輸入到 encoder 中。結(jié)果就是模型把每個上下文文檔-問題對 (document query pair) 當(dāng)成一個長句子處理。通過給定的嵌入文檔和問題,網(wǎng)絡(luò)預(yù)測出文檔的某個詞來回答問題。
    作者采用具有 從輸入向量 x(t) 到每個隱藏層和每個隱藏層到輸出向量 y(t) 跳躍連接 (skip connections) 的 Deep LSTM cell 單元?!疽话愣鄬覴NN網(wǎng)絡(luò),都需要采用某種連接方式,來連接每一層RNN的輸出】
    x^{'}(t,k) = x(t)||y^{'}(t,k-1)\\ y(t) = y^{'}(t,1)||...||y^{'}(t,K)\\ i(t,k) = \sigma(W_{kxi}x^{'}(t,k)+W^{khi}h(t-1,k)+W_{kci}c(t-1,k)+b_{ki})\\ f(t,k) = \sigma(W_{kxf}x^{'}(t,k)+W^{khf}h(t-1,k)+W_{kcf}c(t-1,k)+b_{kf})\\ c(t,k) = f(t,k)c(t-1,k)+i(i,k)\tanh(W_{kxc}x^{'}(t,k)+W_{khc}h(t-1,k)+b_{kc})\\ o(t,k) = \sigma(W_{kxo}x^{'}(t,k)+W_{kho}h(t-1,k)+W_{kco}c(t,k)+b_{ko})\\ h(t,k) = o(t,k)\tanh(c(t,k))\\ y^{'}(t,k) = W_{ky}h(t,k)+b_{ky}
    x^{'}(t,k) 是第 k 層 LSTM 第 t 個詞的輸入, y^{'}(t, k) 是第 k 層 LSTM 第 t 個詞的輸出, h(t,k) 是第 k 層 LSTM 第 t 個詞的隱含層輸出, || 表示兩個向量的拼接 (concatenation) 。i , fo 分別代表 LSTM 的輸入門,遺忘門和輸出門。
    因此,他們的 Deep LSTM Reader 定義為 g^{LSTM}(d,q)=y(|d|+|q|) 。輸入 x(t) 是上下文文檔 d 和問題 q 的拼接,兩者用分隔符 ||| 隔開。

  • The Attentive Reader
    為了聯(lián)系問題和它的答案, The Deep LSTM Reader 必須在一段很長的距離上傳送依賴關(guān)系 (propagate dependencies) 。而固定長度的隱藏向量 (the fixed width hidden vector) 對這種信息流 (information flow) 來說是一個限制的瓶頸 (bottleneck) ,所以作者提出使用最近在翻譯和圖像識別獲得不錯結(jié)果的注意力機制。
    The Attentive Reader 先分別使用雙向單層 LSTMs 對文檔和問題進(jìn)行編碼。
    u 是問題 q 在經(jīng)過雙向 LSTMs 編碼后的最后一個前向輸出狀態(tài)和最后一個后向輸出狀態(tài)的拼接。
    u = \overrightarrow{y_{q}}(|q|)||\overleftarrow{y_{q}}(1)
    y_d(t) 是文檔 d 中 第 t 個詞經(jīng)過雙向 LSTMs 編碼后的前向輸出狀態(tài)和后向輸出狀態(tài)的拼接。
    y_d(t) = \overrightarrow{y_u0z1t8os}(t)||\overleftarrow{y_u0z1t8os}(t)
    文檔 d 的表示 r (representation) 由文檔 d 編碼后各個單詞的輸出向量加權(quán)得到。這些權(quán)重可以解釋為 在回答問題時網(wǎng)絡(luò)對文檔中特定單詞的參與程度。 (These weights are interpreted as the degree to which the network attends to a particular token in the document when answering the query)
    m(t) = \tanh{(W_{ym}y_d(t)+W_{um}u)} \\ s(t) \propto \exp{(W^\mathrm{T}_{ms}m(t))}\\ r = y_ds
    變量 s(t) 是歸一化后的單詞 t 的 attention 得分。
    模型最后將文檔表示 r 和 問題表示 u 通過一個非線性函數(shù)進(jìn)行結(jié)合。
    g^{AR}(d,q) = \tanh{(W_{rg}r+W_{ug}u)}
    The Attentive Reader 可以看做是記憶網(wǎng)絡(luò)在問題回答上的一個一般應(yīng)用。記憶網(wǎng)絡(luò)在句子層次上應(yīng)用注意力機制。而 The Attentive Reader 使用了一個細(xì)粒度詞層次的注意力機制。

  • The Impatient Reader
    The Attentive Reader 可以專注于上下文文檔中最有可能是問題答案的信息。作者進(jìn)一步改進(jìn)該模型,使其擁有在每個問題單詞被閱讀后再次閱讀文檔的能力 (with the ability to reread from the document as each query token is read) 。
    在問題的每個單詞 i 中,模型計算一個文檔表示向量 r(i) 使用雙向問題嵌入 y_q(i) = \overrightarrow{y_{q}}(i)||\overleftarrow{y_{q}}(i) 。
    m(i,t) = \tanh{(W_{dm}y_d(t)+W_{rm}r(i-1)+W_{qm}y_q(i))}, 1\leq i \leq |q|\\ s(i,t) \propto \exp{(W^\mathrm{T}_{ms}m(i,t))}\\ r(0) = r_0\\ r(i) = y^\mathrm{T}_ds(i)+\tanh{(W_{rr}r(i-1))}, 1\leq i \leq |q|
    這種注意力機制的結(jié)果是可以使模型在觀察問題每個單詞時就從文檔中反復(fù)積累信息 (recurrently accumulate information) ,最后輸出最后一個文檔表示 r(|q|) 和 問題表示 u 用于答案預(yù)測。
    g^{IR}(d,q) = \tanh{(W_{rg}r(|q|)+W_{qg}u)}

Ⅳ 實驗結(jié)果

表2

Reference

  1. http://papers.nips.cc/paper/5945-teaching-machines-to-read-and-comprehend.pdf
    "Teaching Machines to Read and Comprehend"
  2. https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41227.pdf
    "Frame-semantic parsing"
  3. http://www.aclweb.org/anthology/P14-1136
    "Semantic frame identification with distributed word representations"
  4. Alex Graves. Supervised Sequence Labelling with Recurrent Neural Networks, volume 385 of Studies in Computational Intelligence. Springer, 2012.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容