當前位置:首頁 » 編程語言 » python詞頻

python詞頻

發布時間: 2022-09-28 06:29:59

① 如何用python將詞頻中最高的前10個詞及出現的次數做出來並去掉重復的數字且進

# 利用字典進行處理
dic = {}
for word in speech:
if word not in dic:
dic[word] = 1
else:
dic[word] = dic[word] + 1
swd = sorted(dic.items(),key=operator.itemgetter(1),reverse=True)

② 如何用python和jieba分詞,統計詞頻

#!python3
#-*-coding:utf-8-*-
importos,codecs
importjieba
fromcollectionsimportCounter

defget_words(txt):
seg_list=jieba.cut(txt)
c=Counter()
forxinseg_list:
iflen(x)>1andx!=' ':
c[x]+=1
print('常用詞頻度統計結果')
for(k,v)inc.most_common(100):
print('%s%s%s%d'%(''*(5-len(k)),k,'*'*int(v/3),v))

if__name__=='__main__':
withcodecs.open('19d.txt','r','utf8')asf:
txt=f.read()
get_words(txt)

③ python數據挖掘——文本分析

作者 | zhouyue65

來源 | 君泉計量

文本挖掘:從大量文本數據中抽取出有價值的知識,並且利用這些知識重新組織信息的過程。

一、語料庫(Corpus)

語料庫是我們要分析的所有文檔的集合。

二、中文分詞

2.1 概念:

中文分詞(Chinese Word Segmentation):將一個漢字序列切分成一個一個單獨的詞。

eg:我的家鄉是廣東省湛江市-->我/的/家鄉/是/廣東省/湛江市

停用詞(Stop Words):

數據處理時,需要過濾掉某些字或詞

√泛濫的詞,如web、網站等。

√語氣助詞、副詞、介詞、連接詞等,如 的,地,得;

2.2 安裝Jieba分詞包:

最簡單的方法是用CMD直接安裝:輸入pip install jieba,但是我的電腦上好像不行。

後來在這里:https://pypi.org/project/jieba/#files下載了jieba0.39解壓縮後 放在Python36Libsite-packages裡面,然後在用cmd,pip install jieba 就下載成功了,不知道是是什麼原因。

然後我再anaconda 環境下也安裝了jieba,先在Anaconda3Lib這個目錄下將jieba0.39的解壓縮文件放在裡面,然後在Anaconda propt下輸入 pip install jieba,如下圖:

2.3 代碼實戰:

jieba最主要的方法是cut方法:

jieba.cut方法接受兩個輸入參數:

1) 第一個參數為需要分詞的字元串

2)cut_all參數用來控制是否採用全模式

jieba.cut_for_search方法接受一個參數:需要分詞的字元串,該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細

注意:待分詞的字元串可以是gbk字元串、utf-8字元串或者unicode

jieba.cut以及jieba.cut_for_search返回的結構都是一個可迭代的generator,可以使用for循環來獲得分詞後得到的每一個詞語(unicode),也可以用list(jieba.cut(...))轉化為list代碼示例( 分詞 )

輸出結果為: 我 愛

Python

工信處

女幹事

每月 經過 下屬 科室 都 要 親口

交代

24 口 交換機 等 技術性 器件 的 安裝

工作

分詞功能用於專業的場景:

會出現真武七截陣和天罡北斗陣被分成幾個詞。為了改善這個現象,我們用導入詞庫的方法。

但是,如果需要導入的單詞很多,jieba.add_word()這樣的添加詞庫的方法就不高效了。

我們可以用jieba.load_userdict(『D:PDM2.2金庸武功招式.txt』)方法一次性導入整個詞庫,txt文件中為每行一個特定的詞。

2.3.1 對大量文章進行分詞

先搭建語料庫:

分詞後我們需要對信息處理,就是這個分詞來源於哪個文章。

四、詞頻統計

3.1詞頻(Term Frequency):

某個詞在該文檔中出現的次數。

3.2利用Python進行詞頻統計

3.2.1 移除停用詞的另一種方法,加if判斷

代碼中用到的一些常用方法:

分組統計:

判斷一個數據框中的某一列的值是否包含一個數組中的任意一個值:

取反:(對布爾值)

四、詞雲繪制

詞雲(Word Cloud):是對文本中詞頻較高的分詞,給與視覺上的突出,形成「關鍵詞渲染」,從而國旅掉大量的文本信息,使瀏覽者一眼掃過就可以領略文本的主旨。

4.1 安裝詞雲工具包

這個地址:https://www.lfd.uci.e/~gohlke/pythonlibs/ ,可以搜到基本上所有的Python庫,進去根據自己的系統和Python的版本進行下載即可。

在python下安裝很方便,在anaconda下安裝費了點勁,最終將詞雲的文件放在C:UsersAdministrator 這個目錄下才安裝成功。

五、美化詞雲(詞雲放入某圖片形象中)

