一、环境搭建
1、安装第三方包nltk
pip intall nltk==3.4.5
2、安装 nltk_data
nltk_data 存放了很多语料数据, 包括大量的数据集,本文中就是用到了其中的 positive_tweets 和 negative_tweets 两个数据集来训练模型
安装方式有两种, 离线和在线, 推荐【使用离线】, 因为数据量很大, 在线下载通常会失败
[ a ] 在线下载
python交互式命令行中输入
importnltk
nltk.download()
执行后会弹出下载窗口, 如果不需要全量下载, 选择对应分类下, 进行点击下载即可,
下载成功后会相应提示 installed或者指定包进行下载, 同样还是python交互式命令行输入
import nltk
nltk.download('punkt')
[ b ] 离线下载 (推荐使用)
主要用到的是packages 文件夹下的内容
这就是全部的nltk_data 的内容
下载后需要进行简单配置
1、 将下载的packages 文件夹重命名为nltk_data
2、将重命名后的
nltk_data文件夹放置到nltk可以找到的路径下, 查看方法为 :
>>>from nltk importdata
>>>data.find('.')
FileSystemPathPointer('C:\\Users\\用户\\AppData\\Roaming\\nltk_data') # 会输出本地加载路径, 直接放置在Roaming下即可
或者出现以下输出, 将nltk_data文件夹放在任意目录下也可以
到此, 环境就已经准备好啦~~~
二、步骤
分词
数据预处理
构造模型数据
训练模型
使用模型进行预测分析
三、加载数据集
导包
importreimportstringimportrandomfrom nltk.corpus importtwitter_samplesfrom nltk.tag importpos_tag, pos_tag_sentsfrom nltk.stem.wordnet importWordNetLemmatizerfrom nltk.corpus importstopwordsfrom nltk import FreqDist
加载数据集:
使用的是twitter_samples下的 negative_tweets.json:【5000条带有负面情感的推文】 和 positive_tweets.json:【5000条带有正面情感的推文 用于训练模型】,可以讲压缩包解压出来, 看下里面的json 文件的内容
使用代码获取推文内容
positive_tweets = twitter_samples.strings('positive_tweets.json')
negative_tweets = twitter_samples.strings('negative_tweets.json') # 可以打印看下分析的推文内容
四、分词
#分词
po_fenci_res = fenci(po_file_name)[:2]
be_fenci_res= fenci(ne_file_name)[:2] #数据量比较大, 所以仅取前2条
print('积极分词结果: {}'.format(po_fenci_res))print('消极分词结果: {}'.format(be_fenci_res))#积极分词结果: [['#FollowFriday', '@France_Inte', '@PKuchly57', '@Milipol_Paris', 'for', 'being', 'top', 'engaged', 'members', 'in', 'my', 'community', 'this', 'week', ':)'], ['@Lamb2ja', 'Hey', 'James', '!', 'How', 'odd', ':/', 'Please', 'call', 'our', 'Contact', 'Centre', 'on', '023