news 2026/4/3 3:16:31

基于pytorch RNN的买家商品评论情感分析系统-毕业设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于pytorch RNN的买家商品评论情感分析系统-毕业设计

演示视频​​​www.bilibili.com/video/BV1aziZBBENk/https://www.bilibili.com/video/BV1aziZBBENk/

项目简介

本项目是一个基于循环神经网络(RNN)的买家商品评论情感分析系统,旨在自动识别商品评论的情感倾向(正面/负面)。系统采用了PyTorch框架实现RNN模型,并结合Flask开发了一个直观的网页界面,方便用户进行情感分析操作。

功能特点

  1. 模型训练:使用SNOWNLP库中的sentiment数据集训练RNN模型
  2. 实时预测:支持输入评论进行实时情感分析
  3. 随机抽取:可从数据集中随机抽取评论进行分析
  4. 可视化展示:左侧显示情感概率和预测结果,包括:
    • 输入评论展示
    • 情感预测结果(正面/负面)
    • 情感概率分布(动态进度条)
  5. 训练可视化:生成训练损失和准确率曲线
  6. 模型评估:生成混淆矩阵和分类报告

技术栈

  • 后端:Python 3.8, PyTorch 2.0+, Flask
  • 前端:HTML, CSS, JavaScript
  • 工具库:jieba(中文分词), matplotlib, seaborn, scikit-learn

项目结构

buyer_sentiment_classify/ ├── app.py # Flask应用主程序 ├── generate_results_simple.py # 生成结果文件的简化脚本 ├── buyer_sentiment_classify.ipynb # 原始Jupyter Notebook ├── model_state_dict.pth # 训练好的模型权重 ├── vocabulary.pth # 词汇表 ├── pos.txt # 正面评论数据集 ├── neg.txt # 负面评论数据集 ├── stopwords.txt # 停用词表 ├── training_curves.png # 训练曲线 ├── requirements.txt # 依赖列表 └── templates/ └── index.html # 网页模板

数据集说明

本项目使用的数据集来自SNOWNLP库中的sentiment目录,包含:

  • pos.txt:正面评论数据,约10,000条
  • neg.txt:负面评论数据,约10,000条

数据格式:每行一条评论,已去除HTML标签和特殊字符

模型设计

RNN模型结构

