做詞云視覺化的時候,一般都用乙個庫叫jieba,它是用來分詞的。
jieba庫在安裝時,會附帶乙個詞庫,這個詞庫中包含了日常漢語的詞語和詞性。在分詞時,jieba庫會先基於詞庫對文字進行匹配,生成文字中的漢字最有可能形成的詞。然後將這些詞組成乙個dag,用動態規劃演算法來查詢最大的概率路徑,盡可能不將乙個詞拆成單獨的漢字。最後,再從詞庫中找出基於詞頻的最大切分組合,把這些組合在文字中找出來,進而形成乙個乙個的詞語。
同時jieba庫還使用了hmm模型,用以提高分詞的準確率,該模型可以對詞庫中沒有的詞進行分詞。
jieba庫里有乙個cut函式,提供了自動分詞功能。
1import
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,使用停用詞集:
1import
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)
1import
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庫提供了三種分詞模式,但實際上要達到分詞效果只要掌握乙個...