摘要:在当今时代,用户主要通过社交媒体在互联网上发布内容。理解和审核内容变得比以往任何时候都更加重要。检测攻击性内容或仇恨言论是一个具有挑战性的问题,涉及识别微妙和明确的情绪线索。
在当今时代,用户主要通过社交媒体在互联网上发布内容。理解和审核内容变得比以往任何时候都更加重要。检测攻击性内容或仇恨言论是一个具有挑战性的问题,涉及识别微妙和明确的情绪线索。
在这篇博文中,我们将探讨如何使用 Hume AI 库根据情绪分数检测攻击性内容。
我们利用 Hume AI 表达测量 API 来分析文本中的各种情绪。我们选择通常与攻击性内容相关的情绪,如愤怒、厌恶、蔑视和恼怒。我们利用情绪分数将文本分类为攻击性或非攻击性。
API 为文本输入提供了一组丰富的情绪分数。每个分数对应一种情绪(例如愤怒、喜悦、钦佩)及其强度。
我们声明一个阈值,该阈值决定特定情绪的汇总分数是否越过边界进入攻击性。
继续之前,请在 Python 终端中运行以下命令安装 Hume AI SDK:
pip install hume此 SDK 简化了访问 Hume AI 强大的情绪分析 API 的过程。
我们导入 Hume AI 及其支持模块的必要库,以进行情绪测量。
import asynciofrom hume import AsyncHumeClientfrom hume.expression_measurement.stream import Configfrom hume.expression_measurement.stream.socket_client import StreamConnectOptionsfrom hume.expression_measurement.stream.types import StreamLanguageis_offensive 函数通过分析情绪分数来确定给定的文本是否具有攻击性:
def is_offensive(emotion_scores):offensive_emotions = {"Anger", "Disgust", "Contempt", "Annoyance"}threshold = 0.08 # Configurable thresholdoffensive_score = sum(score.score for score in emotion_scores if score.name in offensive_emotions)return offensive_score > thresholdoffensive_emotions 声明与攻击性内容密切相关的情绪集。我们根据所需的敏感度调整阈值,并将其与 offensive_score 中的情绪总分进行比较。使用 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].emotionsis_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.翻译:玛丽有一只小羊羔,它的羊毛像雪一样白。无论孩子走到哪里,小羊羔都一定会跟着。
累计冒犯性得分为 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、实际应用此方法可以集成到各种系统中,包括:
基于情绪的冒犯性检测是处理非结构化文本的强大工具。虽然此示例使用了 Hume AI,但该方法可以适用于其他 API 或自定义模型。通过定制阈值和情感权重,你可以构建符合特定应用需求的强大解决方案。
尝试使用不同的阈值来微调敏感度。根据上下文扩展攻击性情绪集。探索 Hume AI 的其他功能,例如图像、音频和视频中的情感识别。来源:小陈科技讲堂