word2vec缺少单词怎么办?

  1. unk技巧 在训练word2vec之前,预留一个符号,把所有stopwords或者低频词都替换成unk,之后使用的时候,也要保留一份词表,对于不在word2vec词表内的词先替换为unk。

  2. subword技巧 这个技巧出自fasttext,简而言之就是对oov词进行分词,分词之后再查找,找到的就保留,找不到的继续分词,直到最后分到字级别,肯定是可以找到的对应字向量的。

  3. BPE技巧BPE(byte pair encoder),字节对编码,也可以叫做digram coding双字母组合编码。BPE首先把一个完整的句子分割为单个的字符,频率最高的相连字符对合并以后加入到词表中,直到达到目标词表大小。对测试句子采用相同的subword分割方式。BPE分割的优势是它可以较好的平衡词表大小和需要用于句子编码的token数量。BPE的缺点在于,它不能提供多种分割的概率。此外还有很多技巧啦,如word2vec的增量学习,这里就不赘述了。

  4. 用随机值或者0进行代替

转自:word2vec缺少单词怎么办?

你可能感兴趣的:(NLP)