tp5 封装阿里云敏感词检测接口

PHP SDK开发包下载
https://help.aliyun.com/knowledge_detail/50180.html?spm=5176.7850179.2.1.5BZP9q
<?php
namespace Potting;
include_once 'Aliyun/aliyun-php-sdk-core/Config.php';
use Green\Request\V20170112 as Green;
class TextScan{
private static $accessKeyId='';
private static $accessKeySecret='';
static public function text($content){
date_default_timezone_set("PRC");
$iClientProfile = \DefaultProfile::getProfile("cn-shanghai", self::$accessKeyId, self::$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' => $content
);
/**
* 文本垃圾检测: antispam
* 关键词检测: keyword
**/
$request->setContent(json_encode(array("tasks" => array($task1),
"scenes" => array("antispam"))));
try {
$response = $client->getAcsResponse($request);
$result=array();
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;
$result=$taskResult;
}
}else{
print_r("task process fail:" + $response->code);
}
}
}else{
print_r("detect not success. code:" + $response->code);
}
$result=$result->results[0];
$data=array();
if($result->label == 'normal'){
$data['code']=true;
$data['label']=$result->label;
}else{
$data['code']=false;
$data['label']=self::getlabel($result->label);
}
return $data;
} catch (Exception $e) {
print_r($e);
}

}
static private function getlabel($label){
    switch ($label){
        case  'normal':
            return '正常文本';
            break;
        case  'spam':
            return '输入的内容含垃圾信息';
            break;
        case  'ad':
            return '输入的内容含广告';
            break;
        case  'politics':
            return '输入的内容含渉政';
            break;
        case  'terrorism':
            return '输入的内容含暴恐';
            break;
        case  'abuse':
            return '输入的内容含辱骂';
            break;
        case  'porn':
            return '输入的内容含色情';
            break;
        case  'flood':
            return '输入的内容含灌水';
            break;
        case  'contraband':
            return '输入的内容含垃违禁';
            break;
        case  'customized':
            return '输入的内容包含敏感词';
            break;
        default:
            return '';
            break;
    }
}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,438评论 19 139
  • 01.{ 换行: Opening Brace Can't Be Placed on a Separate Lin...
    码农不器阅读 2,474评论 0 14
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,211评论 6 13
  • 股票市场中需要有两方面特别考虑。一方面就是市场中的水,也就是资金量的多少。资金面涉及国家的货币政策以及全球的货币政...
    1be9e6600e94阅读 558评论 0 0
  • 近来做了个项目基本上都是加载Web页,心里那是一个爽啊,都是直接给个链接完事,太他妈爽了,根本都不用写界面,爽爽爽...
    小呆鸟阅读 271评论 0 2

友情链接更多精彩内容