【Python 數據分析】jieba文本挖掘


jieba是一個強大的分詞庫,完美支持中文分詞

安裝jieba

使用命令安裝

pip install jieba

image

出現上圖表示安裝成功了

jieba分詞模式

全模式

全模式:試圖將句子精確地切開,適合文本分析,輸出的是多有可能的分詞組合

import jieba

str = "我是一個中國人"
word1 = jieba.cut(str,cut_all=True)
for item in word1:
    print(item)

運行結果:



一個
中國
國人

 

精確模式

精確模型:把句子中所有的可以分詞的詞語都掃描出來,速度非常快,但不能解決歧義

注意:沒有參數cut_all的情況下,默認為精確模式

import jieba

str = "我是一個中國人"
#word1 = jieba.cut(str)
word1 = jieba.cut(str,cut_all=False)
for item in word1:
    print(item)

運行結果:



一個
中國

搜索引擎模式

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

import jieba

str = "我是一個中國人"
word1 = jieba.cut_for_search(str)
for item in word1:
    print(item)

詞性標注

使用jieba.posseg可以對詞性進行標注

import jieba.posseg

str = "我是一個中國人"
word1 = jieba.posseg.cut(str)
#.flag 詞性
#.word 詞語
for item in word1:
    print(item.word+"--"+item.flag)

運行結果:

我--r
是--v
一個--m
中國--ns
人--n

詞性說明

image

自定義詞庫

例如:我們現在想對句子【豆花魚是一種很好吃的魚】做一次分詞

import jieba.posseg

str = "豆花魚是一種很好吃的魚"
word1 = jieba.posseg.cut(str)
for item in word1:
    print(item.word+"--"+item.flag)

分詞結果:

豆花--n
魚--n
是--v
一種--m
很--zg
好吃--v
的--uj
魚—n

【分析】按理來說,豆花魚是一個名詞,但是現在詞庫沒有這個名詞,所以分錯了

那么接下來我們就自定義分詞詞庫

找到路徑C:\Users\OLIVER\AppData\Local\Programs\Python\Python36\Lib\site-packages\jieba

image

我們可以看到現在存在一個dict.txt文件,那么我們現在新建一個文件Add_dict.txt

image

 

接着我們引入該詞庫進行分詞

import jieba.posseg

#引入詞庫
jieba.load_userdict("C:/Users/OLIVER/AppData/Local/Programs/Python/Python36/Lib/site-packages/jieba/Add_dict.txt")
str = "豆花魚是一種很好吃的魚"
word1 = jieba.posseg.cut(str)
for item in word1:
    print(item.word+"--"+item.flag)

運行結果:

豆花魚--nz
是--v
一種--m
很--zg
好吃--v
的--uj
魚—n

我們從上述的結果中可以清晰看到【豆花魚】已經變成一個其他專有名詞了。

注意:新增的詞庫每次使用都需要引用,它不是一次引入終生使用的


免責聲明!

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



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