短文本相似度
比较文本最大限制长度:512字节

请求参数

参数 类型 是否必须 描述

text_1  string  是   待比较文本1(GBK编码),最大512字节
text_2  string  是   待比较文本2(GBK编码),最大512字节
model   string  否   默认为"BOW",可选"BOW"、"CNN"与"GRNN"

关于模型选择
短文本相似度接口,可由用户自主选择合适的模型:

  • BOW(词包)模型

基于bag of words的BOW模型,特点是泛化性强,效率高,比较轻量级,适合任务:输入序列的 term “确切匹配”、不关心序列的词序关系,对计算效率有很高要求;

  • GRNN(循环神经网络)模型

基于recurrent,擅长捕捉短文本“跨片段”的序列片段关系,适合任务:对语义泛化要求很高,对输入语序比较敏感的任务;

  • CNN(卷积神经网络)模型

模型语义泛化能力介于 BOW/RNN 之间,对序列输入敏感,相较于 GRNN 模型的一个显著优点是计算效率会更高些。

调用次数:

短文本相似度 | 免费使用 | https://aip.baidubce.com/rpc/2.0/nlp/v2/simnet | 100000次/天免费 | 不保证并发

返回说明
返回参数

参数  描述  取值
log_id  uint64  随机数,请求唯一标识码
score   float   相似度结果取值(0,1],分数越高说明相似度越高

返回示例

{"log_id": 12345,"texts":{"text_1":"浙富股份","text_2":"万事通自考网"},"score":0.3300237655639648 //相似度结果
},

采用百度API和自己处理的python解析的优缺点说明

Image 1.png

下面我整理了一份 短文本比较的api接口,对文本做了长度,编码,特殊字符的处理。

<?php/** This file is part of PHP CS Fixer.* (c) Fabien Potencier <fabien@symfony.com>*     Dariusz Rumiński <dariusz.ruminski@gmail.com>** This source file is subject to the MIT license that is bundled* with this source code in the file LICENSE.*/namespace App\Services;use App\Repositories\TextCompareRepository;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;class BaiduAiServices
{private $compare_url = 'https://aip.baidubce.com/rpc/2.0/nlp/v2/simnet?access_token=';private $token_url = 'https://aip.baidubce.com/oauth/2.0/token';private $cache_key = 'BAIDU_ACCESS';private $maxlength = 512;// 最大長度/*** 短文本相似度比較* @param text1* @param text2* @param model 可选"BOW"、"CNN"与"GRNN"* @return rate // 转换成gbk编码 否则报错// {"log_id": 1376946857059981358, // "error_code": 282002, // "error_msg": "input encoding error"}*/public function get_comapre_rate($text1, $text2, $model='BOW'){$access_token = $this->get_access_token();$url = $this->compare_url . $access_token;$t1 = $this->substr($text1);$t2 = $this->substr($text2);$t1 = $this->to_gbk($t1);$t2 = $this->to_gbk($t2);// 过滤非中文,数字,字母$t1 = $this->clean_emoji($t1);$t2 = $this->clean_emoji($t2);// $t1 = $this->filter_special($t1);// $t2 = $this->filter_special($t2);$param['text_1'] = $t1;$param['text_2'] = $t2;$param['model'] = $model;$result = $this->request_post($url, json_encode($param));$result = mb_convert_encoding($result,"UTF-8","GBK");if (!$result) {return false;}$result = json_decode($result, true);if (isset($result['error_code'])) {$msg = isset($result['error_msg']) ? $result['error_msg'] : '';Log::info('get compare text rate failed.info:' . $msg . ', text1:' . $param['text_1'] . ',text2:' . $param['text_2']);return false;} else {return $result;}}private function clean_emoji($text){$clean_text = "";// Match Emoticons$regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';$clean_text = preg_replace($regexEmoticons, '', $text);// Match Miscellaneous Symbols and Pictographs$regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';$clean_text = preg_replace($regexSymbols, '', $clean_text);// Match Transport And Map Symbols$regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';$clean_text = preg_replace($regexTransport, '', $clean_text);// Match Miscellaneous Symbols$regexMisc = '/[\x{2600}-\x{26FF}]/u';$clean_text = preg_replace($regexMisc, '', $clean_text);// Match Dingbats$regexDingbats = '/[\x{2700}-\x{27BF}]/u';$clean_text = preg_replace($regexDingbats, '', $clean_text);$regexDingbats = '/[\x{231a}-\x{23ab}\x{23e9}-\x{23ec}\x{23f0}-\x{23f3}]/u';$clean_text = preg_replace($regexDingbats, '', $clean_text);return $clean_text;}private function filter_special($str){$str = preg_replace("/[^\u4E00-\u9FFF]+/","", $str);return $str;}// 按照最长字节截取private function substr($str){$text_length = 0;$str = preg_replace_callback('/./u',function (array $match) use(&$text_length, &$length_arr) {$str_len = strlen($match[0]);if ($str_len >= 4) { // 过滤emojireturn '';} else {if (($text_length + $str_len) >= $this->maxlength) {return '';}$text_length += $str_len;return $match[0];}},$str);return $str;}/** 轉為簡體中文*/private function to_gbk($word){$table = config('s2table');return strtr($word, $table);}private function get_access_token(){$cache = Cache::get($this->cache_key);if (!$cache) {$cache = $this->create_access_token();}return $cache['access_token'];}private function create_access_token(){$post_data['grant_type']       = 'client_credentials';$post_data['client_id']      = config('constant.BAIDU_CLIENT_ID');$post_data['client_secret'] = config('constant.BAIDU_CLIENT_SECRET');$o = "";foreach ( $post_data as $k => $v ) {$o.= "$k=" . urlencode( $v ). "&" ;}$post_data = substr($o,0,-1);$res = $this->request_post($this->token_url, $post_data);$res = json_decode($res, true);$expires_in = $res['expires_in']; // 秒数Cache::put($this->cache_key, $res, $expires_in / 60);return $res;}private function request_post($url = '', $param = '') {if (empty($url) || empty($param)) {return false;}$postUrl = $url;$curlPost = $param;$curl = curl_init();//初始化curlcurl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Connection: Keep-Alive'));curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页curl_setopt($curl, CURLOPT_HEADER, 0);//设置headercurl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上curl_setopt($curl, CURLOPT_POST, 1);//post提交方式curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($curl);//运行curlcurl_close($curl);return $data;}
}

