前回、詳しく記載できなかった、アプリ作成について記載します。
アプリを作成する方法として、いくつか用意されている中の、DialogFlow(旧API.AI)を使用した方法になります。
DialogFlowでアプリを作成する場合、3パターンに分けることが出来ます。
  • DialogFlowで応答を返却
  • 返却したい応答がある程度固定されたものである場合、こちらを使用すると簡単に作成することができます。
    例: ユーザからの挨拶に対して返事する
  • Google Cloud Functionsを利用して、状況に合わせた応答を返却
  • 例: ユーザからの時刻問い合わせに対して返事する
  • 自前サーバを利用して、状況に合わせた応答を返却

今回はDialogFlowで応答を返却する場合について記載します。

アプリの作成方法

  1. プロジェクト作成手順のアプリ作成方法にて、DialogFlowのBUILDを選択
  2. 下のダイアログが表示されるので、「CREATE ACTIONS ON DIALOGFLOW」ボタンを押下

  3. Agent作成画面に遷移するので、必要な情報を設定してSAVEボタンを押下

  4. 「ADD SAMPLE DATA」を選択することで、そのサンプルに合った受け答えをデフォルトで設定できます。
    以下、試しに「EasterEgg」を選択した場合になります。この場合、以下のように複数のIntentがデフォルトで設定されています。


  5. アプリが反応する言葉をIntentとして登録

  6. ただし、そのまま登録しただけだと、以下のような場合に全て登録する必要があり、使い物にならなくなります。
    例:「XXXが欲しい」と言われたときに反応したい

    このような場合に対応できるようになっています。以下のように一旦「バナナが欲しい」と入力した上で、「バナナ」にフォーカスを当てると、フィルタ選択ダイアログが表示されます。ここからフィルタリングしたい内容(※)を選択すると、そこにはバナナ以外の同類のキーワードが設定されてもアプリが起動するようになります。
    ※ 本当は食べ物といったフィルタが欲しかったのですが、そのようなものがなかったので、今回は「@sys.any」を選択しています。

  7. このトリガーが発動したときの応答を設定します。

  8. 先ほどのようにユーザからの入力に対してフィルタできるようにしているので、それを使用する場合、「$any」を文中に入れることで使用可能となります。

アプリのデプロイ

作成したアプリは未だDialogFlowに存在しているだけで、Actions on Googleとは結合されていない状態です。
アプリとActions on Googleを結合させる必要があります。
  1. Intentを保存した後、画面左のメニュー一覧より「Integrations」を選択し、統合先一覧からGoogle Assistantを有効にする

  2. 有効にすると、以下のダイアログが表示されるので、アプリ起動時に発動させる「Welcome Intent」や「Additional triggering intents」(特に変更しなくても大丈夫です)を設定し、「TEST」ボタンを押下。

    テストに成功すると、以下のようにテストが使用できる旨が表示されるので、「VIEW」または「UPDATE DRAFT」ボタンを押下。

    「VIEW」または「UPDATE DRAFT」ボタンを押下すると、反映が成功した場合、以下のダイアログが表示されます。

    実際に動作を確認してみたい場合は、「VISIT CONSOLE」ボタンを押下してActions on Googleに戻るか、直接Actions on Googleに戻ります。
    戻って、シミュレータを起動して、該当するコメントを入力することで確認が可能です。
    Intentを追加・変更・削除したり、Intentに対して返却する内容を変更した際は、「アプリのデプロイ」上記の「UPDATE DRAFT」ボタンを押下するところまで、やり直すとActions on Googleに反映されます(Integrationsで、Google Assistantへの接合を一旦OFFにする必要はないです)。

次回はGoogle Cloud Functionsを使用したアプリ作成について記載してみます。

コメントの投稿