#英文詞頻統計
defgettext()
:#定義獲取檔案函式
txt =
open
('哈姆雷特.txt'
,'r'
).read(
)#開啟檔案,唯讀模式
txt = txt.lower(
)#將字母全部轉換為小寫
for ch in
'!"#$%&()*+,-./:;<=>?@[\\]^_『~'
:#將特殊字元替換為空格
txt = txt.replace(ch,
' ')
return txt
hamlettxt = gettext(
)words = hamlettxt.split(
)#將獲取的字串進行分隔
counts =
for word in words:
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(''
.format
(word,count)
)
執行結果:
the 1138
and 965
to 754
of 669
you 550
i 542
a 542
my 514
hamlet 462
in 436
#中文詞頻統計
import jieba
txt =
open
('三國演義.txt'
,'r'
,encoding=
'utf-8'
).read(
)excludes =
words = jieba.lcut(txt)
counts =
for word in words:
iflen
(word)==1
:continue
elif word ==
"諸葛亮"
or word ==
"孔明曰"
: rword =
"孔明"
elif word ==
"關公"
or word ==
"雲長"
: rword =
"關羽"
elif word ==
"玄德"
or word ==
"玄德曰"
: rword =
"劉備"
elif word ==
"孟德"
or word ==
"丞相"
: rword =
"曹操"
else
: rword = word
counts[rword]
= counts.get(rword,0)
+1for word in excludes:
del counts[word]
items =
list
(counts.items())
items.sort(key=
lambda x:x[1]
,reverse=
true
)for i in
range(10
):word, count = items[i]
print(''
.format
(word, count)
)
曹操 1451
孔明 1383
劉備 1252
關羽 784
張飛 358
商議 344
如何 338
主公 331
軍士 317
呂布 300
jieba庫的使用
jieba是優秀的中文分詞第三方庫 中文文字需要通過分詞獲得單個的詞語 jieba是優秀的中文分詞第三方庫,需要額外安裝 jieba庫提供三種分詞模式,最簡單只需掌握乙個函式 cmd命令列 pip install jieba jieba分詞依靠中文詞庫 利用乙個中文詞庫,確定漢字之間的關聯概率 漢字...
jieba庫的使用
1.jieba庫概述 jieba是優秀的中文分詞第三方庫 2.jieba庫的安裝 cmd命令列 pip install jieba 3.jieba的分詞原理 4.jieba庫的使用 4.1 jieba分詞的的三種模式 4.2 jieba庫常用函式 詞頻統計例項 英文文字 哈姆雷特 英文版 要點 文字...
jieba庫的使用
如何安裝jieba?我們使用cmd命令輸入python m pip install jieba 等一段時間就下好了。jieba庫有啥用?就是將中文語句進行分詞 它有幾種模式 精確模式 全模式 搜尋引擎模式 精確模式 把文字精確地切分開,不存在冗餘單詞 全模式 把文字中所有可能的詞語都掃瞄出來,有冗餘...