論文來源:ACL2016
作者:Danqi?Chen?and?Jason?Bolton?and?Christopher?D.?Manning
Computer?Science?Stanford?University ? ?
問題:機器閱讀理解問題(Reading?Comprehension)
主要方法:
1.提取特征構建傳統的分類器,這里其實是轉換成了候選實體的ranking問題,即將ranking得分最高的實體作為答案。這里主要用了以下八個特征
(1)Whether?entity?e?occurs?in?the?passage
(2)Whether?entity?e?occurs?in?the?question
(3)The?frequency?of?entity?e?in?the?passage.
(4)The?first?position?of?occurence?of?entity?e?in?the?passage.
(5)n-gram?exact?match
(6)Word?distance
(7)Sentence?co-occurrence
(8)Dependency?parse?match
2.End-to-end?Neural?Network,利用帶attention的神經網絡去訓練并預測正確答案。
這里的神經網絡模型主要是利用雙向LSTM對passage和question分別進行encoding,并利用詞與問題之間的相關性得到attention值,利用這個attention值對passage的embedding進行加權,得到一個最終的輸出向量o,用于答案的預測。具體公式如下:
Encoding:
(i)p:?p1,...,pm∈Rd?and?q?:?q1,...,ql∈Rd.
(ii)a?shallow?bi-directional?LSTM?with?hidden?size?h???to?encode?contextual
embeddings??of?each?word?in?the?passage
(iii)?another?bi-directional?LSTM?to?map?the?question?q1,...,ql?toan?embedding?q∈Rh.
Attention:
Prediction:
相關工作:
1.?AttentiveReader(Hermann?et?al.,?2015)?based?on?CNN?and?Daily?Mail?datasets
2.?MCTest?(Richardson?et?al.,?2013)主要是短篇的小說故事,并帶有what,?why,?how,?whose,?which這些類型的問題,數據集共有660篇,每篇帶有四個問題,對于這個數據集,目前比較好的方法還是依賴于人工構建出來的句法和語義特征并結合上一些附加的先驗知識
3.?Children?Book?Test?(Hill?et?al.,?2016)從兒童故事書中抽出連續的21個句子,將前20句作為passage,目標是預測出第21句中缺失的詞。對于預測動詞和介詞,利用語言模型或rnn并結合詞的上下文信息是比較有效的,但對命名實體以及普通名詞則需要利用全文的信息去做預測。對于該數據集,目前比較好的方法是基于窗口的記憶網絡(window-based?memory?networks)
4.?bAbI?(Weston?et?al.,?2016)人工構建的數據集,包含20種不同的推理類型,主要側重于推理、歸納、演繹的能力,目前許多種類型的記憶網絡在這個數據集上能獲得比較好的效果。但是這個數據集的詞表很小,只有100~200個詞,而且語言變化相對簡單,與實際數據有一定差距。
簡評:
這篇論文主要是基于Hermann的《Teaching?Machines?to?Read?and?Comprehend》更深入地做了一些研究工作。對于CNN/Daily?Mail數據集,作者提出了兩種模型,一種基于特征去做ranking,另一種就是帶attention的神經網絡模型。神經網絡模型主要基于Hermann的模型并做了一些改進,最主要的一個改進是在計算question embedding和passage embedding的相關度,即attention值的時候,用bilinear?term代替了tanh層,結果表明,用bilinear?term能夠有效地提升模型效果,第二個改進主要是對模型的簡化,原有模型在得到了帶attention的embedding o之后,用了一層非線性層對embedding o和question embedding進行結合,再做預測,實驗結果表明,去掉該非線性層對模型效果影響不大,還有一點改進就是預測所用的詞表只使用在passage中出現過的entity。從結果上看,基于特征的模型已經超過之前的大多數模型,而end-to-end神經網絡更是將state-of-the-art提高了5%以上。
除了模型方面的改進,作者另一個重要的工作是對數據進行了分析。作者抽取了100個樣例進行具體分析,將100樣本按照問題的類型劃分成了六類,并分析了模型解決每一類問題的準確率。數據集的構成方式決定了該數據集有一定的噪聲,分析結果顯示,100個樣本中有8%的指代錯誤,17%的樣本語義模糊不清或者人都難以回答,因此作者認為模型達到72.4%的準確率已經基本達到了這個數據集的最佳結果。
深度學習需要有足夠的訓練數據才能訓練出有效的模型,之前的閱讀理解任務受限于數據量的大小,基本上都是用基于特征的方法來解決問題。而隨著CNN/Daily?Mail數據集及Children?Book?Test?(Hill?et?al.,?2016)等數據集的出現,解決了訓練數據量的問題,使得深度學習方法在閱讀理解任務上也取得了很好的效果。但是由于這些數據是通過一些方法自動生成的,沒有經過嚴格的人工標注,因而存在一些噪聲,正如本文中對數據樣本的分析可以看到,這些噪聲一定程度上限制了模型的效果,因而對這部分數據進行校正和修改,對提升模型效果有一定的幫助。閱讀理解任務有難易之分,目前機器對語義的理解能力還不夠,推理、演繹的能力不足,要想真正達到理解語義的程度,我想不僅需要對數據集有一定的要求,對模型的改進也是必不可少的。