プログラミング不要で自然言語の会話可能なチャットボットを作れる Dialogflow を試してみました。人工知能(AI)って奴ですね。
Dialogflow は、あいまいな自然言語の質問からパターンを見つけ出し、質問の意図に合致した回答を導き出してくれます。
もともとは [ api.ai ] という名前だったんだけど、2016年9月19日に Google に買収されて [ Dialogflow ] という名前になったそうです。
ひとまず登録
▲ Dialogflow トップページ。
▲ Google アカウントでサインインします。
▲ 利用する Google アカウントを選択します。
▲ アクセス許可のダイヤログが出るので「許可」をクリック。
▲ プルダウンで「Japan」を選択し「ACCEPT」をクリック。
それでは、Dialogflow を使ってみます
▲ 「CREATE AGENT」をクリック。エージェントはボットの事で複数作ることができます。
▲ この画面はよくわかりません。ひとまず「CANCEL」をクリックします。
▲ エージェントを作成します。サンプルなので下記のように入力します。
- Agent name: 中華ボット
- DEFAULT LANGUAGE: Japanese – ja
- DEFAULT TIME ZONE: (GMT+9:00) Asia/Tokyo
▲ Agent の作成が終わったら Entities というタブをクリックして次のように入力します。Entities は同じ意味の同義語を入力していきます。
Entities 名に Menu と入力。この名前は半角英数字じゃないとダメなようです。
▲ Intents には予想される質問と回答のセットを登録します。
User says は様々な質問パターンを登録しておくと、良く学習してくれます。ユーザーが入力した質問の文言が少し違っていても、質問の意図を読み取って正しい回答をしてくれるようになります。
Intents の入力を確定すると Entitiy に登録してある単語が黄色くなり Entitiy とつながります。
Text response には返答を入力します。複数入力しておく事ができます。回答は複数個をランダムで出すほうが人工知能っぽくて良いと思います。
▲ User says の一部(上の例の場合は日付)が足らなかった場合に専用のレスポンスを返すことが可能です。
▲ [ Add follow-up intent ] を設定すると、ユーザーの答えに合わせて返答を切り替えることができます。ただ、インテントの名前が半角英数じゃないとうまく動かないみたい。
設定した内容は、画面右側のパネルでいつでも入力テストできます。
答えを用意していない質問があった追加して保存する
▲ 質問(Intents)として用意していない質問も Training というページにログとして残っています。
▲ クリックで質問を登録できます。
▲ 登録してなかった「ラーメン食べたい」が登録されています。
ウェブサイトに Dialogflow のチャットボットを貼り付ける
▲ Integrations から Web Demo を選択。
▲ 出てきたコードをサイトに貼り付けます。
▲ 実際の動作サンプルです。
HTML を自分でカスタマイズして、オリジナルデザインのチャットウインドウを作ることもできるようです。
わかったこと
- API コール数の制限は公表されていません。どうやら制限はないみたいです。
- 同じ Google アカウントでの同時ログインは出来ない。
- インポート・エクスポートできる。[ IMPORT FROM ZIP ] を選択すると現在の内容に追加する事ができる。
- [ Prebuilt Agents ] には汎用的に使えるエージェントが予め登録されている。中でも [ Small Talk ] は世間話ができる
- WikiPedia などの長い URL は短縮 URL にすると見栄えが良い。
- ユーザーの入力した文言を回答で利用できる。
Dialogflow を使ってみた感想
自然な感じの受け答えをするチャットボットを作るには、大量のインテントを登録する必要があります。この登録作業がけっこう大変。(^_^;)
Skype, LINE などとも連携できるみたいなので試してみたいです。