六、關鍵詞提取

結果如下:

七、關鍵詞提取實現

詞頻(Term Frequency):指的是某一個給定的詞在該文檔中出現的次數。

計算公式: TF = 該次在文檔中出現的次數

逆文檔頻率(Inverse Document Frequency):IDF就是每個詞的權重,它的大小與一個詞的常見程度成反比

計算公式:IDF = log(文檔總數/(包含該詞的文檔數 - 1))

TF-IDF(Term Frequency-Inverse Document Frequency):權衡某個分詞是否關鍵詞的指標,該值越大,是關鍵詞的可能性就越大。

計算公式:TF - IDF = TF * IDF

7.1文檔向量化

7.2代碼實戰

④ 用Python統計詞頻

def statistics(astr):
# astr.replace("\n", "")
slist = list(astr.split("\t"))
alist = []
[alist.append(i) for i in slist if i not in alist]
alist[-1] = alist[-1].replace("\n", "")
return alist

if __name__ == "__main__":
code_doc = {}
with open("test_data.txt", "r", encoding='utf-8') as fs:
for ln in fs.readlines():
l = statistics(ln)
for t in l:
if t not in code_doc:
code_doc.setdefault(t, 1)
else:
code_doc[t] += 1

for keys in code_doc.keys():
print(keys + ' ' + str(code_doc[keys]))

⑤ 關於python詞頻和百分比計算的問題

不能使用其他包是吧,只能自己編寫方法讀取?

importre
#./tt.txt"替換為你的文件路徑
file=open("./tt.txt")
r=re.compile(r"w+")
word_list=r.findall(file.read())
word_length=len(word_list)
d={}
forwordinword_list:
ifwordind:
d[word]['count']+=1
d[word]['percent']=d[word]['count']*1.0/word_length
else:
d[word]={"count":1,"percent":1.0/word_length}
print(d)
#輸出結果:沒有對百分比做處理,你可以自行處理
{'alpha':{'count':2,'percent':0.15384615384615385},
'learn':{'count':2,'percent':0.15384615384615385},
'english':{'count':1,'percent':0.07692307692307693},
'hello':{'count':1,'percent':0.07692307692307693},
'sads':{'count':1,'percent':0.07692307692307693},
'sadasd':{'count':1,'percent':0.07692307692307693},
'ni':{'count':1,'percent':0.07692307692307693},
'hao':{'count':1,'percent':0.07692307692307693},
'lol':{'count':1,'percent':0.07692307692307693},
'kell':{'count':2,'percent':0.15384615384615385}}
#tt.txt測試文件內容
alphalearnenglishhello,sads
sadasd
nihao
lol
kell
kell
alpha
learn

⑥ python統計詞頻時如何過濾掉詞頻小於等於2的單詞

如果你的詞頻存放在詞典對象中

參考例子只顯示詞頻大於2的

ad={'a':2,'b':3,'c':5,'D':10,'E':1,'F':8}
foriinad:
...if(ad[i]>2):printi,ad[i]
...
c5
b3
D10
F8

⑦ python詞頻分析關鍵詞頻數與word檢索的結果不一致

jieba是分詞計數,你在word中搜索是不分詞匹配。
對於【...開發展示功能..】,jieba不會匹配到【發展】而word搜索會匹配:
jieba得到的是'開發','展示','功能'三個詞。

⑧ 關於python詞雲的頻次統計機制

使用wordcloud庫和jieba庫可以使用圖片上的效果,
這個就是將一個文本先進行分詞,然後再統計每個詞的詞頻,選出詞頻較高的一些詞語,然後按照詞頻的大小設定不同的字體大小,隨機生成顏色,隨後形成圖片。

⑨ python問題,我運用python做中文詞頻分析的時候總是顯示UnicodeDecodeError: 'utf-8'問題

出現原因:文件不是 UTF8 編碼的,而系統默認採用 UTF8 解碼。
解決方法是改為對應的解碼方式。
解決辦法:
「文件–》另存為」,可以看到文件的默認編碼格式為ANSI,改為編碼格式UTF8,保存

熱點內容
apache下載linux 發布:2022-12-07 02:29:46 瀏覽:629
長鑫存儲猝死 發布:2022-12-07 02:29:43 瀏覽:185
擺花C語言 發布:2022-12-07 02:28:41 瀏覽:320
ezw演算法 發布:2022-12-07 02:28:00 瀏覽:68
android定位許可權 發布:2022-12-07 02:26:25 瀏覽:428
java的boolean 發布:2022-12-07 02:26:21 瀏覽:736
江蘇將壓縮 發布:2022-12-07 02:22:42 瀏覽:551
4m寬頻的上傳速度 發布:2022-12-07 02:22:40 瀏覽:284
陰陽師檢測腳本 發布:2022-12-07 02:18:22 瀏覽:815
壓縮件破解 發布:2022-12-07 02:16:48 瀏覽:195