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的细节和实验等,参考下面的原文。

参考

猜你喜欢

转载自blog.csdn.net/feifei3211/article/details/103053126