Googleから、Googleアシスタント用のアプリを作るための開発手順を示す公式動画が公開されました。今後Google Homeでも、きっとAmazonのスキルのようにできることが増えていくことが期待できますね。
でも、せっかく公開された動画は英語でした。というわけで、実際にどのような手順で開発するか確認してみようというのが、今回の記事シリーズの目的になります!
この記事の目次クリックすると該当箇所へ飛べます。
1.Googleアシスタントアプリ作成に必要なもの
必要なものは、以下の通りです。
- インターネット接続
- パソコン
- Googleアカウント
今回は開発手順説明のうち、第1回の動画「How to Build a Google Assitant App(Googleアシスタントのアプリをつくるには)」を参考にしていきます。
2.Googleアシスタント用アプリが動作する仕組み
Googleアシスタント用のアプリが動作する仕組みはこの図のようになっています。分かりやすく簡単に言えば、以下の3つの流れとなっています。
①ユーザーの音声入力でアプリを起動する。(例:OK, Google!○○を呼んで。)
②起動したアプリに対する、ユーザーの質問を受け付け。(例:□□って何?)
③アプリからの応答をGoogleアシスタントが伝える。(例:□□とは、△△です。)
このように一問一答形式のアプリが作れるみたい。
3.実際にアプリをつくってみよう!
ではさっそく、Googleアシスタント用のアプリを作っていきましょう。今回のアプリは参考動画にならい、「AnimalJoker(動物ダジャレ)」のアプリを作成します。
Googleアシスタント用アプリはDialogflowでつくっていく!
動画ではGoogleアシスタント用のアプリ作成に、API.AIというWebサービスを使うと紹介していますが、これは最近Dialogflowという名称に変わりました。
このサイトでも、説明などで必要ない限りはDialogflowの名称で呼んでいきますね。
- LINK(外部)
Dialogflowにログインする
サイトに移動したら、右上のコンソールへ移動するからログインページへ移動しましょう。Dialogflowでは、Googleアカウントを利用するとスムーズにログインできます。
Dialogflowのコンソールで作業
ログインさえ完了すれば、実際にDialogflowのコンソールを利用してアプリ作成を進めていきましょう。
エージェントを作成する
Googleアシスタントでは、アプリのプロジェクトをエージェントとして管理します。エージェント名とターゲットとなるユーザーの言語を設定して、作成します。Googleアカウントの認証を求められたら、許可してください。
エンティティを作成する
エンティティというのは、ユーザーから受け付けを想定する単語のリストのことです。例えば今回であれば、動物の名前の一覧をエンティティとして作成する必要があります。今回はAnimnal(動物)という名前でエンティティを作成しています。
ひとつの単語に対して、同義語を設定することができます。例えば子犬という単語を「犬」とみなすには、犬のsynonym(シノニム, 同義語)として「子犬」を設定しましょう。
設定を変更したら、保存するのを忘れないで!
インテントを作成する
インテントは、ユーザーの質問に応じて特定の結果を返す役割を果たします。
このアプリで言えば、Tell Joke(ダジャレを言う)インテントとQuit(アプリを終了する)インテントの2つを作成しないといけません。
まずTell Joke(ダジャレを言う)インテントの作成を行います。こっちのインテントはユーザーから聞き取った動物ごとに回答が変わるので、インテントも動物ごとに1つずつ作成しなければなりません。
User saysの項目にユーザーから想定される質問を入力し、Response項目に回答を設定していきます。
質問に対して回答を返す形になるので、Action項目は特に設定する必要はありません。
次に、Quitインテントの方を作っていきましょう。これは終了する際の合言葉をUser saysの項目に入力。Actionにアプリを終了する魔法の言葉「actions.intent.CANCEL」を入れて、最後に終了時に出すセリフをResponse項目すれば完了です!
3.作ったアプリの動作テスト
アプリのテストはDialogflowで作成したプロジェクトの右サイドバーからいつでも試すことができます。右サイドバー上のテキストボックス(try it now)に質問を入力すると、どのように動作するかを確認することができます。
今回はエンティティで設定しておいた、犬に対するダジャレを確認して終わりにしておきましょう。
4.あとがき
公式動画を参考にしてみたはいいのですが、細かいところの説明がすっ飛ばされていました。初見殺しもいいところですね!インテントとエンティティの連携について何とか形にすることができました。
ここまでで得た知識は、アプリ作成時の受け答えを想定してつくっていくこと。Dialogflowでは、「インテント」と「エンティティ」を作っていく部分がそう。
インテントとエンティティの設定を突き詰めていくと、どんなことを聞いても答えてくれるダジャレアプリに改造することもできそうですね。