py-kenlm-model
py-kenlm-model copied to clipboard
数据预处理部分有几个地方不太明白
1、不需要分词,直接每个字符间用空格隔开,开头结尾加?(因为你的“我 喜欢 吃 苹 果”,“喜欢”没空格,所以有点懵;另外看了你推荐的另外一个句子通顺的项目,其中的数据一些数字没有空格,比如年份‘2018’一类的)
2、unk用于oov字,那就是说需要一个字典,但是从训练的的命令还是代码中都没看到有字典相关的部分。
- kenlm读入文件是分好词的文件,你按字分词
我 喜 欢 吃 苹 果
还是按词库分词(如果词库中有苹果
我 喜欢 吃 苹 果
按字分,按词分都是可以的。 个人觉得: 按字分粒度细,召回率高,但占空间,而且ngram覆盖到的窗口范围内的字会比较少。 按词粒度分,召回率低,但省空间。(比如一句话五个字,分为1个词,那只需要统计一次)
- 这里的oov中的
v
是指训练后的xx.arpa
文件
也可以说就是对语料统计后的ngram文件