利用python统计《十九大报告》中的关键词和词频

作者: 传习者戚 | 来源:发表于2017-10-21 04:23 被阅读275次

    利用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))

    相关文章

      网友评论

      • c8866ad38b12:关键词: ['发展', '人民', '中国', '党', '建设']
        摘要: ['明确全面深化改革总目标是完善和发展中国特色社会主义制度、推进国家治理体系和治理能力现代化', '明确全面推进依法治国总目标是建设中国特色社会主义法治体系、建设社会主义法治国家', '这就是必须从理论和实践结合上系统回答新时代坚持和发展什么样的中国特色社会主义、怎样坚持和发展中国特色社会主义']
        发展 219
        人民 198
        中国 188
        建设 163
        社会主义 147
        而且同个程序,同个文本跑出来的结果也不一样
        c8866ad38b12:用的是Python3.5.4、snowlp-0.12.3。
        传习者戚:请查看一下您使用的版本。本地python3.5、snownlp-0.12.3-py3.5。
      • c8866ad38b12:有个问题,按照所给程序做了词频,遇到与一个问题,即得到的统计数与通过Word软件直接的统计是有些微的出入(如一个统计出来的是150,Word里面统计的是159),请问是否是在分词的过程中出现了问题以及如何控制这个问题。
        传习者戚:任何程序都是靠算法实现的。字数和字符数定义不同。当遇有字母数字及特殊符号时,统计规则不同,算法会有不同处理方法。一般地统计上只能靠近,并不能完全一致(包括特殊字符,标点符号;计空格和不计空格抑或带全角空格的处理)。不必太纠结。看总体任务目标是否完成,同时根据程序的处理结果再调整代码,排除一些例外情况。
      • 传习者戚: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) > 3:
              print("%s\t\t%d" % (k, v))

        十九大报告中的成语和固定词语:
        社会主义 146
        中华民族 43
        马克思主义 13
        当家作主 11
        一国两制 10
        坚定不移 8
        意识形态 8
        共产党人 6
        统一战线 5
        发展中国家 5
        精神文明 5
        马克思列宁主义 5
        主要矛盾 5
        代表大会 4
        毫不动摇 4
        非公有制 4
        共产主义 4
        市场经济 3
        旗帜鲜明 3
        综合国力 3
        综合治理 3
        五位一体 3
        人民团体 3
        前所未有 2
        长治久安 2
        深入人心 2
        对外开放 2
        邓小平理论 2
        自然资源 2
        民主集中制 2
        实事求是 2
        民主党派 2
        齐心协力 2
        爱国主义 2
        社会效益 2
        每时每刻 2
        兼收并蓄 2
        稳中求进 2
        落到实处 2
        生产能力 2
        社会制度 2
        繁荣富强 2
        市场准入 2
        中华人民共和国 2
        物质文明 2
        联合作战 2
        居安思危 2
        义务教育 2
        港人治港 2
        高等教育 2
        毛泽东思想 2
        恐怖主义 2
        对外贸易 2
        始终不渝 2
        锲而不舍 1
        爱国人士 1
        艰苦卓绝 1
        义无反顾 1
        安居乐业 1
        埋头苦干 1
        享乐主义 1
        社会保险 1
        不正之风 1
        资本主义 1
        轻轻松松 1
        徇私枉法 1
        名列前茅 1
        自力更生 1
        千年大计 1
        反应灵活 1
        清正廉洁 1
        新民主主义革命 1
        时不我待 1
        国防动员 1
        任人唯贤 1
        同心协力 1
        持之以恒 1
        百花齐放 1
        迎难而上 1
        党群关系 1
        自强不息 1
        自由主义 1
        有史以来 1
        德艺双馨 1
        社会科学 1
        中小企业 1
        一视同仁 1
        自上而下 1
        文明冲突 1
        和平共处 1
        人道主义 1
        少数民族 1
        知识分子 1
        百家争鸣 1
        登高望远 1
        老有所养 1
        形式主义 1
        工人阶级 1
        为民造福 1
        奋发有为 1
        全心全意 1
        自然保护 1
        组成部分 1
        五湖四海 1
        不合时宜 1
        同舟共济 1
        安定团结 1
        发达国家 1
        领导班子 1
        劳动生产率 1
        不懈努力 1
        重中之重 1
        朝气蓬勃 1
        强权政治 1
        生产总值 1
        好人主义 1
        开拓进取 1
        人大代表 1
        气象更新 1
        量力而行 1
        生搬硬套 1
        此起彼伏 1
        各式各样 1
        中共中央 1
        一往无前 1
        至高无上 1
        功在当代 1
        风清气正 1
        艰难险阻 1
        校企合作 1
        必由之路 1
        国计民生 1
        自我批评 1
        精益求精 1
        息息相通 1
        工人运动 1
        党政机关 1
        承前启后 1
        千难万险 1
        动态平衡 1
        移风易俗 1
        前仆后继 1
        按劳分配 1
        求真务实 1
        东西南北中 1
        相互作用 1
        绳之以法 1
        帝国主义 1
        独立自主 1
        发展中国 1
        集体主义 1
        浩浩荡荡 1
        鸦片战争 1
        尽力而为 1
        绝大多数 1
        聪明才智 1
        尊师重教 1
        优胜劣汰 1
        解放思想 1
        肝胆相照 1
        自然规律 1
        任重道远 1
        参政议政 1
        一九四九年 1
        志存高远 1
        平方公里 1
        执政为民 1
        集体经济 1
        自下而上 1
        和而不同 1
        继往开来 1
        艰苦奋斗 1
        官僚主义 1
        一二三产业 1
        职业道德 1
        奢侈浪费 1
        以强凌弱 1
        仁人志士 1
        辩证唯物主义 1
        百分之三十 1
        排忧解难 1
        惩前毖后 1
        勠力同心 1
        低收入者 1
        民族之林 1
        科教兴国 1
        可歌可泣 1
        历史唯物主义 1
        中小城市 1
        国家机关 1
        矢志不渝 1
        应运而生 1
        只争朝夕 1
        不确定性 1
        标本兼治 1
        德才兼备 1
        党政军民 1
        生产方式 1
        不可逆转 1
        治病救人 1
        雷厉风行 1
        积极向上 1
        防微杜渐 1
        休养生息 1
        十月革命 1
        经济效益 1
        个人主义 1
        学前教育 1
        源源不断 1
        脚踏实地 1
        艰苦创业 1
      • 传习者戚:感谢赞赏!:smile::up:

      本文标题:利用python统计《十九大报告》中的关键词和词频

      本文链接:https://www.haomeiwen.com/subject/emwbuxtx.html