今回はctions on Google の「暗黙的な呼び出し(Implicit Invocation)」について、動作と実装方法、そして実装したことで得られた効果を説明します。

暗黙的な呼び出しとは

この連載で何度か触れてきた通り、音声アプリケーションでは基本的に呼び出し名をユーザーに発話してもらう必要があります。例えば「OK Google, ヤフー路線につないで」「アレクサ、ヤフー路線で山手線の運行情報を教えて」などです。

これを「明示的な呼び出し」と言います。それに対して、ユーザーが呼び出し名を指定せずに該当の音声アプリケーションを呼び出すことを「暗黙的な呼び出し」と言います。現在この機能はGoogle アシスタント でのみ使えるため、ここからはActions on Google での解説となります。

例えば、Google アクション「Yahoo!路線」での暗黙的な呼び出しは次のような挙動となります。

  1. ユーザー:「OK Google, 山手線の運行情報を教えて」
  2. Google アシスタント の内部処理で、ユーザーの要望に適したアクションが検索されます。
  3. Google アシスタント:「Yahoo!路線がおすすめです。利用しますか?」
  4. ユーザー:「はい」
  5. Google アシスタント:「はい。Yahoo!路線です。」
  6. Yahoo!路線:「はじめまして、Yahoo!路線です。山手線は平常通り運転しています。『山手線』のように話すと運行情報を調べます。どの路線を調べますか?」

アクションディスカバリー

上の手順2. に示した動作が「アクションディスカバリー」です。ユーザーの要望に応じた機能を提供できているアクションが存在する場合、Google アシスタント が該当アクションを推奨してくれる機能です。

暗黙的な呼び出しからのアクションディスカバリーは、ユーザーにとっては、いちいち呼び出し名(アクションフレーズ)を含めずに自然な発話でやりたいことにたどり着けますし、アクション開発者にとっては、自分のアクションを使ってもらう強力な手段となります。

アクションディスカバリーとして推奨されるには、後述の実装が必要ですが、実装したからといって必ずしも推奨される訳ではありません。会話のエラーが多かったり、答えにたどり着くのにアカウントリンク必須のフローだったりすると、推奨されません。

有用なアクションフレーズの作成

「Yahoo!路線」の場合、「山手線の運行情報教えて」のように特定の路線を含むアクションフレーズを準備しています。アクションフレーズは、該当アクションの提供機能に沿った自然な発話にします(参考:Best practices for writing useful invocation phrases)。下記は例となります。

○「OK Google, 山手線の運行状況を教えて」 ○「OK Google, 山手線の運行状況」 ○「OK Google, 電車の運行状況」 ○「OK Google, 山手線は動いてる」 ×「OK Google, 山手線」(ユーザーの目的が具体的でないためNG) ×「OK Google, 遅延してる」(ユーザーの目的が具体的でないためNG)

暗黙的な呼び出しの実装例

「Yahoo!路線」を例として、実装手順を記載します。

1. Dialogflowにログインし、暗黙的な呼び出しを設定するIntentに移動(ここではTransitIntentを例とします)。

  • スマートスピーカーアプリ開発 虎の巻 第8回

2. 暗黙な呼び出しに設定するアクションフレーズを下記のように追加し「SAVE」を押下。

  • スマートスピーカーアプリ開発 虎の巻 第8回

※「山手線 の運行状況を教えて」のようにEntitiesを指定しているキーワードの後には必ず半角スペースを入れなければ正常に設定できません。

3. 左メニューバーの「Integrations」を選び、「INTEGRATION SETTINGS」を押下。

  • スマートスピーカーアプリ開発 虎の巻 第8回

4. 「Implicit invocation」にアクションフレーズを設定した「TransitIntent」を追加し、「MANAGE ASSISTANT APP」を押下。

  • スマートスピーカーアプリ開発 虎の巻 第8回

※「Sing in required」にチェックが入っていない事を確認

5. Actions on Googleに遷移するので、「Actions」を押下。

  • スマートスピーカーアプリ開発 虎の巻 第8回

6. Actions の一覧に先程設定した「TransitIntent」が追加されているので押下(この時点で表示されない場合は、手順4の「MANAGEMENT APP」ではなく「TEST」を押下後、再度この画面を確認すると表示されるはずです)。

  • スマートスピーカーアプリ開発 虎の巻 第8回

7. 正常に反映されている場合は、下記のようにアクションフレーズが登録されていることを確認。

  • スマートスピーカーアプリ開発 虎の巻 第8回

※「$transitLine」に対してグルーピングされている水色(色はランダム)が全体にかかってしまっている場合は、手順2で注意点として上げている半角スペースが抜けているのが原因となります。全体にかかってしまっている場合は正常に暗黙的な呼び出しはできません。

8. Google アシスタント からアクションディスカバリーが適用された場合は、下記のように指定したアクションフレーズからおすすめをしてもらうことが可能。

  • スマートスピーカーアプリ開発 虎の巻 第8回

9. 手順8に対してユーザーが「はい」と応答すると、「Yahoo!路線」は「山手線は平常通り運転しています」のように求められた情報(山手線の運行情報)を答える。

上記ではDialogflowでの実装方法について解説しましたが、Dialogflow以外での実装については、公式ブログを参考にしてください。

暗黙的な呼び出しによる効果

Google アクション「Yahoo!路線」は2018年7月末に公開後、2018年9月1日に暗黙的な呼び出しに対応しました。下は日次アクティブユーザー数の推移ですが、暗黙的な呼び出し対応後、順調に伸び始めました。

  • スマートスピーカーアプリ開発 虎の巻 第8回

暗黙的な呼び出しからのユーザー流入数は、下記手順より確認することができます。

1. Actions on Googleにログイン後、「Analytics」→「DISCOVERY」の順に押下。

  • スマートスピーカーアプリ開発 虎の巻 第8回

2. このようにどのようなアクションフレーズで、どのIntentから流入したのかを判別できる。

  • スマートスピーカーアプリ開発 虎の巻 第8回

Impressions:Google Assistantがおすすめで表示した数 Selections:おすすめ表示後、実際に利用された数 Selections rate:利用されている割合

利用頻度が高いアクションフレーズ確認し、再度言い回しの調整などを行うことで更なる流入につなげられます。

まとめ

今回は Actions on Google の「暗黙的な呼び出し」について解説しました。次回は「画面付き端末対応(Amazon AlexaのAPL対応)」をご紹介する予定です。

著者紹介

Yahoo! JAPAN スキルプロジェクトチーム
データ&サイエンスソリューション統括本部のスマートデバイス本部に所属するプロジェクトチーム。スマートデバイス本部は、IoTや今回のテーマである音声アプリケーション開発など、ちょっとだけ未来の技術に挑戦する部署。

今回の執筆者:大塚健太(おおつか けんた)/エンジニア
スキルプロジェクト エンジニア。ヤフーでは、スマートスピーカー向け音声アプリケーションVUI設計、フロントエンド、バックエンド開発等を担当。それ以前の経験としては、DECOPIC(Android,フロントエンド,バックエンド)やmyThings(フロントエンド)を担当。