人臉庫

  • 獲取group
// get group
https://aip.baidubce.com/rest/2.0/face/v2/faceset/group/getlist?access_token=xxx
// response:
{"result":["demo"],"result_num":1,"log_id":3813784293030910}
  • 1:N人脸识别
    用于人脸库中一对一检测。检测图片中的人(单人)是否在人脸库中,存在则返回。
/*** 人臉檢測** @param  $image data base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M* @return array*/public function face_detect($image_data){$access_token = $this->get_access_token();$url = config('constant.BAIDU.HOST') . str_replace('{VERSION}', config('constant.BAIDU.VERSION'), config('constant.BAIDU.FACE.FACE_DETECT_ENDPOINT')) . '?access_token=' .  $access_token;$content_type = 'application/x-www-form-urlencoded';$data['image'] = $image_data;$data['max_face_num'] = $this->max_face_num;$data['face_fields'] = 'age,beauty,expression,faceshape,gender,glasses,race,qualities';$result = $this->request_post($url , $data, $content_type);return $result;}
  • 人脸认证
    用于识别上传的图片是否为指定用户,即查找前需要先确定要查找的用户在人脸库中的id。

  • M:N人脸识别
    待识别的图片中,存在多张人脸的情况下,支持在一个人脸库中,一次请求,同时返回图片中所有人脸的识别结果。

  • 文章标签
    文本标签服务对文章的标题和内容进行深度分析,输出能够反映文章关键信息的主题、话题、实体等多维度标签以及对应的置信度,该技术在个性化推荐、文章聚合、内容检索等场景具有广泛的应用价值。

参数名 类型 说明 是否必填
title string 文章标题(GBK编码),最大80字节 必填
content string 文章内容(GBK编码),最大65535字节 ,大约64KB 必填

BODY 请求参数说明

参数名 类型 说明 是否必填
title string 文章标题(GBK编码),最大80字节 必填
content string 文章内容(GBK编码),最大65535字节 ,大约64KB 必填

图像审核

价格和免费额度:
https://ai.baidu.com/docs#/ImageCensoring-Pricing/top

身份验证有文档,但是这个估计是属于公安特殊接口,需要申请。
​ 目前公安验证接口,暂不对外开放(在应用管理中无法自行勾选),需要您申请客户端SDK成功后自动赋权给您的账户。若您需要单独使用公安验证接口而无需使用SDK,请通过商务方式告知百度方面,百度方面配置完毕后,即可开启此appid的调用权限。
https://ai.baidu.com/docs#/FacePrint/47eb863d

图片识别

目前有car,animal,plant,logo,dish,图像主体位置,通用物和场景识别等几种识别类型。如果你想自定义图像类别,可以在http://ai.baidu.com/customize/ 做自定义化。logo也可以自定义,但是需要开通企业认证。

