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

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

Dialogflowと呼ばれるツールを使い簡単なアプリを作成しながら、Googleアシスタントアプリ作成の基礎知識を見ていこう。

[かわさきしんじ,Insider.NET編集部]
「特集:Google Homeプログラミングを始めよう」のインデックス

「特集:Google Homeプログラミングを始めよう」

 Google Homeを代表として、最近ではスマートスピーカーが数多く登場している。ユーザーが音声を使って対話的に情報を引き出すのは、手がふさがっているときや、簡単なことをすぐに実行したいときなどに使い勝手がよい。筆者も街中でスマートフォンに向かってしゃべりかけるのは恥ずかしいと思うことがあるが、職場にGoogle Home Miniを導入してからは自然とスマートスピーカーに話し掛けるようになっている。

 本特集では、Actions on Googleを利用して、Googleアシスタントを搭載したスマートスピーカーを音声で(あるいは、Googleアシスタント搭載スマートデバイスを音声やテキストで)操作するアプリを開発するための基礎を何回かに分けて取り上げていく。今回はDialogflowと呼ばれるツールを利用して、とても簡単なアプリを作成して、その動作をシミュレーターで確認してみよう。

用語の整理

 実際にアプリを作り始める前に、Googleアシスタント、Actions on Google、Dialogflow、アクションといった用語について簡単にまとめておこう。

 まず、Googleアシスタントは音声で操作が可能なアシスタントアプリ。「OK Google」と呼び掛けることで起動して、音声で質問や検索などの操作を行える。このような「ユーザーが成し遂げたい何か」のことを「アクション」と呼ぶ。

 Googleアシスタントからはサードパーティーのアプリに接続して、さらに専門的な検索も行える。これには例えば「OK Google、食べログと話す」とすれば、Googleアシスタントに対応した食べログアプリが起動する。その後は、食べログアプリに「笹塚で焼肉」などと話し掛ければ、問い合わせた内容に応じてアプリがいろいろな情報を教えてくれる。

 そして、Googleアシスタント対応アプリを作るためのプラットフォームとなるのがActions on Googleとなっている。「Google上でユーザーが何らかのアクションを実現する」ためのプラットフォームということだ。ユーザーが「○○と話す」「○○につないで」などとGoogleアシスタントに話し掛けると、Actions on Googleにより「○○アプリ」が起動され、その後はユーザーによる(音声やテキストでの)入力がGoogleアシスタントを経由して、○○アプリへと送られ、そのレスポンスはGoogleアシスタントによりユーザーへと届けられる。

Googleアシスタント、Actions on Google、サードパーティーアプリの関係 Googleアシスタント、Actions on Google、サードパーティーアプリの関係

 このときには、ユーザー入力が音声であれば、Googleアシスタントが音声認識を行いテキスト化された情報が○○アプリに送信され、○○アプリ側での処理結果は音声またはテキストとしてユーザーに返送される。

 サードパーティーアプリをActions on Googleプラットフォーム上で開発するには幾つかの方法がある。例えば、テンプレートを使うと、簡単なクイズやゲームをコーディングレスで手早く簡単に作成できる。Dialogflowは、WebベースのIDEを使って「ユーザーと会話をしながら必要な情報を収集して、最後にそれらの情報を基に何らかの処理を行う」ために使える。詳細については「How to Build Your Apps」ページなどを参考にしてほしい。

Dialogflowアプリ開発の流れ

 Dialogflowでは、次のような手順でアプリを開発していく。

  1. アシスタントアプリプロジェクトの追加とDialogflowエージェントの作成
  2. インテントとアクションの定義
  3. 会話の流れの定義
  4. フルフィルメントの作成とデプロイ
  5. アプリのテスト
  6. アプリの発行

 フルフィルメント(fulfillment)とは、アクションを実装するコードで、Webサービスの形で作成する。ただし、本稿ではDialogflowを使ったアプリ開発の基礎を見ていくので、上とは順序を変えて、以下を取り上げることにする。アクションの実装についても今回は、フルフィルメントは作成せずに、Dialogflowの内部で完結するものとする。回を進めるに連れて、上記の要素を徐々に取り上げていく予定だ。

  1. プロジェクトの作成とエージェントの追加
  2. インテントとアクションの概要
  3. アプリのテスト実行
  4. 実際のインテントとアクションの定義

 また、Dialogflowを利用するということは、本来は「一連の会話の中で必要な情報を収集する」ことを念頭に置いたものとなる。ここでは「Insider.NET」というアプリを作っているとすると、例えば次のような会話が考えられる。

  • ユーザー:「OK Google、Insider.NETと話す」
  • アプリ:「こんにちは、Insider.NETです。何かご用ですか」
  • ユーザー:「最新記事を教えて」
  • アプリ:「YYYY年MM月DD日に公開された××という記事です。概要を読みますか」
  • ユーザー:「はい」
  • アプリ:「ほげほげふがふが」

 Dialogflowでアプリを作成する前には、このような会話をよく考えておく必要がある。上のように素直に話が進めば話は簡単だが、実際にはユーザー入力をアプリが理解できない場合や、想定外のユーザー入力が行われることもある。その場合には、開発者が想定する方向に会話を進めるように補正する必要もあるだろう。

 Diarlogflowでは、上のような会話例を基に会話の流れを定義していく。が、ここで作成するのは次のような会話をするだけのアプリとする(ので、あまり会話の流れについては考えない)。

  • ユーザー:「OK Google、Insider.NETと話す」
  • アプリ:「こんにちは!」
  • ユーザー:「川崎です」
  • アプリ:「はじめまして、川崎さん」

 つまり、以下で作成するアプリでは、あいさつという「アクション」を実現する。では、実際にアプリを作成してみよう。

       1|2|3|4 次のページへ

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

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

メールマガジン登録

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