Hume AI情绪测量API
在当今时代,用户主要通过社交媒体在互联网上发布内容。理解和审核内容变得比以往任何时候都更加重要。检测攻击性内容或仇恨言论是一个具有挑战性的问题,涉及识别微妙和明确的情绪线索。
在这篇博文中,我们将探讨如何使用 Hume AI 库根据情绪分数检测攻击性内容。
1、核心概念
我们利用 Hume AI 表达测量 API 来分析文本中的各种情绪。我们选择通常与攻击性内容相关的情绪,如愤怒、厌恶、蔑视和恼怒。我们利用情绪分数将文本分类为攻击性或非攻击性。
API 为文本输入提供了一组丰富的情绪分数。每个分数对应一种情绪(例如愤怒、喜悦、钦佩)及其强度。
我们声明一个阈值,该阈值决定特定情绪的汇总分数是否越过边界进入攻击性。
2、安装 Hume AI SDK
继续之前,请在 Python 终端中运行以下命令安装 Hume AI SDK:
pip install hume
此 SDK 简化了访问 Hume AI 强大的情绪分析 API 的过程。
3、导入必要的库
我们导入 Hume AI 及其支持模块的必要库,以进行情绪测量。
import asyncio
from hume import AsyncHumeClient
from hume.expression_measurement.stream import Config
from hume.expression_measurement.stream.socket_client import StreamConnectOptions
from hume.expression_measurement.stream.types import StreamLanguage
4、文本攻击性检测
is_offensive()
函数通过分析情绪分数来确定给定的文本是否具有攻击性:
def is_offensive(emotion_scores):
offensive_emotions = {"Anger", "Disgust", "Contempt", "Annoyance"}
threshold = 0.08 # Configurable threshold
offensive_score = sum(
score.score for score in emotion_scores if score.name in offensive_emotions
)
return offensive_score > threshold
offensive_emotions()
声明与攻击性内容密切相关的情绪集。- 我们根据所需的敏感度调整阈值,并将其与
offensive_score()
中的情绪总分进行比较。
5、使用 Hume AI 进行异步处理
使用 AsyncHumeClient
,我们可以异步分析文本样本。这样可以在实时应用程序中高效处理多个输入:
async def main():
samples = [
"Mary had a little lamb, Its fleece was white as snow. Everywhere the child went, The little lamb was sure to go.",
"You idiot! you should shut your mouth and shouldn't complain about cleaning up your house."
]
client = AsyncHumeClient(api_key="YOUR_API_KEY")
model_config = Config(language=StreamLanguage())
stream_options = StreamConnectOptions(config=model_config)
async with client.expression_measurement.stream.connect(options=stream_options) as socket:
for sample in samples:
result = await socket.send_text(sample)
emotions = result.language.predictions[0].emotions
is_offensive_text = is_offensive(emotions)
print(f"Text: {sample}\nOffensive: {is_offensive_text}\n")
将 YOUR_API_KEY
替换为 Hume AI 平台的实际 API 密钥。你可以通过在 Hume AI 网站上注册、导航到 API 部分并创建新密钥来获取 API 密钥。
让我们分析两个示例输入:
输入:
Mary had a little lamb, Its fleece was white as snow. Everywhere the child went, The little lamb was sure to go.
翻译:玛丽有一只小羊羔,它的羊毛像雪一样白。无论孩子走到哪里,小羊羔都一定会跟着。
输出:
Offensive: False
累计冒犯性得分为 0.079,这个分数很低,因为与冒犯性相关的情绪很少。
输入:
You idiot! you should shut your mouth and shouldn't complain about cleaning up your house.
翻译:你这个白痴!你应该闭上嘴巴,不要抱怨打扫房子。
输出:
Offensive: True
累计冒犯性得分为 0.114,超过阈值 0.08,表明该文本具有冒犯性。
6、实际应用
此方法可以集成到各种系统中,包括:
- 内容审核平台:自动过滤或标记有害内容以供审核。
- 社交媒体分析:衡量社区情绪并防止毒性。
- 客户支持系统:检测并响应冒犯性客户消息。
7、结束语
基于情绪的冒犯性检测是处理非结构化文本的强大工具。虽然此示例使用了 Hume AI,但该方法可以适用于其他 API 或自定义模型。通过定制阈值和情感权重,你可以构建符合特定应用需求的强大解决方案。
后续步骤:
- 尝试使用不同的阈值来微调敏感度。
- 根据上下文扩展攻击性情绪集。
- 探索 Hume AI 的其他功能,例如图像、音频和视频中的情感识别。
你可以尝试自己运行脚本。从此处下载代码。
原文链接:Detecting Offensive Content With Emotion Analysis Using Hume AI
汇智网翻译整理,转载请标明出处