在当今数字化时代,网络平台上的内容日益增多,其中不乏有害、敏感或违法信息。这些内容对社会构成威胁,可能产生负面影响。因此,像YouTube、Meta、Twitter这样的平台投入巨额资金和人力资源来过滤这些内容。但如果能够利用机器学习(ML)的力量来自动化这一过程呢?本文将探讨一种简单的方法,用尽可能少的代码实现内容审核ML。
设想一个普遍场景:想要在YouTube上搜索一些信息,找到了一个视频,但发现内容令人不安或有害,会好奇自己是如何找到这个视频的,以及为什么YouTube没有将其从网站上移除。这些情况在大多数平台上都很常见,由于内容量巨大,现在很难全部审核。因此,许多公司开始转向ML方法来解决这个问题。
使用内容审核ML进行这类任务的原因包括:
- 节省时间:只需要训练一次模型,这就是所需的全部时间。
- 可重复性:如果出现新的恶意内容,模型可以重新训练。
- 自动化:可以与自动化脚本结合,减少人工努力。
AssemblyAI是开始使用AI进行内容审核的公司之一,它还提供了许多有助于NLP任务的API,特别是音频和视频。让看看如何使用这些API来简化生活,通过在TED演讲上实施内容审核。
方法是通过使用请求库将TED演讲视频链接传递给API,然后将其检测为以下标签之一:
import requests, Constants
end_point = "https://api.assemblyai.com/v2/transcript"
api_key = Constants.API_KEY
headers = {"authorization": api_key, "content-type": "application/json"}
json = {"audio_url": "https://download.ted.com/products/95327.mp4", "content_safety": True}
response = requests.post(end_point, json=json, headers=headers)
print(response.json())
Assembly AI甚至可以做得更多;借助内容安全检测,它还可以精确定位内容被说出或显示的时间。
强烈建议使用Jupyter-Notebook和Anaconda来使过程更加顺畅,并快速验证结果。接下来,需要一个AssemblyAI账户(免费或付费),可以按照以下步骤创建:
- 访问官方网站
- 点击“开始使用”
- 填写详细信息
- 创建账户
成功创建账户后,可以看到类似这样的界面:
看到那个黄色标记了吗?那是用于使用的API密钥。接下来,让在Constants.py文件中将API密钥定义为常量,这样可以在不泄露API密钥的情况下检索常量(友好的做法!)。
API_KEY = "your key goes here"
将在教程中大量使用请求库,因此了解它将给带来优势。完成设置后,让开始有趣的部分。
代码分为三个部分:
- 创建转录文件
- 检索结果
- 根据用户定义的置信度分数创建转录文件
转录文件意味着包含所有所需结果的JSON格式文件。创建转录文件是直接的,只需要5个步骤。
- 必要的导入
- 创建端点
- 获取API密钥
- 添加授权
- 定义JSON文件路径
- 发送POST请求
所有变量都已就绪。只需发送POST请求到应用程序并获取返回结果即可。
已经处理了文件。现在唯一要做的就是获取文件并保存它。步骤非常简单,不到4个步骤。
- 创建结果端点
- 添加授权
- 发送GET请求并显示
- 保存到文件
模型通常返回置信度分数>50%或0.50的标签,但可以根据自己的需要进行调整。这可以通过在创建JSON变量时引入一个新参数“content_safety_confidence”来完成,并遵循第一部分的步骤(这里变量不同)。
json_ci = {"audio_url": "https://download.ted.com/products/95327.mp4", "content_safety": True, "content_safety_confidence": 80}
- 随着平台上内容量的增加,将需要更复杂和快节奏的算法/方法来审核内容。
- 本文分享了一种简单直接的方法,使用请求库的GET和POST方法进行API调用,可以根据需要进行调整。
- 最后,学习了如何使用文件IO和JSON查看器来处理JSON文件及其解释。
- 代码文件:GitHub
- 灵感来源:CodeBasics, Smitha Kolan
- 开始使用API:AssemblyAI文档