特集
» 2017年12月08日 05時00分 公開

DialogflowでGoogleアシスタント対応アプリを作成しようGoogle Homeプログラミングを始めよう(2/4 ページ)

[かわさきしんじ,Insider.NET編集部]

Googleアシスタントアプリプロジェクトの追加とDialogflowエージェントの追加

 Googleアシスタントアプリのプロジェクトを新規に作成するには、Actions on Google Developer Consoleで[Add/Import project]カードをクリックする。すると、[Add Project]ダイアログが表示されるので、必要事項を記入する。ここではプロジェクト名を「InsidernetActionsSample」、地域の指定を「Japan」としている。最後に[CREATE PROJECT]ボタンをクリックしよう。

[Add/Import project]カードをクリック
[Add/Import project]カードをクリック
必要事項を記入
必要事項を記入

Googleアシスタントアプリプロジェクトの新規作成


 プロジェクトが作成されると、次のような画面が表示されるので、[Dialogflow]カードにある[BUILD]ボタンをクリックする。すると、[Use Dialogflow to add actions to your Assistant app]ダイアログが表示されるので、[CREATE ACTIONS ON DIALOGFLOW]ボタンをクリックする。これにより、Dialogflowのコンソール画面が表示される。

[Dialogflow]カードにある[BUILD]ボタンをクリック
[Dialogflow]カードにある[BUILD]ボタンをクリック
[CREATE ACTIONS ON DIALOGFLOW]ボタンをクリックする
[CREATE ACTIONS ON DIALOGFLOW]ボタンをクリックする
Dialogflowのコンソールが表示される
Dialogflowのコンソールが表示される

Dialogflowエージェントの追加


 この状態ではまだDialogflowエージェントは追加されていない。デフォルトの言語を[Japanese]にして[CREATE]ボタンをクリックしよう。これでDialogflowエージェントが作成され、次のような画面が表示される。

エージェント作成後の画面 エージェント作成後の画面

インテントとアクションの概要

 左側のペーンにあるタブをクリックすると、エージェントのさまざまな設定を行う画面が表示される。上に示したのは、[Intents]タブのものだ。このタブではユーザーの「インテント」(intent、意向)を定義する。「アクション」とは「何をしたいか、その対象は何か」によって決まる。[Intent]タブではその「何をしたいか、その対象は何か」を例文の形で定義し、それに応じたアクションを実行する方法も定義する。アプリに対してユーザーが実際に何かを問い掛けると、それがアプリで定義されているインテントと比較され、マッチしたインテントが起動される。そして、そこから実際のアクションが(フルフィルメントを呼び出すか、Dialogflow内部で)実行されるという形になる。

 また、アクションを実行する上で必要な情報(例:名字)は「エンティティ」で表現される(例:名字を表すエンティティは@sys.last-name。これらはより一般化されたデータ型に相当するものだと考えればよいだろう)。Dialogflowでは既定で多くのエンティティが提供されているが、開発者が独自に[Entities]タブで定義することも可能だ。

 [Training]タブでは、テスト/発行したアプリに対する入力を基にアプリのトレーニングを行う。[Integrations]タブでは、アプリと他のサービスとの連携の設定が行える。[Analytics]タブでは、アプリの使用状況などの情報が得られる。[Fulfillment]タブでは、アプリのフルフィルメント(ユーザーが所望するアクションを実行するビジネスロジックやコード)についての設定を行う(が、今回は使用しない)。

 上に示した[Intents]タブには次の2つのインテントが表示されている。

  • Default Fallback Intent
  • Default Welcome Intent

 Default Fallback Intentはユーザーとのやりとりの中で、ユーザーからの入力がアプリで定義されているインテントにマッチしない場合に起動される。つまり、ユーザー入力をアプリが理解できないときに「すみません。よく分かりませんでした」などと対応する際に使われる。

 Default Welcome Intentは、アプリのメインエントリポイントとなり、Googleアシスタント経由でアプリが起動されたときには最初にこのインテントが起動される。そこで先ほどの画面で[Default Welcome Intent]をクリックして、その内容を見ながら、インテントとアクションなどについて見てみよう。

Default Welcome Intentの内容 Default Welcome Intentの内容

 この画面には次の4つのフィールドがある。

  • [User says]:インテントのトリガーとなるユーザー入力を指定する
  • [Events]:このインテントを起動するイベントを指定する。Default Welcome Intentはアプリ起動時に起動されるので、ここでは「WELCOME」が指定されている。ユーザー入力だけではなく、何らかのイベントを発生させることで、そのイベントに対応するインテントを起動することも可能だ
  • [Action]:フルフィルメント(アクションを実装するコード)へと送られる識別名とその他の情報を指定する。フルフィルメントの側では識別名を基に何の処理を行うかを決定できる。その他の情報には、アクションを実行するために必須のパラメーターかどうか、そのパラメーター名とエンティティの種類、実際の値などを指定する
  • [Response]:ユーザーに返送するレスポンス。ここではテキストのレスポンスとして「こんにちは!」のみが指定されているが、ここに複数のテキストを入力しておくと、それらから返送するレスポンスが適当に選択される

 次ページでは、新規にインテントとアクションを定義してもよいのだが、その前にアプリをテストしてみよう(もちろん、これは最初にメッセージを表示するだけで、他には何もしない)。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。