如何運用jieba庫分詞

使用jieba庫分詞python

一.什麼是jieba庫dom

 

 1.jieba庫概述 
函數

 

jieba是優秀的中文分詞第三方庫,中文文本須要經過分詞得到單個詞語。字體

2.jieba庫的使用:(jieba庫支持3種分詞模式)搜索引擎

經過中文詞庫的方式識別spa

精確模式:把文本精確的切分開,不存在冗餘單詞命令行

全模式:把文本全部可能的詞語都描述出來,有冗餘3d

搜索引擎模式:在精確模式的基礎上,對長詞進行切分code

3.jieba庫是屬於python中優秀的中文分詞第三方庫,須要額外安裝orm

二.安裝jieba庫

途徑1:百度jieba庫下載(百度上不少jieba庫的安裝教程,能夠參考一下)

 

 方法2:在計算機命令行輸入

pip install jieba

按下回車就會自動安裝,稍微等待就能夠了

 

三.函數庫的調用

jieba庫在python的 IDLE中運行時能夠使用兩種導入方式

(1)

導入庫函數:import  <庫名>

使用庫中函數:<庫名> . <函數名> (<函數參數>)

例如:import jieba

jieba.lcut()

jieba.lcut(" ",cut_all=True)

jieba.lcut_for_search()

 

(2) 導入庫函數:from  <庫名>  import * ( *爲通配符 )

使用庫中函數:<函數名> (<函數參數>)

例如:from jieba import *

lcut()

lcut(" ",cut_all=True)

lcut_for_search()

四.jieba庫的實際應用(對文本的詞頻統計)

文本是水滸傳,百度上下載的

 1 from jieba import *
 2 excludes=lcut_for_search("頭領兩個一個武松如何只見說道軍馬衆人那裏")  3 txt=open("水滸傳.txt","r").read()  4 words=lcut(txt)  5 counts={}  6 for word in words:  7     if len(word)==1:  8         continue
 9     elif word =="及時雨" or word == "公明" or word =="哥哥" or word == "公明曰": 10         rword ="宋江"
11     elif word =="黑旋風" or word =="黑牛": 12         rword ="李逵"
13     elif word =="豹子頭" or word == "林教頭": 14         rword ="林沖"
15     elif word =="智多星" or word =="吳用曰": 16         rword ="吳用"
17     else: 18         rword=word 19         counts[word]=counts.get(word,0)+1
20 for word in excludes: 21     del(counts[word]) 22 items=list(counts.items()) 23 items.sort(key=lambda x:x[1],reverse=True) 24 for i in range(10): 25     word,count=items[i] 26     print("{0:<10}{1:>5}".format(word,count))

 

 運行結果:(有些多餘的詞語未作好排除,代碼仍須要改進)

 

五.詞雲圖(jieba庫與wordcloud庫的結合應用)
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from jieba import *
 
# 生成詞雲
def create_word_cloud(filename):
    text = open("{}.txt".format(filename)).read()
    font = 'C:\Windows\Fonts\simfang.ttf'
    wordlist = cut(text, cut_all=True) # 結巴分詞
    wl = " ".join(wordlist)
 
    # 設置詞雲
    wc = WordCloud(
        # 設置背景顏色
        background_color="black",
        # 設置最大顯示的詞雲數
        max_words=200,
        # 這種字體都在電腦字體中,通常路徑
        font_path= font,
        height=1200,
        width=1600,
        # 設置字體最大值
        max_font_size=100,
        # 設置有多少種隨機生成狀態,即有多少種配色方案
        random_state=100,
    )
 
    myword = wc.generate(wl)  # 生成詞雲
    # 展現詞雲圖
    plt.imshow(myword)
    plt.axis("off")
    plt.show()
    wc.to_file('img_book.png')  # 把詞雲保存下
 
 
if __name__ == '__main__':
    create_word_cloud('水滸傳')
 

 運行結果 

相關文章
相關標籤/搜索