开篇
这边主要讲一些nltk的日常使用,对于我来说算是一种复习吧,希望也给大家一些入门的启发,关于nlp的一些python库,我日后会慢慢介绍,前面已经出现了一些中文处理的库,后期我想把他们放到一起讲讲。关于nltk的安装,这边就不多讲了,一条命令就可以下载,语料库在nltk_data可能比较难下载,有兴趣的可以给我留言索要。这边太大了,我无法上传。
数据
数据的主要来源是亚马逊的商品评论,这边的话我使用的是电影的评论数据集,下载下来的数据是json格式的,但不是纯粹的json格式,这边的话我还是写了一个简单的处理代码把它处理成其他语言也能读的json格式以供大家参考,可以会跟网页上的代码有些不同,但是本质是一样的。
import json
data = open('data.json','r')
my_data = []
for i in data:
a = eval(i)
my_data.append(a)
with open('my_data.json','w') as f:
json.dump(my_data,f)
我依旧采用的是list的格式。每一条都是相应的评论信息,这边的数据样式如下
这边我就不使用全部的评论了,就抽取出其中一种商品的评论
In [8]: reviews = []
In [9]: for i in mydata:
...: if i['asin'] == '0439893577':
...: reviews.append(i)
...:
In [10]: len(reviews)
Out[10]: 17
总共是17条。
统计词频
##统计词频
tokens = texts.split()
freq = nltk.FreqDist