当前位置: 首页 > news >正文

IMDB影评情感分析项目

imdb数据集下载地址: http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz

import os
import torch
from torch import nn
import dltools
def read_imdb(data_dir, is_train):data, labels = [], []for label in ('pos', 'neg'):folder_name = os.path.join(data_dir, 'train' if is_train else 'test', label)for file in os.listdir(folder_name):   #os.listdir()相当于形成文件夹列表,可以遍历路径下的每一个文件with open(os.path.join(folder_name, file), 'rb') as f:#文本没有分行,就一次性读取review = f.read().decode('utf-8').replace('\n', '')data.append(review)labels.append(1 if label == 'pos' else 0)  #三目运算符return data, labels
data_dir = r'E:\ALOT\10_deep_learning\data\aclImdb'
train_data = read_imdb(data_dir, is_train=True)
print('训练集数目:', len(train_data[0]))
训练集数目: 25000

#列表和元祖没有shape

for x, y in zip(train_data[0][:3], train_data[1][:3]):print('标签:', y, 'review:', x[:60])
标签: 1 review: Bromwell High is a cartoon comedy. It ran at the same time a
标签: 1 review: Homelessness (or Houselessness as George Carlin stated) has 
标签: 1 review: Brilliant over-acting by Lesley Ann Warren. Best dramatic ho
#分词
train_tokens = dltools.tokenize(train_data[0], token='word')
train_tokens  #是一个二维列表,  一个文本文件一个(内置)列表
#构建词汇表vocab
vocab = dltools.Vocab(train_tokens, min_freq=5, reserved_tokens=['<pad>'])
len(vocab)
49347
#绘制直方图查看每条评论的字数分布
dltools.set_figsize()
dltools.plt.xlabel('# tokens per review')
dltools.plt.ylabel('count')
dltools.plt.hist([len(line) for line in train_tokens], bins=range(0,1000, 50))  #分成50份  

相关文章:

  • Elasticsearch深度攻略:核心概念与实践应用
  • iwebsec靶场 解析漏洞通关笔记2-Nginx解析漏洞
  • 【YashanDB知识库】YashanDB-OCI-快速上手
  • selenium 显示等待12种预置条件包括定制等待条件
  • 如何改变音频声音大小?关于改变音频大小的方法介绍
  • 线程与线程安全,生产消费者模型
  • Python+appium自动化+夜神模拟器inspector部署验证
  • 【工具类】证书自动续签免费版 正式发布
  • fiddler抓包07_抓IOS手机请求
  • Pinia从安装到使用
  • Metasploit渗透测试之服务端漏洞利用
  • 在vue2项目中使用dart-sass
  • 【JavaEE】——内存可见性问题
  • 基于keras 的神经网络股价预测模型
  • 基于springboot+vue医院挂号就诊系统设计与实现
  • 【技术性】Search知识
  • 2017年终总结、随想
  • CEF与代理
  • jdbc就是这么简单
  • Magento 1.x 中文订单打印乱码
  • OSS Web直传 (文件图片)
  • Redux 中间件分析
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • SSH 免密登录
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从重复到重用
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 基于HAProxy的高性能缓存服务器nuster
  • 经典排序算法及其 Java 实现
  • 码农张的Bug人生 - 见面之礼
  • 前端技术周刊 2019-02-11 Serverless
  • 使用 Docker 部署 Spring Boot项目
  • 移动端 h5开发相关内容总结(三)
  • 转载:[译] 内容加速黑科技趣谈
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #565. 查找之大编号
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $L^p$ 调和函数恒为零
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)Jupyter Notebook 下载及安装
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (4)Elastix图像配准:3D图像
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (二十三)Flask之高频面试点
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (过滤器)Filter和(监听器)listener
  • (没学懂,待填坑)【动态规划】数位动态规划