【Django系统】Python+Django携程酒店评论情感分析系统

Python + Django携程酒店评论情感分析系统

项目概述

这是一个基于 Django 框架开发的酒店评论情感分析系统。系统使用机器学习技术对酒店评论进行情感分析,帮助酒店管理者了解客户反馈,提升服务质量。

主要功能

  1. 评论数据导入:支持导入酒店评论数据集
  2. 情感分析:自动分析评论的情感倾向(正面/负面/中性)
  3. 方面情感分析:细分服务、环境、价格等维度
  4. 数据可视化:展示评论情感分布、趋势、词云等多种图表
  5. 评论管理:查看、搜索、筛选和删除评论

技术栈

  • 后端框架:Django
  • 数据处理:Pandas
  • 机器学习:Scikit-learn
  • 中文分词:jieba
  • 数据可视化:ECharts(前端)、Matplotlib(后端词云)
  • 数据库:SQLite(可切换为MySQL)

数据集

系统使用 ChnSentiCorp_htl_all.csv 作为训练数据,包含大量酒店评论数据。

算法实现说明

1. 数据预处理

  • 使用 pandas 读取CSV数据,去除空值。
  • 用 jieba 对评论文本进行中文分词,去除特殊字符。
  • 通过 CountVectorizer 将文本转为特征向量。

2. 模型训练与持久化

  • 采用朴素贝叶斯(MultinomialNB)进行情感分类。
  • 训练后模型和向量器用 joblib 持久化保存到 model 目录,后续启动优先加载,无需重复训练。

3. 情感预测逻辑

  • 输入评论后,先分词、向量化。
  • 用模型输出正面/负面概率。
  • 若正面概率>0.6,判为"正面";负面概率>0.6,判为"负面";否则为"中性"。

4. 方面情感分析

  • 设定服务、环境、价格等关键词库,分词后判断评论是否包含相关词。
  • 若命中关键词,则用模型判断该方面情感。
  • 若未命中且整体情感明确,则方面情感跟随整体情感(兜底策略)。
  • 关键词库支持自定义扩充。

5. 数据可视化

  • 前端用 ECharts 实现情感分布饼图、时间趋势折线图、评论长度分布柱状图、词云图等。
  • 词云高频词由后端分词统计,前端动态渲染。
  • 支持按情感类型筛选分析。

安装与使用说明

  1. 安装依赖包:

    bash 复制代码
    pip install -r requirements.txt
  2. 运行数据库迁移:

    bash 复制代码
    python manage.py migrate
  3. 启动开发服务器:

    bash 复制代码
    python manage.py runserver
  4. 访问 http://localhost:8000 进入系统

系统截图

数据集:

项目截图:






代码截图:

代码获取

python 复制代码
print("关注【布鲁的Python之旅】")
print("=======")
相关推荐
前端摸鱼匠3 分钟前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
WangYaolove131410 分钟前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
AALoveTouch17 分钟前
大麦网协议分析
javascript·python
毕设源码_廖学姐20 分钟前
计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网
spring boot·后端·课程设计
ZH154558913135 分钟前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh1 小时前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh1 小时前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
YongCheng_Liang1 小时前
从零开始学 Python:自动化 / 运维开发实战(核心库 + 3 大实战场景)
python·自动化·运维开发
鸽芷咕1 小时前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
秋邱1 小时前
用 Python 写出 C++ 的性能?用CANN中PyPTO 算子开发硬核上手指南
开发语言·c++·python