1. 程式人生 > >jieba結巴分詞

jieba結巴分詞

返回 int 使用 error import arch 豆瓣 但是 定義

pip install jieba
安裝jieba模塊

如果網速比較慢,
可以使用豆瓣的Python源:
pip install -i https://pypi.douban.com/simple/ jieba



一、分詞:

import jieba


seg_list = jieba.cut("從沒見過我這麽弱的垃圾", cut_all=True)
print("全模式:" + " ".join(seg_list))
# 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義

seg_list = jieba.cut("從沒見過我這麽弱的垃圾")
print("精確模式:" + " ".join(seg_list))
# 精確模式,試圖將句子最精確地切開,適合文本分析

seg_list = jieba.cut_for_search("從沒見過我這麽弱的垃圾")
print("搜索引擎模式:" + " ".join(seg_list))
# 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞,符合中國人的使用習慣

打印結果:
全模式:從沒 沒見 過 我 這麽 弱 的 垃圾
精確模式:從沒 見 過 我 這麽 弱 的 垃圾
搜索引擎模式:從沒 見 過 我 這麽 弱 的 垃圾



也可以這樣寫:
import jieba


seg_list = jieba.cut("從沒見過我這麽弱的垃圾", cut_all=True)
for i in seg_list:
print(i)
# 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義

seg_list = jieba.cut("從沒見過我這麽弱的垃圾")
for i in seg_list:
print(i)
# 精確模式,試圖將句子最精確地切開,適合文本分析

seg_list = jieba.cut_for_search("從沒見過我這麽弱的垃圾")
for i in seg_list:
print(i)
# 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞,符合中國人的使用習慣

打印結果:
從沒
沒見


這麽


垃圾

從沒



這麽


垃圾

從沒



這麽


垃圾


jieba.cut 方法接受三個輸入參數:
1、需要分詞的字符串;
2、cut_all 參數用來控制模式,
cut_all=True or False,
默認為False(精確模式);
3、HMM 參數用來控制是否使用HMM模型,
HMM=True or False,
默認為True(新詞識別)。

jieba.cut_for_search 方法接受兩個參數:
1、需要分詞的字符串;
2、是否使用 HMM 模型。
該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細

jieba.cut 以及 jieba.cut_for_search 返回的結構都是一個可叠代的generator,
可以使用 for 循環來獲得分詞後得到的每一個詞語(unicode),
或者用
jieba.lcut 以及 jieba.lcut_for_search 直接返回 list


二、添加自定義的詞典:
import jieba


jieba.add_word("牛肉餅幹")
# 當只用jieba的默認字典時,牛肉和餅幹被默認為兩個詞語
# 可以使用jieba.add_word方法直接添加“牛肉餅幹”這個詞,將“牛肉餅幹”輸入進去,作為一個詞組

seg_list = jieba.cut("牛肉餅幹很好吃")
print(" ".join(seg_list))



打印結果:
牛肉餅幹 很 好吃


還可以這樣寫:
import jieba


jieba.load_userdict("add.txt")
# 當只用jieba的默認字典時,牛肉和餅幹被默認為兩個詞語
# 還可以用load_userdict(file_name)添加自己想添加的字典,讓判斷變得更加的準確
# 在與本文件相同目錄的地方創建一個文本文檔,將’牛肉餅幹’輸入進去,作為一個詞組

seg_list = jieba.cut("牛肉餅幹很好吃")
print(" ".join(seg_list))


打印結果:
牛肉餅幹 很 好吃



補充:
1、文件名不可命令為jieba.py
否則會報錯:
AttributeError: module ‘jieba‘ has no attribute ‘cut‘

2、join()方法:
連接字符串數組,
將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串

jieba結巴分詞