Dialogflowと呼ばれるツールを使い簡単なアプリを作成しながら、Googleアシスタントアプリ作成の基礎知識を見ていこう。
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プラットフォーム上で開発するには幾つかの方法がある。例えば、テンプレートを使うと、簡単なクイズやゲームをコーディングレスで手早く簡単に作成できる。Dialogflowは、WebベースのIDEを使って「ユーザーと会話をしながら必要な情報を収集して、最後にそれらの情報を基に何らかの処理を行う」ために使える。詳細については「How to Build Your Apps」ページなどを参考にしてほしい。
Dialogflowでは、次のような手順でアプリを開発していく。
フルフィルメント(fulfillment)とは、アクションを実装するコードで、Webサービスの形で作成する。ただし、本稿ではDialogflowを使ったアプリ開発の基礎を見ていくので、上とは順序を変えて、以下を取り上げることにする。アクションの実装についても今回は、フルフィルメントは作成せずに、Dialogflowの内部で完結するものとする。回を進めるに連れて、上記の要素を徐々に取り上げていく予定だ。
また、Dialogflowを利用するということは、本来は「一連の会話の中で必要な情報を収集する」ことを念頭に置いたものとなる。ここでは「Insider.NET」というアプリを作っているとすると、例えば次のような会話が考えられる。
Dialogflowでアプリを作成する前には、このような会話をよく考えておく必要がある。上のように素直に話が進めば話は簡単だが、実際にはユーザー入力をアプリが理解できない場合や、想定外のユーザー入力が行われることもある。その場合には、開発者が想定する方向に会話を進めるように補正する必要もあるだろう。
Diarlogflowでは、上のような会話例を基に会話の流れを定義していく。が、ここで作成するのは次のような会話をするだけのアプリとする(ので、あまり会話の流れについては考えない)。
つまり、以下で作成するアプリでは、あいさつという「アクション」を実現する。では、実際にアプリを作成してみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.