使用PHP SDK文本反垃圾接口对文本内容进行色情、暴恐、涉政等风险进行识别。
背景信息
文本反垃圾接口目前仅支持同步检测。
一次请求可以检测多条文本,也可以检测单条文本。按实际检测的文本条数进行计费,请参见计费方式。
准备工作
在进行具体的服务调用之前,请完成以下准备工作:
- 创建阿里云AccessKey。关于阿里云AccessKey的具体操作,请参见创建AccessKey。
- 安装PHP依赖。关于安装PHP依赖的具体操作,请参见安装PHP依赖。
文本内容检测
文本垃圾检测支持自定义关键词,例如添加一些竞品关键词等。如果被检测的文本中包含您添加的关键词,算法会返回您suggestion=block。
您可以前往云盾内容安全控制台添加关键词,也可以通过API接口添加关键词。关键词编码请使用UTF-8,关于接口的说明,请参见文本反垃圾API文档。
接口 | 描述 | 支持的Region |
---|---|---|
TextScanRequest | 提交文本反垃圾检测任务,检测场景参数请传递antispam(scenes=antispam)。 |
|
示例代码
<?php
include_once 'aliyuncs/aliyun-php-sdk-core/Config.php';
use Green\Request\V20180509 as Green;
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", "您自己的AccessKeyId", "您自己的AccessKeySecret");
DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);
$request = new Green\TextScanRequest();
$request->setMethod("POST");
$request->setAcceptFormat("JSON");
$task1 = array('dataId' => uniqid(),
'content' => '需要检测的文本内容'
);
/**
* 文本垃圾检测:antispam。
**/
$request->setContent(json_encode(array("tasks" => array($task1),
"scenes" => array("antispam"))));
try {
$response = $client->getAcsResponse($request);
print_r($response);
if(200 == $response->code){
$taskResults = $response->data;
foreach ($taskResults as $taskResult) {
if(200 == $taskResult->code){
$sceneResults = $taskResult->results;
foreach ($sceneResults as $sceneResult) {
$scene = $sceneResult->scene;
$suggestion = $sceneResult->suggestion;
// 根据scene和suggetion做相关处理。
// 根据不同的suggestion结果做业务上的不同处理。例如,将违规数据删除等。
}
}else{
print_r("task process fail:" + $response->code);
}
}
}else{
print_r("detect not success. code:" + $response->code);
}
} catch (Exception $e) {
print_r($e);
}
文本反垃圾结果反馈
如果您认为我们的文本检测结果与您的期望不符,您可以通过文本垃圾结果反馈接口纠正算法检测结果。
系统会将您反馈的结果添加进相似文本黑库或相似文本白库,在您下次提交相似的内容进行检测时,以您通过反馈接口传递的label作为结果返回。关于接口的说明,请参见文本反垃圾结果反馈API文档。
接口 | 描述 | 支持的Region |
---|---|---|
TextFeedbackRequest | 提交文本反垃圾检测结果的反馈,以人工反馈的检测结果纠正算法检测结果。 |
|
示例代码
<?php
include_once 'aliyuncs/aliyun-php-sdk-core/Config.php';
use Green\Request\V20180509 as Green;
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", "您自己的AccessKeyId", "您自己的AccessKeySecret");
DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);
$request = new Green\TextFeedbackRequest();
$request->setMethod("POST");
$request->setAcceptFormat("JSON");
$task1 = array('dataId' => uniqid(),
'content' => '需要检测的文本内容'
);
/**
* 文本垃圾检测: antispam。
**/
$request->setContent(json_encode(array("taskId" => 'test taskId', "content" => "需要检测的文本内容",
"label" => 'spam')));
try {
$response = $client->getAcsResponse($request);
print_r($response);
} catch (Exception $e) {
print_r($e);
}
在文档使用中是否遇到以下问题
更多建议
匿名提交