IMDB 情感分析 · 四代文本建模方法同台对比 预览图

IMDB 情感分析 · 四代文本建模方法同台对比

自建情感词典 → TF-IDF → Word2Vec → TextCNN/LSTM 一条对比表,附词级高亮解释与实时接口

源码/项目包 v1.0 # Python# NLP# 深度学习

这个项目解决什么问题

大多数 NLP 入门项目只教一条路:TF-IDF + 逻辑回归,跑个准确率就结束。本项目让五套方案在同一数据、同一评估口径下正面交锋:准确率差多少?训练成本差多少?可解释性差多少?看完对比表,你对"什么场景该用什么模型"会有自己的判断——这比多调一个模型值钱。

核心亮点

  • 自建情感词典:不用现成的 VADER——从训练集统计每个词的极性分数(对数似然比),对评论直接打分。它准确率不是最高,但每个词的打分理由都能打印出来,是绝佳的可解释基线,也是这个项目里"自己动手"含量最高的模块之一。
  • TF-IDF + 朴素贝叶斯 / 逻辑回归:词袋路线的经典双雄,全量 5 万条训练,几分钟出结果。
  • Word2Vec 词向量方案:gensim 在语料上自训练词向量,平均池化后接逻辑回归——"语义"路线的第一次尝试。
  • LSTM 与 TextCNN 对照实验:两个深度模型用相同的数据子集、相同的序列化配置公平比武,训练曲线放在一张图里。TextCNN 为项目内自实现(多尺寸卷积核 + 池化),不是复制粘贴的示例代码。
  • 词级贡献高亮解释:逻辑回归系数 × TF-IDF 值定位推动预测的关键词,生成绿/红高亮的 HTML——"为什么这条评论被判为正面",模型自己会解释。
  • 实时预测接口:predict_sentiment() 对任意一句评论即时输出情感判断,课程汇报现场输入一句话就能演示。

效果预览

情感词典自动学出的正负面词 Top10——方向完全正确,这就是可解释性:

情感词典

五套方案准确率总览,技术演进的成本与收益一目了然:

方案对比

LSTM 与 TextCNN 的训练曲线对照:

训练曲线

预览图基于模拟数据演示实际运行效果,真实数据运行结果以你下载的数据集为准。

你将学到

  • 文本预处理全流程:清洗、分词、停用词、(可选)词干化
  • 两种文本表示(TF-IDF / 词向量)的本质差异与适用场景
  • 传统 ML 与深度学习模型在文本分类上的真实差距
  • 深度模型的可解释性实践:让"黑盒"开口说话

适合谁

NLP 方向入门进阶、或想要一个"技术栈全面 + 有对比深度"毕设的学习者。难度 ★★★☆,传统模型全量可跑,深度模型按机器性能调节子集大小。

情感词典的打分公式、TextCNN 的卷积结构怎么搭的——源码注释里都有,这里刻意没有展开,留给你自己探索。


交付内容:完整可运行源码、README.md(逐步运行方法与实现说明)、requirements.txt。

数据集:第三方数据受原始授权限制不随包分发,按 README.md 里的官方链接下载放入 data/ 即可跑通全流程。

许可:个人使用,可用于自己的学习、课程实验与研究报告,请勿转售或公开传播。

Python 3
pandas
numpy
scikit-learn
gensim
TensorFlow
Keras

环境与步骤

pip install -r requirements.txt
pip install -r requirements.txt
python main.py    # 五套方案依次训练对比,图表与模型落盘 outputs/

TensorFlow 可选:安装不便时脚本自动跳过深度模型部分,传统模型流程不受影响。

注意事项

  • 数据集不随包提供:先按 README.md 的链接下载放入 data/,再执行下面的命令。

Q:要下载数据吗?大概多大?

A:要,IMDB 50K Movie Reviews(Kaggle 上 lakshmi25npathi 那份)单文件约 70MB,不随包分发,放入 data/。

Q:没装 TensorFlow 能跑吗?

A:能。情感词典、TF-IDF、Word2Vec 三代方法只依赖 numpy / scikit-learn / gensim;TextCNN 与 LSTM 两个深度模块是 try-import,检测不到 TensorFlow 会打印提示并跳过,主流程照常跑完。

Q:“模型为什么这样判断”能解释到什么程度?

A:两条路:一是自建情感词典,每个词的极性分数与 Top 正/负词表都能打印出来;二是用逻辑回归系数 × TF-IDF 值定位推动判断的关键词,生成绿/红高亮的 HTML,predict_sentiment() 对任意一句评论也能即时给出判断与依据。

Q:四种方法是不是重复劳动?

A:项目要的就是这张对比表:同一份数据上把“词典 → 词袋 → 词向量 → 深度模型”各做一遍,连训练曲线和耗时一起给,能看清每一代方法到底买到了什么。

购买评价(0)

暂无评价,购买后第一个来评价吧
相关商品
🍪 隐私提示 我们仅收集提供服务所必需的信息(详见《隐私政策》),不出售、不追踪。
¥89
立即购买