内容过滤筛查是指对网络上发布或传播的文本、图片、视频等内容进行审核和监管,以防止出现违法违规、暴力色情、虚假广告、电信诈骗等现象,维护网络安全和社会秩序。

内容过滤筛查是一个亟待解决的问题,因为网络内容的数量庞大,且具有多样性、动态性和隐晦性。对于处理用户数据的软件或者网站的开发者来说,内容审核必不可少,通过内容过滤筛查可以有效阻止一些恶意用户。

传统内容审核一般需要人工参与结合规则或关键词,通过预设一些条件或标准来判断内容是否合规。然而,这种方法存在很多局限性和缺陷:

  • 人工审核成本高昂,一般个人或者小型工作室难以负担
  • 人工审核难以处理大量数据,很难做到实时检测
  • 规则或关键词难以覆盖所有情况,容易漏掉一些隐晦或变化的不良内容
  • 规则或关键词容易被规避或绕过,容易出现误报或漏报。
  • 规则或关键词需要不断更新和维护,耗费人力和时间。

因此,我们需要一种更智能和灵活的方法来提高内容过滤筛查的效率和准确性。ChatGPT作为一种先进的自然语言生成的AI技术,可以为内容过滤筛查提供一种新的解决方案。

本文主要讨论利用Azure OpenAI的ChatGPT对文本内容筛查。相比于使用OpenAI, Azure OpenAI有以下优点:

  • 两者底层的模型都是一样的,使用起来几乎没有区别
  • 没有屏蔽国内用户,可以在国内直接调用
  • 有现成的Azure SDK可以使用,不必裸写HTTP请求
  • 可以上传自己的数据集,对模型进行fine-tuning(微调)

使用Azure OpenAI的ChatGPT做内容过滤筛查的大致流程如下:

  • 在Azure门户上创建一个Azure OpenAI资源,并部署ChatGPT模型。我们可以选择不同的部署名称和规格,以满足不同的需求和预算。
  • 使用Azure OpenAI SDK或REST API来调用ChatGPT模型,并传入网络内容作为输入。我们可以选择不同的输入格式和参数,以控制模型的行为和输出。
  • 接收并处理ChatGPT模型返回的输出,并根据需要对网络内容进行过滤筛查。我们可以选择不同的输出格式和处理方式,以实现不同的目标和效果。

下面是一个简单NodeJs的Web API示例代码,可以对发送过来的文本进行自动审核:

const openai = require("@azure/openai");
const express = require("express");
const app = express();
// 设置必要的参数
const endpoint = "<Azure OpenAI的URL>";
const key = "<Azure OpenAI资源的密钥>";
const engine = "chatgpt"; // 部署名称
// 创建一个OpenAI客户端
const client = new openai.OpenAIClient(endpoint, key);
// 定义一个中间件,用于解析请求体中的JSON数据
app.use(express.json());
// 定义一个路由,用于接收POST请求,传入一段文本,返回是否为不良内容和替代文本
app.post("/validate", async (req, res) => {
// 获取请求体中的文本
const text = req.body.text;
// 使用Azure OpenAI ChatGPT作为一个分类器,输入一段文本,输出其是否为不良内容, 可以根据自己的需求,调整下面的内容
const response1 = await client.chatCompletion(engine, [
{ role: "system", content: "请根据发送过来的文本,判断其是否包含不良内容. 如果有就返回bad, 如果没有返回good" },
{ role: "user", content: text },
]);
const label = response1.choices[0].message.content;
// 返回响应体
res.json({
isBad: label === "bad",
});
});
app.listen(3000, () => {
console.log("App is running on port 3000");
});

把上述代码部署到http服务器后,要调用这个REST API,使用任何支持HTTP请求的语言或工具。例如,可以使用Python的requests库来发送一个POST请求,传入一段文本,获取返回的结果。以下是一个可能的示例代码:

import requests
url = "http://localhost:3000/validate" # REST API的地址,根据实际情况修改
text = "这是一段测试文本,没有什么不良内容。" # 要审核的文本
response = requests.post(url, json={"text": text})
result = response.json()
print(result)

上述代码仅是一个简单的示例,在实际使用过程中,还需要考虑很多内容,包括错误处理,数据加密,模型微调和设置更好的prompt等。当然,AI也不是万能的,肯定会存在误判或者漏判的情况,一般可以考虑和人工审核相结合,使用AI进行初步判断筛选,对于疑似的内容进行人工二次审核,可以极大地减轻审核人员的负担。

目前,这边大部分处理用户内容的软件都已经接入了AI自动审核系统,审核数千条的内容的成本只有几十美分,成本十分低廉,效果也达到了令人满意的程度。通过AI自动审批初步筛选判断,人工审核为辅的方式极大减轻了人工审核的负担,并可以有效检测到一些隐晦或变化的不良内容,有力地打击了一些恶意用户。

