欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 【实战】deepseek数据分类用户评论数据

【实战】deepseek数据分类用户评论数据

2025/3/25 21:40:24 来源:https://blog.csdn.net/liberalliushahe/article/details/146441829  浏览:    关键词:【实战】deepseek数据分类用户评论数据

在平时的工作中,我们会遇到数据分类的情况,比如将一些文本划分为各个标签。如果人工分类这块的工作量将是非常大,而且分类数据的准确性也不高。我们需要用到一些工具来实现。提高效率的同时也提高准确率。

1.示例数据

用户ID

时间戳

评论场景

评论内容

U001

2023/10/1 9:05

电商购物

"刚收到快递,包装完好,实物比图片还漂亮!"

U001

2023/10/3 14:30

电商购物

"用了两天发现电池续航很差,和宣传不符,失望。"

U001

2023/10/5 11:15

客服沟通

"客服很快解决了问题,补偿了优惠券,态度点赞!"

U002

2023/10/2 18:20

社交媒体

"今天和朋友聚餐,餐厅氛围超棒,但菜品有点咸。"

U003

2023/10/4 10:00

旅行预订

"航班延误了3小时,机场服务混乱,体验极差!"

U003

2023/10/4 15:45

旅行预订

"酒店免费升级了海景房,意外惊喜!"

2.数据分析

数据清洗

通过python工具去除文字中的特殊符号。

安装依赖

pip install pandas snownlp matplotlib openpyxl jinja2

代码实战

import pandas as pdfrom snownlp import SnowNLPimport matplotlib.pyplot as pltfrom datetime import datetime# 1. 数据加载df = pd.read_excel("数据分析.xlsx", sheet_name="Sheet1”)# 2. 情绪分析函数(使用SnowNLP中文情感分析)def classify_sentiment(text):score = SnowNLP(text).sentimentsif score > 0.6:return ("积极", score)elif score < 0.4:return ("消极", score)else:return ("中性", score)# 应用情绪分类df[["情绪标签", "情绪强度"]] = df["评论内容"].apply(lambda x: pd.Series(classify_sentiment(x)))# 3. 生成统计报告report = df.groupby("情绪标签").agg(评论数量=("用户ID", "count"),用户数=("用户ID", pd.Series.nunique),平均情绪强度=("情绪强度", "mean")).reset_index()# 4. 用户情绪轨迹分析user_timelines = []for uid, group in df.groupby("用户ID"):timeline = group.sort_values("时间戳").reset_index(drop=True)user_timelines.append({"用户ID": uid,"情绪变化序列": " → ".join(timeline["情绪标签"]),"关键转折点": timeline.iloc[[0, -1]][["时间戳", "情绪标签"]].to_dict("records")})# 5. 可视化生成# 设置matplotlib的字体配置plt.rcParams['axes.unicode_minus'] = False  # 解决负号 '-' 显示为方块的问题plt.rcParams['font.family'] = 'Kaiti SC'  # 可以替换为其他字体plt.figure(figsize=(12, 6))# 情绪分布饼图ax1 = plt.subplot(121)df["情绪标签"].value_counts().plot.pie(autopct="%1.1f%%", ax=ax1)ax1.set_title("情绪分布比例")# 时间线示例(U001)ax2 = plt.subplot(122)u001 = df[df["用户ID"] == "U001"].sort_values("时间戳")ax2.plot(u001["时间戳"], u001["情绪强度"], marker="o", linestyle="--")ax2.set_title("U001情绪波动趋势")plt.xticks(rotation=45)plt.tight_layout()plt.savefig("sentiment_analysis.png", dpi=300)# 6. 导出报告with pd.ExcelWriter("情绪分析报告.xlsx") as writer:df.to_excel(writer, sheet_name="原始数据+情绪标注", index=False)pd.DataFrame(report).to_excel(writer, sheet_name="统计摘要", index=False)pd.DataFrame(user_timelines).to_excel(writer, sheet_name="用户轨迹", index=False)print("分析完成!生成文件:情绪分析报告.xlsx 和 sentiment_analysis.png")

生成文件

原始数据+情绪标注

统计摘要

用户分析

分析饼图

效率提升

目前模型如果在大数据下会比较慢,需要更换模型

# 使用HuggingFace中文模型(需GPU支持)

from transformers import pipelineclassifier = pipeline("text-classification", model="uer/roberta-base-finetuned-jd-binary-chinese")

实时监控集成

# 示例:Flask API端点

from flask import Flask, requestapp = Flask(__name__)@app.route("/predict", methods=["POST"])def predict():text = request.json["text"]return {"sentiment": classify_sentiment(text)}

动态阈值调整

# 基于历史数据自动校准阈值

def auto_threshold(df):q_low = df["情绪强度"].quantile(0.3)q_high = df["情绪强度"].quantile(0.7)return q_low, q_high

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词