使用亚马逊云科技托管人工智能服务,打造自动化的智能化内容审核系统

前言

 近年来,世界各地逐步加强了对各行业内容安全合规的监管力度,并推出了相关的监管政策和法规要求,旨在抑制违法、违规、暴力、色情、垃圾、酒精、毒品、隐私敏感等内容的传播和扩散,不符合安全合规要求的内容,极有可能面临企业业务产品的下架和监管部门的处罚。由此可看出,面向用户的应用和平台构建安全合规审查的重要性。然而,随着生成式人工智能(Generative AI,GenAI)技术的兴起,各类基于GenAI的应用和服务层出不穷,覆盖电商、娱乐媒体、零售、金融、医疗等广泛行业。GenAI改变了传统人工生产内容的方式,大模型可以根据提示实现文本、图像、音频和视频等内容的生成。相比传统决策式AI,GenAI具有创新性、高效性和个性化等特点,但是现阶段也存在生成内容可控性的问题。GenAI生成的内容可能包含误导信息、有害内容等,需要建立内容审核机制进行管控。与此同时,面向用户的GenAI服务也会涉及大量用户上传内容,这些UGC同样需要审核,过滤掉违规违法信息。内容审核涉及文本、图像、视频等多模态数据,还需要结合行业规范、法律法规等方面进行综合判断。GenAI时代下,利用GenAI的内容审核技术和服务都将是非常值得关注的点。

 本文将探讨如何使用亚马逊云科技提供的一系列托管人工智能服务Amazon Rekognition、Amazon Comprehend、Amazon Transcribe、Amazon Translate和Amazon Bedrock以及其他技术,打造自动化的智能化内容审核系统包括图像、视频、文本和音频审核工作流程,及时过滤不合适的内容,给用户带来更好的体验。

 支撑内容审核的亚马逊云科技AI/ML相关服务

 亚马逊云科技提供了多种托管的AI/ML服务来检测文本、语音、图像中潜在的风险内容,为快速搭建GenAI内容审核系统提供了有力支持,基于这些服务可以快速构建一个适合自身业务场景的内容审核工作流,实现内容审核的自动化,保障GenAI应用的安全。

 图像和视频审核

 Amazon Rekognition提供多种图像识别和视频分析相关的计算机视觉API,如目标检测、面部分析、名人识别等。Rekognition上的内容审核功能支持检测图像和视频中潜在的不安全、不适宜或有害内容,类别包括:明显裸露、暗示性、暴力、酒精、赌博等顶级类别,每个顶级分类下还有更细分的二级标签。Rekognition会在返回中提供标签置信度,让用户能够根据自身需求更精细地控制允许显示的图像。

 最近Rekognition推出一项新的自定义内容审核功能,通过适配器添加到现有Rekognition深度学习模型中,改善在特定用例和场景下相关内容审核任务的准确性。

 另外,部分应用可能需要从其他角度做更高要求的内容审核。例如,一些社交属性的应用可能要求设置儿童使用限制,这时可以使用Rekognition上的人脸检测和分析API,识别出图像中人脸的年龄范围,来帮助应用实现年龄限制;在某些地区可能会要求平台应用禁止出现特定公众人物的面孔,Rekognition提供名人识别API并且支持自定义人脸集合,可以将输入面孔与存储的人脸集合进行匹配,从而帮助应用实现对特定面孔的识别和限制。总体而言,Rekognition人脸识别和分析相关功能可以辅助构建适用于不同应用场景和需求的智能内容审核系统,实现更丰富、更精细的审核策略来保障应用的安全合规。

 文本审核

 Amazon Comprehend是一项基于自然语言处理(NLP)的文本分析服务,提供包括情感分析、实体识别、从文本中提取关键短语、主题等在内的多种自然语言处理功能。Comprehend新推出一项毒性内容检测功能,可以识别文本中的危险语言、威胁、骚扰语等不当内容,增强内容审核系统的精细化识别能力。在生成式AI应用中可以用毒性内容检测来检查输入的提示词和大语言模型输出的响应,还可以用于检测用户评论等UGC文本内容。另外可以调用Comprehend的文本分析API,识别文本中的个人身份信息(PII),来保护和控制用户的隐私敏感数据。

 Amazon Bedrock是一项完全托管的服务,使用单个API提供来自AI21 Labs、Anthropic、Cohere、Meta、Stability AI和Amazon等领先人工智能公司的高性能基础模型(FM),以及构建生成式人工智能应用程序所需的一系列广泛功能,在维护隐私和安全的同时简化开发。本文将借助Amazon Bedrock上的大语言模型(例如Anthropic的Claude2),通过预先自定义Prompt提示词,让大语言模型做基于文本的内容审核。

 语音审核

 Amazon Transcribe提供语音识别服务,它使用机器学习模型将音频转换为文本。Transcribe毒性检测功能可用于检测音频中的不合适内容,例如在线游戏、社交聊天平台,直播间语音检测等。使用有害言论可能对个人、同龄群体和社区造成严重伤害,及时过滤有害语言有助于维护一个安全和包容的在线环境。该功能结合音频和文本两方面线索,识别和分类语音中包含的有害内容,涵盖性骚扰、仇恨言论、威胁、虐待、亵渎、侮辱等七大类别。与仅依赖文本的内容审核不同,Transcribe毒性内容检测不仅检测语音转录的文字,还分析语音本身的语气和语调等特征,以更深入理解语音中的潜在恶意。这种双重判断机制使Transcribe毒性内容检测功能相比传统审核系统有很大的改进,可以实现更准确的毒性内容识别。对于在语音审核上有更高要求的客户,可以利用Amazon Comprehend或Amazon Bedrock的大语言模型(例如Anthropic的Claude2),再做转录后基于文本的内容审核,以提高业务的安全合规。

 整体架构

 本方案整体架构如上图所示:

