Google Assistantアプリを作る機会があったので、まとめてみます。
ここでは細かいツールの使い方ではなく、作成していく上での大枠をまとめてみます。
以下で説明する、Actions on GoogleやDialogflowの利用法は公式ガイドなどを見てください。
Google Asssistantとは
Googleの提供するAIアシスタントです。
会話形式でユーザの呼びかけに応えてくれます。
スマートフォン、スピーカー、スマートディスプレイ、テレビなどなど、色々なハードの上にGoogle Assistantが載っており、呼び出すことができます。
Google Assistantアプリ作れます
Google Assistant自体で天気を聞いたり、リマインダーをセットしたり、電気をつけたりできますが、実は 自分でアプリを作ることができます。
作ったアプリは公開することができます。
現在たくさんのアプリが公開されており、ここから見ることができます。
知名度がありそうな大手のアプリや、個人で出しているようなアプリもあります。
最初の一歩のおすすめチュートリアル
コードラボをやるのがいいかと思います。以下のツールの紹介では、コードラボで作るアプリの題材を例として説明します。
Build Actions for the Google Assistant (Level 1)
利用イメージ
ぜひ自分で試してもらうといいかと思いますが、以下のように、Googleアシスタントに「Ok Google アプリの名前
につないで」と言って呼び出すと、アプリが起動し、会話形式で利用することができます。
どうやってつくるのか
Googleの専用のプラットフォーム、ツールを利用すると思ったより簡単に作れます。以下で紹介します。
Actons on Google
Actions on Googleとは、Google Assistantで利用可能なアプリ開発ができるプラットフォームです。
Actions consoleにログインすると、アプリを作成することができます。アプリ名を決めたり、アプリの声やアイコン背景色、配信設定などを行うことができます。
アプリを公開するにはGoogleの審査があります。審査に合格するとアプリを世に出すことができます。
ユーザとの会話を設計する必要あり、その設計が肝な部分になります。以下のツールを使うのが推奨されています。
Dialogflow
Dialogflowは、 会話
を作成できるプラットフォームになります。1
実はGoogle Assistantだけでなく、Slack, Twitter, LINEなどの他のプラットフォームとも連携することができます。
ユーザの発話したフレーズに対して、返答(Intent)を対応づけることができます。
特徴的だと思う使い方があり、Intentを定義して、いくつか反応させたいフレーズを入力し学習させると、似たような言い回しでも反応するようになります。
また、ここもすごいと思うのですが、パラメータを定義して、フレーズとひもづけると、文中の文字をパラメータとして取得することができます。
- 例1:
黄色
が好きです -> color: yellow - 例2:
東京
に住んでます -> location: tokyo
また、ユーザが発言した内容から、動的にレスポンスを作成したい場合などのために、外部Webhook(WebAPI)と連携することができます。2
Webhookにパラメータを渡し、Webhook側で返答を作成し、決まった形式のレスポンスをDialogflowに返すことで、ユーザに返答することができます。3
全体像
上記のツールを含め、アプリを作る上での全体像を図にしてみました。
①では、ユーザが呼び出したのち、ユーザが発音したSpeechがTextに変換され、Dialogflowまで連携されます。アプリの呼び出しなので、Welcome Intentが反応し、DialogflowがGoogle Assistantにレスポンスを返し、ユーザに返答されます。
②では、Dialogflowでテキストが連携され、そのテキストに反応したFavarite color intentが反応します。ここで外部のWebhookのAPIを呼び出し、入力に応じて返答するテキストを生成後、決まったレスポンスをDialogflowに返すことで、ユーザに返答することができます。
まとめ
上記のGoogle様のツールのおかげで、簡単にGoogle assistantアプリを作ることができます。
作ってみた印象ですが、Dialogflowをうまく使って会話の設計をすることが大事だと思います。うまく反応できなかった場合にどう返すのかなど、会話の設計によってユーザの体感が変わりそうです。
おまけ
会社のPRなどでよくアプリが作られています。意外と面白かったりするので、遊んでみるといいかも。
-
元はApi.aiという名前で別会社でしたが、Googleによる買収後にDialogflowにサービス名が変更されました。 ↩
-
Webhookではなく、Inline EditorでDialogflow内でもコードを書いて処理を記述することができます。 ↩
-
Actions on GoogleSDKを利用すれば、Dialogflowのレスポンスを簡単に作成することができます。 ↩