2018-03-05 百度AI API说明相关推荐

  1. Arduino接入DFrobot EasyIOT实验(Arduino+APP Inventor+EasyIOT+百度AI API+Python数据可视化)

    概述: 主流的公有云IOT平台对于积极学习物联网技术中小学生来说难度过大,使用不便,得益于DFrobot推出的EasyIO平台T和OBLOQ串口转WiFi模块,让这一切变得简单且可行.本文将介绍一个基 ...

  2. python 人像合成_「百度AI API」Python实现人像动漫化

    WechatIMG1.jpeg 想看自己的漫画脸?用不着下快手抖音,这篇文章的目的就是使用Python来实现人像动漫化的效果. 首先,这里是我们使用的人像动漫化API的主页:人像动漫化-百度AI开放平 ...

  3. 百度文本审核api_利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号 进入 ...

  4. application实现网页计数_利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号 进入 ...

  5. 基于百度地图API在AI Studio上的卫星地图块图像处理与分类

    基于百度地图API在AI Stduio上的瓦片地图块图像处理与分类 项目介绍 本项目基于百度地图API获取了不同的瓦片地图并进行合并等处理,可用于遥感和抽象地图的地图块的图像分类.分割.检测等数据的制 ...

  6. Java调用百度AI开放平台API

    百度AI开放平台 百度AI开放平台是全球领先的人工智能服务平台,面向开发者及企业开放120多项全球领先的AI能力和软硬一体组件,并提供 EasyDL定制化训练平台.对话系统开发平台UNIT.自定义模板 ...

  7. (总)百度AI 平台API调用

    近来要了解自然语言处理方面的技术,拿百度API做个实验对,进行多次编码尝试最终成功调用. 在本人博客百度API使用系列,使用python代码实现.涉及内容如下: AccessToken获取 自然语言A ...

  8. python实现文本审核_百度AI文本审核API使用说明

    虽然,虽然,虽然,今天: 百度发布了2019年第一季度未经审计的财务报告.本季度百度营收241亿元人民币(约合35.9亿美元),同比增长15%,移除业务拆分收入影响,同比增长21%.低于市场预期242 ...

  9. Python3 图片文字识别翻译——调用百度AI、百度翻译和有道翻译的API

    文章目录 Python3 图片文字识别翻译--调用百度AI.百度翻译和有道翻译的API 一.演示 二. API准备 三. 图片文字识别--调用百度AI文字识别API 四. 文字翻译 1. 百度翻译 请 ...

  10. 百度AI接入api使用流程

    文章目录 前言 使用步骤 1.创建应用获取AK(API Key),SK(Secret Key) 1.1进入: [百度AI 官网](https://ai.baidu.com/),在开放能力下面找到:人像 ...

最新文章

  1. C#.NET 中的类型转换
  2. python获取当前时间的函数_java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数...
  3. dev 获取gridview没有rows属性_虚拟黑群晖不直通也可以获取到SMART?
  4. android系统应用开发_利用ADB工具免root停用Android系统应用
  5. 苹果的工作官方检索地址
  6. 1.Android中解析json程序代码
  7. Java知识整理——ServletJSP
  8. 火车票售票系统mysql_2021年元旦火车票今日开售!具体开售时间是几点?
  9. Activiti 5.16 用户手册
  10. python统计pdf字数代码_Python基本数据统计.pdf
  11. 如何把拼音放在文字的右侧,干货到,在WORD中怎么把拼音和汉字同排
  12. office2003注册序列号CAB文件丢失…
  13. C/C++, STM32,KEIL warning: #175-D: subscript out of range
  14. 12306泄露数据可视化分析
  15. 带参数的公众号二维码 生成+后台拦截java
  16. 红米手机5A怎么卡刷开发版获取Root权限
  17. 软件工程第三次作业——软件质量保证鄙见
  18. 共射级放大电路—密勒电容影响下的压摆率
  19. 索尼Xperia S_4.0一键ROOT工具┇_┇免解锁┇_┇一分钟ROOT┇_┇
  20. win10 / linux计划任务

热门文章

  1. 第三方支付4(前端实现支付)
  2. 网络计算机组显示不全,快速解答win7系统网络邻居显示不全只能看到2台计算机的法子...
  3. python颜色对照表及颜色搭配
  4. 天翼云服务器搭建网站必须要知道的血泪史!
  5. 使用ccproxy代理服务器上网
  6. 5G学习(三)-SSB与初始接入
  7. LeetCode-75. 颜色分类(荷兰国旗问题)
  8. “掌上理财”项目总结
  9. 英雄无敌6服务器在哪个文件夹,英雄无敌6无法进入游戏解决方法_单机攻略_快吧单机游戏...
  10. 神经网络算法用什么软件,神经网络计算机应用