1.用户上传各类型文件(包括:文本、图像、视频、语音)到Amazon S3存储桶

2.文件成功上传存储桶后,监测到S3存储桶的事件变化(PUT Event),会自动触发AWS Lambda

3.AWS Lambda根据文件类型执行相应的内容审核

 a.使用Amazon Rekognition进行图像/视频数据的内容审核,包括:

   i.对不合规图像/视频数据进行审核

  ii.分析图像中的人脸相关信息,包括名人、年龄范围、面部的检测框、置信度值等属性

  iii.提取图片中的文本,再使用Comprehend、Bedrock进行文本审核

 b.使用Amazon Comprehend对文本数据进行情绪分析、个人信息提取、毒性检测,包括:

   i.毒性检测,分析文本中的不合适内容,检测是否有包含脏话,暴力等相关内容

  ii.分析文本情绪,识别文本中的个人身份信息(PII)实体,如年龄、地址等信息

  c.使用Amazon Bedrock中集成的大语言模型Claude v2,通过对提示词自定义内容审核策略,对文本数据进行内容审核

  d.使用Amazon Transcribe对语音进行毒性分类,类别包括脏话、仇恨言论、侮辱等;检测到的文本信息再使用Comprehend、Bedrock进行文本审核

  e.使用Amazon Translate将文本语言转换为英文

4.通过Amazon CloudWatch监控AWS Lambda的每次执行,并将日志记录到CloudWatch Logs中

