词频统计、词云+实战
这里主要是介绍了词频统计和词云,至于分词,如果您有什么困惑可以参考我的上一篇 【文本挖掘】——中文分词哦~
一、词频统计:
1.基本概念及原理
这一步是在做完分词之后进行的,所以以下所有步骤都基于分词后构建的词条的list进行。说白了他就是统计每个词在文中出现过多少次,主要目的是为找出频次高的”关键词“打基础。
词频统计的伪代码:
2.词频统计方法
①基于pandas的词频统计:
输出结果为一个序列,该序列每一行的标签就是进行统计的词,数值就是其频数。
#使用pandas进行词频统计
word_list=['july','可爱','傻fufu','聪明','好可爱','精致','猪猪女孩','猪猪女孩','聪明','聪明']
df=pd.DataFrame(word_list,columns=['word'])
result=df.groupby(['word']).size()
freqlist=result.sort_values(ascending=False)
freqlist[:30]
>>word
聪明 3
猪猪女孩 2
精致 1
好可爱 1
可爱 1
傻fufu 1
july 1
dtype: int64
②基于nltk进行词频统计:
其输出结果为频数字典,这就很方便,也很适合后边词云时候用。
#使用NLTK进行词频统计
import nltk
word_list=['july','可爱','傻fufu','聪明','好可爱','精致','猪猪女孩','猪猪女孩','聪明','聪明']
fdlist=nltk.FreqDist(word_list)
print("聪明的词频:",fdlist['聪明'])#查看某个词的频数
print("词条列表:",fdlist.keys())#列出词条列表
print("前五个高频词及其频次为:",fdlist.most_common(5))#输出前五个高频词及其频次
fdlist#输出全部词频统计结果
#fdlist.tabulate(5)#输出前五个高频词,以列表形式输出
>>聪明的词频: 3
词条列表: dict_keys(['july', '可爱', '傻fufu', '聪明', '好可爱', '精致', '猪猪女孩'])
前五个高频词及其频次为: [('聪明', 3), ('猪猪女孩', 2), ('july', 1), ('可爱', 1), ('傻fufu', 1)]
Freq