文本反垃圾检测

本文介绍了如何使用PHP SDK文本反垃圾接口,对文本内容进行色情、暴恐、涉政等风险进行识别。

功能描述

文本反垃圾接口目前仅支持同步检测。关于参数的详细说明,请参见文本同步检测

一次请求可以检测多条文本,也可以检测单条文本。按实际检测的文本条数进行计费,请参见计费概述

前提条件

已安装PHP依赖。关于安装PHP依赖的具体操作,请参见安装PHP依赖

说明

请一定按照安装PHP依赖页面中的版本安装,否则会导致调用失败。

文本内容检测

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

您可以前往内容安全控制台添加关键词,也可以通过API接口添加关键词。

接口

描述

支持的Region

TextScanRequest

提交文本反垃圾检测任务,检测场景参数请传递antispam(scenes=antispam)。

  • cn-shanghai:华东2(上海)

  • cn-beijing:华北2(北京)

  • cn-shenzhen:华南1(深圳)

  • ap-southeast-1:新加坡

示例代码

<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;

try {
   /**
     * 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
     * 常见获取环境变量方式:
     * 获取RAM用户AccessKey ID:getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
     * 获取RAM用户AccessKey Secret:getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
     */
    AlibabaCloud::accessKeyClient('建议从环境变量中获取RAM用户AccessKey ID', '建议从环境变量中获取RAM用户AccessKey Secret')
        ->timeout(10) // 超时10秒,使用该客户端且没有单独设置的请求都使用此设置。
        ->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,使用该客户端且没有单独设置的请求都使用此设置。
        ->regionId('cn-shanghai')
        ->asDefaultClient();

    $task1 = array('dataId' => '检测数据ID',
        'content' => '需要检测的文本内容'
    );
    /**
     * 文本垃圾检测:antispam。
     **/
    $result = Green::v20180509()->textScan()
        ->timeout(10) // 超时10秒,request超时设置,仅对当前请求有效。
        ->connectTimeout(3) // 连接超时3秒,当单位小于1,则自动转换为毫秒,request超时设置,仅对当前请求有效。
        ->body(json_encode(array('tasks' => array($task1), 'scenes' => array('antispam'), 'bizType' => '业务场景')))
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}