~~
~~ 分词功能主要有两个方法 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),用于新建自定义分词器,可用于同时使用不同词典。