终极游戏加速神器:5分钟掌握OpenSpeedy开源变速工具使用技巧
2026/6/21 9:57:36
本项目是一个基于循环神经网络(RNN)的买家商品评论情感分析系统,旨在自动识别商品评论的情感倾向(正面/负面)。系统采用了PyTorch框架实现RNN模型,并结合Flask开发了一个直观的网页界面,方便用户进行情感分析操作。
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目录,包含:
数据格式:每行一条评论,已去除HTML标签和特殊字符
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) # 全连接层 )| 指标 | 训练集 | 测试集 |
|---|---|---|
| 准确率 | 98.74% | 99.00% |
| 损失 | 0.0405 | 0.0400 |
pip install -r requirements.txt
python app.py
应用将在 http://127.0.0.1:5000 启动
打开浏览器访问 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): # 分词、编码、模型预测、返回概率 # ...
本项目成功实现了基于RNN的买家商品评论情感分析系统,结合了深度学习和Web开发技术,提供了一个功能完整、易于使用的情感分析工具。系统不仅可以用于学术研究,也可以集成到电商平台中,帮助商家了解消费者反馈,改进产品和服务。