Word Piece Model (WPM) 筆記

介紹
在翻譯或者其他NLP問題中,詞表大小有限制,爲了解決有些詞不在詞表中(OOV),一個常用的方法是使用sub-word單元來構建詞表示,這樣未出現的詞也可以用這些sub-wrod單元進行表示,如Byte Pair Encoding(BPE),Word Piece Model(WPM)。
BPE論文: Neural machine translation of rare words with subword units,這裏不介紹。
這裏的word指的是中文的詞,不是漢字。

WPM構建算法

  1. 將初始詞表設置成所有的字符。
  2. 根據詞表中的詞單元,兩兩組合成可能的候選詞單元,在候選詞單元中,選擇一個使得訓練語料的似然最大的。這裏的似然計算是用過基於詞頻的語言模型。
  3. 重複2直到達到詞表個數限制。

分析:

  • 由於2中要選擇所有可能的候選詞單元,重新訓練語言模型,比較耗時,因此需要進行優化。文中提到策略的有:選擇更有可能出現的詞候選(比如頻率高)、語言模型只更新候選相關的詞頻統計等
  • 文中提到構建詞表可能幾個小時,個人覺得不是BPE這樣簡單高效。

例子

上面的下劃線表示詞的邊界,去掉後是WPM前已經分詞的句子。

  • 這裏的WPM不同於BERT中使用的,BERT中使用的參考BPE
  • 具體WPM的細節和實驗等,參考下面的原文。

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章