關於jieba分詞 Python

2022-09-07 05:18:12 字數 2679 閱讀 9838

做詞云視覺化的時候,一般都用乙個庫叫jieba,它是用來分詞的。

jieba庫在安裝時,會附帶乙個詞庫,這個詞庫中包含了日常漢語的詞語和詞性。在分詞時,jieba庫會先基於詞庫對文字進行匹配,生成文字中的漢字最有可能形成的詞。然後將這些詞組成乙個dag,用動態規劃演算法來查詢最大的概率路徑,盡可能不將乙個詞拆成單獨的漢字。最後,再從詞庫中找出基於詞頻的最大切分組合,把這些組合在文字中找出來,進而形成乙個乙個的詞語。

同時jieba庫還使用了hmm模型,用以提高分詞的準確率,該模型可以對詞庫中沒有的詞進行分詞。

jieba庫里有乙個cut函式,提供了自動分詞功能。

1

import

jieba23

#開啟文件

4 with open(r'

c:\users\rabbiter\desktop\2\1.txt

', mode='

r', encoding='

utf-8-sig

') as f:

5 reader = f.read() #

就叫閱讀器吧

6 words = jieba.cut(reader) #

開始分詞

7print(list(words)) #

['他

上面的分詞結果中,有大量的標點符號,和一些與情感表達無關的詞語,為了避免無關詞語對情感分析的影響和加快計算詞語的情感速度,就需要對分詞的結果進行優化。主要從刪除標點符號還有與情感表達無關的詞語。

1,使用停用詞集:

1

import

jieba23

#開啟文件

4 with open(r'

c:\users\rabbiter\desktop\2\1.txt

', mode='

r', encoding='

utf-8-sig

') as f:

5 reader = f.read() #

就叫閱讀器吧

6 words = jieba.cut(reader) #

開始分詞7#

print(list(words)) # ['他', '是', '風光', '無限', '的', '帝國', '總裁', ',', '商場', '的', '中流砥柱', '。', '\n', '\n', ' ', ' ', ' ', ' ', '她', '是', '出生', '富家', '的', '少女'...]89

#開啟停用詞集

10 with open(r'

c:\users\rabbiter\desktop\2\1.txt

', mode='

r', encoding='

utf-8-sig

') as f:

11 stopwords =f.read()

1213 remainwords = #

用來儲存分析過後的詞集

14for i in list(words):#

迴圈讀取文件中取出來的詞

15if i not

in stopwords: #

假如這個詞不在停用詞集中

將其追加到列表以供使用

17print(remainwords)

1

import

jieba

2import

jieba.posseg as psg3#

開啟文件

4 with open(r'

c:\users\rabbiter\desktop\2\1.txt

', mode='

r', encoding='

utf-8-sig

') as f:

5 reader = f.read() #

就叫閱讀器吧

6 words = jieba.cut(reader) #

開始分詞7#

print(list(words)) # ['他', '是', '風光', '無限', '的', '帝國', '總裁', ',', '商場', '的', '中流砥柱', '。', '\n', '\n', ' ', ' ', ' ', ' ', '她', '是', '出生', '富家', '的', '少女'...]

89 cixing = () #

定義詞性元組

10 cixingwords = #

需要的詞

11for i in psg.cut(reader): #

開始提取詞性12#

print(i) # 是/v,前面的"是"表示詞,後面的」v「表示是動詞

13 cixing = (i.word, i.flag) #

詞語和詞性14#

print(cixing) # ('他', 'r')

將所有元組都新增到列表

1617

#開始條件分詞

18 s**e = ['

a', '

n'] #

a表示形容詞,n表示名詞

19for i in

cixingwords:20#

print(i) # 元組

21if i[1] in s**e: #

通過索引取到詞性,條件判斷在不在列表中

22print(i) #

列印結果23#

接下來還得將詞進行拆分進行詞云視覺化

python 中文jieba分詞

import os import jieba from collections import counter def words txt print jieba.cut txt lista jieba.cut txt 返回的結構都是乙個可迭代的 generator,可以使用 for 迴圈來獲得分詞後...

jieba 利用jieba分詞

目錄 三種分詞模式 新增自定義詞典進行分詞 jieba提供了三種分詞模式,分別是全模式,精確模式和搜尋引擎模式。全模式下會將所有可能的詞語都進行分詞,精確模式下會盡可能的將句子精確切開,搜尋引擎模式實在精確模式的基礎上,對長詞再進行劃分,提高分詞的召回率。使用cut和cut for search即可...

Python中文分詞庫 jieba

1 介紹 jieba是優秀的中文分詞第三方庫。由於中文文字之間每個漢字都是連續書寫的,我們需要通過特定的手段來獲得其中的每個單詞,這種手段就叫分詞。而jieba是python計算生態中非常優秀的中文分詞第三方庫,需要通過安裝來使用它。jieba庫提供了三種分詞模式,但實際上要達到分詞效果只要掌握乙個...