词云技术是一种将单词数据可视化的技术,通常将单词按照出现频率在一个图形中显示,单词在图形中的大小表示其出现的频率。
词云技术最初是为了数据挖掘和文本分析而开发的,但现在它已经成为了一种常见的数据可视化方式,常用于展示文章、调查问卷、舆情分析等文本数据,可以让用户快速了解文本的热点和关键词。
词云的生成一般包括以下步骤:
收集文本数据并进行处理,去除一些无用信息,例如停用词等;
对于每个单词计算其出现频率,可以使用Python的nltk和jieba等自然语言处理工具来实现;
根据单词的频率和一些其他的配置参数,使用词云库(例如wordcloud)来生成词云图像;
可以使用matplotlib库来展示词云,也可以将其保存为文件。
值得注意的是,词云并不是一种严格意义上的数据分析方法,它只能展示数据的一部分。在某些情况下,词云可能会产生误导性的信息,需要结合其他的数据分析方法来进行分析和判断。
def getText(filepath):
f=open(filepath,"r",encoding='utf-8')
text=f.read()
f.close()
return text
import jieba
def wordFreq(filepath,text,topn):
f=open(filepath,"r",encoding='utf-8')
text=f.read()
words=jieba.lcut(text.strip())
counts={}
for word in words:
if len(word)==1:
continue
else:
counts[word]=counts.get(word,0)+1
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
f=open(filepath[:-4]+'_词频.txt',"w")
for i in range(topn):
word,count=items[i]
f.write("{}\t{}\n".format(word,count))
f.close()
getText(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt")
f=open(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt","r",encoding='utf-8')
text=f.read()
wordFreq(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt",text,70)
# In[14]:
import matplotlib.pyplot as plt
import wordcloud
from imageio import imread
bg_pic=imread(r'E:\大创\江苏省数字化公共服务能力提升路径研究\n.jpg')
f=open(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2_词频.txt")
text=f.read()
f.close()
wcloud=wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\simhei.ttf',background_color="white",width=1000,
max_words=500,
mask=bg_pic,
height=860,margin=2).generate(text)
wcloud.to_file("n2cloud.jpg")
plt.imshow(wcloud)
plt.axis('off')
plt.show()