Dialogflowでチャットボットを作ってみた
GoogleのDialogflowで簡単なチャットボットを作成ししたみたので手順などご紹介します。
今回は、Dialogflowでチャットボットを作成しAction on GoogleのSimulatorで実行してみました。
Agentを作成
最初にDialogflowのページからAgentを作成します。
Agentの設定
AgentをCreateし、Agent name、DEFAULT LANGUAGE、DEFAULT TIME ZONEを設定します。
Intentを作成
ユーザーが入力するメッセージと、それに反応するレスポンスをIntentでに設定します。
アプリに接続後に表示するWelcomeメッセージを設定
アプリの接続したときのあいさつを設定します。
このIntentは、Welcomeメッセージだけでなくユーザーの入力にも反応します。
Training phrasesにユーザーが入力するメッセージを設定します。
入力したメッセージに対応するレスポンスのメッセージをResponsesに設定します。
コメビツくんのともだちを紹介してもらう
コメビツくんにともだちを紹介してもらう会話を設定してみます。
Training phrasesに、「ともだちは」「コメビツくんの仲間は」など数パターンを登録してみます。
Responsesに、コメビツくんがともだちを紹介するメッセージをキャラクターごとに設定します。
Integration
Welcomeメッセージとともだち紹介のIntentを作成したところで、Google Assistantのシミュレータを使って動作確認してみます。
IntagrationsからGoogle Asistantの「INTEGRATION SETTINGS」リンクを選択します。
Explicit invocationには、に接続した時に実行するIntentを設定します。
Implicit invocationには、その他のIntentを設定します。
Intentを設定したら、画面の下にある「TEST」を選択するとAction on GoogleのSimulatorが表示されます。
Simulatorでテスト
左下のSuggested inputの下に表示されている「コメビツくんにつないで」をクリックするか
Inputの「コメビツにつないで」でEnterキーを押すとアプリに接続されます。
この「コメビツにつないで」の「コメビツ」の部分は、InvocationのDirectory titleで変更できます。
アプリに接続されると、Explicit invocationに設定したIntentのレスポンスが返ってきます。
Explicit invocationには、「あいさつ」Intentを設定しています。
「あいさつ」IntentのTraining phrasesに登録した「こんにちは」や「こんばんは」をSimulatorで入力すると
「あいさつ」IntentのResponsesに登録したメッセージが返されます。
「ともだちは」Intentに設定した「コメビツくんの仲間は」や「ともだちは」をSimulatorで入力してみるとResponseに設定したメッセージが返ってきます。
Simulatorでエラーになる場合
今回、簡単なチャットボットですがSimulatorでアプリに接続できるまで少しハマってしまいました。
アプリに接続しようとすると下記のメッセージが表示されエラーになっていました。
We're sorry, but something went wrong. Please try again.
Google アカウントの「ウェブとアプリのアクティビティ」の設定が原因
いろいろ原因はあるようですが、アクティビティの設定で解決しました。
Google アカウントのアクティビティ管理で「ウェブとアプリのアクティビティ」をオンにします。
この状態でSimulatorで動かしてみましたが、まだ解決しません。
アクティビティ管理の「ウェブとアプリのアクティビティ」の下の方に下記のメッセージが表示されています。
「組織の現在の設定に基づき、この機能は無効になっています。この先、管理者が設定を変更した場合は、ここで選択した内容が有効になります。」
Dialogflowで使用していアカウントは会社のメールアドレスで、G Suiteで管理しています。
G Suiteの管理コンソールの「その他の Google サービス」で「ウェブとアプリのアクティビティ」を確認すると無効になっていました。
「ウェブとアプリのアクティビティ」を有効化します。
G Suiteの管理コンソールで「ウェブとアプリのアクティビティ」を有効化した後にGoogleアカウントの「ウェブとアプリのアクティビティ」を確認すると「組織の現在の設定に基づき、この機能は無効になっています。この先、管理者が設定を変更した場合は、ここで選択した内容が有効になります。」
のメッセージは消えていました。
この状態でGoogle AssistantのSimulatorでアプリに正常に接続できました。
Google on GooleのInvocationの設定が原因
Google on GooleのInvocationのInvocation nameの設定が影響し
下記のメッセージが表示される場合もありました。
We're sorry, but something went wrong. Please try again.
Invocation nameを未設定にしたり、他の文字列を設定すると正常に動作しました。