【GCP】Q&A自動回答botを作ろう〜実装編②〜【Dialogflow】

こんにちは!4号です!

前回はDialogflowの管理画面について軽く説明しました。
今回は第三弾!
AGENTの中身をいじっていきましょう!!

AGENTを作成するとIntentsという画面に遷移します。
Intentsには、予想されるユーザーからの入力とそれに対する返答を登録します。
ユーザーから入力があった時、Dialogflowは適切なIntentを探し出して、そのIntentに登録されている返答を返します。
まあ説明が難しいので、Intentとはユーザーからの投げかけとそれに対する返答のかたまりのことだと思ってください。

そして既に2つIntentが登録されていますが、これらは少し特殊なIntentで
「Default Welcome Intent」は、このAGENTを開いた時に一番最初に実行されるIntentで、
「Default Fallback Intent」は、ユーザーからの入力がどのIntentにも当てはまらなかった時に実行されるIntent
となっております。

それではIntentを作ってみましょう。
右上の「CREATE INTENT」というボタンを押してください。

相変わらずめっちゃ英語です()
でも基本的には今から説明する2か所入力するだけで作れるのでご安心を。

まずはTraining phrasesという欄のADD TRAINING PHRASESを選択してください。
そうすると文字入力欄が出てきます。
ここに入力するのは「想定されるユーザーからの入力」です。
今回であれば、Q&Aを作っていくので「想定されるユーザーからの質問文」を入力していく事になります。
ここでは「経費精算のやり方を教えて」という文章を入力します。

入力してEnterを押すと、入力欄が一つ増えました。
本来であれば、ここにどんどんPhraseを増やしていって、質問文を拾える範囲を広げていくのですが、キリがないと思うのでやりません。

「想定されるユーザーからの質問文」を入力できたら「それに対する返答」を入力します。
ちょっと下のほうにスクロールするとResponsesという欄があるので、そこのADD RESPONSEを選択してください。
そうすると、また文字入力欄がでてくるのでそこに返答を入力していきます。
弊社ではrakumoというツールで経費申請をしているので「rakumoというツールから申請できます」という文章を入力します。

こちらも入力してEnterを押すと、入力欄が1行増えました。
Responseも複数登録できるようになっています。
複数登録したら、Intentが実行されたときその中からランダムで返事を返す仕様になっています。

基本的にはこの2か所さえ入力すれば、「ユーザーからの入力→返答」という流れが作成出来るようになってます。
ここまできたら右上のSAVEボタンを押してください。

そうしたらIntentが正しく実行されるかテストしてみましょう。

右側に「Try it now」という文字入力欄があるのでそちらに「経費精算のやり方を教えて」と入力してEnterを押してみます。

INTENTやRESPONSEの内容をみた感じ、正しく実行されているのが確認できましたね。
また、少し文を変えても汲み取ってIntentを実行してくれるので試してみると良いでしょう。

次回は作成したAGENTをwebサイトに埋め込む方法を解説します!
乞うご期待!

野村 航平

高専でC・Java、プログラミングスクールにてRuby・JavaScript・SQL・AWSなどを学習後、現在のヒカリシステムに入社。
木下さんの弟子をやらせてもらっています。

関連記事