本文为自己这段时间学习jieba库的心得
1.jieba库函数
jieba.cut(s)——精确模式,返回一个可迭代数据类型
jieba.cut(s,cut_all='Ture')——全模式,输出文本s中可能的单词
jieba.cut_for_search(s)——搜索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s)——精确模式,返回一个list
jieba.lcut(s,cut_all='Ture')——全模式,返回一个list
jieba.lcut_for_search(s)——搜索模式,返回list
jieba.add_word(s)——向分词词典中增加新词s
jieba.load_userdict(filepath)——添加自定义词库
ps:s为字符串
1.1. jieba可以分词模式可分为3种:精确模式、全模式、搜索引擎模式
精确模式:试图将句子最精准地切开,适合文本分析
全模式:把句子中所有的可以成词的词语都扫描出来,有歧义
搜索模式:基于精确模式,对长词再次切分,可提高召回率,适合搜索引擎分词
2.词库
2.1.jieba库依靠内置词库进行分词。
2.2.这个内置词库是可以查看的,通过print(jieba._file_)我们可以找到jieba库所在的位置,其中有个dict.txt文件,这个文件就是内置词库
2.3.如果分离不出自身想要的词,可以通过jieba.add_word(s)和jieba.load_userdict(filepath)来修改词库达成分离自己想要的词的目的。
2.4.
这是词库的内部词语的格式,以第一个为例,hau为要分词的词语,154564为词频,n为词性,词性部分也可以省略不写。据说添加自定义词库相当于扩充内置词库的词语量,自定义词库的优先级小于内置词库(这句话只是看有帖子这么说我也不知道对不对)
2.5.内置词库的分词原理
jieba库中自定义词典的词频含义,便于分出想要的词(自留笔记)_jieba自定义词典的格式-CSDN博客
这篇帖子讲的分词原理很有意思,让人耳目一新。不过我觉得总得来说词频越大越容易分出对应的词语也是站的住脚的,因为我这样做至今效果还是达到了的。