Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微博情感分析系统


开始

1️⃣ 启动后端

cd backend
pip install -r requirements.txt
python app.py

✅ 后端运行在 http://localhost:8000

2️⃣ 启动前端(新终端)

cd frontend
npm install
npm run dev

✅ 前端运行在 http://localhost:5173


📁 项目结构

├── backend/
│   ├── app.py           主程序(直接运行)
│   ├── models.py        数据模型
│   ├── data_loader.py   Excel 导入
│   ├── .env            配置文件
│   └── requirements.txt 依赖列表
├── frontend/
│   └── src/
│       ├── pages/      页面(首页/分析/评论)
│       └── api/        API 调用
├── START_GUIDE.md      完整启动指南
└── README.md          本文件

✨ 功能演示

三个核心页面

页面 路由 功能
首页 / 📊 统计卡片、情感分布、平均分值
分析 /analysis 📈 分析报告、样本展示、趋势图
评论 /comments 💬 完整列表、筛选、删除

🔗 核心 API

GET  /api/stats              → 统计数据
GET  /api/comments           → 评论列表
POST /api/comments           → 添加评论
DEL  /api/comments/{id}      → 删除评论

完整文档: http://localhost:8000/docs


📊 数据流

Excel 文件 (评论与情感.xlsx)
    ↓
[后端自动导入]
    ↓
SQLite 数据库
    ↓
FastAPI 接口
    ↓
Vue 3 前端展示

🔧 配置

数据源路径 - 修改 backend/.env

DATA_FILE_PATH=C:\Users\asus\Desktop\评论与情感.xlsx

💡 关键特性

  • 自动导入 - 启动时自动加载 Excel 数据
  • 实时统计 - 情感分布、正负中立比例
  • 简洁 UI - 现代化设计,无第三方 UI 库依赖
  • 快速 API - 6 个核心接口,满足基本需求

🎓 学习价值

# 学习点
- FastAPI 快速构建 API
- SQLAlchemy ORM 数据库操作
- Vue 3 组合式 API
- Excel 数据导入处理
- 跨域 CORS 配置

📖 详细指南

👉 完整启动指南 →


🆘 常见问题

问题 答案
后端启动失败? 检查 python --version (需 3.8+)
数据未导入? 检查 Excel 路径是否正确
前端显示错误? 打开浏览器控制台 F12 查看错误
npm 安装卡住? 试试 npm install --legacy-peer-deps

📚 技术栈

后端: FastAPI, SQLAlchemy, Pandas
前端: Vue 3, Vite, Axios
数据: SQLite, Excel


Made with ❤️ | 2025

项目概述

项目名称:基于微博热点话题的情感分析系统 项目周期:2周 团队规模:6人,分为3个小组,每组2人


任务分工及详细要求

📊 任务一:爬虫+数据处理(2人)

主要目标

  1. 实时爬取功能:开发一个可以根据关键词/话题实时爬取微博评论的爬虫系统

    • 技术选型:可使用 Selenium/Playwright(动态加载)或 API 接口,一般的request可能不行
    • 需要处理反爬机制
  2. 历史数据采集:提前爬取5000条以上高质量评论数据(能爬下来的数据都爬取下来,不要过滤)

    • 数据来源:选择2-3个热门话题
    • 质量标准:过滤掉长度<10字的评论、重复评论、广告评论等
    • 数据字段:评论内容、发布时间、点赞数、转发数、用户信息等(尽量全面)
  3. 数据标注:使用3个不同的大模型进行情感打分

    • 标注标准:三分类(正面/中性/负面)或评分制
    • Prompt设计:需统一prompt模板,确保标注一致性
    • 并发实现:使用异步请求(asyncio/aiohttp)提高标注效率
    • 标签融合策略:投票机制或平均分数,对于差异较大的删除或者人工检查

交付物

  • 爬虫代码(含注释和使用文档)
  • 标注好的数据集(CSV/JSON格式,包含原始评论和3个模型的标签)
  • 数据质量报告(数据分布、标注一致性统计)

🤖 任务二:情感分类模型训练(2人)

主要目标

  1. Baseline模型:使用 BERT 中文情感分析模型(如 bert-base-chinese)

    • 微调方式:在标注数据集上进行 fine-tuning(可选)
  2. 前沿模型调研:选择3-5个优化模型进行对比实验

    • 候选模型建议:
      • RoBERTa-Chinese
      • ERNIE
      • MacBERT
      • Chinese-ELECTRA
      • 轻量级模型:ALBERT、DistilBERT(考虑部署效率)
  3. 模型评估

    • 评估指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-Score
    • 混淆矩阵分析
    • 选择综合性能最优的模型作为最终模型

交付物

  • 训练代码(支持多模型切换)
  • 训练好的最优模型文件
  • 模型对比实验报告(含性能对比表格、可视化图表)
  • 模型推理接口(API形式,供前端调用)

💻 任务三:平台搭建(2人)

主要目标

  1. 技术栈选择

    • 前端:Vue 3 / React(建议使用 ECharts 进行可视化),或者不用框架也OK
    • 后端:Flask / FastAPI(Python)或 Node.js
    • 数据库:MySQL (存储爬取的数据和分析结果)
  2. 核心功能

    • 实时爬取模块
      • 用户输入关键词/话题链接
      • 触发爬虫实时抓取并返回分析结果
    • 情感分析可视化
      • 情感分布饼图/柱状图(正面、中性、负面占比)
      • 时间序列情感走势图
      • Top关键词情感雷达图
    • 词云图:基于评论内容生成词云(使用 jieba 分词)
    • 数据表格展示:可查看具体评论及其情感标签
  3. 扩展功能(可选):

    • 热词排行榜
    • 用户情感画像分析
    • 多话题对比分析
    • 历史记录保存和查询

交付物

  • 前端代码 + 后端代码
  • 系统部署文档

协作建议

  1. 代码管理

    • 使用 GitHub进行版本控制(主要是开发的同学)
    • 每个任务组创建独立分支,定期合并到主分支
  2. 接口约定

    • 数据组 → 模型组:统一数据格式(JSON/CSV schema)
    • 模型组 → 平台组:定义 API 接口规范(输入输出格式、错误处理)
    • 爬虫组 → 平台组:定义爬虫调用接口
  3. 并行开发

    • 数据组:第1周优先提供500-1000条样本数据供模型组测试
    • 模型组:提前准备好 Mock API(返回随机结果)供前端调试
    • 平台组:先用虚拟数据完成 UI 和交互,后期对接真实接口

要点注意

  1. 爬虫实现较难的话尽早换平台,不要死磕
  2. 调用大模型的同学产生的费用可以尝试报销(但也没必要用太贵的模型)
  3. 爬虫的同学需要尽快完成
  4. 一定要保证代码的可读性和可复现性,方便回去调试

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages