2015年8月12日水曜日

Siriのライバル「Cortana」

鈴木淳也の「Windowsフロントライン」:

Siriのライバル「Cortana」がついに日本語対応――Windows 10はどう変わるのか? 

Windows 10の音声対応パーソナルアシスタント「Cortana」が待望の日本語対応へ。Cortanaによって、Windows 10の操作がどのように変わるのかを掘り下げていこう。


Windows 10の音声対応パーソナルアシスタントが日本でも利用可能に

 ついに、米Microsoftから日本語版の「Cortana(コルタナ)」に関する正式発表が行われた。Windows Phone 8.1に採用され、Windows 10の主要機能として挙げられる「音声対応パーソナルアシスタント」が、あと数カ月中に日本語で利用可能になる(ただし、Windows Insider Programでのテスト運用)。

tm_1407_win10J_6_01.jpg開発中とみられる日本語版の「Cortana」が“お辞儀”している画面(Cortanaの円形アイコンが前に傾いている点に注目)。日本向けのローカライズとして、非常に礼儀正しいのが特徴だという

 7月29日のWindows 10一般公開時にCortanaが提供される7カ国(米国、英国、中国、フランス、イタリア、ドイツ、スペイン)に加えて、今後数カ月内にも日本、カナダとインドの英語圏ユーザーに対してWindows Insider Programを通じた提供が開始されるという。また2015年の年末にはブラジルとメキシコ、カナダのフランス語圏ユーザーに対してもWindows Insider Program経由で提供される見込みだ。

 MicrosoftではWindows 10の一般向けアップデート配信で「最新モデル(Current Branch:CB)」という方式を採用している。これは、Windows Insider Programを通じて問題ないと判断された最新ビルドについて、年2~3回程度をめどに一般ユーザーへ大規模アップデートとして最新ビルドの配信を行う仕組みだ。

 つまり、数カ月内にWindows Insider Programで日本語対応のCortanaが提供されるということは、このテストで特に問題がない限り、最速で次のCBの周期には一般ユーザーへの提供が始まることを意味している。早ければ年内、遅くても来年初頭には同サービスが一般公開となる可能性が高いと言える。

 Cortanaの簡単な概要については、同機能が初搭載されたWindows Phone 8.1をベースに英語版サービスを紹介しているので、そちらを参照してほしい。今回はより踏み込んだ、「Cortanaとアプリ連携」の部分に注目してみたい。

tm_1407_win10J_6_02.jpg表示方法は若干異なるものの、CortanaはWindows 10(デスクトップ/タブレット)とWindows 10 Mobileのどのデバイスでも利用できる。ちなみにAndroidやiOSにも対応する予定だ

Cortanaでアプリを呼び出す「音声コマンド」

 Cortanaとはいわゆる「パーソナルアシスタント」であり、Appleの「Siri」やAndroidの「Google Now」に対抗する機能として、Microsoftが開発したものだ。ユーザーがカスタマイズした内容によって、好みや行動を理解し、適切な助言を与えてくる。

 とはいえ、「音声対応パーソナルアシスタントなんて使わないから、別に日本語版が出よう出まいが構わない」という方もいるだろう。実際、筆者はiPhoneを使っているが、Siriをほとんど使わない。だがCortanaについては「(比較的)アプリ連携が重視されている」という側面があり、今後日本でのCortana対応アプリを増やすためにも早期での日本語対応は、Microsoftにとって非常に重要な意味を持つ。

 このアプリ連携機能をうまく使うことで、スマートフォンのタッチ操作でいちいちアプリを切り替えなくても、Cortanaとの音声対話やテキストチャットのみで、必要な情報の引き出しや各種操作が行えたりと、「すべてのアプリで共通したユーザーインタフェース」になる可能性を秘めているのだ。

 Windows 10では、Cortanaのアプリ連携に関して次の3つの仕組みがある。

  1. フォアグランドでの音声コマンド
  2. アプリ内での音声認識
  3. バックグランドでの音声コマンド

 Cortanaでは「Tokyo Weather」といったキーワードや「How about weather in Tokyo?」といった自然言語による対話型検索に加えて、特定の機能やアプリを呼び出す「Voice Command(音声コマンド)」の仕組みを設けているのが大きな特徴だ。

 例えば、「Start a chat with Jonas」という音声コマンドによって無料通話・メッセージアプリ「Viber」で“Jonas”とのチャットウィンドウを開いたり、「What's up with Jonas」という音声コマンドで“Jonas”のFacebookでの投稿を確認したりと、特定の音声コマンドがアプリと結びつけられている。

 ただし、これでは同種のアプリで区別がつかないケースもあるため、「Facebook, what's up with Jonas」のようにコマンド前後に「アプリ名」を付与することで、機能として呼び出したいアプリを明示するほうがいいだろう。

