【DeepLearning 文本分类实战】IMDB Data Preprocessing数据预处理
一、Introduction
数据集下载地址 Sentiment Analysis (stanford.edu)
斯坦佛官方描述IMDB非常详细:用于二分类情感分类的数据集,包含25k训练集和25k测试集。
下载解压数据集后,得到test和train文件夹, 打开train文件夹,neg和pos为已标注情感样本,unsup为未标注情感样本 。我们最终需要使用的就是train和test中neg和pos数据
二、Data Processing
将存储在一个个txt中的样本数据合并成一个csv数据集文件
get_data():获取原始数据
shuffle_process():数据打乱
save_process():数据去除标点符号,并保存为datasets.csv
import csv
import os
import reimport numpy as np
import pandas as pd
import torchfrom Financial_News_Sentiment_Analysis.tt import tokenizerdef get_data():pos1, pos2 = os.listdir('../../dataset/aclImdb/test/pos'), os.listdir('../../dataset/aclImdb/train/pos')neg1, neg2 = os.listdir('../../dataset/aclImdb/test/neg'), os.listdir('../../dataset/aclImdb/train/neg')pos_all, neg_all = [], []for p1, n1 in zip(pos1, neg1):with open('../../dataset/aclImdb/test/pos/' + p1, encoding='utf8') as f:pos_all.append(f.read())with open('../../dataset/aclImdb/test/neg/' + n1, encoding='utf8') as f:neg_all.append(f.read())for p2, n2 in zip(pos2, neg2):with open('../../dataset/aclImdb/train/pos/' + p2, encoding='utf8') as f:pos_all.append(f.read())with open('../../dataset/aclImdb/train/neg/' + n2, encoding='utf8') as f:neg_all.append(f.read())datasets = np.array(pos_all + neg_all)labels = np.array([1] * 25000 + [0] * 25000)return datasets, labelsdef shuffle_process():sentences, labels = get_data()# Shuffleshuffle_indexs = np.random.permutation(len(sentences))datasets = sentences[shuffle_indexs]labels = labels[shuffle_indexs]return datasets,labelsdef save_process():datasets, labels = shuffle_process()sentences = []punc = '[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~\n。!,]'for sen in datasets:sen = sen.replace('\n', '')sen = sen.replace('<br /><br />', ' ')sen = re.sub(punc, '', sen)sentences.append(sen)# Savedf = pd.DataFrame({'labels': labels, 'sentences': sentences})df.to_csv("datasets.csv", index=False)if __name__ == '__main__':model = save_process()
处理后的效果
【DeepLearning 文本分类实战】IMDB Data Preprocessing数据预处理相关推荐
- 人工智能框架实战精讲:Keras项目-英文语料的DNN、Word2Vec、CNN、LSTM文本分类实战与调参优化
Keras项目-英文语料的文本分类实战 一.机器学习模型 1.1 数据简介 1.2 数据读取与预处理 1.3 数据切分与逻辑回归模型构建 二.全连接神经网络模型 2.1 模型训练 2.2 模型结果展示 ...
- 文本分类实战(三)—— charCNN模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 文本分类实战(七)—— Adversarial LSTM模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 文本分类实战—— Bi-LSTM模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 文本分类实战(十)—— BERT 预训练模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 【英文文本分类实战】之四——词典提取与词向量提取
·请参考本系列目录:[英文文本分类实战]之一--实战项目总览 ·下载本实战项目资源:神经网络实现英文文本分类.zip(pytorch) [1] 提取词典 在这一步,我们需要把训练集train.cs ...
- 【英文文本分类实战】之三——数据清洗
·请参考本系列目录:[英文文本分类实战]之一--实战项目总览 ·下载本实战项目资源:神经网络实现英文文本分类.zip(pytorch) [1] 为什么要清洗文本 这里涉及到文本分类任务中:词典.词 ...
- 【英文文本分类实战】之二——数据集挑选与划分
·请参考本系列目录:[英文文本分类实战]之一--实战项目总览 ·下载本实战项目资源:神经网络实现英文文本分类.zip(pytorch) [1] 数据集平台 在阅读了大量的论文之后,由于每一篇论文都 ...
- 英文文本分类实战总结
之前参加了一个英文文本的分类比赛.比赛结束到了过年,加上开学又有一些事情,所以总结的工作就一直没有进行.现在空了一些,所以把之前的工作写一写,比赛中用到的代码也会放到github上. 对这个比赛的任务 ...
最新文章
- WCF RIA优缺点
- python在数字后添加字符_Python在字符前后补字符
- 古希腊的五大数学巨匠
- php将简单的数据从数据库,php将session保存到数据库的简单示例
- html5局部放大图片,图片局部放大效果原理详解
- exoplay切换全屏_ExoPlayer播放视频的简单使用及播放视频宽高设置的源码分析
- linux新建目录自动777权限,linux 777权限目录可疑进程检测
- 用友u8服务器修改ipv4,如何修改用友服务器ip地址
- Python学习之字典练习(重复数字统计)
- python自动点赞_python3 爬虫学习:自动给你心上人的微博点赞(二)
- java后台学习资源汇总
- 推荐几个笔记类APP,自学提示必备
- java的时间日期类_Java基础学习:日期时间类
- cubemx—编码器测速(其中遇到的问题分析以及部分解决办法)
- Camera日记(一)-ISP
- linux系统路由器地址查询,如何在任何平台上查找路由器的IP地址
- 烈焰 页游 一键端 单机自玩 架设
- BLDC的三闭环控制
- 青桔单车 chameleon 跨平台实践分享
- 安徽省c语言考试时间,安徽省年月二级C语言考试.doc
热门文章
- JavaWeb-HTML常用标签了解(一)
- 433/315无线接收芯片 XL520 射频芯片 规格书
- (Halcon应用系列)Halcon+C#联合编程
- 郑州旅游网页设计制作 简单静态HTML网页作品 我的家乡网页作业成品 学生旅游网站模板
- 探究js中arguments
- 华中科技大学 计算机 排名,计算机最强14所高校排名,清华第2,浙大第4,南大第6,华科第10...
- 19.Java复习(二)
- 2020年春节复工后的十大高薪职业,IT技术岗榜上有名!
- 前端模块依赖复杂度太高,一团乱麻了怎么办
- 国内手机厂商:挑骡子不干了,买都不买,还能愉快地玩耍吗?