美文网首页
tp5 封装阿里云敏感词检测接口 --- 2020-11-25

tp5 封装阿里云敏感词检测接口 --- 2020-11-25

作者: 一位先生_ | 来源:发表于2020-11-25 15:46 被阅读0次

阿里云搜索安全文本 开通
接入文档并使用,具体可看文档
PHP SDK开发包下载

https://help.aliyun.com/knowledge_detail/50180.html?spm=5176.7850179.2.1.5BZP9q

<?php

namespace Admin/Controller;

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;

        }

    }

}


相关文章

网友评论

      本文标题:tp5 封装阿里云敏感词检测接口 --- 2020-11-25

      本文链接:https://www.haomeiwen.com/subject/ddeniktx.html