5.审核结果,部分以JSON格式存储至S3

 实验步骤环境准备

  • Bedrock权限申请

 Amazon Bedrock用户需要先请求访问模型,然后才能使用模型。如果想要添加用于文本、聊天和图像生成的其他模型,需要请求访问Amazon Bedrock中的模型。请注意,只有具有所需IAM权限的用户才能管理此帐户的模型访问权限。

 点击控制台的查找框,搜索Amazon Bedrock,进入Amazon Bedrock的控制台界面,找到下图所示的“Model access”,点击“Manage model access”,可以看到Amazon Bedrock提供的模型,勾选需要的模型,并点击“Save changes”。设置好请求访问模型后,模型即刻便可访问。本次实验主要会用到Anthropic Claude。

  • 创建S3桶

 从亚马逊云科技控制台进入S3服务,创建一个存储桶,设置存储桶的“Bucket name”,其它选项保持默认,点击。

 注意,存储桶的名称必须全球唯一,并遵循存储桶的命名规范。

 创建好存储桶后,在桶中创建一个文件夹“content_moderation_test_data/”,用于存放测试数据。

  • 创建IAM策略

 每个Lambda函数都有一个与之关联的IAM角色。此角色定义允许该功能与其进行交互的其他亚马逊云科技服务。

 在亚马逊云科技控制台中进入IAM服务,选择创建名为“bedrock”的策略。

  • 创建并设置Lambda

 进入到Lambda控制台,按照以下配置创建一个新的函数。

  1. 函数名称:填写你的函数名称,如 content_moderation

  2. 运行时:选择Python 3.10

  3. 架构:选择x86_64

  4. 权限:创建具有基本Lambda权限的新角色

  5. 点击创建函数

 创建完Lambda函数之后,修改Lambda函数配置,方便后续进行测试。

 点击已经建好的的Lambda函数,进入该函数的配置界面,修改Lambda函数的超时时间,设置为15分钟。

 进入到该函数的权限界面,找到刚刚已经建好的角色“content_moderation_lambda-role-og6yztev”。

 为该角色添加刚建好的“bedrock”策略和“AmazonRekognitionFullAccess”、“AmazonS3FullAccess”、“AmazonTranscribeFullAccess”、“ComprehendFullAccess”、“TranslateFullAccess”。

 注意:这里是实验环境,所以给了服务的全部访问权限,请根据实际生产环境赋予相应的权限。

 安装Python 3.10,下载需要的安装包。配置AWS CLI,将zip包上传到创建的S3。

 在Lambda创建名为“content_moderation_layer”的Layer层,并将存储在S3存储桶中的zip文件上传到Layer。

 为Lambda函数添加Layers,添加刚刚创建的名为“content_moderation_layer”的Layer。

 为Lambda函数添加trigger。

 配置trigger为S3,存储桶Bucket选择刚创建的S3存储桶,将事件类型event type配置为“PUT”,确认后,点击“Add”。

 进入该Lambda函数的配置Monitor中,点进“View CloudWatch logs”,并建名为“/aws/lambda/content moderation”的日志组。

 Lambda代码实现

 将代码复制到Lambda函数的lambda_function.py中,并点击Deploy进行部署。主要功能模块如下:

 1.从S3下载文件并读取内容

 本次实验设计为通过S3上传事件触发Lambda自动开启审核流程,首先从event对象中获取S3存储桶名和文件名等相关参数信息。

 然后根据文件后缀判断文件类型,调用不同函数完成内容审核。

 2.调用Rekognition做图像审核

 上传的图片内容将触发Rekognition的图像审核功能。DetectModerationLabels来检测图像中是否有暴力血腥等不安全的内容,并返回标签ModerationLabels字段,其中包含标签、置信度等属性(当需要过滤包含裸体的图像,但不过滤包含暗示性内容的图像时,可通过设定合适的阈值和标签,来限制某些图像的显示);detect_faces分析图像中的人脸,该接口会检测图像中存在的人脸。并返回年龄范围、面部以及不同器官的检测框及置信度值等属性;RecognizeCelebrities来检测图像中的名人,也可以结合自定义面孔集合来实现某些地区禁止出现特定面孔的需求。

 在完整代码中,还有从图像中提取文本信息的接口detect_text,该接口将图像中的文本提取出来再用后续的文本审核手段做文本检测。

 3. 调用Comprehend做文本审核

 上传的文本内容将触发Comprehend的文本审核功能,Comprehend的detect_toxic_content方法对输入文本进行毒性内容检测;detect_sentiment方法对同一文本进行情感分析;detect_pii_entities方法识别文本中的个人身份信息(PII)实体,如年龄、地址等;使用translate_text将文本语言编码为英文。利用Comprehend服务对文本进行多项智能分析,包括毒性检测、情感分析和PII识别,为后续安全合规的手段提供支持。

 4. 调用Bedrock的Claude v2实现文本审核

 上传的文本内容同样会触发使用BedRock提供的Claude大语言模型来做审核。通过自定义内容审核策略和输出模版,由大语言模型给出审核结果及理由。内容审核策略作为Prompt提示词,支持用户自定义。

 5.调用Transcribe实现音频内容的审核

 上传的语音文件将触发Transcribe的毒性检测功能。Transcribe服务启动音频转录任务,并开启毒性内容检测;语音文件检测结果会存储到S3,检测结果中包含毒性类别标签、置信度及转录文本。另外,由于Transcribe毒性检测的类别有限,且仅支持英文,转录后文本将调用Bedrock的大语言模型,进行基于文本的内容审核。

 测试结果

 说明:Lambda的最长运行时间为15分钟,文件过大可能会导致超时,对于较长的视频文件,这里会以单独的python文件运行内容审核,文件位置:链接。

 下图是上传到S3存储桶的数据,包含图像、文本、音频、视频文件。

 其中,图像文件的部分审核结果如下图所示。

 音频文件审核如下图所示。

 下图为不安全的文本文件内容审核结果。

 下图为安全的文本文件内容审核结果。

 清理资源

 最后,可通过删除创建的亚马逊云科技Lambda函数、S3存储桶以及创建Lambda时所创建的角色和策略,完成资源的清理。

 总结

 本方案使用亚马逊云科技多种托管的AIML服务,快速构建覆盖文本、图像、视频、语音等全方位的智能化内容审核系统,并且使用Amazon Lambda实现了无服务器的架构,用户可以根据实际业务需求方便集成到各种场景。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值