Press "Enter" to skip to content

使用亚马逊转录有害语言检测标记口语对话中的有害语言

在线社交活动的增加,比如社交网络或在线游戏,往往充斥着敌对或攻击性行为,这可能导致令人讨厌的仇恨言论、网络欺凌或骚扰的表现。例如,许多在线游戏社区提供语音聊天功能以促进用户之间的沟通。虽然语音聊天通常支持友好的闲聊和嘲讽,但也可能导致仇恨言论、网络欺凌、骚扰和欺诈等问题。标记有害语言有助于组织保持对话的文明性,并为用户创造、分享和自由参与的安全和包容的在线环境。如今,许多公司仅依靠人工审核员来审查有害内容。然而,扩展人工审核员以满足这些需求的质量和速度是昂贵的。因此,许多组织面临高用户流失率、声誉损害和法规罚款的风险。此外,审核员经常因审核有害内容而受到心理影响。

Amazon Transcribe是一种自动语音识别(ASR)服务,可让开发人员轻松将语音转文字功能添加到其应用程序中。今天,我们很高兴地宣布Amazon Transcribe Toxicity Detection,这是一种使用音频和基于文本的线索,通过机器学习(ML)驱动的能力,可以识别和分类基于语音的有害内容,包括性骚扰、仇恨言论、威胁、虐待、亵渎、侮辱和粗俗语言等七个类别。除了文本外,毒性检测还使用语音线索,如音调和音高,来准确识别语音中的有害意图。

这是一种改进的标准内容审核系统,它专注于特定术语,而不考虑意图。大多数企业的服务级别协议(SLA)为7-15天,以审查用户报告的内容,因为审核员必须听取冗长的音频文件,以评估对话何时变得有害。使用Amazon Transcribe Toxicity Detection,审核员只需审查标记为有害内容的音频文件的具体部分(而不是整个音频文件)。人工审核员必须审核的内容减少了95%,使客户能够将其SLA缩短为几个小时,并能够主动审核更多用户标记之外的内容。它将使企业能够自动识别和审查大规模内容,提供安全和包容的在线环境,并在用户流失或声誉损害之前采取行动。用于检测有害内容的模型由Amazon Transcribe维护,并定期更新以保持准确性和相关性。

在本文中,您将学习以下内容:

  • 使用Amazon Transcribe Toxicity Detection识别语音中的有害内容
  • 使用Amazon Transcribe控制台进行毒性检测
  • 使用AWS命令行界面(AWS CLI)和Python SDK创建带有毒性检测的转录作业
  • 使用Amazon Transcribe毒性检测API响应

使用Amazon Transcribe Toxicity Detection检测音频聊天中的有害内容

Amazon Transcribe现在提供了一种简单的基于机器学习的解决方案,用于标记口语对话中的有害语言。这个功能对于社交媒体、游戏和一般需求特别有用,消除了客户需要提供自己的数据来训练机器学习模型的需求。毒性检测将有害音频内容分类为以下七个类别,并为每个类别提供置信度分数(0-1):

  • 粗俗语言 – 包含不礼貌、粗鲁或冒犯性词语、短语或首字母缩略词的言语。
  • 仇恨言论 – 批评、侮辱、谴责或使人或群体非人性化的言语,基于身份(如种族、族裔、性别、宗教、性取向、能力和国籍)。
  • 性内容 – 使用直接或间接引用身体部位、外貌特征或性别来表示性兴趣、活动或激起。
  • 侮辱 – 包含贬低、羞辱、嘲笑、侮辱或轻视的言语。这种语言也被标记为欺凌。
  • 暴力或威胁 – 包含寻求对人或群体施加痛苦、伤害或敌意的威胁的言语。
  • 图形 – 使用形象化和令人不快的生动形象的言语。这种语言通常有意地冗长,以加剧接收者的不适感。
  • 骚扰或滥用 – 旨在影响接收者的心理健康的言语,包括贬低和物化性术语。

您可以通过Amazon Transcribe控制台或直接调用AWS CLI或AWS SDK直接访问毒性检测。在Amazon Transcribe控制台上,您可以上传要测试毒性的音频文件,并在几次点击后获得结果。Amazon Transcribe将识别和分类有毒内容,例如骚扰、仇恨言论、性内容、暴力、侮辱和亵渎。Amazon Transcribe还为每个类别提供置信度分数,提供有关内容毒性水平的有价值见解。毒性检测目前在标准的Amazon Transcribe API中可用于批处理处理,并支持美式英语。

Amazon Transcribe控制台演示

要开始,请登录AWS管理控制台并转到Amazon Transcribe。在创建新的转录作业之前,您需要将录制的文件上传到Amazon Simple Storage Service(Amazon S3)存储桶中,以便进行处理。在音频设置页面上,如下图所示,启用毒性检测并继续创建新的作业。Amazon Transcribe将在后台处理转录作业。随着作业的进行,当进程完成时,您可以期望状态变为已完成

