2019年政府工作報告中的關鍵詞和詞頻:SnowNLP還是Jieba?

2019年政府工作報告中的關鍵詞
snownlp:
  ['發(fā)展', '改革', '企業(yè)', '推進', '經濟', '政策', '建設', '服務', ……]

jieba:
  ['改革', '發(fā)展', '推進', '加強', '加快', '深化', '創(chuàng)新', '建設', ……]

2019年政府工作報告中的詞頻統計

snownlp  |    jieba             
發(fā)展  133 |   發(fā)展  127
改革  105 |   改革  89
經濟  65  |   推進  56
推進  57  |   企業(yè)  50
政策  56  |   加強  50
企業(yè)  55  |   經濟  45
加強  50  |   建設  44
建設  47  |   加快  40
社會  44  |   推動  40
創(chuàng)新  43  |   創(chuàng)新  39
市場  41  |   政府  38
加快  40  |   支持  37
推動  40  |   全面  36
政府  39  |   完善  36
全面  38  |   中國  35
支持  38  |   政策  35
中國  37  |   堅持  32
服務  36  |   深化  31
完善  36  |   促進  30
基本  31  |   就業(yè)  29
堅持  31  |   服務  29
深化  31  |   基本  28
就業(yè)  30  |   繼續(xù)  27
繼續(xù)  30  |   我們  27
促進  30  |   提高  26
工作  29  |   社會  25
提高  27  |   工作  24
我們  27  |   市場  24
問題  27  |   群眾  24
人民  26  |   問題  23

----

利用SnowNLP的代碼

# author:傳習者戚
# email:qijiuzhu@tsinghua.org.cn
# 2019年3月

from snownlp import SnowNLP
import time

# 計時開始
TIME_FORMAT = '%Y-%m-%d %H:%M:%S'
print('{} START'.format(time.strftime(TIME_FORMAT)))

# +++++++++++++++++++++++++++++++++
# 讀取文章內容,數據格式是列表list
with open("2019工作報告.txt", "r", encoding="utf-8") as f:
    text_list = f.readlines()
text_string = "".join(t for t in text_list)  # 將列表轉為文本字符串str

# 中文字符串處理類
s = SnowNLP(text_string)

# 統計關鍵詞
keywords = s.keywords(15)  # 統計關鍵詞的方法:s.keywords(n) 前n個關鍵詞
keywords = [keyword for keyword in keywords if len(keyword) != 1]
print("關鍵詞:", keywords)
#
# 分詞
words = s.words  # 分詞列表
w = list()
w.append(words)  # 分詞列表,列表元素為列表

s = SnowNLP(w)
tf = s.tf  # 詞頻
for dictionary in tf:
    for k, v in sorted(dictionary.items(), key=lambda d: d[1], reverse=True):
        if len(k) > 1:
            print("%s\t\t%d" % (k, v))
# +++++++++++++++++++++++++++++++++
print()
# 計時結束
print('{} STOP'.format(time.strftime(TIME_FORMAT)))

利用Jieba的代碼

import jieba
import jieba.analyse
import time

# 計時開始
TIME_FORMAT = '%Y-%m-%d %H:%M:%S'
print('{} START'.format(time.strftime(TIME_FORMAT)))

# +++++++++++++++++++++++++++++++++
# 讀取文章內容,數據格式是列表list
with open("2019工作報告.txt", "r", encoding="utf-8") as f:
    text_list = f.readlines()
text_string = "".join(t for t in text_list)  # 將列表轉為文本字符串str

# 關鍵詞提取
keywords = jieba.analyse.extract_tags(text_string, 8)
print("【關鍵詞】", keywords)

# 詞頻統計
print("\n詞頻統計:\n")
seg_list = jieba.lcut(text_string, cut_all=False) # 中文分詞

word_freq = {}
for word in seg_list:
    if word in word_freq:
        word_freq[word] += 1
    else:
        word_freq[word] = 1

freq_word = []
for word, freq in word_freq.items():
    if len(word) != 1:    # 去除標點及單字
        freq_word.append((word, freq))
freq_word.sort(key=lambda x: x[1], reverse=True)

for word, freq in freq_word[:30]:
    print(word, freq)
# +++++++++++++++++++++++++++++++++
print()
# 計時結束
print('{} STOP'.format(time.strftime(TIME_FORMAT)))
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容