1. 下载百度AI平台的 PHP SDK
-
本文的中文分词操作通过调用百度AI平台的自然语言处理接口实现。
-
百度AI的接口调用有两种方式:
(1) HTTP方法调用。
(2) 下载SDK,调用SDK中的类方法(本文采用此方法)。
2. SDK导入
- 将下载、解压后的SDK导入ThinkPHP框架目录
3. 修改命名空间
-
AipBase.php 文件
-
AipHttpClient.php 文件
-
AipNlp.php 文件
4. 创建百度AI应用
-
在百度AI平台创建应用
-
应用名称、应用描述随便写,应用归属选个人,接口勾选自然语言处理(一般默认勾选了)
-
点击创建应用管理
-
查看AppID,API Key,Secret Key
5. 上代码(调用接口)
-
在application目录下自定义模块和控制器实现如下代码。
- 词法分析,调用百度AI接口实现分词,返回数组。
/** * 词法分析 * @author Why * @param string $content 待分析文本 * @return string $resStr 返回结果 */ public function anaWords($content) { //获取config\baidu.php文件中的百度AI配置信息 $AppId = '填写自己应用的AppId'; $ApiKey = '填写自己应用的ApiKey'; $SecretKey = '填写自己应用的SecretKey'; //建立调用百度AI接口的对象 $client = new AipNlp($AppId, $ApiKey, $SecretKey); //调用接口 $res = $client->lexer($content); //解析数组 $resStr = $this->anaArr($res); return $resStr; }
- 解析数组,解析百度AI接口返回的数组,解析为字符串
/** * 解析数组 * 格式:百度是一家高科技公司。 * 解析后:百度 / 是 / 一家 / 高科技 / 公司。 * * @param array $content 待解析数组 * @return string $resStr 解析结果 */ public function anaArr($content){ $resStr = ' '; $end = count($content['items']); for($i = 0; $i < $end; $i++){ $value = $content['items'][$i]['item']; $resStr .= ($value . ' / '); } return $resStr; }