中文词频统计

下载一长篇中文文章。

从文件读取待分析文本。

news = open('gzccnews.txt','r',encoding = 'utf-8')

安装与使用jieba进行中文分词。

pip install jieba

import jieba

list(jieba.lcut(news))

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20

import jieba

f = open('hongloumeng.txt','r')
text = f.read()
f.close()
symbol = '''一!“”,。?;’"',.、:\n'''
for s in symbol:
    text = text.replace(s,' ')
wordlist = list(jieba.cut(text))
exclude = {'说','有','得','没','的','他','了','她','是','在','—','你','走','对','他们','着','把','不','也','我','人','而',
           '与','就','可是','那','要','又','想','和','一个',' ','呢','很','一点','都','去',
           '没有','个','上','给','来','还','到','这','\u3000','点','小','看','之','‘','道','便','听','只'}
set = set(wordlist) - exclude
dict = {}
for key in set:
    dict[key]=wordlist.count(key)
dictlist = list(dict.items())
dictlist.sort(key=lambda x: x[1], reverse=True)
for i in range(20):
    print(dictlist[i])

  

('宝玉', 128)
('周瑞家', 86)
('笑', 72)
('见', 71)
('雨村', 71)
('刘姥姥', 63)
('时', 60)
('等', 60)
('问', 58)
('因', 56)
('忙', 55)
('们', 51)
('王夫人', 49)
('如今', 49)
('什么', 48)
('黛玉', 47)
('中', 47)
('将', 45)
('亦', 45)
('凤姐', 44)

 

posted @ 2018-03-28 20:20  192邓锦秀  阅读(121)  评论(0编辑  收藏  举报