~~
jieba包使用:
~~
分词功能主要有两个方法 jieba.cut
和 jieba.cut_for_search
。
1. jieba.cut方法
接受三个输入参数:
1.需要分词的字符串;
2.cut_all 参数用来控制是否采用全模式;
3.HMM 参数用来控制是否使用 HMM 模型。
如:jieba.cut("我来到北京清华大学", cut_all=True)
2. `jieba.cut_for_search方法
接受两个输入参数:
1.需要分词的字符串;
2.是否使用 HMM 模型。
该方法适合用于搜索引擎的分词,粒度比较细
例如:
jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")
3.jieba.cut
方法和jieba.cut_for_search
方法返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语,也可以使用jieba.lcut
方法 和jieba.lcut_for_search
方法 直接返回 list。
4.jieba有三种分词方式:
**(1)全模式:**试图将句子最精确地切开,适合文本分析,输出的是所有可能的分词组合,比如清华大学,会被分成:清华,清华大学,华大,大学。
如:
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
**(2)默认模型(精确模型):**把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义,比如清华大学,只会输出清华大学。
如:
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
**(3)搜索引擎模式:**在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
如:
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")
【如果不指明cut_all的值,则默认是精确模式】
另外一种方法: jieba.Tokenizer(dictionary=DEFAULT_DICT)
,用于新建自定义分词器,可用于同时使用不同词典。