12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

StudyCoAdvent Calendar 2019

Day 8

Google Assistantアプリ入門(Actions on Google + Dialogflow)

Last updated at Posted at 2019-12-08

Google Assistantアプリを作る機会があったので、まとめてみます。
ここでは細かいツールの使い方ではなく、作成していく上での大枠をまとめてみます。
以下で説明する、Actions on GoogleやDialogflowの利用法は公式ガイドなどを見てください。

Google Asssistantとは

Googleの提供するAIアシスタントです。
会話形式でユーザの呼びかけに応えてくれます。

スマートフォン、スピーカー、スマートディスプレイ、テレビなどなど、色々なハードの上にGoogle Assistantが載っており、呼び出すことができます。

Google Assistantアプリ作れます

Google Assistant自体で天気を聞いたり、リマインダーをセットしたり、電気をつけたりできますが、実は 自分でアプリを作ることができます。
作ったアプリは公開することができます。
現在たくさんのアプリが公開されており、ここから見ることができます。

image.png

知名度がありそうな大手のアプリや、個人で出しているようなアプリもあります。

最初の一歩のおすすめチュートリアル

コードラボをやるのがいいかと思います。以下のツールの紹介では、コードラボで作るアプリの題材を例として説明します。

Build Actions for the Google Assistant (Level 1)

利用イメージ

ぜひ自分で試してもらうといいかと思いますが、以下のように、Googleアシスタントに「Ok Google アプリの名前 につないで」と言って呼び出すと、アプリが起動し、会話形式で利用することができます。

image.png

どうやってつくるのか

Googleの専用のプラットフォーム、ツールを利用すると思ったより簡単に作れます。以下で紹介します。

Actons on Google

Actions on Googleとは、Google Assistantで利用可能なアプリ開発ができるプラットフォームです。
Actions consoleにログインすると、アプリを作成することができます。アプリ名を決めたり、アプリの声やアイコン背景色、配信設定などを行うことができます。

image.png

アプリを公開するにはGoogleの審査があります。審査に合格するとアプリを世に出すことができます。
ユーザとの会話を設計する必要あり、その設計が肝な部分になります。以下のツールを使うのが推奨されています。

Dialogflow

Dialogflowは、 会話 を作成できるプラットフォームになります。1
実はGoogle Assistantだけでなく、Slack, Twitter, LINEなどの他のプラットフォームとも連携することができます。
ユーザの発話したフレーズに対して、返答(Intent)を対応づけることができます。
特徴的だと思う使い方があり、Intentを定義して、いくつか反応させたいフレーズを入力し学習させると、似たような言い回しでも反応するようになります。

image.png

また、ここもすごいと思うのですが、パラメータを定義して、フレーズとひもづけると、文中の文字をパラメータとして取得することができます。

  • 例1: 黄色 が好きです -> color: yellow
  • 例2: 東京 に住んでます -> location: tokyo

image.png

また、ユーザが発言した内容から、動的にレスポンスを作成したい場合などのために、外部Webhook(WebAPI)と連携することができます。2
Webhookにパラメータを渡し、Webhook側で返答を作成し、決まった形式のレスポンスをDialogflowに返すことで、ユーザに返答することができます。3

全体像

上記のツールを含め、アプリを作る上での全体像を図にしてみました。

image.png

①では、ユーザが呼び出したのち、ユーザが発音したSpeechがTextに変換され、Dialogflowまで連携されます。アプリの呼び出しなので、Welcome Intentが反応し、DialogflowがGoogle Assistantにレスポンスを返し、ユーザに返答されます。

②では、Dialogflowでテキストが連携され、そのテキストに反応したFavarite color intentが反応します。ここで外部のWebhookのAPIを呼び出し、入力に応じて返答するテキストを生成後、決まったレスポンスをDialogflowに返すことで、ユーザに返答することができます。

まとめ

上記のGoogle様のツールのおかげで、簡単にGoogle assistantアプリを作ることができます。
作ってみた印象ですが、Dialogflowをうまく使って会話の設計をすることが大事だと思います。うまく反応できなかった場合にどう返すのかなど、会話の設計によってユーザの体感が変わりそうです。

おまけ

会社のPRなどでよくアプリが作られています。意外と面白かったりするので、遊んでみるといいかも。

  1. 元はApi.aiという名前で別会社でしたが、Googleによる買収後にDialogflowにサービス名が変更されました。

  2. Webhookではなく、Inline EditorでDialogflow内でもコードを書いて処理を記述することができます。

  3. Actions on GoogleSDKを利用すれば、Dialogflowのレスポンスを簡単に作成することができます。

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?