使用亚马逊转录有害语言检测标记口语对话中的有害语言 四海 第1张

要查看转录作业的结果,请选择作业列表中的作业以打开它。向下滚动到转录预览部分,以在毒性选项卡上检查结果。UI显示颜色编码的转录片段,以指示毒性水平,由置信度分数确定。要自定义显示,可以使用过滤器窗格中的切换栏。这些栏允许您调整阈值并相应地过滤毒性类别。

由于存在敏感或有毒信息,以下截图已覆盖了部分转录文本。

使用亚马逊转录有害语言检测标记口语对话中的有害语言 四海 第2张

带有毒性检测请求的转录API

在本节中,我们将指导您如何使用编程接口创建带有毒性检测的转录作业。如果音频文件尚未在S3桶中,上传它以确保Amazon Transcribe可以访问。与在控制台上创建转录作业类似,调用作业时,您需要提供以下参数:

  • TranscriptionJobName – 指定唯一的作业名称。
  • MediaFileUri – 输入音频文件在Amazon S3上的URI位置。Amazon Transcribe支持以下音频格式:MP3、MP4、WAV、FLAC、AMR、OGG或WebM
  • LanguageCode – 设置为en-US。截至本写作,毒性检测仅支持美式英语。
  • ToxicityCategories – 传递ALL值以包含所有支持的毒性检测类别。

以下是使用Python3启动启用毒性检测的转录作业的示例:

import time
import boto3

transcribe = boto3.client('transcribe', 'us-east-1')
job_name = "toxicity-detection-demo"
job_uri = "s3://my-bucket/my-folder/my-file.wav"
 
# 启动转录作业
transcribe.start_transcription_job(
    TranscriptionJobName = job_name,
    Media = { 'MediaFileUri': job_uri },
    OutputBucketName = 'doc-example-bucket', 
    OutputKey = 'my-output-files/',
    LanguageCode = 'en-US',
    ToxicityDetection = [{'ToxicityCategories': ['ALL']}]
)

# 等待转录作业完成
while True:
    status = transcribe.get_transcription_job(TranscriptionJobName = job_name)
    if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5) 
    print(status)

您可以使用以下AWS CLI命令调用相同的带有毒性检测的转录作业:

aws transcribe start-transcription-job \
--region us-east-1 \
--transcription-job-name toxicity-detection-demo \
--media MediaFileUri=s3://my-bucket/my-folder/my-file.wav \
--output-bucket-name doc-example-bucket \
--output-key my-output-files/ \
--language-code en-US \
--toxicity-detection ToxicityCategories=ALL

带有毒性检测的转录API响应

Amazon Transcribe毒性检测的JSON输出将在结果字段中包含转录结果。启用毒性检测会在结果字段下添加一个名为toxicityDetection的额外字段。 toxicityDetection包含一组具有以下参数的转录项:

  • text – 原始转录文本
  • toxicity – 检测的置信度分数(介于0到1之间的值)
  • categories – 毒性言论每个类别的置信度分数
  • start_time – 检测在音频文件中的开始位置(秒)
  • end_time – 检测在音频文件中的结束位置(秒)

以下是您可以从控制台下载的缩写毒性检测响应示例:

{
  "results":{
    "transcripts": [...],
    "items":[...],
    "toxicityDetection": [
      {
        "text": "毒性转录片段在此处。",
        "toxicity": 0.8419,
        "categories": {
          "PROFANITY": 0.7041,
          "HATE_SPEECH": 0.0163,
          "SEXUAL": 0.0097,
          "INSULT": 0.8532,
          "VIOLENCE_OR_THREAT": 0.0031,
          "GRAPHIC": 0.0017,
          "HARASSMENT_OR_ABUSE": 0.0497
        },
        "start_time": 16.298,
        "end_time": 20.35
      },
      ...
    ]
  },
  "status": "COMPLETED"
}

摘要

在本文中,我们提供了新的Amazon Transcribe毒性检测功能的概述。我们还介绍了如何解析毒性检测的JSON输出。要了解更多信息,请访问Amazon Transcribe控制台并尝试使用带有毒性检测的转录API。

Amazon Transcribe毒性检测现在在以下AWS区域可用:美国东部(俄亥俄州),美国东部(弗吉尼亚州),美国西部(俄勒冈州),亚太地区(悉尼),欧洲(爱尔兰)和欧洲(伦敦)。要了解更多信息,请访问Amazon Transcribe。

了解有关AWS上内容审核和内容审核ML用例的更多信息。使用AWS迈出简化内容审核操作的第一步。

Leave a Reply

Your email address will not be published. Required fields are marked *