词频统计和词云绘制 |
您所在的位置:网站首页 › 什么函数根据词频生成词云 › 词频统计和词云绘制 |
在前面我们已经提取了很多篇文章的内容,现在我们要对这些内容进行文本的词频统计和词云绘制,以观察热点内容。 在前文中,提取出的文本里有许多不需要的字符,比如列表的符号,因为是以列表的形式进行提取和存储的。将列表转换为字符串,可以使用’’.join()方法,大家可以自行处理一下,这里不再赘述。 词频统计的基本思路是将文本中所有的内容先进行分词,然后再进行停用词去除,停用词就是那些没有意义的词语,比如“的”,“那么”,“如果”等等。由于在结果中发现分词的结果还是存在很多不需要的词,因此先对它们进行了清洗。这里,我所有的文本全部放在了D盘的绿色金融文本库下。 os.walk就是对文件夹进行遍历,提取出文件夹下所有文件。 我们先拿到清洗过的文本: import os os.chdir(r'd:\\') text=[] text1='' for root,dirs,files in os.walk(r'D:\绿色金融文本库'): for i in files: path=os.path.join(root,i) with open(path,'r',encoding='gb18030',errors='ignore') as f: text=f.readline() text1=text1+text text1=text1.replace(' ','') text1=text1.replace('新华社记者','') text1=text1.replace('中国','') text1=text1.replace('月','') text1=text1.replace('近日','') text1=text1.replace('日','') text1=text1.replace('年','') text1=text1.replace('中','') text1=text1.replace('\n','')文本清洗过后,需要进行分词和停用词取出,这里需要引入jieba包,并且需要一个停用词表(stopword.txt),停用词表可以在网上下载。 导入停用词表: stopwords = {}.fromkeys([line.rstrip() for line in open(r'D:\stopword.txt',encoding='utf-8',errors='ignore')])对文本分词并去除停用词: import jieba strings=jieba.cut(text1) str='' for i in strings: if i not in stopwords: str+=i获得去除停用词后的分词文本: str1=jieba.cut(str)接下来就是词频统计和词云绘制,词频统计需要引入collections包 import collections word_counts = collections.Counter(str1) # 对分词做词频统计 word_counts_top50 = word_counts.most_common(50) # 获取排名前50的词 word_counts_top50
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |