目录

1、导入所需的库

2、用Pandas读入训练数据

3、构建停用词列表数据

4、对数据做预处理

5、将清洗的数据添加到DataFrame里

6、计算训练集中每条评论数据的向量

7、构建随机森林分类器并训练

8、读取测试数据并进行预测

9、将预测结果写入csv文件


1、导入所需的库

import os
import re
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
import nltk
from nltk.corpus import stopwords

2、用Pandas读入训练数据

#用pandas读入训练数据
datafile=os.path.join('E:\\english_data','labeledTrainData.tsv')
df=pd.read_csv(datafile,sep='\t',escapechar='\\')
print('Number of reviews:{}'.format(len(df)))
df.head()

3、构建停用词列表数据

#words_nostop=[w for w in words if w not in stopwords.words('english')]
stopwords={}.fromkeys([line.rstrip() for line in open('E:\\english_data\\stopwords.txt')])
eng_stopwords=set(stopwords)

4、对数据做预处理

(1)去掉html标签

(2)移除标点符号

(3)将句子切分成词

(4)去掉停用词

(5)重组为新的句子

def clean_text(text):text=BeautifulSoup(text,'html.parser').get_text()text=re.sub('[^a-zA-Z]',' ',text)words=text.lower().split()words=[w for w in words if w not in eng_stopwords]return ' '.join(words)

5、将清洗的数据添加到DataFrame里

df['clean_review']=df.review.apply(clean_text)
df.head()

6、计算训练集中每条评论数据的向量

(1)使用sklearn的CountVectorizer抽取bag of words特征

vectorizer=CountVectorizer(max_features=5000)
train_data_features=vectorizer.fit_transform(df.clean_review).toarray()
train_data_features.shape

(2)使用Gensim的Word2Vec训练词嵌入模型

from gensim.models.word2vec import Word2Vec# 设定词向量训练的参数
num_features = 300    # Word vector dimensionality
min_word_count = 40   # Minimum word count
num_workers = 4       # Number of threads to run in parallel
context = 10          # Context window size
downsampling = 1e-3   # Downsample setting for frequent wordsmodel = Word2Vec(sentences, workers=num_workers, \size=num_features, min_count = min_word_count, \window = context, sample = downsampling)# If you don't plan to train the model any further, calling
# init_sims will make the model much more memory-efficient.
model.init_sims(replace=True)# It can be helpful to create a meaningful model name and
# save the model for later use. You can load it later using Word2Vec.load()
model.save(os.path.join('..', 'models', model_name))

7、构建随机森林分类器并训练

forest=RandomForestClassifier(n_estimators=100)
forest=forest.fit(train_data_features,df.sentiment)#删除不用的占内容变量
del df
del train_data_features

8、读取测试数据并进行预测

datafile=os.path.join('E:\\english_data','testData.tsv')
df=pd.read_csv(datafile,sep='\t',escapechar='\\')
print('Number of reviews:{}'.format(len(df)))
df['clean_review']=df.review.apply(clean_text)
df.head()test_data_features=vectorizer.transform(df.clean_review).toarray()
test_data_features.shaperesult=forest.predict(test_data_features)
output=pd.DataFrame({'id':df.id,'sentiment':result})
output.head()

9、将预测结果写入csv文件

output.to_csv(os.path.join('E:\\english_data','Bag_of_Words_model.csv'),index=False)del df
del test_data_features

项目实战英文文本分类电影评论情感判别源码及数据集资源下载:

项目实战-英文文本分类电影评论情感判别源码及数据集-机器学习文档类资源-CSDN下载

本人博文NLP学习内容目录:

一、NLP基础学习

1、NLP学习路线总结

2、TF-IDF算法介绍及实现

3、NLTK使用方法总结

4、英文自然语言预处理方法总结及实现

5、中文自然语言预处理方法总结及实现

6、NLP常见语言模型总结

7、NLP数据增强方法总结及实现

8、TextRank算法介绍及实现

9、NLP关键词提取方法总结及实现

10、NLP词向量和句向量方法总结及实现

11、NLP句子相似性方法总结及实现

12、NLP中文句法分析

二、NLP项目实战

1、项目实战-英文文本分类-电影评论情感判别

2、项目实战-中文文本分类-商品评论情感判别

3、项目实战-XGBoost与LightGBM文本分类

4、项目实战-TextCNN文本分类实战

5、项目实战-Bert文本分类实战

6、项目实战-NLP中文句子类型判别和分类实战

交流学习资料共享欢迎入群:955817470(群一),801295159(群二)

英文文本分类——电影评论情感判别相关推荐

  1. 中文文本分类——商品评论情感判别

    目录 1.数据集下载 2.载入数据,做预处理(分词),切分训练集与测试集 3.计算训练集和测试集每条评论数据的向量并存入文件 4.获得训练集向量和标签,测试集向量和标签 5.训练SVM模型 6.构建待 ...

  2. Pytorch+Text-CNN+Word2vec+电影评论情感分析实战

    文章目录 0.前言 1.电影评论数据集 2.数据读取 3.数据预处理 4.准备训练和测试集 5.加载词向量模型Word2vec 6.定义网络 7.训练网络 8.测试网络和可视化 9.总结 0.前言 很 ...

  3. 【自然语言处理(NLP)】基于FNN网络的电影评论情感分析

    [自然语言处理(NLP)]基于FNN网络的电影评论情感分析 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建 ...

  4. 从爬取豆瓣影评到基于朴素贝叶斯的电影评论情感分析(下)

    基于朴素贝叶斯的电影评论情感分析 用到的包:pandas.jieba(分词工具) file=open(r"review.txt",'r',encoding='utf-8') rev ...

  5. python电影评论情感分析_20行Tensorflow代码实现电影评论情感分析

    原标题:20行Tensorflow代码实现电影评论情感分析 背景 情感分析有很多的应用场景,比如做一个电商网站,卖家需要时刻关心用户对于商品的评论是否是正面的.再比如做一个电影的宣传和策划,电影在键盘 ...

  6. 【自然语言处理】基于NLP的电影评论情感分析模型比较

    基于NLP的电影评论情感分析模型比较 一段时间以来,使用机器学习的 NLP 任务借助 BERT(Bidirectional Encoder Representations from Transform ...

  7. paddle2.0高层API实现自定义数据集文本分类中的情感分析任务

    paddle2.0高层API实现自定义数据集文本分类中的情感分析任务 本文包含了: - 自定义文本分类数据集继承 - 文本分类数据处理 - 循环神经网络RNN, LSTM - ·seq2vec· - ...

  8. 【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.舆情分析 舆情分析很多情况下涉及到用户的情感分析,或者亦称为观点挖掘,是指用自然语言处理技术.文本挖掘以及计算机语言学等方法来正确识别和提取文 ...

  9. Keras-深度学习-神经网络-电影评论情感分析模型

    目录 模型搭建 模型训练 模型搭建 使用到的数据集为IMDB电影评论情感分类数据集,该数据集包含 50,000 条电影评论,其中 25,000 条用于训练,25,000 条用于测试.每条评论被标记为正 ...

最新文章

  1. [svc]gns3模拟器及探讨几个bgp问题
  2. linux查看ssh端口8222,下载服务器SSH被用户恶意猜密码了
  3. python能绘制统计图吗-特征锦囊:常用的统计图在Python里怎么画?
  4. [leetcode]Trapping Rain Water @ Python
  5. [原创]同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
  6. 修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...
  7. 复现网状的记忆Transformer图像描述模型(失败)
  8. php windows 操作文件,Windows开启审核功能来记录文件删除操作的详解
  9. 将表格转换成纯html,HTML table表格转换为Markdown table表格
  10. 人人都能看懂的 LSTM
  11. 和10位CIO,聊了聊他们今年的OKR
  12. 电商商城小程序项目完整源码(微信小程序)
  13. Universal Radio Hacker(URH):一个用于逆向解析和攻击无线通信协议的开源工具
  14. (附源码)php希尔顿酒店管理系统 毕业设计 041148
  15. 集丰照明|LED 的产业链由哪些部分构成?
  16. iPhone各机型屏幕尺寸
  17. JavaScript getMonth() 函数用法
  18. 2022山东国际养老服务业博览会,智慧养老产业展会
  19. excel 切片器 html,Excel切片器--数据智能展示的利器
  20. 了解黑帽白帽灰帽之间的区别?

热门文章

  1. vue知识点1-父子组件传值 插槽  wath  vuex
  2. 汽车车灯注塑件三维尺寸公差检测
  3. java计算机毕业设计基于微信小程序的校园外卖订餐系统APP
  4. 计算机科学与实践,【计算机科学与技术学院|实践实况】(一)
  5. 什么是cert文件?
  6. 基于51单片机的心率脉搏计检测系统
  7. 科达出征珠海航展,共筑蓝天梦想
  8. MD5、SHA1、SHA256、SHA512
  9. 中国科学家或揭开生物第六感之谜
  10. PHP实现sha-256哈希算法