【中文MRC】2019_IEEE_R-Trans: RNN Transformer Network for Chinese Machine Reading Comprehension

1 概述

動機

中文MRC任務需要分詞,但是分詞的話利用現有分詞工具不可避免地會產生分詞錯誤,從而對下游任務產生影響。

而分詞問題,可以通過結合local and global context信息來解決(也就是說中文短語在不同的上下文中會有不同的意思),但由於已知的詞嵌入比如GloVe、Word2vec是在英語語料上訓練的,因此無法根context來產生一個單詞的不同分佈表示向量。因此,當務之急就是找到一個有效的word representation learning方法。
Chinese words比characters有更多的意思,所以這篇論文自己pre-train了在Chinese words上的 ELMo。

這篇論文挺簡單好讀的,但是感覺的確也就值IEEE,但是小論文似乎很適合發這種類型的,提供了一個簡單粗暴的思路!

這個模型受啓發於:QANet

數據與評估

Les MMRC(中文軍事閱讀理解數據集),這個數據集有span extraction回答,也有需要inference的回答;
精度:Rouge-L、BLEU-4

創新與貢獻
  • 整合deep contextualized word representation 進詞嵌入,減少中文分詞工具的錯誤
  • 添加GRU 網絡,來更好抽取global information
  • 做了一些網絡修剪(network prune)來減少參數,提高訓練和推理速度
  • 更關注中文的特性,來解決single-passage的CMRC任務——Les MMRC,DuReader是multi-passage

2 模型

在這裏插入圖片描述

  • 輸入層加入了ELMo encoder的嵌入,從而input embedding是三個embedding的結合
  • 添加GRU,(因爲QANet的CNN不能很好處理sequential text)
  • Encoder Blocks是residual block,在depthwise separable convolutions後接transformer的self-attention層和ffn層
  • 計算出context-to-queryattention和query-to-context attention

3 實驗

data pre-processing

  • passage處理的基本方法
    將一些特殊字符刪掉把中文的標點符號和數字用英文和阿拉伯數字替代移除無效的數據
  • 修剪過長的文本到限制長度(定義最大長度爲L)
    • 如果文章被切割,計算問題和段落的最長公共子串的相似性。越相似,段落分數越高。然後從中選出k個段落,並且將這些段落按照降序的方式排列組成一個新的文章。(也就是說打亂順序了)。
      因爲每一個段落的第1句話都是比較重要的,所以將每一個段落的第1句話加到處理過的passage當中。
    • 如果文章沒有被切割的話,同樣的使用上面的方法去計算問題和每一句話之間的最長公共子串的相似性,然後把最相似的t句話連接起來作爲新的文章,此處不改變他們的順序。
  • Answer labeling
    • 如果matches數量是1,那麼直接label那個位置
    • 如果matches的數量多於1個,那麼標記靠近passage和question的最長公共子串的開頭或結尾的位置
    • 對於標籤不規則的答案,計算最長公共子串長度大於答案長度70%的位置作爲標記爲答案
  • 因爲passage的一部分沒有label也和預測沒啥關係,是可以prune的。
    因此如果答案的結束label位置沒有超過L,後面的部分也可以prune掉;否則,可以隨機階段title到label開始的部分,然後把末尾label後面的超處長度的部分也移除

實驗結果

在這裏插入圖片描述
但是這個論文如何用英語ELMo來搞的contextualized word representation我還是有點蒙…咋就有英文了?如圖:
在這裏插入圖片描述

奇奇怪怪的知識增加了

  • MRC models中常用的word representation方法是結合word-level and character-level embeddings.
    這篇論文用到了3種嵌入結合的方式
  • 殘差鏈接來減輕梯度爆炸和消失
  • 實驗可以對比模型的:實驗配置、參數設置(設置爲一樣比較嘛)、參數量、訓練時間(這模型也就2個半小時)、inference時間
  • word-level embeddings能代表每個詞的語義、而 character-level embedding 擅長處理 OOV(out-of-vocabulary) words.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章