写在前面
今天早晨编毕设的时候,想先用ROST CM6利用语义网络分析简单对旅游形象进行一个感知。看了好几篇文献在做语义网络图前都提到了关键词词频统计分析,虽然ROST软件自带分词、词频统计功能,但我输出TOP 100的文字排序是乱的不说,连词频为1的词语都统计上去了,这显然是不合理的(也不知道其他人是咋做的还是软件出BUG了 )
接着就找了一上午的词频统计软件,好的软件要求付费(心疼.JPG),不好的软件分析不了2百万字的文档…
真就 “代码三两行,工具找半天”
总觉得为了点毕设犯不着还开个会员搞个 “文本输入不限量” 啥的吧…所以花了一上午,总结了一个简单的“词频统计+可视化分析”Python代码,可以基本满足上述需求,所采用的编辑器是Jupyter Notebook。
接下来我将尽我所能对下述代码进行解读,也是小白尝试理解的第一步了
# 天才第一步,导入相应库
import re
import collections # 词频统计库
import numpy as np # numpy数据处理库
import jieba # 结巴分词
第二步,打开爬虫评论文本数据,并读入文档
ps:要把爬虫的文档传到jupyter路径下,不然读不出来
fn = open("评论文本数据.txt","r",encoding="utf-8")
string_data = fn.read()
fn.close()
第三步,对文本进行预处理
# 文本预处理
# 定义正则表达式匹配模式
pattern = re.compile(u'\t|,|/|。|\n|\.|-|:|;|\)|\(|\?|"')
string_data = re.sub(pattern,''