(1/4)Dialogflowと呼ばれるツールを使い簡単なアプリを作成しながら、Googleアシスタントアプリ作成の基礎知識を見ていこう。Homeを代表として、最近ではスマートスピーカーが数多く登場している。ユーザーが音声を使って対話的に情報を引き出すのは、手がふさがっているときや、簡単なことをすぐに実行したいときなどに使い勝手がよい。Miniを導入してからは自然とスマートスピーカーに話し掛けるようになっている。Googleを利用して、Googleアシスタントを搭載したスマートスピーカーを音声で(あるいは、Googleアシスタント搭載スマートデバイスを音声やテキストで)操作するアプリを開発するための基礎を何回かに分けて取り上げていく。今回はDialogflowと呼ばれるツールを利用して、とても簡単なアプリを作成して、その動作をシミュレーターで確認してみよう。Google、Dialogflow、アクションといった用語について簡単にまとめておこう。Googleアシスタントは音声で操作が可能なアシスタントアプリ。Google」と呼び掛けることで起動して、音声で質問や検索などの操作を行える。このような「ユーザーが成し遂げたい何か」のことを「アクション」と呼ぶ。Googleアシスタントからはサードパーティーのアプリに接続して、さらに専門的な検索も行える。Google、食べログと話す」とすれば、Googleアシスタントに対応した食べログアプリが起動する。その後は、食べログアプリに「笹塚で焼肉」などと話し掛ければ、問い合わせた内容に応じてアプリがいろいろな情報を教えてくれる。Googleとなっている。「Google上でユーザーが何らかのアクションを実現する」ためのプラットフォームということだ。Googleにより「○○アプリ」が起動され、その後はユーザーによる(音声やテキストでの)入力がGoogleアシスタントを経由して、○○アプリへと送られ、そのレスポンスはGoogleアシスタントによりユーザーへと届けられる。Google、サードパーティーアプリの関係このときには、ユーザー入力が音声であれば、Googleアシスタントが音声認識を行いテキスト化された情報が○○アプリに送信され、○○アプリ側での処理結果は音声またはテキストとしてユーザーに返送される。Googleプラットフォーム上で開発するには幾つかの方法がある。テンプレートを使うと、簡単なクイズやゲームをコーディングレスで手早く簡単に作成できる。Dialogflowは、WebベースのIDEを使って「ユーザーと会話をしながら必要な情報を収集して、最後にそれらの情報を基に何らかの処理を行う」ために使える。Apps」ページなどを参考にしてほしい。Dialogflowアプリ開発の流れDialogflowでは、次のような手順でアプリを開発していく。会話の流れの定義フルフィルメントの作成とデプロイアプリのテストアプリの発行フルフィルメント(fulfillment)とは、アクションを実装するコードで、Webサービスの形で作成する。本稿ではDialogflowを使ったアプリ開発の基礎を見ていくので、上とは順序を変えて、以下を取り上げることにする。アクションの実装についても今回は、フルフィルメントは作成せずに、Dialogflowの内部で完結するものとする。回を進めるに連れて、上記の要素を徐々に取り上げていく予定だ。実際のインテントとアクションの定義また、Dialogflowを利用するということは、本来は「一連の会話の中で必要な情報を収集する」ことを念頭に置いたものとなる。ここでは「Insider.NET」というアプリを作っているとすると、例えば次のような会話が考えられる。Google、Insider.NETと話す」アプリ:「こんにちは、Insider.NETです。何かご用ですか」ユーザー:「最新記事を教えて」アプリ:「YYYY年MM月DD日に公開された××という記事です。概要を読みますか」ユーザー:「はい」アプリ:「ほげほげふがふが」Dialogflowでアプリを作成する前には、このような会話をよく考えておく必要がある。上のように素直に話が進めば話は簡単だが、実際にはユーザー入力をアプリが理解できない場合や、想定外のユーザー入力が行われることもある。その場合には、開発者が想定する方向に会話を進めるように補正する必要もあるだろう。Diarlogflowでは、上のような会話例を基に会話の流れを定義していく。ここで作成するのは次のような会話をするだけのアプリとする(ので、あまり会話の流れについては考えない)。Google、Insider.NETと話す」アプリ:「こんにちは!」ユーザー:「川崎です」アプリ:「はじめまして、川崎さん」つまり、以下で作成するアプリでは、あいさつという「アクション」を実現する。実際にアプリを作成してみよう。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。