JAVA实现百度云文本内容审核
【摘要】 以上小编学习开发中使用&总结,如果对你有帮助就帮忙点个小赞(^人^),如有侵权联系小编!
应用场景
- 用户评论过滤:对网站用户的评论信息进行检测,审核出涉及色情、暴恐、政治敏感、恶意推广等内容,保证良好的用户体验
- 注册信息筛查:对用户的注册信息进行筛查,避免黑产通过用户名实现违规信息的推广
- 文章内容审核:对UGC文章内容进行多个维度的审核,避免因内容违规导致的APP下架等损失
能力介绍
您可以在内容审核平台中对以下项目进行配置,后期调用接口时即可按照您的配置启用以下一项或多项能力
- 百度官方违禁词库:包含百度海量历史数据,提供对敏感事件、违规词语及监管要求封禁词语的识别审核能力,同时于2020年1月开始包含对新冠疫情谣言的识别审核能力
- 文本色情:对文本中的色情行为描述、色情资源链接、低俗交友、污秽文爱等内容进行识别
- 暴恐违禁:对暴力行为、恐怖描述、赌博、毒品、枪支弹药等违禁内容进行识别
- 政治敏感:对文本中的敏感事件、涉政人物、散布谣言、反动宣传等内容进行识别
- 恶意推广:对文本中带有售卖意向的软文广告,微信、QQ等个人联系方式等违规内容及变体进行识别
- 低俗辱骂:对文本中的侮辱谩骂、人身攻击、消极宣泄等内容进行识别
- 低质灌水:对网络社区常见的乱码、水帖、刷屏等无意义的灌水信息进行识别
- 广告法审核:对广告法中要求的不能出现的违规词进行检测
使用流程
- 确认默认配置是否符合您需求,如果符合请学习新手指南完成应用创建后调用接口
- 如果默认配置不符合您需求,请先阅读《配置文本审核策略》章节了解基础的审核规则配置,如果您有自定义添加政治敏感人物、自定义图像黑白名单、期望在敏感时期自动收紧线上策略(多策略自动调度切换)的需求,请阅读完《配置图像审核策略》章节后阅读《高级功能》章节,然后按文档中的引导在内容审核平台中完成对应规则的配置后调用接口
代码实现
使用依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.7</version>
</dependency>
工具类 只需修改client_id,client_secret 参数内容即可
package com.ying.baiducontentapproval;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
/**
* @author 小影
* @contact QQ: 2849799912
* @create 2022-03-31 13:46
* @describe:百度云内容审核
*/
public class ContentApprovalUtil {
String client_id = "XXXX";// API Key
String client_secret = "XXXX";// 应用的Secret Key
/**
* 获取token
*/
private String getToken() {
String url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=APP_KEY&client_secret=SECRET_KEY";
url = url.replace("APP_KEY", client_id).replace("SECRET_KEY", client_secret);
HttpResponse response = HttpRequest.post(url).execute();
JSON parse = JSONUtil.parseObj(response.body());
return parse.getByPath("access_token").toString();
}
/**
* 文本-内容审核
* @param bodyText 待审核内容
* @return 审核结果
*/
public String TextCensor(String bodyText) {
String path = "https://aip.baidubce.com/rest/2.0/solution/v1/text_censor/v2/user_defined?access_token="+getToken();
HttpResponse response = HttpRequest.post(path)
.header("Content-Type", "application/x-www-form-urlencoded")
.body("text=" + bodyText)
.execute();
return response.body();
}
}
响应参数
参数名称
|
数据类型
|
是否必须
|
备注
|
log_id
|
Long
|
Y
|
请求唯一id
|
error_code
|
Long
|
N
|
错误提示码,失败才返回,成功不返回
|
error_msg
|
String
|
N
|
错误提示信息,失败才返回,成功不返回
|
conclusion
|
String
|
N
|
审核结果,可取值:合规、不合规、疑似、审核失败
|
conclusionType
|
Integer
|
N
|
审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
|
data
|
Array
|
N
|
不合规/疑似/命中白名单项详细信息。响应成功并且conclusion为疑似或不合规或命中白名单时才返回,响应失败或conclusion为合规且未命中白名单时不返回。
|
+error_code
|
Integer
|
否
|
内层错误提示码,底层服务失败才返回,成功不返回
|
+error_msg
|
String
|
否
|
内层错误提示信息,底层服务失败才返回,成功不返回
|
+type
|
Integer
|
N
|
审核主类型,11:百度官方违禁词库、12:文本反作弊、13:自定义文本黑名单、14:自定义文本白名单
|
+subType
|
Integer
|
N
|
审核子类型,此字段需参照type主类型字段决定其含义:
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:暴恐违禁、2:文本色情、3:政治敏感、4:恶意推广、5:低俗辱骂 6:恶意推广-联系方式、7:恶意推广-软文推广、8:广告法审核
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
|
+msg
|
String
|
N
|
不合规项描述信息
|
+hits
|
Array
|
N
|
送检文本违规原因的详细信息
|
++probability
|
Float
|
N
|
不合规项置信度
|
++datasetName
|
String
|
N
|
违规项目所属数据集名称
|
++words
|
Array
|
N
|
送检文本命中词库的关键词(备注:建议参考新字段“wordHitPositions”,包含信息更丰富:关键词以及对应的位置及标签信息)
|
++modelHitPositions
|
Array
|
N
|
送检文本命中模型的详细信息,包含位置信息及置信度信息。位置信息:命中模型的违规内容在送检原文中的位置(从0开始计算):“开始位置”、“结束位置”;置信度信息:命中模型对应的置信度分数(范围:0至1,数字越大,可能性越高)。返回示例见下方“成功响应示例——不合规”部分
|
++wordHitPositions
|
Array
|
N
|
送检文本命中词库的详细信息,为Object的列表,包含words、positions、label三个字段,详细描述如下表所示。返回示例见下方“成功响应示例——不合规”部分
|
+++keyword
|
String
|
N
|
送检文本命中词库的关键词
|
+++positions
|
Array
|
N
|
关键词在送检原文中的位置(从0开始计算):分别为“起始位置”,“结束位置”
|
+++label
|
String
|
N
|
关键词命中的细分标签,标签规则见文末“细分标签对照表”
|
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)