Close icon
2018月06日20日

Dialogflowでチャットボットを作ってみた

GoogleのDialogflowで簡単なチャットボットを作成ししたみたので手順などご紹介します。
今回は、Dialogflowでチャットボットを作成しAction on GoogleのSimulatorで実行してみました。

Agentを作成

最初にDialogflowのページからAgentを作成します。

Agentを作成

Agentの設定

AgentをCreateし、Agent name、DEFAULT LANGUAGE、DEFAULT TIME ZONEを設定します。

Agentの設定

Intentを作成

ユーザーが入力するメッセージと、それに反応するレスポンスをIntentでに設定します。

アプリに接続後に表示するWelcomeメッセージを設定

アプリの接続したときのあいさつを設定します。
このIntentは、Welcomeメッセージだけでなくユーザーの入力にも反応します。

Training phrasesにユーザーが入力するメッセージを設定します。

Intentの設定1

入力したメッセージに対応するレスポンスのメッセージをResponsesに設定します。

Intentの設定2

コメビツくんのともだちを紹介してもらう

コメビツくんにともだちを紹介してもらう会話を設定してみます。
Training phrasesに、「ともだちは」「コメビツくんの仲間は」など数パターンを登録してみます。

Intentの設定3

Responsesに、コメビツくんがともだちを紹介するメッセージをキャラクターごとに設定します。

Intentの設定4

Integration

Welcomeメッセージとともだち紹介のIntentを作成したところで、Google Assistantのシミュレータを使って動作確認してみます。

IntagrationsからGoogle Asistantの「INTEGRATION SETTINGS」リンクを選択します。

Integration1

Explicit invocationには、に接続した時に実行するIntentを設定します。
Implicit invocationには、その他のIntentを設定します。
Intentを設定したら、画面の下にある「TEST」を選択するとAction on GoogleのSimulatorが表示されます。

Integration2

Simulatorでテスト

左下のSuggested inputの下に表示されている「コメビツくんにつないで」をクリックするか
Inputの「コメビツにつないで」でEnterキーを押すとアプリに接続されます。
この「コメビツにつないで」の「コメビツ」の部分は、InvocationのDirectory titleで変更できます。

test1

アプリに接続されると、Explicit invocationに設定したIntentのレスポンスが返ってきます。

test2

Explicit invocationには、「あいさつ」Intentを設定しています。
「あいさつ」IntentのTraining phrasesに登録した「こんにちは」や「こんばんは」をSimulatorで入力すると
「あいさつ」IntentのResponsesに登録したメッセージが返されます。

test3

「ともだちは」Intentに設定した「コメビツくんの仲間は」や「ともだちは」をSimulatorで入力してみるとResponseに設定したメッセージが返ってきます。

test4

Simulatorでエラーになる場合

今回、簡単なチャットボットですがSimulatorでアプリに接続できるまで少しハマってしまいました。
アプリに接続しようとすると下記のメッセージが表示されエラーになっていました。

We're sorry, but something went wrong. Please try again.

error1

Google アカウントの「ウェブとアプリのアクティビティ」の設定が原因

いろいろ原因はあるようですが、アクティビティの設定で解決しました。

Google アカウントのアクティビティ管理で「ウェブとアプリのアクティビティ」をオンにします。
この状態でSimulatorで動かしてみましたが、まだ解決しません。
アクティビティ管理の「ウェブとアプリのアクティビティ」の下の方に下記のメッセージが表示されています。
「組織の現在の設定に基づき、この機能は無効になっています。この先、管理者が設定を変更した場合は、ここで選択した内容が有効になります。」

error2

Dialogflowで使用していアカウントは会社のメールアドレスで、G Suiteで管理しています。
G Suiteの管理コンソールの「その他の Google サービス」で「ウェブとアプリのアクティビティ」を確認すると無効になっていました。

error3

「ウェブとアプリのアクティビティ」を有効化します。

error4

error5

G Suiteの管理コンソールで「ウェブとアプリのアクティビティ」を有効化した後にGoogleアカウントの「ウェブとアプリのアクティビティ」を確認すると「組織の現在の設定に基づき、この機能は無効になっています。この先、管理者が設定を変更した場合は、ここで選択した内容が有効になります。」
のメッセージは消えていました。
この状態でGoogle AssistantのSimulatorでアプリに正常に接続できました。

error6

Google on GooleのInvocationの設定が原因

Google on GooleのInvocationのInvocation nameの設定が影響し
下記のメッセージが表示される場合もありました。

We're sorry, but something went wrong. Please try again.

Invocation nameを未設定にしたり、他の文字列を設定すると正常に動作しました。



アトトックラボとは

株式会社アトトックメンバー が技術の話、デザインの話、キャラクターの話、ときどき脱線してガジェットの話やライフハックの話など好きなことを書いています。


連載記事


最近の記事


タグ