wordninja是一种对连续的英语字符串进行分词的工具,包括:
importwordninjastr=' ilovechinaandilovetheworld ' print (word ninja.split ((str ) )、' I '、' love '、' China '、'。 world ' ] probabilisticallysplitconcatedwordsusingnlpbasedonenglish
gram frequencies
wordninja是基于wiki百科全书的频率进行分词的。 英语语言中合理认为分布遵循吉夫定律(zipf’slaw ),根据出现概率由高到低编写词典,达到分词的目的。
但是,使用原来的词典进行分词时,可能会对特定的词发生错误的分割。 例如
importwordninjastr=' huaweicompanyandlenovo ' print (word ninja.split ((str ) ) () Hua )、() wei )、) company、) Anany 根据Github的建议,可以通过找到wordninja_words.txt.gz文件手动添加自定义语言。 此文件路径位于源代码中。
解压缩该文件得到的txt,以每行一个英语单词的形式,按照英语数据中出现频率从高到低的顺序排列,因此只需要在该文件中添加特有的单词,从头插入即可。
插入华为和联想,重新包装成. gz格式,放在原来的位置。
再次运行刚才的示例
importwordninjastr=' huaweicompanyandlenovo ' print (word ninja.split (str ) ) #['huawei ',' company ',' and ',' and '