目錄
一、jieba庫基本介紹
二、jieba庫的使用說明(三種模式、lcut()、lcut_for_search()、add_word() )
三、「文字詞頻統計」例項
簡單說,jieba是乙個非常好用的中文工具,以分詞起家,但功能比分詞要強大很多。而且,全國計算機等級考試二級python語言必考jieba庫。
jieba分詞依靠中文詞庫,確定漢字之間的關聯概率。除了分詞,使用者還可以新增自定義的片語。
精確模式:把文字精確的切分開,不存在冗餘單詞
全模式:把文字中所有可能的詞語都掃瞄出來,有冗餘
搜尋引擎模式:在精確模式的基礎上,對長詞再次切分
表2-1 jieba庫常用函式 函式
說明lcut(s)
精確模式
返回乙個列表型別的分詞結果
全模式返回乙個列表型別的分詞結果,存在冗餘
搜尋引擎模式
返回乙個列表型別的分詞結果,存在冗餘
向分詞詞典增加新詞 w
import jieba
txt = open('三國演義.txt', 'r', encoding="utf-8").read() # 讀取txt文字
words = jieba.lcut(txt) # 對文字進行分詞
'對分詞後的詞語進行統計,不統計單字詞語'
counts = {} # 建立空字典
for i in words:
if len(i) == 1:
continue
else:
# 字典中的鍵為分詞詞語,值是對應分詞出現的次數
counts[i] = counts.get(i, 0) + 1
'對統計結果排序並列印輸出'
items = list(counts.items()) # 將字典轉換成列表以便於排序
items.sort(key=lambda x:x[1], reverse=true) # 以鍵值對中的值為依據,從大到小排序
for i in range(15): # 列印輸出前十五個分詞及其出現的次數
txt = open('三國演義.txt', 'r', encoding="utf-8").read() # 讀取txt文字
words = jieba.lcut(txt) # 對文字進行分詞
'對分詞後的詞語進行統計,不統計單字詞語,合併意義相同的分詞'
counts = {} # 建立空字典
for i in words:
if len(i) == 1:
continue
elif i=='諸葛亮' or i=='孔明曰':
word = '孔明'
elif i=='關公' or i=='雲長':
word = '關羽'
elif i=='玄德' or i=='玄德曰':
word = '劉備'
elif i=='孟德' or i=='丞相':
word = '曹操'
else:
word = i
# 字典中的鍵為分詞詞語,值是對應分詞出現的次數
counts[word] = counts.get(word, 0) + 1
'刪除字典中部分不是人物的分詞'
excludes = # 建立集合
for i in excludes:
del counts[i]
'對統計結果排序並列印輸出'
items = list(counts.items()) # 將字典轉換成列表以便於排序
items.sort(key=lambda x:x[1], reverse=true) # 以鍵值對中的值為依據,從大到小排序
for i in range(10): # 列印輸出前十五個分詞及其出現的次數
3. 總結
python 中文jieba分詞
import os import jieba from collections import counter def words txt print jieba.cut txt lista jieba.cut txt 返回的結構都是乙個可迭代的 generator,可以使用 for 迴圈來獲得分詞後...
關於jieba分詞 Python
做詞云視覺化的時候,一般都用乙個庫叫jieba,它是用來分詞的。jieba庫在安裝時,會附帶乙個詞庫,這個詞庫中包含了日常漢語的詞語和詞性。在分詞時,jieba庫會先基於詞庫對文字進行匹配,生成文字中的漢字最有可能形成的詞。然後將這些詞組成乙個dag,用動態規劃演算法來查詢最大的概率路徑,盡可能不將...
python的jieba簡單使用
函式 含義jieba.cut string 精確模式,返回乙個可迭代的資料型別 jieba.cut string,cut all true 全模式,輸出文字string中的所有可能的單詞 jieba.cut for search string 搜尋引擎模式,適合搜尋引擎建立索引的分詞結果 jieba...