# opinion **Repository Path**: ding793304/opinion ## Basic Information - **Project Name**: opinion - **Description**: 一个基于大模型的舆情分析系统,结合了deepseek,豆包,文心一言等多个大模型,使用爬虫技术获取最新的新闻 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-19 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 舆情分析系统 一个基于Spring Boot + Vue.js的多模型舆情分析系统,支持多平台数据采集、AI模型分析、可视化展示等功能。 ## 功能特性 ### 🏠 首页仪表板 - **统计概览**: 展示总文章数、评论数、热词数量、平均情感得分等关键指标 - **功能导航**: 提供8个主要功能模块的快速访问入口 - **趋势图表**: 实时展示舆情趋势和情感分布 - **最近动态**: 显示最新的舆情动态和热点事件 ### 🔥 热词统计 - **热词排行榜**: 展示热门关键词的频次和情感倾向 - **情感分布**: 分析热词的情感分布情况 - **分类统计**: 按分类统计热词分布 - **趋势分析**: 展示热词的时间趋势变化 - **筛选功能**: 支持按日期、分类等条件筛选 ### 🌐 全平台舆情统计 - **平台对比**: 对比不同平台的数据表现 - **情感分布**: 全平台情感分布统计 - **活跃度趋势**: 各平台活跃度变化趋势 - **热门话题**: 跨平台热门话题分布 - **平台详情**: 每个平台的详细统计数据 ### 📰 文章分析 - **文章列表**: 展示文章详情和统计数据 - **情感分析**: 文章情感倾向分析 - **平台分布**: 文章在各平台的分布情况 - **热度趋势**: 文章热度变化趋势 - **内容预览**: 支持查看文章详细内容 ### 🌍 IP分析 - **地理分布**: 用户IP地理分布地图 - **活跃度分析**: IP活跃度分布统计 - **地区统计**: 各地区IP数量统计 - **类型分布**: IP类型(移动、固定、代理)分布 - **访问趋势**: IP访问量变化趋势 ### 💭 评论分析 - **评论列表**: 展示评论内容和元数据 - **情感分析**: 评论情感倾向分析 - **平台分布**: 评论在各平台的分布 - **长度分布**: 评论长度分布统计 - **时间分布**: 评论发布时间分布 ### 📊 舆情分析 - **风险评估**: 舆情风险等级评估 - **趋势预测**: 舆情发展趋势预测 - **报告生成**: 自动生成舆情分析报告 - **热点分析**: 热点话题热度分析 - **预警系统**: 舆情风险预警功能 ### ☁️ 词云图 - **全平台词云**: 展示所有平台的关键词 - **情感词云**: 按情感分类的词云展示 - **平台对比**: 不同平台的词云对比 - **频次统计**: 词汇频次统计图表 - **情感分布**: 词汇情感分布分析 ### 🤖 AI对话 - **智能问答**: 基于DeepSeek等AI模型的智能对话 - **舆情咨询**: 专业的舆情分析建议 - **多模型支持**: 支持多种AI模型切换 - **对话历史**: 保存对话历史记录 ## 技术架构 ### 后端技术栈 - **Spring Boot 2.7.x**: 主框架 - **MySQL 8.0**: 数据库 - **MyBatis**: ORM框架 - **Redis**: 缓存 - **JWT**: 身份认证 - **Swagger**: API文档 ### 前端技术栈 - **Vue.js 2.6**: 前端框架 - **Layui**: UI组件库 - **ECharts**: 图表库 - **Axios**: HTTP客户端 - **Vue Router**: 路由管理 ### AI模型集成 - **DeepSeek**: 主要对话模型 - **豆包**: 备用对话模型 - **文心一言**: 备用对话模型 - **通义千问**: 备用对话模型 ## 快速开始 ### 环境要求 - JDK 1.8+ - MySQL 8.0+ - Redis 6.0+ - Node.js 14+ ### 安装步骤 1. **克隆项目** ```bash git clone cd opinion_analysis ``` 2. **配置数据库** ```bash # 创建数据库 CREATE DATABASE opinion_analysis CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 导入数据库文件 mysql -u root -p opinion_analysis < database/opinion_analysis.sql ``` 3. **配置应用** ```bash # 修改数据库配置 vim src/main/resources/application-dev.yml # 配置数据库连接信息 spring: datasource: url: jdbc:mysql://localhost:3306/opinion_analysis?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` 4. **启动应用** ```bash # 启动后端服务 mvn spring-boot:run # 或者打包后运行 mvn clean package java -jar target/opinion-analysis-1.0.0.jar ``` 5. **访问系统** ``` http://localhost:8080 ``` ## 页面导航 ### 主要页面路径 - **首页**: `/pages/console.html` - **热词统计**: `/pages/hotwords.html` - **全平台舆情统计**: `/pages/platform.html` - **文章分析**: `/pages/articles.html` - **IP分析**: `/pages/ip.html` - **评论分析**: `/pages/comments.html` - **舆情分析**: `/pages/opinion.html` - **词云图**: `/pages/wordcloud.html` - **AI对话**: `/pages/ai-chat.html` ### 导航菜单配置 导航菜单配置在 `src/main/resources/static/data/navs.json` 文件中,可以根据需要修改菜单项。 ## API接口 ### 主要API端点 - **热词相关**: `/api/opinion/hot-words/*` - **平台统计**: `/api/opinion/platform/*` - **文章分析**: `/api/opinion/articles/*` - **IP分析**: `/api/opinion/ip/*` - **评论分析**: `/api/opinion/comments/*` - **舆情分析**: `/api/opinion/opinion/*` - **词云数据**: `/api/opinion/wordcloud/*` ### API文档 启动应用后,访问 `http://localhost:8080/swagger-ui.html` 查看完整的API文档。 ## 数据库设计 ### 主要数据表 - **users**: 用户表 - **ai_model_configs**: AI模型配置表 - **data_sources**: 数据源配置表 - **keywords**: 关键词表 - **articles**: 文章表 - **comments**: 评论表 - **ip_analysis**: IP分析表 - **hot_word_stats**: 热词统计表 - **platform_stats**: 平台统计表 - **opinion_reports**: 舆情报告表 - **word_cloud_data**: 词云数据表 ### 数据关系 系统采用关系型数据库设计,各表之间通过外键关联,支持复杂的数据查询和统计分析。 ## 部署说明 ### 开发环境 ```bash # 使用开发配置启动 mvn spring-boot:run -Dspring.profiles.active=dev ``` ### 生产环境 ```bash # 打包应用 mvn clean package -Pprod # 启动应用 java -jar target/opinion-analysis-1.0.0.jar --spring.profiles.active=prod ``` ### Docker部署 ```bash # 构建镜像 docker build -t opinion-analysis . # 运行容器 docker run -d -p 8080:8080 --name opinion-analysis opinion-analysis ``` ## 配置说明 ### 应用配置 主要配置文件: - `application.yml`: 主配置文件 - `application-dev.yml`: 开发环境配置 - `application-prod.yml`: 生产环境配置 ### 数据库配置 ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/opinion_analysis username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver ``` ### Redis配置 ```yaml spring: redis: host: localhost port: 6379 password: database: 0 ``` ### AI模型配置 ```yaml ai: models: deepseek: api-key: your-api-key base-url: https://api.deepseek.com douban: api-key: your-api-key base-url: https://api.douban.com ``` ## 开发指南 ### 添加新功能 1. 在 `src/main/java/com/example/controller` 中添加控制器 2. 在 `src/main/java/com/example/service` 中添加服务层 3. 在 `src/main/java/com/example/mapper` 中添加数据访问层 4. 在 `src/main/resources/static/pages` 中添加前端页面 5. 在 `src/main/resources/static/js/api.js` 中添加API调用方法 ### 代码规范 - 遵循阿里巴巴Java开发手册 - 使用统一的代码格式化工具 - 添加必要的注释和文档 - 编写单元测试 ### 提交规范 ``` feat: 新功能 fix: 修复bug docs: 文档更新 style: 代码格式调整 refactor: 代码重构 test: 测试相关 chore: 构建过程或辅助工具的变动 ``` ## 常见问题 ### Q: 如何修改数据库连接? A: 修改 `src/main/resources/application-dev.yml` 中的数据库配置。 ### Q: 如何添加新的AI模型? A: 在 `ai_model_configs` 表中添加模型配置,并在代码中实现相应的调用逻辑。 ### Q: 如何自定义图表样式? A: 修改对应页面的ECharts配置,或者创建自定义的图表组件。 ### Q: 如何扩展数据源? A: 在 `data_sources` 表中添加数据源配置,并实现相应的数据采集逻辑。 ## 更新日志 ### v1.0.0 (2024-01-15) - 初始版本发布 - 实现基础舆情分析功能 - 支持多平台数据统计 - 集成AI模型对话功能 - 提供可视化图表展示 ## 贡献指南 欢迎提交Issue和Pull Request来帮助改进项目。 ## 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 邮箱: your-email@example.com - 项目地址: https://github.com/your-username/opinion-analysis