中文词频统计

作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2773

1. 下载一长篇中文小说。

2. 从文件读取待分析文本。

3. 安装并使用jieba进行中文分词。

4. 更新词库,加入所分析对象的专业词汇。

5. 生成词频统计、排序、排除语法型词汇,代词、冠词、连词等停用词、输出词频最大TOP20,把结果存放到文件里

源代码:

import jieba
fo = open(r"d:/三体.txt",encoding="utf-8")
santi_txt = fo.read()
jieba.load_userdict(r"d:/stWord.txt") #添加专业词汇词库
fo2 = open(r"d:/stops_chinese1.txt",encoding="utf-8")
cnStops = fo2.read()
cnStops = cnStops.split("
")
st=[]
ss=set(cnStops)

for d in jieba.cut_for_search(santi_txt):
    st.append(d)

for n in a:
    g.update(n)
    g[n]=santi_txt.count(n)
    print("{}  :  {}".format(n,santi_txt.count(n)))


for w in st:
    isStop = False
    for a in cnStops:
        if w==a:
            isStop=True
    if isStop==True:
        st.remove(w)
santi_Txt =' '.join(wordlist)  
wordCount = WordCloud().generate(wl_split)
santi_txt.sort(key=lambda x: x[1], reverse=True)  # 列表排序
print(santi_txt[0:20])  #输出top20
plt.imshow(wordCount)
plt.axis("off")
plt.show()

结果:

6. 生成词云:

原文地址:https://www.cnblogs.com/Xi-Chen00/p/10555378.html