jieba结巴分词,如何加载自定义分词词典?条目词性权重
发布于 作者:苏南大叔 来源:程序如此灵动~

jieba
结巴分词,如果对于分词结果不满意的话,可以使用load_userdict
函数加载自定义分词词典,也可以使用add_word
函数加载某一条条目,同时还可以自定义词性和权重,通过调整权重就可以影响最终的分词结果。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述结巴分词加载自定义条目的两种方式。测试环境:win10
,python@3.6.8
,jieba@0.42.1
。
jieba.add_word()
基本格式:
这种方式的弊端就是:如果权重填的太低,比如“0”。那么,这个条目极有可能是不生效的。
测试代码如下:
有add_word()
函数,就有del_word()
函数。参考:
jieba.add_word()
,用于添加一个条目。但是,存在几个变种。- 如果相关条目没有生效,就需要增加权重值。
- 最后一个参数,用于定义一个词性。当然,词性归属需要遵守通用的词性标准。
jieba.load_userdict()
比起一个一个的条目单个添加,也可以把这些条目定义在一个.txt
文本里面,格式如下:
或者
格式如下图所示:

测试代码:
可能遇到的问题
在实际的代码运行过程中,可能会出现找不到文件的情况。报错信息类似如下:
那么,可以考虑下面的类似代码,使用os
来拼接一下【绝对路径】。
最终代码
结合上一次的结巴分词的文章,相关链接:

添加自定义词典的功能,测试代码如下:
如果没有自定义词典的话,这个分词结果是:
有了自定义词典之后,分词结果如下:
当然,这里的nnn
词性和aaa
词性,都是瞎编的。实际上在通用的标准里面,并没有这两个词性定义。如果想知道更多的词性原始设定,可以参考下面这篇文章:
相关文档
综述
结巴分词可以通过自定义分词词典来获得更好的分词效果。其中,如果自定义的分词词条如果没有生效的话,需要增加权重。更多结巴分词的经验文章,请点击:


