云服务器
文智自然语言处理(Natural Language Processing)基于并行计算、分布式爬虫系统,结合独特的语义分析技术,一站满足NLP、转码、抽取、数据抓取等需求,基于文智API可实现搜索、推荐、舆情、挖掘等功能。本实验带您通过 NPL 获取指定语句的情感分析结果。
首次可免费使用云主机 1 小时 ,到期后云主机将被重置并退库,若想保留成果请及时留用。
# 体验自然语言处理 by PHP SDK
## 准备工作
> <time>20min ~ 30min</time>
### 获取免费额度
文智为新手提供了免费的额度,访问[文智应用管理][https://console.qcloud.com/nlp/manage_app.cgi]可以领取[新手专享包][out-of-quota]。
注:如果您账户中没有足够的文智 API 调用次包额度,将无法正常完成本实验。
> <bubble for="out-of-quota">
> 如果您已使用完免费额度,可以直接购买商业套餐。
> </bubble>
### 获取 SecretId 和 SecretKey
前往 [密钥管理][https://console.qcloud.com/capi] 页面获取你的 SecretId 和 SecretKey 信息,这些信息将会在调用接口的时候用到。
如果你还没有创建过密钥,可以在该页面点击 `+新建密钥` 按钮创建一个。
### 创建相关目录
在根目录下创建 `data` 目录,之后操作中相关的代码均放置在此目录下(注:若目录已存在则直接跳过本步骤)。
```
mkdir /data
```
> <checker type="output-contains" command="[ -d '/data' ]; echo $?" hint="创建目录 /data">
> <keyword regex="0" />
> </checker>
### 安装 Git 工具和 PHP 环境
```
yum install -y git php php-common php-devel
```
> <checker type="output-contains" command="ls /usr/bin" hint="PHP 未安装">
> <keyword regex="php" />
> </checker>
> <checker type="output-contains" command="ls /usr/bin" hint="Git 未安装">
> <keyword regex="git" />
> </checker>
### 安装 qcloudapi-sdk-php
执行以下命令:
```
cd /data && git clone https://github.com/QcloudApi/qcloudapi-sdk-php
```
> <checker type="output-contains" command="ls /data" hint="qcloudapi-sdk-php 未安装">
> <keyword regex="qcloudapi-sdk-php" />
> </checker>
## 使用 SDK 体验文智的自然语言处理
> <time>30min ~ 40min</time>
### 编写代码
在 /data/qcloudapi-sdk-php 下创建 [wenzhi.php][wenzhi-filepath] 文件,[Ctrl + S][save-init] 保存,内容如下(注:将 `SecretId` 和 `SecretKey` 字段修改为对应取值):
> <bubble for="save-init">
> Mac 用户请按键盘 `Cmd + S` 进行保存
> </bubble>
> <locate for="wenzhi-filepath" path="/data/qcloudapi-sdk-php" hint="右键新建 wenzhi.php 文件"/>
```php
/// <example verb="create" file="/data/qcloudapi-sdk-php/wenzhi.php" />
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once './src/QcloudApi/QcloudApi.php';
$config = [
'SecretId' => 'AKIDqZ7TdauUGXkqpcufxAGKNJ3av41lgfpn',
'SecretKey' => 'ueCYjjW7WjBSXP5ZsGUbceVHsKadVCg6',
'RequestMethod' => 'POST',
'DefaultRegion' => 'gz'
];
$wenzhi = QcloudApi::load(QcloudApi::MODULE_WENZHI, $config);
$package = [
"content" => "李亚鹏挺王菲:加油!孩他娘。"
];
$result = $wenzhi->TextSentiment($package);
if ($result === false) {
$error = $wenzhi->getError();
echo "Error code:" . $error->getCode() . "\n";
echo "message:" . $error->getMessage() . "\n";
echo "ext:" . var_export($error->getExt(), true) . "\n";
} else {
var_dump($result);
}
```
> <checker type="output-contains" command="ls /data/qcloudapi-sdk-php" hint="wenzhi.php 文件未创建">
> <keyword regex="wenzhi.php" />
> </checker>
### 体验文智的自然语言处理
执行以下命令,就可以得到对 "李亚鹏挺王菲:加油!孩儿他娘。" 这句话的情感分析结果。
```
cd /data/qcloudapi-sdk-php && php wenzhi.php
```
得到类似如下的结果, 证明调用成功。
```
array(3)
["codeDesc"]=>
string(7) "Success"
["positive"]=>
float(0.99481022357941)
["negative"]=>
float(0.0051898001693189)
}
```
各字段的含义如下:
positive 正面情感概率
negative 负面情感概率
code 0表示成功,非0表示失败
message 失败时候的错误信息,成功则无该字段
文智的更多相关接口和文档, 请访问 [文智-文档中心][https://cloud.tencent.com/document/api/271/2049] 获取更多信息。
### 大功告成
恭喜您已经完成了体验自然语言处理 by PHP SDK 的学习。