利用python统计《十九大报告》中的关键词、报告摘要和词频。引用snowNLP。得到的结果:
1、关键词:
前五个关键词为 ['发展', '人民', '中国', '党', '建设']
2、报告摘要:
强调坚定道路自信、理论自信、制度自信、文化自信;明确全面深化改革总目标是完善和发展中国特色社会主义制度、推进国家治理体系和治理能力现代化;明确全面推进依法治国总目标是建设中国特色社会主义法治体系、建设社会主义法治国家;明确党在新时代的强军目标是建设一支听党指挥、能打胜仗、作风优良的人民军队;
坚持党的领导、人民当家作主、依法治国有机统一是社会主义政治发展的必然要求;
必须从理论和实践结合上系统回答新时代坚持和发展什么样的中国特色社会主义、怎样坚持和发展中国特色社会主义。
3、词频最靠前的词语(词语两个字以上):
发展 219
人民 198
中国 186
建设 163
社会主义 146
坚持 131
国家 108
社会 107
全面 93
制度 93
政治 90
实现 85
推进 80
特色 79
文化 79
体系 77
伟大 75
加强 72
改革 69
经济 65
我们 64
时代 64
必须 61
完善 57
安全 54
领导 54
民主 53
创新 53
我国 50
python3.5代码如下:
# author:传习者戚
# email:qijiuzhu@tsinghua.org.cn
# 2017年10月20日
from snownlp import SnowNLP
# 读取文章内容,数据格式是列表list
with open("十九大报告全文.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(5) # 统计前5个关键词
print("关键词:", keywords)
# 报告摘要
summary = s.summary(3)
print("摘要:", summary)
# 分词
words = s.words # 分词列表
w = list()
w.append(words)
# 词频
s = SnowNLP(w) # 分词列表w,元素为列表
tf = s.tf # 获取词频
for dictionary in tf:
# print(dictionary)
# 字典按键值由大至小排序
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))