[PHP]A3RTのTalk APIを利用してチャットボットを作ってみた

2019年7月19日

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;

?>

 

以上となります。