使用Python SDK对文本内容进行垃圾内容或关键字检测。

接口描述

TextScanRequest
功能 支持的Region 描述
文本扫描接口 cn-shanghaicn-beijing 支持文本垃圾检测(scene=antispam)和文本关键词检测(scene=keyword)。
说明 提交检测的文本长度不长于10,000个字符。

自定义关键词

文本垃圾检测支持自定义关键词。例如添加一些竞品关键词等,您可以前往云盾内容安全控制台进行设置。支持批量导入关键词,关键词编码请使用UTF-8;批量导入的关键词默认自动对接口生效,生效延时约为15分钟。

检测结果说明
  • 文本垃圾检测(scene=antispam)返回结果判断依据:
    • suggestion == pass 未命中垃圾
    • suggestion == block 命中了垃圾,可以通过label字段查看命中的垃圾分类
  • 关键词检测(scene=keyword)返回结果判断依据:

    • suggestion == pass 未命中关键词
    • suggestion == block 命中了关键词,可以通过label字段查看命中的关键词分类

调用示例

#coding=utf-8
# 调用文本检测
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import TextScanRequest
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
# 关键词检测: keyword
request.set_content(bytearray(json.dumps({"tasks": [task1], "scenes": ["antispam"]}), "utf-8"))
response = clt.do_action(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"]
                 print suggestion
                 print scene
                 # 根据scene和suggetion做相关处理
                 # do something