中文詞頻統計與詞雲生成


本次作業的要求來自於:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822

一、中文詞頻統計

1. 下載一長篇中文小說。

2. 從文件讀取待分析文本。

3. 安裝並使用jieba進行中文分詞。

pip install jieba

import jieba

jieba.lcut(text)

4. 更新詞庫,加入所分析對象的專業詞匯。

jieba.add_word('天罡北斗陣')  #逐個添加

jieba.load_userdict(word_dict)  #詞庫文本文件

參考詞庫下載地址:https://pinyin.sogou.com/dict/

轉換代碼:scel_to_text

5. 生成詞頻統計

6. 排序

7. 排除語法型詞匯,代詞、冠詞、連詞等停用詞。 

8. 輸出詞頻最大TOP20,把結果存放到文件里

9. 生成詞雲。

 

二、實現

1、本文下載了余華的《活着》,放於huozhe.txt中

2、讀取文本

mytext = open('huozhe.txt',encoding='UTF-8').read()

3、安裝jieba

4、更新詞庫,加入所分析對象的專業詞匯

jieba.add_word('福貴')
jieba.add_word('家珍')
jieba.add_word('鳳霞')
jieba.add_word('有慶')
jieba.add_word('二喜')
jieba.add_word('苦根')

5. 生成詞頻統計

'''分割出詞匯'''
words = list(jieba.cut(mytext))
wordDict={}

'''統計頻率次數'''
wordSet=set(words)
for w in wordSet:
    if len(w)>1:
        wordDict[w] = words.count(w)

6. 排序

'''排序'''
wordList = list(wordDict.items())
wordList.sort(key=lambda x:x[1],reverse=True)

7. 排除語法型詞匯,代詞、冠詞、連詞等停用詞。

ci=['我們','知道','看到','自己','起來','什么','他們','一個','看着','沒有','看看','就是','怎么','還是','這么','覺得']
for c in ci:
        mytext = mytext.replace(c, "")

8. 輸出詞頻最大TOP20,把結果存放到文件里

'''輸出top20'''
for i in range(20):
    print(wordList[i])

'''保存為csv文件'''
pd.DataFrame(data=wordList).to_csv('My story.csv',encoding='utf-8')

9. 生成詞雲

10、整體代碼

import jieba
import pandas as pd

mytext = open('huozhe.txt',encoding='UTF-8').read()

jieba.add_word('福貴')
jieba.add_word('家珍')
jieba.add_word('鳳霞')
jieba.add_word('有慶')
jieba.add_word('二喜')
jieba.add_word('苦根')

ci=['','','',' ','我們','知道','看到','自己','起來','什么','他們','一個','看着','沒有','看看','就是','怎么','還是','這么','覺得']
for c in ci:
        mytext = mytext.replace(c, "")

'''分割出詞匯'''
words = list(jieba.cut(mytext))
wordDict={}

'''統計頻率次數'''
wordSet=set(words)
for w in wordSet:
    if len(w)>1:
        wordDict[w] = words.count(w)

'''排序'''
wordList = list(wordDict.items())
wordList.sort(key=lambda x:x[1],reverse=True)

'''輸出top20'''
for i in range(20):
    print(wordList[i])

'''保存為csv文件'''
pd.DataFrame(data=wordList).to_csv('My story.csv',encoding='utf-8')

11、運行截圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM