为提高微信开放平台生态安全性,针对小程序各内容场景中可能存在的安全问题,平台开放 API 方式协助开发者应对文本、图片、音频内容类型下的敏感内容识别、涉黄内容识别、暴恐内容识别、辱骂内容识别等违规问题,以便开发者维护小程序运营秩序和安全。
一、 应用场景
内容安全主要针对的是有UGC(用户生成内容)的小程序,通过结合内容安全的审核能力,可以提高审核效率,目前内容安全功能支持以下三种场景:
文本内容安全检测:支持用户资料检测,用户文字评论检测,论坛文字内容检测,社交日志文字内容检测。
图片内容安全检测:支持用户头像检测,用户图片评论检测,论坛图片内容检测,社交日志图片内容检测。
音频内容安全检测:游戏聊天频道中的语音检测;直播中的主播语音检测;论坛社区发布相关媒体内容的音频检测。
二、 产品优势
1、接口识别准确度高:通过不断优化敏感样本库和深度学习技术,确保接口识别效果持续提升。
2、接口识别结果精细化:接口的返回结果包含综合结果和详细检测结果,除了会提供处置建议外,还会标明具体的违规类型,分数,命中所配置的自定义关键词,可以更好地满足开发者个性化的需求。
3、提供自定义关键词功能:开发者可进行自定义关键词库的配置,具体可操作添加相应关键词的标签、分值和处置建议,接口将识别包含自定义关键词的违规内容,可以更灵活地满足开发者业务需求。
三、 解决方案
微信开放平台通过开放API的方式提供内容安全接口,有需要的开发者可直接进行使用,调用地址、请求参数及说明详见接口文档:
• 文本内容安全接口文档:msgSecCheck
• 音频/图片内容安全异步接口文档:mediaCheckAsync
其他常见问题
Q1:接口是否有频率和配额限制?
目前接口均有频率和配额限制,具体可参考:
msgSecCheck:(1)频率限制:单个 appId 调用上限为 4000 次/分钟;(2)配额限制:2,000,000 次/天
mediaCheckAsync:(1)频率限制:单个 appId 调用上限为 2000 次/分钟;(2)配额限制:200,000 次/天
Q2:为什么openid会超时?
传入的openid须在120min内有效访问小程序,否则会视为超时ID,接口会报错61010。
Q3:为什么security.msgSecCheck无论检测任何内容都返回正常结果?
①若为1.0接口切换2.0接口的开发者,请注意,判断两个接口的返回结果存在差异:
使用1.0接口时,当errcode返回0,errmsg返回ok,代表的为内容正常;
使用2.0接口时,当errcode返回0,errmsg返回ok,代表的为请求成功,实际的综合检测结果需查看result返回值,详细检测结果需查看detail返回值。
②若为初次接入的开发者,建议可使用微信调试工具确认调用结果,以便排查调用问题,请注意传入的content最后编码的数据需为utf-8编码。
Q4:为什么security.mediaCheckAsync无论检测任何内容都返回正常结果?
①此为异步接口,当errcode返回0,errmsg返回ok,代表的为请求成功,实际的综合检测结果需查看异步检测结果推送。
②若得到的异步检测结果仍有异常,建议排查media_url能否正常在外网进行查看,以免无法被检测服务器下载,导致接口识别失败。
Q5:接口的场景值应该如何进行选择?
① 资料:对用户个人头像,昵称,介绍等资料的检测
② 评论:对用户评论内容的检测
③ 论坛:对用户互相聚集讨论内容的检测
④ 社交日志:对用户发表的社交日志的检测
建议优先接入与业务相符合的场景,若无相符合场景可选择,可根据实际测试结果选择与自身业务需求相匹配的场景,针对不同的场景特征,不同场景值的检测结果可能存在差异。
Q6:自定义关键词功能如何进行使用?
登录小程序管理后台,可在【开发→开发管理→安全中心→内容风控】进行自定义关键词的配置。具体可操作添加相应关键词的标签、分值和处置建议,接口将识别包含自定义关键词的违规内容,可以更灵活地满足开发者业务需求。(请注意,每个小程序最多支持导入一千条关键词,请开发者合理进行使用)
Q7:接入内容安全接口后,可以完全依赖接口的识别吗?
将小程序 UGC 内容接入内容安全服务,可以有效缓解人工审核、降低违规风险,但接入内容安全服务并不意味着一劳永逸解决所有问题,为了进一步确保内容安全,我们仍建议在一些环节设置人工审核确认,以弥补 AI 算法存在的一些不足。
例如 API 判断为 REVIEW 的内容,说明可能存在风险,需要人工确认;API判断为 PASS 的内容,可能包含被漏掉的违规内容,可以按照一定比例抽查。
Q8:除了小程序,其他场景可以接入使用吗?
目前主要还是解决小程序的问题,现阶段不考虑拓充其他场景。
如有其他相关疑问,欢迎随时参与社区讨论。