SentimentClassifier( (emb): Embedding(vocab_size, 128) # 词嵌入层 (rnn): GRU(128, 256, num_layers=2, batch_first=True) # 2层GRU (fc): Linear(in_features=256, out_features=2, bias=True) # 全连接层 )

模型参数

  • 词嵌入维度:128
  • 隐藏层维度:256
  • 层数:2
  • 学习率:1e-2
  • 批量大小:256
  • 训练轮数:10
  • 优化器:Adam
  • 损失函数:CrossEntropyLoss

训练结果

训练曲线


模型性能

指标训练集测试集
准确率98.74%99.00%
损失0.04050.0400

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 启动Flask应用

python app.py

应用将在 http://127.0.0.1:5000 启动

3. 访问网页界面

打开浏览器访问 http://127.0.0.1:5000,即可使用情感分析功能:

  • 在右侧文本框输入评论,点击"分析情感"按钮
  • 或点击"随机抽取评论"按钮,系统将自动抽取并分析
  • 左侧将显示分析结果,包括输入评论、预测结果和情感概率

生成结果文件

生成训练曲线和混淆矩阵

python generate_results_simple.py

运行后将生成:

  • training_curves.png:训练和测试的损失和准确率曲线
  • confusion_matrix.png:混淆矩阵热力图
  • classification_report.txt:分类报告

核心代码说明

数据处理

# 数据集类定义 class SentenceDataset(Dataset): def __init__(self, pos_file='pos.txt', neg_file='neg.txt', vocab=None): # 加载数据、停用词,构建词汇表 # ... def __getitem__(self, idx): # 分词、过滤停用词、编码转换 # ...

模型定义

class SentimentClassifier(nn.Module): def __init__(self, vocab_size, embed_dim, hidden_dim, output_dim, n_layers=1): super().__init__() self.emb = nn.Embedding(vocab_size, embed_dim) self.rnn = nn.GRU(embed_dim, hidden_dim, num_layers=n_layers, batch_first=True) self.fc = nn.Linear(hidden_dim, output_dim) def forward(self, x, lengths): # 前向传播 # ...

预测函数

def predict_sentiment(sentence): # 分词、编码、模型预测、返回概率 # ...

网页界面说明

右侧输入区

  • 文本框:输入要分析的商品评论
  • 分析情感按钮:提交评论进行分析
  • 随机抽取评论按钮:从数据集中随机抽取一条评论

左侧结果区

  • 输入评论:显示当前分析的评论内容
  • 预测结果:显示情感倾向(正面/负面),不同颜色区分
  • 情感概率:显示正面和负面情感的概率,动态进度条展示

技术亮点

  1. 高效的RNN模型:采用2层GRU结构,在商品评论情感分析任务上表现优异
  2. 中文处理优化:结合jieba分词和停用词过滤,提高文本表示质量
  3. 用户友好界面:直观的网页设计,左侧结果展示,右侧操作区
  4. 实时响应:模型预测速度快,用户体验流畅
  5. 完整的评估体系:生成训练曲线、混淆矩阵和分类报告,便于模型分析

总结

本项目成功实现了基于RNN的买家商品评论情感分析系统,结合了深度学习和Web开发技术,提供了一个功能完整、易于使用的情感分析工具。系统不仅可以用于学术研究,也可以集成到电商平台中,帮助商家了解消费者反馈,改进产品和服务。

截图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 11:23:57

Swagger UI集成:提供交互式文档体验

Swagger UI集成:提供交互式文档体验 在人工智能模型服务日益普及的今天,一个关键挑战浮出水面:如何让开发者、研究人员甚至非技术用户快速理解并使用复杂的推理模型?尤其是像 VibeThinker-1.5B-APP 这类专注于高难度数学与编程任务…

作者头像 李华
网站建设 2026/3/20 7:04:50

冷启动延迟优化:预加载模型减少首次响应时间

冷启动延迟优化:预加载模型减少首次响应时间 在如今 AI 应用遍地开花的时代,大语言模型早已不再是实验室里的“黑科技”,而是逐步嵌入到我们日常使用的工具中——从代码补全助手,到数学解题插件,再到智能客服。但当你…

作者头像 李华
网站建设 2026/4/2 16:56:34

无需大显存!低配GPU运行VibeThinker-1.5B完全指南

无需大显存!低配GPU运行VibeThinker-1.5B完全指南 你有没有想过,一台搭载RTX 3060的普通笔记本,也能跑起一个会解奥数题、写算法代码的AI?这听起来像是天方夜谭,但随着微博开源的 VibeThinker-1.5B-APP 模型发布&#…

作者头像 李华
网站建设 2026/3/9 17:08:40

Paperxie 开题报告:AI 驱动下的硕士论文开题 “一站式解决方案”

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/openingReporthttps://www.paperxie.cn/ai/openingReport 在硕士研究生的学术科研流程里,开题报告是衔接选题与正式研究的核心枢纽 —— 它既需要清晰锚定研…

作者头像 李华
网站建设 2026/3/30 2:55:35

GitHub镜像推荐:部署VibeThinker-1.5B-APP实现高效算法推理

GitHub镜像推荐:部署VibeThinker-1.5B-APP实现高效算法推理 在算力军备竞赛愈演愈烈的今天,动辄百亿、千亿参数的大模型固然耀眼,但它们对硬件资源的“贪婪”也让大多数开发者望而却步。有没有可能用一台消费级显卡,跑出媲美大型…

作者头像 李华