
こんにちは。コンサルティングサービス本部の野村です。
今回は、Googleが提供しているDialogflowを試してみましたので、
簡単ですがご紹介したいと思います。
Dialogflowとは
Dialogflowとは、Googleが提供している自然言語対話プラットフォームで、
Googleアシスタントを搭載したGoogleHomeやAndroidスマホ等に対応する対話型アプリを
簡単に作成することができるサービスです。
全体像を簡単にまとめると以下のようになります。
【Actions on Google】
Googleアシスタント向けのアプリ(アクション)を作成できる開発者プラットフォームで
DialogflowもしくはActions SDKを利用して作成します。
作ったアクションはGoogleアシスタントから「○○と話す」や「○○につないで」と話しかけることで起動できます。
またWebhookを利用して簡単にバックエンドのサービスと連携することも可能です。
ちなみに、サードパーティ製のアプリはGoogleアシスタントから確認することができます。
簡単なアプリを作ってみる
ではまず、飲み物をオススメしてくれる簡単なアプリを作ってみたいと思います。
まずこちらから、Actions on Googleへログインし、
START BUILDINGをクリックします。
次に、Add/Import projectをクリックし、
プロジェクト名、言語、国を入力しCREATE PROJECTをクリックすると
新規プロジェクトが作成されます。
次にアクションを作っていきます。
Build your ActionのAdd Actions ⇒ ADD YOUR FIRTS ACTION⇒BUILDとクリックしていくと
Dialogflowの画面に遷移します。
言語を選択しCREATEをクリックして新規エージェントを作成しましょう。
次にCREATE INTENTをクリックし、INTENTを作成します。
INTENTでは会話やりとりの部分を設定します。
Intent nameにIntent名を、Training phrasesに人が話しかけるフレーズを、
Responsesに返答内容を設定します。Responsesに複数設定しておくと、
ランダムに返してくれます。
設定が完了したらSAVEボタンを押して保存するのを忘れないようにしましょう。
ちゃんと動くか、右上のTry it nowに「お勧めの飲み物教えて」と入力しEnterを押すと、
ちゃんと反応してくれました。
Entityを使うと複数のキーワードをひとつにまとめることができます。
(「飲み物」でも「ドリンク」でも反応させるようにすることができます)
次に、もう少し会話のキャッチボールができるようにしてみたいと思います。
やり方はいくつかありますが、今回は簡単なFollowup Intentを使って、
今の気分を聞き、それに応じて飲み物をお勧めしてくれるようにしてみます。
まずは先ほど作ったIntentのResponsesの内容を、
「今の気分を教えてください」と変更しておきます。
次に、左メニューからIntentsを選択してIntentsの一覧を表示させ、
対象のIntentsにカーソルを合わせるとAdd follow-up intentと表示されるのでクリックし、メニューからcustomを選びます。
そうすると、続きのIntentを作成できるようになるので、Training phrasesに「ねむい」、
Responsesに「コーヒーがおススメです!」「レッドブルをお勧めします」としておきます。
Try it nowで試してみます。
うまくいきました。
Followup Intentをいくつか作ることで、それぞれの感情にあった飲み物を
お勧めすることができるようになります。
おわりに
今回はDialogflowを使って簡単な会話アプリを作ってみました。
Fulfillmentを使うと、Webhookを利用してFirebaseなどのバックエンドサービスと連携することができ、
より高度な会話アプリを作ることも可能です。(Firebaseについてはまた別の機会に記事にしてみようと思います。)
ぜひ皆さんもいろいろチャレンジしてみてください!