チャットボットの作り方シリーズの記事を読む
- はじめに
- レスポンスの設定方法
- INTENTとは
- 「おはよう」と言うと、「おはよう。元気ですか?」と返すIntentを作成
- 「おはよう」の言い回しを考える
- おわりに
- 「Default Fallback Intent」について
はじめに
前回の記事の続きです。
前回はチャットボットの外側(Agent)を作ったので、会話ができるように中身となる学習方法について綴ります。
今回は受け答えができるように学習させていくよ
【第1回:準備編】チャットボットの作り方。DialogFlowで簡単作成!の記事を読む
レスポンスの設定方法
前回の記事でDialogFlowのAgentの名前を決めたので、対話を学習させていきます。
英語ばっかりで小難しく見えますが、ひとつ作ってみたら簡単に要領がつかめると思います。
今回覚える単語は「INTENT(インテント)」だよ
INTENTとは
「Intent」とは、「このフレーズがきたら、こう返事をする」を学習させておくものとなります。
前回の記事で「こんにちは」と聞くと、「こんにちは」と返したのは、最初からIntentsが登録してあるからです。
あいさつのIntentによって「こんにちは」と返事をしてくれるんですね。
INTENTの中身
左メニューにある「Intents」をクリックしてみると、
下記の画面のように2種類のIntentが入っていることがわかります。
「Default Fallback Intent」と「Default Welcome Intent」が最初から登録されていますね。
その中のひとつ「Default Welcome Intent」をクリックして中身を見てみましょう。
Default Welcome Intentの中身
このような表示になったところで、画面中央「Training phrases」の下部にある日本語を眺めてみてください。
「久しぶり」「今日は」「こんにちは」…とありますね。
更に下部へスクロールして、
「Responses」の中を見てみましょう。
「こんにちは!」とあります。
つまり、
「Response」=こう返事をする
といった関係となっています。
前回の記事で「こんにちは」とメッセージを入力したら、「こんにちは!」と返したのはこのためです。
フレーズにある「どうも」と入力しても「こんにちは!」と返事をします。
そして「おはよう」と言っても、「よくわかりません」と言われたのは「Training phrase」に「おはよう」が登録されていないからなんですね。
では、この関係を覚えたら、早速オリジナルのIntentを作ってみましょう。
「おはよう」と言うと、「おはよう。元気ですか?」と返すIntentを作成
今回はIntentsで「おはよう」と言うと、「おはよう。元気ですか?」と返すIntentを作成します。
左メニューのIntentをクリックして、右上「CREATE INTENT」から新しいINTENTを作っていきましょう。
(「Default Welcome Intent」が表示されている時に
Are you sure you want to navigate away from this page without saving?
(セーブしないで戻ってもいい?)
とポップアップが出たら、気にせずOKを押します)
初めてCREATEすると、下記画面のようなアイコンが並ぶかと思います。
まずは一番上にある「Intent name」と書いてあるところに、新たなIntentの名前を入力します。
好きな名前を付けて良いですが、後から分かりやすいように「ohayo」としました。(英語表記推奨)
(これから「おはよう」と聞かれたときの返事を学習したIntentを作るため)
そして「Training Phrase」などで学習をしていくわけですが、グーグル翻訳した画面を並べてみました。
意味はとっても分かりにくいと思います
今はこんなのが有るんだな~ってくらいで良いです。
それぞれの内容についてはそのうち説明しますが、大事なものは2つ!
前述の、上から3つ目「Training Phrase」と5つ目「Response」です。
黄色の下線部分「ADD~~」をクリックするとそれぞれのカテゴリについての入力画面が現れます。
TrainingPhraseの設定
ではTrainingPhraseを作りましょう。
まずは「ADD Training Phrase」を押して、下記のように、TrainingPhraseの「Add user expression」の部分に「おはよう」と入力してEnterキーを押してください。
確定すると下記のように下の段に登録されます。
これで、TrainingPhraseの設定は完了です。
まずはトレーニンググレーズ「おはよう」を登録したよ。
Responseの設定
次に「ADD RESPONSE」をクリックして、
Responseの下部にある「Text Response」の部分に「おはよう。元気ですか?」と入力します。
(入力すると、自動的に2行目が追加されるので、エンターキーで確定する必要は無いです。)
ここまで出来たところで、右上「SAVE」を押し、
「DONE」と表示されるのを待ちます。
これでうぇいくbotに「おはよう」と聞かれたら「おはよう!元気ですか?」って返すように学習させたよ
動作確認
右上のマイクマークの横に「おはよう」と入力し、Enterキーを押すと、「おはよう。元気ですか?」と返してくれます。
画面右側「try it now」に「おはよう」と入力して、エンターキーを押したところ。
「おはよう。元気ですか?」と聞き返してくれています。
ここまでできたら、もう対話の基礎は完璧♪
「こんな言葉が入力されたら、botはこう答える」という事を、難しいプログラム無しで簡単に作ることができました。
「おはよう」の言い回しを考える
落ち着いた方が相手ならbotに対して「おはよう」って話しかけてくれるから、botも「おはよう。元気ですか?」って回答出来るよね。
でも、ちょっとイケイケで陽気な質問者だったら「おっはー」って言ってくるよね、きっと!
おっは-
でも、このうぇいくbotは、「おっはー」と入力しても、返事をしてくれない💦
その対策として「Training Phrase」には、「おはよう」と同じ意味を持つフレーズ(類語)を複数入力しておくことができます。
下記の画面のように、「おはようございます」の類語をなるべくたくさん入力してみてください。
どれかひとつでもヒットすれば、botは「Response」を返してくれます。
さらに「Text Response」も下記画面のように複数入れてみてください。
botがランダムでひとつを返してくれます♪
おはようの類語・関連語・連想語: 連想類語辞典
上記の画面のように入力して、「SAVE」ボタンを押して「DONE」が表示されたら、
マイクマークから「Training Phrase」のフレーズをひとつ選んで入力すると、
「Text Response」より一つランダムで選んで、返ってきます。
色んな返事をしてくれるbotの方が嬉しいよね
「ohayo」Intentと同じ手順で、「こんばんは」や「よろしくね」「好きなお菓子は」などの
Intentを作成していけば、色んなフレーズに対応できるようになります。
おわりに
今回は一つの問いかけに一つの答えを返す という基本的なIntentsの作成方法となりました。
しかし、たったこれだけでもチャットボットらしくなりますね✨
時間をかけて学習させるのがチャットボットの第一歩
次回は「表記の揺れ」についてを学習する内容を予定しています。
日本語って色んな言い回しがあるから、それをチャットボットに覚えてもらうよ
「Default Fallback Intent」について
本文では紹介しませんでしたが、最初から登録してある2種類の「INTENT」のうちの「Default Fallback Intent」について少し説明します。
このINTENTはどの「Training Phrase」にもヒットしない時に応答する言葉となります。
チャットボットがレスポンスに困ったときはこの「Default Fallback Intent」に登録されている「Text Response」を返事します。
なので「すみません。よく分かりませんでした。」「今のは少しわかりにくかったです。」などなど登録されています。
前回「おはよう」と言っても、一致するIntentが無かったので、「Default Fallback Intent」内の「Text Response」から回答されてました。
なので分からない言葉が来たときのphraseは自分のbotの性格に合った言葉に変えておくと良いですね✨
第3回は準備中