Design Challenges and Misconceptions in Neural Sequence Labeling 論文閱讀


1,簡介

  序列標注算是NLP中最基本的任務,主要有分詞,詞性標注,實體識別三類任務。分詞通常是中文任務的模型最基本的組件,詞性標注通常也是用來輔助其他的任務,用於提升任務的性能,而實體識別算是可以直接應用的任務。NLP發展到今天,預訓練模型通常能取得較其他模型更優的效果,然預訓練模型體量龐大,在直接任務中使用需要壓縮,所以預訓練模型之前的深度學習方法依然在實際應用場景中占有不小的地位。本文就是針對預訓練模型之前的深度學習模型在序列標注任務上的總結。

2,論文解讀

  本文屬於綜述性論文,而且是比較全面的實驗性綜述論文,論文中的模型都是之前被提出來的,作者將這些模型划為12類,實驗對比了在分詞,詞性標注,實體識別三類任務上的性能。12類模型描述如下:

  

   模型基本由三層組成,字符嵌入層(外加詞嵌入層),詞編碼層,推斷層。如上面表格所示,行分為無字符嵌入,lstm的字符嵌入,cnn的字符嵌入;列為lstm詞編碼,cnn詞編碼,以及是否使用crf解碼。如下圖所示:

  

   像這類結構適用於英文數據,中文數據並不適應,因為英文中有意義的最小是單個詞,而中文是是分詞的詞,然分詞本身就會引入錯誤信息,所以中文的序列標注都是基於字的,但是在實體識別任務中可以嘗試使用詞性標注或分詞的信息來提升模型精度,算是引入一些人工特征。

  實驗數據和超參設計如下:

   

  超參設計可以參考,如這里的學習速率,lstm和cnn的學習速率是不一樣的,cnn如果使用較大的學習速率,收斂是會比較差的。

  結果分析

  

   

   

   通過實驗對比可以得到幾個結論:

  1)引入字符特征效果會提升不少,無論是用cnn,還是lstm嵌入字符,都有差不多的提升效果。

  2)對詞的編碼使用lstm的效果要優於cnn,主要是lstm的長距離上下文信息的編碼能力要優於cnn,cnn更擅長於捕獲局部特征,而序列標注這類任務通常依賴於上下文信息。

  3)crf解碼器在分詞和實體識別的效果上要優於softmax,但詞性標注上兩者沒太大差別。

  4)引入預訓練好的詞向量比隨機的效果要好很多(這是必然,尤其是實驗中的數據集並不大)

  5)BIOES的標注效果要優於BIO,但差距不大,這種我覺得還是看自己的任務上的表現吧,有不少論文表明這兩種沒啥區別

  6)優化器的影響,實驗證明SGD的效果最好,而ADAM的效果最差,這種還是看自己的調參能力吧,SGD使用相對要難一些。

  

  在實際的工業應用中,除了要考慮模型的精度,還需要考慮模型的大小,模型的推斷速度,尤其是移動端的應用,對這兩點要求極為苛刻。以上述作者給的12類模型中用到的組件,lstm是比cnn要耗時的,但cnn的參數量通常會多於lstm(因為cnn通常需要多層和多個kernel)。crf全局解碼要比softmax耗時。作者對比了12類模型的推斷速度。

  

   從上面圖中可以看到,引入crf速度要慢了一半,所以手機端上應用序列標注模型時可以考慮去掉crf層,字符嵌入可以使用cnn,至於詞編碼層看序列的長度考慮,lstm這種循環解碼還是比較慢的,尤其是序列長度比較長的時候,所以可以考慮用cnn,如果想要盡可能的提取長距離的上下文特征,可以考慮多層膨脹卷積來處理這類問題,另外就是序列截斷也算是一種解決序列過長而導致解碼過慢的方法。總之推薦char-cnn + word-lstm + softmax,或char-cnn + word-cnn + softmax。標注盡量使用BIO,這樣可以減少softmax的計算量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM