【keras】4. IMDb网络电影数据集处理与LSTM情感分析

本文介绍了一个基于IMDb影评数据集的情感分析项目,利用Keras和TensorFlow实现多种模型,包括MLP、RNN及LSTM,通过词嵌入进行文本特征提取,并详细记录了从数据预处理到模型训练评估的全过程。

参考:《Tensorflow和keras-深度学习人工智能实践应用》
第13、14章
GitHub:点我

部分封装函数请看文章:【keras】1. MNIST手写数据集识别(重要)_myaijarvis notebook-CSDN博客

步骤

在这里插入图片描述

数据预处理

分析数据

import urllib.request # 下载文件
import os
import tarfile # 解压缩文件

# 下载数据集
url="http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz"
filepath=r"data/aclImdb_v1.tar.gz"
if not os.path.isfile(filepath): # 如果该路径下没有文件就下载
    result=urllib.request.urlretrieve(url,filepath)
    print('downloaded:',result)
# 解压文件
if not os.path.exists(r"data/aclImdb"):
    tfile=tarfile.open(filepath,'r:gz')
    result=tfile.extractall(r"data/")

读取数据

在这里插入图片描述


import re  # 正则

def rm_tags(text):
    re_tag=re.compile(r'<[^>]+>') # 剔除html标签
    return re_tag.sub('',text)
# 读取文件
import os

# filetype: train test
def read_file(filetype):
    path="data/aclImdb/"
    file_list=[]
    
    positive_path=path+filetype+'/pos/' # 正面评价的文件路径
    for f in os.listdir(positive_path):
        file_list+=[positive_path+f] # 加入所有文件
    
    negative_path=path+filetype+'/neg/'
    for f in os.listdir(negative_path):
        file_list+=[negative_path+f]
        
    print("read",filetype,"files:",len(file_list)) # 文件个数
    
    all_labels=([1]*12500 + [0]*12500) # 前12500 是正面 都为1 后面12500 是负面 都为0
    all_texts=[]
    
    # 读取所有文件
    for fi in file_list: 
        with open(fi,encoding="utf8") as file_input:
            # 先读取文件 使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值