根据学习至今的python,和导师吩咐的方向,一共做了5件事:
1.政府网http://www.gov.cn/index.htm中养老政策特殊文本爬取与保存。
2.基于的TF/IDF多文档关键词抽取。
-基于TF-IDF算法的关键词抽取(原文:https://blog.csdn.net/zhangyu132/article/details/52128924)
import jieba.analyse
jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()) –sentence 为待提取的文本 –topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20 –withWeight 为是否一并返回关键词权重值,默认值为 False –allowPOS 仅包括指定词性的词,默认值为空,即不筛选
-基于TextRank算法的关键词提取
jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns’, ‘n’, ‘vn’, ‘v’)) 直接使用,接口相同,注意默认过滤词性。 –基本思想: 1,将待抽取关键词的文本进行分词 2,以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图
topK=15表示每篇文章抽取频率最高的前15个词。下一步处理共现时词与词中间需要'/',否则无法共现,然后将每篇抽取的放入同一个xlxs中,抽取结果如图:
3.关键词共现矩阵的生成。
结果如图
4.政策词云图的生成(这是一段单独的程序,也可以把上下步骤加进来)
5.关键词网络关系图生成。
做关系图时要把生成的nxn共现矩阵转换为一个nx3的矩阵,如下图,然后将所有数取倒数,(取倒数前将所有0置为0.01),我认为两词距离越近那么他们之间值应该也越小,而上面得出的共现矩阵以加法形式进行计算。
以下是得出的结果,