使用Python SDK文本反垃圾接口对文本内容进行色情、暴恐、涉政等风险识别。

说明 目前仅支持同步检测。一次请求可以检测多条文本,也可以检测单条文本;按实际检测的文本条数进行计费,具体请参考计费说明

准备工作

在进行具体的服务调用之前,请参考以下步骤,完整准备工作:
  1. 创建阿里云AccessKeyId和AccessKeySecret。具体请参考创建AccessKey
  2. 安装Python依赖。具体请参考安装Python依赖

文本内容检测

文本垃圾检测支持自定义关键词,例如添加一些竞品关键词等。如果被检测的文本中包含您添加的关键词,算法会返回您suggestion=block。

您可以前往云盾内容安全控制台添加关键词,也可以通过API接口添加关键词。关键词编码请使用UTF-8,接口说明请参考文本反垃圾API文档

接口描述
接口 功能 支持的Region 描述
TextScanRequest 文本扫描接口 cn-shanghaicn-beijing 检测场景传递antispam(scene=antispam) 。
示例代码
#coding=utf-8
# 调用文本检测
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import TextScanRequest
from aliyunsdkgreen.request.extension import HttpContentHelper
import json
import uuid
import datetime

# 请替换成您自己的accessKeyId、accessKeySecret。您可以修改配置文件,也可以直接明文替换
clt = client.AcsClient("您的accessKeyId", "您的accessKeySecret",'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = TextScanRequest.TextScanRequest()
request.set_accept_format('JSON')
task1 = {"dataId": str(uuid.uuid1()),
         "content":"这里填写您要检测的文本",
         "time":datetime.datetime.now().microsecond
        }
# 文本垃圾检测: antispam
request.set_content(HttpContentHelper.toValue({"tasks": [task1], "scenes": ["antispam"]}))
response = clt.do_action_with_exception(request)
print(response)
result = json.loads(response)
if 200 == result["code"]:
    taskResults = result["data"]
    for taskResult in taskResults:
        if (200 == taskResult["code"]):
             sceneResults = taskResult["results"]
             for sceneResult in sceneResults:
                 scene = sceneResult["scene"]
                 suggestion = sceneResult["suggestion"]
                 # 根据scene和suggetion做相关处理
                 # do something

文本反垃圾结果反馈

如果您认为我们的文本检测结果与您的期望不符,您可以通过文本垃圾结果反馈接口纠正算法检测结果。

系统会将您反馈的结果添加进相似文本黑库或相似文本白库,在您下次提交相似的内容进行检测时,以您通过反馈接口传递的label作为结果返回。具体接口说明请参考文本反垃圾结果反馈API文档

接口描述
接口 功能 支持的Region 描述
TextFeedbackRequest 文本反垃圾结果反馈。 cn-shanghaicn-beijing 通过反馈检测的结果将原有检测结果进行纠正。
示例代码
#coding=utf-8
# 调用文本检测反馈接口
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import TextFeedbackRequest
from aliyunsdkgreen.request.extension import HttpContentHelper

# 请替换成您自己的accessKeyId、accessKeySecret。
clt = client.AcsClient("您的accessKeyId", "您的accessKeySecret",'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = TextFeedbackRequest.TextFeedbackRequest()
request.set_accept_format('JSON')

# taskId表示需要反馈的任务Id, label表示您要反馈的文本的实际结果
request.set_content(HttpContentHelper.toValue({"taskId": "txt6z3Na17XbrD4P7QdJzYbk1-1q4seJ", "label": "normal"}))
response = clt.do_action_with_exception(request)
print(response)