tm_1407_win10J_6_03.jpg典型的な問い合わせだけでなく、「Voice Command(音声コマンド)」を使って直接アプリを呼び出して制御できるのがCortanaの特徴だ。簡易的なフレーズでもいいし、あるいは直接アプリ名を指定して呼び出すこともできる

 これ以外にも、より文章として自然な「what's up with Jonas on Facebook」のような音声コマンドを指定することもできる。この辺りの差異はCortanaが構文解析エンジンを通じて文脈を理解し、適時変換が行われている。

 ただし、このようなケースで複数のキーワードが並ぶ場合、あまりに口語調だったり前置詞を省略しすぎたりすると、Cortanaが意味を理解できなくなるため、適度に文章を“リッチ”に表現しておくほうが構文理解の助けにつながるようだ。

tm_1407_win10J_6_04.jpgCortanaの音声コマンドガイダンス。文章として自然な「what's up with Jonas on Facebook」のような音声コマンドを指定できる

 このように音声コマンドを通じて目的となる(UWP:Universal Windows Platform)アプリを呼び出し、処理を引き継がせる仕組みが「フォアグラウンドでの音声コマンド」となる。特徴としては、アプリを直接呼び出して処理させる方式のため、「比較的複雑な処理が可能」だ。

 内部的な処理としては、アプリは「Voice Command Definition(VCD)」というXMLファイルを記述しておき、これをWindows OS側に渡しておくことでCortanaとの連携が行える。VCDには「どの音声コマンドに対して、どのような処理を行う」といった手順が示されている。

 例えば、Cortanaがユーザーから音声コマンドを受け取ると、それをいったんWindows Speech Platformを通じてクラウド上のMicrosoft Speech Recognition Service(音声認識サービス)へと問い合わせ、構文解釈した結果を受け取った段階でVCDと突き合わせてアプリの呼び出し動作を決定する。

tm_1407_win10J_6_05.jpg音声コマンドにおけるCortanaの制御フロー。最初にアプリが「Voice Command Definition(VCD)」を登録することで、どのフレーズでアプリがどのように制御されるのかをCortanaに知らせておくのがポイントだ

 下に示したVCDの記述例では、「AppName」と「Command」以降の音声コマンドに該当する“文章”が重要だ(特に「ListenFor」の部分)。Cortanaで特定のアプリを呼び出すときは、このAppNameに記述された「アプリ名」が利用される。音声コマンドは「Show [my] trip to {destination}」となっており、「Show my trip to~」のフレーズに続くキーワードが「目的地」としてアプリへの引数となる。

 AppNameと音声コマンドで対象となるアプリを特定した後、次のキーワードを引数にアプリを起動するのがフォアグラウンドでの動作手順だ。この時点でCortanaは再度呼び出されるまではアプリの動作に関知せず、当該のアプリが「アプリ内での音声認識」機能を利用したときのみ、音声入力ならびに構文解析エンジンとして駆動するようになる。

tm_1407_win10J_6_06.jpgVCDはXMLで記述されている。Cortanaがサンプルとして表示する基本フレーズのほか、AppNameを指定することでユーザーが明示的にアプリを指定して呼び出すことが容易になる

Cortanaを通じたアプリとの対話型インタフェース

 フォアグランド動作でのCortana連携は、「Cortanaをアプリランチャー」として利用しているだけだが、おそらくCortana本来の強みを発揮できるのは「バックグラウンド動作での連係」のほうだろう。

 バックグラウンド連携では、Cortanaがアプリ(サービス)とユーザーの仲介役となり、共通のインタフェースとして動作する。スマートフォンやタブレットであっても「タッチパネル」の操作なしにアプリの機能を利用できるようになるため、ある意味で究極のユーザーインタフェースとも言える存在だ。このCortanaの魅力を引き出すのも、今後増えてくるであろうCortana対応UWPアプリの存在が大きい。

 バックグラウンド動作時における音声コマンドの挙動だが、基本的なフローはフォアグラウンド時と同様だ。最大の違いは、アプリそのものはユーザーと直接やり取りせず、Voice Command App Serviceを通じて、バックグラウンドでアプリの機能の一部をCortanaへと提供する形態を採っていることにある。

