基于IMDb数据集的情感分析(Doc2Vec模型与神经网络实现)

基于IMDB评论数据集的情感分析 本文的主要内容是基于IMDB评论数据集的情感分析,文中包括大型电影评论数据集介绍、环境配置、实验代码、运行结果以及遇到的问题这几个部分,该实验采用了多层感知器 (MLP)、递归神经网络 (RNN) 和长短期记忆 (LSTM) 等深度学习模型分别进行了测试,其中长短期记忆模型效果最好,测试准确率达到了86.4%。...... 阅读详情

使用Doc2Vec模型参加Kaggle的NLP比赛,最终score达到0.97,前2%。

本文所有的代码都可以在我的github上找到。

在上一篇博文中,我们使用了TF-IDF,准确率达到了0.95,已经进入前100,但还不够,我们试试使用更加高大上的Doc2Vec结合神经网络模型,其准确率能否再次提升。

数据介绍

  • 本数据来源于IMDB电影评论集,是Kaggle上一个入门的项目。
  • 在Kaggle上详细使用了word2vec进行向量化,本文主要介绍Doc2Vec模型的使用,并使用神经网络模型提高准确率。
  • 数据包括
    • **测试数据(testData):**25000条
    • 未标注数据(unlabelData):5000条
    • 训练数据(trainData):25000条(正负情感各一半)
    • 每个电影的评论都不超过30条(测试集电影与训练集电影不相同)
    • 我们使用所有数据来作为doc2vect模型的语料
  • 本文主要使用python中的pandas、nltk、gensim、TensorFlow库进行数据清理和分析。
  • 注意,在kaggle上,针对此题的评分标准是按照ROC曲线(AUC) ,并不是硬分类,参考Wikipedia。

数据预处理

此部分的JupyterNotebook可参考这里。

对于拿到的电影评论数据,我们需要进行数据清理以后才能使用doc2vec进行向量化。

本文采用pandas库进行数据预处理,好处是可以使用apply函数对其进行并发操作,提高效率。

NLP的数据预处理一般包括以下几个部分:

  1. 如果是网页内容,首先需要去掉Html tag
  2. 将文档分割成句子。
  3. 将句子分割成词语。
  4. 纠正拼写错误(可选)、替换缩写词(可选)。
  5. Lemmatizer、stemming
    • 词型还原或词干提取,两者的差别可参考这里
  6. 去除停顿词,去除标点、转化为小写字母。
  7. 去掉长度过短的词语。

本项目没有纠正拼写错误(口语化词语太多)、没有去处数字(实测会提高精度)最后将训练集分开(pos和neg)。

Doc2vec

此部分的JupyterNotebook可参考这里。

Doc2Vec模型比较复杂,相对于word2vec模型,它可以直接得到每个文档的向量,省略了将词向量转换为段向量的过程。

由于其直接是段向量,因此考虑了词之间的顺序,具有较好的语义信息。

而传统的word2vec模型,使用平均词向量或聚类的方式得到的段向量没有考虑词的顺序。

输入数据

  • test.txt:25000 条评论用于测试
  • train-neg.txt: 12500 条negative 评论用于训练
  • train-pos.txt: 12500 条
IMDB电影评论的情感分析——paddle 自然语言是人类传递信息的一种载体,同时它也能表达人类交流时的一种情感。一段对话或者一句评论都能蕴含着丰富的感情色彩:比如高兴、快乐、喜欢、讨厌、忧伤等等。 阅读详情

相关推荐

情感分析系列(一)——IMDb数据集及其预处理

IMDb数据集及其预处理

⚡ 1万+

用 Doc2Vec 和 MLP 实战 IMDb 影评情感分类 Kaggle 案例拆解

这道 Kaggle 赛题聚焦 IMDb 影评情感分类,任务并不复杂,但非常适合拿来训练完整的文本建模思路。原始评论需要先转换为 Doc2Vec 向量,再交给 MLP 等分类器输出正向情感概率,评价标准采用 AUC,核心关注点落在排序能力而不是简单的分类对错。

Mr数据杨 48

12、Word2vec与Doc2vec:文本向量表示与应用

本文深入介绍了Word2vec与Doc2vec在文本向量表示中的原理与应用,涵盖Skip-gram与CBOW模型、词向量的数学运算与相似度计算、Doc2vec的分布式内存与词袋模型,并结合IMDB数据集展示从数据预处理到模型训练的完整流程。通过决策树与深度学习模型对比,探讨了不同方法在情感分析任务中的表现,同时提供了超参数调优建议与未来发展趋势,帮助读者全面掌握文本向量化技术及其在NLP中的实际应用。

x1y2z的博客 51

妙算(manifold-2G)通过网线连接笔记本实现静态ip上网

本质就是共享笔记本wifi,配置以太网静态ip,然后在工控机上连接

slender_1031的博客 903

从‘最速控制’到代码:深入拆解韩京清ADRC中TD跟踪器的fhan函数(含Matlab/Simulink实例)

本文深入解析韩京清ADRC中的fhan函数,从理论到代码实现,详细拆解其在Matlab/Simulink中的应用。通过分析最速控制问题和非线性TD的连续形式,揭示fhan函数在信号处理和噪声抑制中的独特优势,并提供工程实践中的参数整定和优化技巧。

weixin_42659194的博客 246

从零构建:Trinamic API在STM32上的深度移植与TMC-IDE通信实战

本文详细介绍了如何从零开始在STM32平台上深度移植Trinamic API,并实现与TMC-IDE工具的稳定通信。内容涵盖SPI底层驱动定制、寄存器配置、高级功能实现及调试技巧,重点解析了TMC5160芯片的集成实践,帮助开发者构建可靠的嵌入式运动控制系统。

w1x2y3的博客 253

“开宝五子棋陪练”-首款开放智能的五子棋习题练习安卓应用

使用Kotlin语言以及Jetpack Compose UI库开发,主要就是写Composable函数,显示棋盘、棋子和一些按钮,响应用户的点击和滑动操作,以及保存和恢复数据。但我针对本应用是用于做题的特殊需求,对该算法库做了一个简单的JNI层封装,方便UI前端Kotlin代码的调用。

weixin_44120030的博客 2396

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 526

【RT-DETR实战】112、NCNN模型转换与层实现支持:从模型文件到推理引擎的硬核实战

本文详细记录了将RT-DETR模型部署到NCNN框架的全过程及关键要点。作者首先遇到MultiHeadAttention等算子不支持的问题,通过ONNX中间转换和自定义层实现解决。文章具体介绍了PyTorch到NCNN的权重转换技巧、模型优化方法(包括量化和线程优化)以及调试经验,强调逐层对比输出、预处理检查和边界情况测试的重要性。最后分享了保持转换流程可复现性的实用建议,指出手动调试虽然耗时但能加深对模型的理解,体现了工程师在解决技术难题时的专业精神与成就感。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 41

国科大学习资料--遥感原理集图像处理(尤红建)--2019年期末考试

国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 ================================================================== ================================================================== ==============

无名何许人的博客 1469

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度!

YOLO系列算法改进 | 主干改进篇 | 替换LSKNet主干特征提取网络 | 通过动态调整感受野自适应融合长程上下文,显著提升小目标与复杂背景下的检测精度! (以YOLO26最新目标检测模型为基础,利用LSKNet替代Backbone)

2502_91881744的博客 210

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 文件系统
下一篇: 基于IMDb数据集的情感分析(TF-IDF与机器学习实现)
zealscott
博客等级 码龄9年 327粉丝 196原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值