wordpiece
- wordpiece的主要实现方式有BPE,BPE的大概训练过程:首先将词分成一个一个的字符,然后在词的范围内统计字符对出现的次数,每次将次数最多的字符对保存起来,直到循环次数结束。
sentencepiece
- 原理是重复出现次数多的片断,就认为是一个意群(词)1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18# 安装 
 sudo pip install SentencePiece
 # 命令行训练
 spm_train --input=/tmp/a.txt --model_prefix=/tmp/test
 # --input指定需要训练的文本文件,--model_prefix指定训练好的模型名,本例中生成/tmp/test.model
 # 和/tmp/test.vocab两个文件,vocab是词典信息。
 # 命令行调用
 echo "食材上不会有这样的纠结" | spm_encode --model=/tmp/test.model
 # python调用
 import sentencepiece as spm
 sp = spm.SentencePieceProcessor()
 text = "食材上不会有这样的纠结"
 sp.Load("/tmp/test.model")
 print(sp.EncodeAsPieces(text))