#三國人物用詞統計#1、開啟文字檔案,並read後把read的結果放到txt中
txt=open("threekingdoms.txt","r",encoding="utf-8").read()
#2、英文分詞裡習慣將將符號替換為空格,但是中文分詞用jieba庫就不需要替換操作了。進行分詞操作將分詞放入words列表
import jieba
words=jieba.lcut(txt)
#3、建立words,抽取長度不為1的字元,組成新的字典dicwords
exp=["卻說","錦州","二人","將軍","不可","不能","如此"]
dicwords={}
for i in words:
if len(i)==1:#排除字元長度為1的
continue
elif i in exp:
continue
elif i=="孔明曰" or i=="孔明":
dicwords["孔明"]=dicwords.get("孔明",0)+1
elif i == "玄德曰" or i == "玄德":
dicwords["玄德"] = dicwords.get("玄德", 0) + 1
else:
dicwords[i]=dicwords.get(i,0)+1
#4、對列表中字元與出現的次數進行排序
lsdicwords=list(dicwords.items())
lsdicwords.sort(key=lambda x:x[1],reverse=true)
#找出前十名用的高頻詞彙
n=0for i in lsdicwords:
name,times=i
#print(name,times)
n=n+1
if n==10:
break
#也可以這樣寫
for i in range(15):
name,tiems=lsdicwords[i]
print(name,times)
三國演義人物詞頻統計 1
沒有把長度為1的單詞進行篩選 path c users desktop 三國演義.txt text open path,r encoding utf 8 read 使用結巴的函式對文字進行分詞 words jieba.lcut text 定義字典型別去儲存文字和文字出現的次數 counts for ...
三國演義人物詞頻統計 2
對長度為1的單詞進行篩選 import jieba path c users desktop 三國演義.txt text open path,r encoding utf 8 read 使用結巴的函式對文字進行分詞 words jieba.lcut text 定義字典型別去儲存文字和文字出現的次數 ...
python三國演義人物出場統計
開源 usr bin env python coding utf 8 e10.4calthreekingdoms.py import jieba excludes txt open threekingdom.txt rb read words jieba.lcut txt counts for wo...