Python之jieba庫的使用


jieba庫,它是Python中一個重要的第三方中文分詞函數庫。

1.jieba的下載

由於jieba是一個第三方函數庫,所以需要另外下載。電腦搜索“cmd”打開“命令提示符”,然后輸入“pip install jieba”,稍微等等就下載成功。

注:可能有些pip版本低,不能下載jieba庫,需要手動升級pip至19.0.3的版本,在安裝jieba庫

當你再次輸入“pip install jieba”,顯示如圖,jieba庫就下載成功。

2.jieba庫的3種分詞模式

精確模式:將句子最精確地切開,適合文本分析。

例:

全模式:把句子中所有可以成詞的詞語都掃描出來,速度非常快,但是不能消除歧義。

例:(“國是”,黑人問號)

 搜索引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。

例:(沒什么不同,可能我還沒發現它的用處)

3.jieba應用

我選取了哈姆雷特(https://en.wikipedia.org/wiki/Hamlet#Act_I)的一小片段,txt形式存放在我的一個文件夾里,對它進行分詞,輸入代碼:

def get_text(): 
    txt = open("D://加油鴨~//hamlet.txt", "r",encoding='UTF-8').read()
    txt = txt.lower()
    for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
        txt = txt.replace(ch, " ")      # 將文本中特殊字符替換為空格
    return txt

hamletTxt = get_text()       # 打開並讀取文件
words = hamletTxt.split()    # 對字符串進行分割,獲得單詞列表
counts = {}

for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word, 0) + 1  # 分詞計算

items = list(counts.items())    
items.sort(key=lambda x: x[1], reverse=True)      

for i in range(10):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word,count))

得到結果,如圖:

最后,我們還可以做詞雲圖,這個呢我下次再給大家分享吧,再見~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM