AI也能“看懂”你的心情?用ModelScope玩转中文情感分析!

329 阅读6分钟

引入

各位小伙伴,今天我们要聊一个既有趣又有用的话题——AI如何读懂人类的情绪。别急,们就从一段代码出发,带你轻松入门中文情感分析,顺便认识一下国内最牛的开源大模型平台:ModelScope(魔搭)。

什么是文本类大模型

文本类大模型通常指的是那些专门设计用于处理和生成自然语言文本的大型机器学习模型。这些模型基于深度学习,尤其是变压器(Transformer)架构,能够理解和生成人类语言。它们通过在大量文本数据上进行训练来学习语言结构、语义以及上下文信息,从而可以完成多种任务,如文本分类、情感分析、问答系统、机器翻译、文本生成等。

我们先给大家介绍一个大模型notebookllm,notebooklm.google.com/ (需要魔法上网),非常爆火的一款文本类大模型,我们上传一个小说情节文件,它能帮我们生成一个AI播客,我们上传一个知识类书记。它能帮我生成笔记,思维导图

帮我们生成的关于《你不知道的JavaScript》的AI播客,能帮助我们简短的介绍一下这本书 image.png

比如我们上传了《你不知道的JavaScript》,让其帮我们生成一个思维导图,真的非常详细,能帮助我们更好地来理解、阅读这本书

image.png

我们已经感受到了它的强大之处

你以为的AI,其实是“读心术”高手?

回到我们说的AI如何读懂人类的情绪

想象一下这个场景:

你发了一条朋友圈:“今天上班迟到了,地铁还坏了,我裂开了。”
结果你的智能助手默默回了一句:“检测到您情绪低落,建议听点音乐放松心情。”

是不是有点像科幻电影?其实这就是情感分析(Sentiment Analysis)在背后发挥作用!

而我们今天要做的,就是用几行 Python 代码,让 AI 轻松判断一句话是“开心”、“难过”还是“中性”。

我们可以可以拥有属于自己的情感类AI

开搞!三行代码,让你的程序拥有“情商”

先来看这三行魔法代码:

from modelscope.pipelines import pipeline  # 引入pipeline模块

from modelscope.utils.constant import Tasks  # 引入任务类型

semantic_cls = pipeline(Tasks.text_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')

大家是不是看不懂,哈哈哈,我也是,别急,我们先把它翻译成“人类语言吧”

第1句:我要用 ModelScope 的 pipeline 功能

from modelscope.pipelines import pipeline

你可以把 pipeline 理解为一个“一键式推理工具包”,就像你买了一个“空气炸锅”,只需要按下按钮,它就会自动完成所有步骤:预处理 → 推理 → 输出结果。

第2句:我需要的是“文本分类”任务

from modelscope.utils.constant import Tasks

这行代码是在告诉程序:“我要做的是文本分类任务。”就像你在点外卖的时候选择“甜品”或“辣菜”,这里就是在选任务类型。

第3句:加载一个中文情感分析模型

semantic_cls = pipeline(Tasks.text_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')

这行代码相当于:

  • 创建一个叫 semantic_cls 的“AI小助手”
  • 它的功能是:对中文句子进行情感分类
  • 使用的模型是达摩院开源的 StructBERT 模型,专门用于中文情感分析

🧠 小知识:StructBERT 是啥?可以理解为“升级版 BERT”,它不仅会理解语义,还会学习语法结构,比普通模型更聪明!

🔍 更详细的解释:

参数说明:

参数含义
Tasks.text_classification表示这个 pipeline 执行的是“文本分类”任务
'damo/nlp_structbert_sentiment-classification_chinese-base'指定使用的模型 ID,这是达摩院开源的一个用于中文情感分类的模型

实战演练:让AI给你的句子打分!

www.modelscope.cn/my/overview 我们打开魔搭社区,选择模型库

image.png

选择一个模型 image.png

我们选择Notebook快速开发,使用魔搭平台提供的免费实例 image.png

开启后查看我们的Notebook image.png

选择Notebook里面的python3 image.png python是nlp 第一语言

将我们的三行代码添加执行后,现在我们已经准备好这个“情感分析器”了,接下来就可以让它干活了!

result = semantic_cls(input='胡总吉他弹得真帅')
print(result)

也就是说,AI 认为这句话表达了“正面”的情绪,并且给了 94 分的高分!看来胡总确实很帅 😎 image.png

我们再来举几个例子 怎么样?是不是感觉像是在和一个懂中文的 AI 朋友聊天? image.png

背后的故事:ModelScope 是谁家的孩子?

ModelScope(魔搭),是阿里推出的开源模型社区,堪称中国版的“HuggingFace”。它提供了大量高质量的 AI 模型,覆盖 NLP、CV、语音等多个领域,而且使用起来非常简单。

它的特点有:

  • 一站式模型库:想找什么模型,搜一下就能用
  • 开箱即用:不需要自己训练模型,直接调用即可
  • 支持本地部署:不想上云?没问题,也可以本地跑
  • 国产化友好:支持各种国产框架和硬件,比如飞腾、麒麟等

可以说,ModelScope 是你通往 AI 世界的高速列车票!

进阶玩法:批量处理+可视化,打造你的情感分析神器

如果你是个数据控或者产品经理,还可以用这个模型干点大事:

✅ 批量分析用户评论 你可以把几千条用户评论喂给 AI,让它自动分类“好评”、“差评”,省下无数人工标注时间。

✅ 做个情感趋势图 结合 matplotlib 或者 plotly,画出某段时间内用户情绪的变化趋势图,做个“情绪雷达”也不是梦!

✅ 集成到 App 或网页里 结合 Flask 或 FastAPI,把这个情感分析模块封装成 API,前端随便调用,立马变身“情绪识别接口提供商”!

常见问题答疑区

Q1:我不会深度学习,能用这个吗? 当然可以!ModelScope 的一大优点就是“零门槛使用”,你不需要知道模型怎么训练,只要会调用就行。

Q2:这个模型准确率高吗? 这个 StructBERT 模型是达摩院出品,在多个中文情感数据集上表现优异,准确率高达 90%+。

Q3:有没有其他语言版本? 目前主要是中文支持最好,不过英文模型也有不少,后续也会逐步丰富。

总结:AI不是神,但真的有用!

通过这篇文章,你应该已经学会了:

如何用三行代码搞定中文情感分析

什么是 ModelScope,以及它有多强大 AI 是如何“读懂”你情绪的 还能怎么玩——批量分析、图表展示、集成上线…… 最后送大家一句话作为结尾:

“AI 不是用来取代人类的,而是用来放大人类的能力的。”

所以,别再觉得 AI 很遥远了,拿起键盘,写几行代码,你就已经站在了人工智能的肩膀上

📌 示例完整代码汇总:

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

# 创建情感分析器
semantic_cls = pipeline(Tasks.text_classification, 'damo/nlp_structbert_sentiment-classification_chinese-base')

# 测试输入
result = semantic_cls(input='胡总吉他弹得真帅')
print(result)  # {'label': '正面', 'score': 0.98}

快去试试吧!🎉