みなさんは今日起きて最初に話しかけた人、交わした会話を覚えているでしょうか。家族に「おはよう」? コーヒーショップの店員さんに「カフェラテ1つ」? または、まだ誰とも話さないうちにこの記事を見ている人もいるかもしれませんね。
わたしの場合はたいてい、朝起きて身支度をしながらスマートスピーカーに今日の天気を尋ねるのが1日の最初の会話です。スマートスピーカーが天気予報を教えてくれるので、その答え次第でその日に着ていく服を決めます。
2017年秋から日本で発売開始されたAmazon EchoシリーズやGoogle Homeなどのスマートスピーカーは、その後も画面付きの「スマートディスプレイ」含めて機種を拡充しながら、2018年の年末セールでも多く売り出されました。わたしのような人もきっと増えていると思います。
スマートスピーカーの多くは、受け答えできる会話の種類(この連載では「音声アプリケーション」と呼びます)を外部の開発者が提供できるしくみになっています。スマートフォンに対してアプリを提供できるのと似ていますが、設計方法や開発手法はかなり異なります。連載を通じて、スマートスピーカー向け音声アプリケーションを企画・開発する際のノウハウをお伝えしていきます。
音声アプリケーションの概要
すでに開発にとりかかっている方には物足りないと思いますが、今回の記事ではこれから開発をしてみたいという方向けに、音声アプリケーションの概要から説明していきます。
機械と人間が会話する仕組み
スマートスピーカーのような機械と人間が会話をするための仕組みは下図に示します。まず、音声認識によって人間が発した言葉(発話)を聞き取り、文字に書き起こします。
次に、文字に書き起こされた発話(自然言語)を元に発話者の意図を理解し(意図理解)、必要に応じてさまざまな情報源からデータを取得して答えを組み立てます(応答生成)。
最後に、答えが文章の場合は音声に変換して再生します(音声合成)。人間で言うと、音声認識は「耳」、意図理解と応答生成は「脳」、音声合成は「口」の役割にあたります。これらの処理のほとんどは、クラウド側で行われます。
音声アプリケーションは音声プラットフォーム上で動作するプログラム
上記の音声認識や意図理解、音声合成などがセットになった技術基盤を「音声プラットフォーム(音声PF)」と呼びます。
スマートスピーカーには、この音声PFがOSのように搭載されており、そのままでも基本的な会話はできるようになっていますが、さらに新しく音声アプリケーションを追加すると、できることを増やせます。「脳」を拡張していくイメージです。
たとえば「電気を点けて」と言うと照明のスイッチを入れる音声アプリケーションや、「山手線遅れてる?」と聞くと遅延情報を案内する音声アプリケーションなど、機能ごとに1つの音声アプリケーションが動作します。
アプリケーションがたくさんあればあるほど、できることが増えて音声PFの魅力につながるため、音声PF提供者(AmazonやGoogle、LINEなど)は音声アプリケーションを開発する環境を公開しており、実際に多くの音声アプリケーションが外部開発者によって提供されています。
なお、音声PF自体を組み込んだ端末を開発することができる環境も提供されています(Alexa Voice Service、Google Assistant SDKなど)が、この連載では触れません。
言葉の定義
この連載中では、音声アプリケーション、ウェイクアップワード、デフォルト音声アプリケーション(ビルトイン機能)、サードパーティ音声アプリケーション、呼び出し名を以下のように定義します。
音声アプリケーション
スマートスピーカーなどを通じ、声で何かを操作したり欲しい情報を得たりするためのプログラム・機能のこと。AlexaやClovaで採用されている「スキル」という表現を使うことも多い(わたしたちのチームもそのため「スキルプロジェクト」という名称を使っています)ですが、本連載ではより一般的な「音声アプリケーション」と呼ぶことにします。「Siri」や「しゃべってコンシェル」などのスマホ向け音声アプリと区別したいときには、「スマートスピーカー向け音声アプリケーション」と記載します。ウェイクアップワード
スマートスピーカーに「今から話しかけるよ」という合図になる言葉。ウェイクワード、起動語、開始語、マジックワードとも言われます。スマートスピーカーは普段このウェイクアップワードだけを待ち受けておき、ウェイクアップワードを検知して初めて言葉を聞き始めます。現在のスマートスピーカーでよくある不満は「いちいちウェイクアップワードを言わないといけないのが面倒」というもの。デフォルト音声アプリケーション(ビルトイン機能)
音声PF自体が提供している機能。スマートフォンで言えば、iOSやAndroidTM端末に最初から搭載されているアプリケーション。だいたい、音楽再生やニュース、天気、アラームなどは含まれています。サードパーティ音声アプリケーション
音声プラットフォーム以外の会社、開発者が提供する音声アプリケーション。本連載で説明するのはこの部分です。呼び出し名(アプリケーション呼び出し名)
ウェイクアップワードで音声アシスタントが話を聞いてくれる状態になったら、デフォルト音声アプリケーションはそのまま使えますが、サードパーティ音声アプリケーションの場合、さらにそのアプリケーション名を呼ぶ必要があります。たとえば、「アレクサ、ヤフー天気をひらいて」「OKグーグル、ヤフー路線につないで」など。この「ヤフー天気」「ヤフー路線」が呼び出し名にあたり、「スキル名」「アクションフレーズ」とも言われています(現状、Google アシスタントのみは呼び出し名を必ずしも必要としない、「暗黙的呼び出し」という機能も使えます)。
音声プラットフォーム比較
日本で主に使われている3つの音声PFについて、搭載先や音声アプリケーションの種類などを下表にまとめました。構成は似ていますが、用語や機能が微妙に異なります。
日本でのスマートスピーカー利用状況
レポートでは、アメリカの成人21%が所有しているというスマートスピーカー(NPR/The Smart Audio Report, Winter 2018)。確かにテレビCMで見たこともあるし、家電量販店で売り出されているけど、実際日本でどれだけの人がどのように使っているのでしょうか?
以下は2018年12月にヤフーが独自に実施したアンケート調査(対象は20代から60代以上のインターネット利用者3万人、ネット人口構成比にあわせて回収)の結果です。
- スマートスピーカー認知/保有
2018年12月時点で、日本のスマートスピーカーの所持率は4.6%でした。
- 使っている場所
スマートスピーカーを「知っており、保有している」と答えた人に、各スピーカーを家庭内のどこで利用しているかを聞いたところ、約半数がリビングで使われていました。
- 利用目的
同様にスマートスピーカーの利用目的を聞いたところ、音楽やラジオのほか、天気や調べものなど、多岐にわたって使われていることがわかりました。
スマートフォンがスマートスピーカーにそのまま置き換わることはなくても、音声というインタフェースが使われる場面が増えていくことは間違いないでしょう。スマートフォンやテレビ、そのほか家電、車でも、あらゆる端末と人間が音声でやりとりする。そのときにはどんなアプリケーションが人気になるのか、わたしたちを含めて模索中です。
ヤフーの取り組み
最後に、ヤフーで開発・提供している音声アプリケーションと、関連する取り組みを紹介します。
ヤフー提供のAlexaスキル/Actions on Google
ヤフーは現在、AlexaとGoogle アシスタントの2つのプラットフォーム向けに複数の音声アプリケーションを提供しています。いずれも既存のウェブサービスを生かしつつ、声で素早く情報を取得したいというニーズに応えるものです。
Alexaスキル
Yahoo!天気(カスタムスキル)、Yahoo!ニュース(カスタムスキル及びフラッシュブリーフィングスキル)、Yahoo!路線(カスタムスキル)、Yahoo!占い(フラッシュブリーフィングスキル)Actions on Google
Yahoo!ニュース(ダイレクトアクション)、Yahoo!路線、Yahoo! MAP
関連する取り組み:独自音声認識技術
ヤフーには独自の音声認識技術(YJVOICE)があり、ヤフーのスマートフォンアプリ上での音声検索や「Yahoo!音声アシスト」アプリなどで使っています。他社の音声PFを使うため直接は関係ありませんが、そこで得た知見の一部を音声アプリケーション開発にも生かしています。
まとめ
今回はスマートスピーカーアプリ(音声アプリケーション)開発の導入編として、音声PFの仕組みや主要音声PFの比較、日本での利用状況を説明しました。
次回は音声アプリケーションの企画立案方法を説明していきます。
著者紹介
Yahoo! JAPAN スキルプロジェクトチーム
データ&サイエンスソリューション統括本部のスマートデバイス本部に所属するプロジェクトチーム。スマートデバイス本部は、IoTや今回のテーマである音声アプリケーション開発など、ちょっとだけ未来の技術に挑戦する部署。
今回の執筆者:藤井 美晴(ふじい みはる)/企画・VUIデザイナー
スキルプロジェクトPM。ヤフーでは「Yahoo!音声アシスタント」やスマートスピーカー向け音声アプリケーションVUI設計など、音声まわりのサービスを長く担当。