[PHP]A3RTのTalk APIを利用してチャットボットを作ってみた
docomo Developer supportの自然対話(雑談対話)APIが2019年6月末で終了しました。結局自然対話(雑談対話)APIも1年しか提供されなかったですね。
今後はRepl-AIに移行して欲しい様なんですが、使い勝手がどうしても相性が悪いので、別のAPIを探してみました。
リクルートがAPIを出していた
リクルートテクノロジーがA3RT(アート)という名称(略称)で人工知能・機械学習のAPIを公開してました。A3RTの各種APIはメールアドレスを登録するだけAPIが発行され、無償で利用が出来ます。
今回はA3RTのTalk APIを利用し、PHPでチャットボットを作ります。

Talk APIを利用し、PHPで作ってみた
基本的には自然対話(雑談対話)APIで利用していたソースを少し変更しただけです。
<?php
class aireq{
var $apikey = "********************"; // 取得したAPI KEY
function ai_msg($text){
$url = 'https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk';
$request = array(
'apikey' => $this->apikey,
'query' => $text
);
$headers = array(
'Content-Type: application/json; charset=UTF-8',
);
$options = array('http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded;charset=UTF-8',
'content' => http_build_query($request, '', '&', PHP_QUERY_RFC3986)
));
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$res = json_decode($response);
return $res->results[0]->reply;
}
}
$aireq = new aireq();
$text = urldecode("おはよう");
// 発言
$msg["airespo"] = $aireq->ai_msg($text);
$msg["txt"] = $text;
$json = json_encode($msg);
header("Content-Type: text/javascript charset=utf-8");
print $json;
?>
以上となります。






ディスカッション
コメント一覧
まだ、コメントがありません