SHOWCASE GIG BLOG

LIST

2017.04.09

api.aiの利用方法

こんにちは、Showcase Gig ディレクターの永田です。
R&Dを行う中、api.aiを試してみましたので、利用方法を紹介いたします。

api.aiとは

api.aiとはBotを開発するためのプラットフォームです。
触ってみたところWatsonのNLCに割と近いサービスですが、音声からの入力であったり、住所など形式のある文言の抽出など、WatsonのNLCにはない機能もあります。
Googleに買収されたようですが、利用する限り特にGCPとの連携など「Google感」は今の所感じませんでした(笑)。

Agentの作成

左からAgentを作成します。
Agentという名前ですが、IDEで言う所のprojectやworkspaceのようなもので、プロジェクトの単位です。

名前はなんでも良いと思います。
言語やTimezoneの設定が可能です。

Entityの作成

ダッシュボードからEntityを作成します。
Entityとは意味のまとまりを定義するものです。
例えば”test”という言葉の意味に”試験”や”確認”といった意味を付与するときは下記のような入力になります。

数字やeメールアドレスなど、定型的なものを定義したい場合は下記のように入力を定義します。

Define synonymsのチェックを外し、入力欄に@sysを入力すると候補が表示されます。
定型的な定義にどういうものがあるかは、こちらに記載されています。
定型的なものをなんという変数名にするかは”:”をつけて定義します。
下記の例では@sys.number:countと設定されてますが、その場合は数値はcountという変数名だということになります。

Intentの作成

Entityを設定したらIntentを作成します。
Intentは

  • User says
  • Action
  • Response

と入力欄があります。

まず、User saysにユーザーからの入力を入れてみます。
「試験」と入力してみると・・

先ほどEntityで設定した定義がActionとして設定されます。
testsampleというパラメータ名にEntityで設定した意味のまとまりを自動で設定してくれます。

「試験3回目」と入力すると・・

試験はtestsampleという意味のまとまり、3回目はtestcountという意味のまとまりに分類してくれました。
このようにUser saysにユーザーが入力するであろう文言を入力すると自動にIntentを設定してくれます。

Responseでは分類された文言を元に回答する言葉を設定できます。
例えば下記の入力では

“テスト$testcount回も大変ですね”と入力していますが、$testcountには分類された数値が入力された形で文言が作られます。

レスポンスの確認

これまで設定した内容を確認してみましょう。
“試験3回目”と入力すると正しくIntentが分類され、レスポンスの文言が返ってきていることがわかります。

レスポンスはjsonでも確認できます

API経由での接続

次回API経由での利用について記載したいと思います。

参考

api.aiドキュメント
「会話型」はUIの最終形なのか?「api.ai」のCEOに聞く、IoTの未来
自然言語によるコンピューターとの会話を実現するAPI集のAPI.AIをGoogleが買収

カテゴリー: GIGの日常BLOG /