1 問題及數據集
1.1 問題
給定較長一段話的context和一個較短的問題,以及一些candidate answers,訓練出可以準確預測正確答案的模型,本模型主要針對命名實體和常用名詞這兩種詞性的單詞進行填空。
1.2數據集
(1)CNN&Daily Mail
(2)CBT
2 已有方法
(1)Attentive and Impatient Readers
(2)Attentive
(3)Chen et al. 2016
(4)MemNNs
(5)Pointer Networks
(6)Dynamic Entity Representation
3 本文提出的方法
ASReader模型使用注意力機制計算每個單詞的注意力權重之和,從而從上下文中選擇答案,而不是像在之前的模型一樣,使用文檔與問題的相似度或提取特徵構建特徵工程等方式來定位答案。
4 具體內容
4.1 網絡結構
4.2具體過程
step1:通過一層Embedding層將document和query中的word分別映射成向量。
step2:用一個單層雙向GRU來encode document,得到context representation,每個time step的拼接來表示該詞
step3:用一個單層雙向GRU來encode query,用兩個方向的last state拼接來表示query。
step4:每個word vector與query vector作點積後歸一化的結果作爲attention weights,就query與document中的每個詞之前的相關性度量。
step5:最後做一次相同詞概率的合併,得到每個詞的概率,最大概率的那個詞即爲answer。爲節約計算時間,可以只選擇candidate answer裏的詞來計算概率。
4.3 評估方法
average ensemble by top 20%:更改初始化參數,訓練多個模型,然後取在驗證集上效果最好的前20%個模型做bagging.
average ensemble:取前效果排名前70%的model做bagging
greedy ensemble:根據效果排序從效果最好的模型開始bagging,如果bagging後的模型在驗證集上效果更好就加入,一直持續到最後。
5.實驗結果
5.1.CNN/Daily Mail
5.2.CBT
6 小結
(1)利用點積來計算注意力權重,簡化了模型,但是能達到同樣或者更好的效果。
(2)利用注意力權重之和來選擇答案,而不是像以前的工作那樣通過權重提取特徵從而預測答案,但該模型更傾向於選擇重複次數較多的單詞作爲答案。