月工资不到10元的内容审核专员? - ChatGPT 在内容自动审查中的应用的更多相关文章

  1. 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状

    本文由  网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...

  2. 滴滴过节送10元打车券是不是bug

    自从滴滴跟快的去年合作以后,也不玩烧钱大战了,也没法打到免费的车了,乘客打车优惠也少了. 但是现在的滴滴在过节的时候还是会返滴滴代金券,而且金额都比较大,超出了打车的起步价.半年前这边的司机会经常利用 ...

  3. 8月30号周五香港接单ING~~化妆品只加10元!!!!!!

    8月30号周五香港接单ING~~化妆品只加10元!!!!!! 8月30号周五香港接单ING~~化妆品只加10元!!!!!!

  4. Linux中一个文件10行内容,如何输出5-8内容到屏幕

    题目是这样的,Linux中一个文件10行内容,如何输出5-8内容到屏幕首先我们模拟一下这样的环境: [root@localhost question]# pwd /root/question [roo ...

  5. 10元买啤酒问题Java解法

    10元去买啤酒,2元一瓶.每两个瓶可以换一瓶啤酒,每四个瓶盖可以换一瓶啤酒.最多买几瓶? public class Java { public static void main(String[] ar ...

  6. c语言实践 用1角 2角 5角 凑成10元钱的方法

    /* 用1角,2角,5角凑出10元钱,有几种办法. 也就是0.1a+0.2b+0.3c=10,化简一下就是 a=100-2b-3c 因为a的范围是0到100,所以弄一个循环 把a的值从0尝试到100, ...

  7. 用java代码解决10元喝多少瓶汽水的问题

    问题:汽水2元一瓶,四个盖子换一瓶,两个空瓶一瓶,问10元可以喝几瓶?(不许借别人空瓶或瓶盖,但可以先喝汽水再付空酒瓶或瓶盖) 最近同事让笔者看了一道脑筋急转弯的数学题,当然不是很难,只要会加减法应该 ...

  8. UCloud 云服务内容审核 Java 版本实现

    前言 最近不少小伙伴反映上传小黄图偶尔性的异常,并且不能上传动态图片,很是苦恼!无她,鉴黄API还没有这么智能,毕竟是自己训练的,不是那么专业!为了更好的服务广大网友,撸主决定接入更加智能快速的鉴黄服 ...

  9. 《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”

    VS2005下,添加了母版页这个控件,我们可以讲N个页面中共同的部分放在母版页来实现,并让WEB窗体集成自我们的母版页,就可以让我们的站点具有统一的风格了.在VS2005SP1之前的版本中,我们只能创 ...

  10. Android - 分享内容 - 接收其他APP的内容

    就象程序可以发送数据给其他程序,所以也可以接收其他程序的数据.想一下用户如何和程序交互,以及想从其他程序接收什么样类型的数据.例如,一个社交程序可能对接收其他程序的文字(比如有趣的网址)感兴趣.Goo ...

随机推荐

  1. 【RocketMQ】NameServer总结

    NameServer是一个注册中心,提供服务注册和服务发现的功能.NameServer可以集群部署,集群中每个节点都是对等的关系(没有像ZooKeeper那样在集群中选举出一个Master节点),节点 ...

  2. .Net NPOI Excel 导出

    NPOI 导出 Excel 最终效果图 环境:Revit,WPF,NPOI 2.5.6,.Net Framework 4.7.2 一.引用 NPOI 右击项目引用,选择 "管理NuGet程序 ...

  3. 编码器 | 基于 Transformers 的编码器-解码器模型

    基于 transformer 的编码器-解码器模型是 表征学习 和 模型架构 这两个领域多年研究成果的结晶.本文简要介绍了神经编码器-解码器模型的历史,更多背景知识,建议读者阅读由 Sebastion ...

  4. ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny

    AI 是未来最好的老师 最近,我正在准备一份关于 Vue 基础的学习材料.期间我突发奇想:能否利用现在热门的 ChatGPT 帮我创建学习内容?其实 Vue 本身不难学,特别是基础用法,但是,如果你想 ...

  5. 【.NET 深呼吸】全代码编写WPF程序

    学习 Code 总有这样一个过程:入门时候比较依赖设计器.标记语言等辅助工具:等到玩熟练了就会发现纯代码写 UI 其实更高效.而且,纯代码编写也是最灵活的.Windows Forms 项目是肯定可以全 ...

  6. Spring Boot实现高质量的CRUD-5

    (续前文) 9.Service实现类代码示例 ​ ​ 以用户管理模块为例,展示Service实现类代码.用户管理的Service实现类为UserManServiceImpl.​UserManServi ...

  7. uni-app简单通用Request网络请求 支持请求成功 失败回调

    uni-app简单通用Request网络请求 支持请求成功 失败回调; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12794 ...

  8. Kubernetes(k8s) Web-UI界面(二):部署和访问Kuboard

    目录 一.系统环境 二.前言 三.Kuboard简介 四.部署Kuboard 五.访问kuboard 六.总结 七.附加信息 一.系统环境 本文主要基于Kubernetes1.21.9和Linux操作 ...

  9. Codeforces Round #883 (Div. 3) A-G

    比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { i ...

  10. 基于thumbnailator封装图片处理工具类,实现图片的裁剪、压缩、图片水印、文字水印、多行文字水印等功能

    目录 一.前言 二.工具类的依赖和简单介绍 1.添加依赖 2.简单的使用 3.加载需要处理的图片 4.添加图片处理规则 4.1 Builder的方式 4.2 使用规则工厂的方式 5.输出处理后的图片 ...