tm_1407_win10J_6_07.jpgバックグラウンド動作時における音声コマンドの制御フロー。先ほどのフォアグラウンド制御とは異なり、アプリはフォアグランドとして直接画面には呼び出されず、Voice Command App Serviceを通じてCortanaのサブ画面の中で動作する形になる

 ユーザーにとっては、ここでの表示結果がアプリの持つ機能ではなく、Cortanaの機能の一部に見えているというところがポイントだ。機能が呼び出されているアプリのアイコン、基本的な応答テキスト、メインとなるコンテンツ、アプリを呼び出すためのリンクがCortanaには表示される(「キャンバス」と呼ばれる)。

 バックグラウンドでのアプリとの対話インタフェースは、フォアグラウンド時の音声コマンドのそれに近いが、Cortanaのキャンバスでは表示領域が限定されているうえ、数個程度の項目表示や選択、「はい/いいえ」の2択、動作のキャンセルなど、できることが非常に限られている。

 つまり、「ユーザーが今素早くアクセスしたい情報の表示」や「手が離せないけど即座に応答したいアクションがある」場合など、あえて情報の選別や最適化をアプリ側が行う必要があるわけだ。

 キャンバス内の項目選択は、マウスやキーボード、タッチ操作だけでなく、音声コマンドでの選択も行える。キャンバスに表示する情報をCortanaに読ませることもできるので、作り込み次第では「画面をいっさい見ずに完全なハンズフリーで操作」といったことも可能になる。これは今後、いろいろ応用範囲の広い使い方ができるだろう。

tm_1407_win10J_6_08.jpg一連のやり取りを通じて、Cortanaが自身の画面内に結果を簡易表示するのが、バックグラウンド動作の特徴だ
tm_1407_win10J_6_09.jpgバックグラウンド動作では、「項目選択」「はい/いいえ」といったシンプルな応答形式で、音声入力によるアプリとのインタフェースも利用できる

WebアプリもUWPアプリ化すればCortanaを利用可能

 Microsoftにとって、新しい世代のユーザーインタフェースとしてのCortanaに期待する部分が大きいというのは、さまざまな部分からうかがえる。同社は「Kinect for Xbox 360」をリリースした際に「NUI(Natural User Interface)」というフレーズを用いたが、CortanaはまさにNUIを体現する存在だからだ。

 MicrosoftはCortanaの存在がWindows 10における強みだとも考えており、WebアプリケーションをUWPアプリとしてパッケージングする「Hosted Web App」を利用するメリットの1つとして、「CortanaをWebアプリケーションから利用できる」という点を挙げている。

 Hosted Web Appを作成するための「Project Westminster」は、同社が開発者向けイベント「Build 2015」で発表した4つの“ブリッジ”のうち、現時点で唯一正式に提供が行われており、Windows 10ならではの機能を活用したアプリの作成が可能だ(残りは「Project Astoria」「Project Islandwood」「Project Centennial」)。

日本ではどのような声になるのかも楽しみ

 Microsoftによれば、現在日本語版Cortana担当のスタッフが全力で開発しており、可能な限り早期でのリリースを目指しているという。以前に話を聞いていた範囲では、日本語の構文解析は比較的難易度が高く、この辺りが障害の1つだという。

 中国語版の開発ではMSRA(Microsoft Research Asia)の研究センターが大きな役割を果たしたようだが、担当スタッフには日本へのローカライズでぜひ頑張ってほしいところだ。

 中国語版では「小娜(XiaoNa、シャオナ)」の名称で提供される同サービスだが(小娜が歌ったりもする)、日本では「どのような声になるのか」という点にも注目が集まっており、数カ月後のWindows Insider Programへの提供を楽しみに待ちたい。

Cortanaの各国対応について説明する動画。日本語対応も紹介されているが、どのような声なのかはまだ分からない



0 件のコメント:

コメントを投稿