(57)【要約】  複数のマルチモーダル機器を含む自然言語音声サービス環境におけるハイブリッド処理のためのシステム及び方法が提供される。  具体的には，当該ハイブリッド処理は，概して，単数又は複数のマルチモーダルリクエストに含まれる単数又は複数の自然言語発話を協力的に解釈し処理する複数のマルチモーダル機器を含む。たとえば，仮想ルータは，前記機器の一又は複数に提供されるマルチモーダル対話に含まれている自然言語発話に対応する符号化された音声を含む様々なメッセージを受信することができる。そして，この仮想ルータは，当該符号化された音声を解析して自然言語発話の最も明確なサンプルを選択し，前記マルチモーダル対話の意図を決定するために，当該環境に含まれる単数又は複数の他の機器と通信することができる。そして，この仮想ルータは，マルチモーダル対話の意図に基づいて，当該マルチモーダル対話を解決することができる。。
2013510341.tif 000002
【特許請求の範囲】
【請求項１】
電子機器において少なくとも一つの自然言語発話を含む少なくとも一つのマルチモーダル対話を検出する工程と，
前記マルチモーダル対話に関連する情報を含む単数又は複数のメッセージを，前記電子機器から，前記電子機器と通信可能な仮想ルータへ，メッセージングインターフェースを通じて送信する工程と，
前記電子機器において，前記マルチモーダル対話の意図に関する情報を含む単数又は複数のメッセージを，前記メッセージングインターフェースを通じて前記仮想ルータから受信する工程と，
前記電子機器において，前記仮想ルータから受信した前記単数又は複数のメッセージに含まれる前記情報に基づいて，前記マルチモーダル対話を解決する工程と，
を備える自然言語音声サービス環境におけるハイブリッド処理方法。
【請求項２】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，単数又は複数の追加的な電子機器と通信する，請求項1の方法。
【請求項３】
前記仮想ルータが，前記マルチモーダル対話のコンテクストを決定し，前記決定されたコンテクストに応答して前記単数又は複数の追加的な電子機器と通信する，請求項２の方法。
【請求項４】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために複数の追加的な電子機器と通信する，請求項1の方法。
【請求項５】
前記仮想ルータに送信される前記単数又は複数のメッセージが，前記自然言語発話に対応する符号化された音声を含む，請求項1の方法。
【請求項６】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，前記符号化された音声を含む単数又は複数のメッセージを単数又は複数の追加的な電子機器に送信する，請求項5の方法。
【請求項７】
前記電子機器において前記マルチモーダル対話を解決することが，前記電子機器において，前記マルチモーダル機器対話の意図に基づいて，少なくとも一つのリクエストを実行することを含む，請求項1の方法。
【請求項８】
前記マルチモーダル対話が，前記自然言語発話に関連する前記電子機器との追加的な非音声対話を含む，請求項1の方法。
【請求項９】
前記電子機器において，前記自然言語発話及び前記自然言語発話に関連する追加的な非音声対話を検出するように構成された単数又は複数の機器リスナーを設定する工程と，
前記追加的な非音声対話及び前記自然言語発話に関連するタイミング情報を調整する工程と，
をさらに備える請求項8の方法。
【請求項１０】
自然言語音声サービス環境におけるハイブリッド処理用の電子機器であって，
少なくとも一つの自然言語発話を含む少なくとも一つのマルチモーダル対話を検出し，
前記マルチモーダル対話に関連する情報を含む単数又は複数のメッセージを，メッセージングインターフェースを通じて，前記電子機器と通信可能な仮想ルータへ送信し，
前記マルチモーダル対話の意図に関連する情報を含む単数又は複数のメッセージを，前記メッセージングインターフェースを通じて前記仮想ルータから受信し，
前記電子機器において，前記仮想ルータから受信された前記単数又は複数のメッセージに含まれる前記情報に基づいて，前記マルチモーダル対話を解決する，
ように構成された電子機器。
【請求項１１】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，単数又は複数の追加的な電子機器と通信する，請求項１０の電子機器。
【請求項１２】
前記仮想ルータが，前記マルチモーダル対話のコンテクストを決定し，前記決定されたコンテクストに応答して前記単数又は複数の追加的な電子機器と通信する請求項１１の電子機器。
【請求項１３】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，複数の追加的な電子機器と通信する請求項１０の電子機器。
【請求項１４】
前記仮想ルータによって送信された前記単数又は複数のメッセージが，前記自然言語発話に対応する符号化された音声を含む請求項１０の電子機器。
【請求項１５】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，前記符号化された音声を含む単数又は複数のメッセージを，単数又は複数の追加的な電子機器に送信する，請求項１４の電子機器。
【請求項１６】
前記電子機器において，前記マルチモーダル対話を解決するために，マルチモーダル機器対話の意図に基づいて，少なくとも一つのリクエストを実行するように構成された請求項１０の電子機器。
【請求項１７】
前記マルチモーダル対話が，前記自然言語発話に関連する前記電子機器との追加的な非音声対話をさらに含む，請求項１０の電子機器。
【請求項１８】
前記自然言語発話及び前記自然言語発話と関連する追加的な非音声対話を検出するように構成された単数又は複数の機器リスナーを設定し，
前記追加的な非音声対話及び前記前記自然言語発話に関連するタイミング情報を調整する，
ようにさらに構成された請求項１７の電子機器。
【請求項１９】
自然言語音声サービス環境におけるハイブリッド処理用の仮想ルータであって，
複数の電子機器の各々とのマルチモーダル対話に含まれる自然言語発話に対応する符号化された音声を含む複数のメッセージを受信し，
前記複数のメッセージにおける前記符号化された音声を解析して，前記複数のメッセージのうち，前記自然言語発話の最も明確なサンプルを提供するメッセージを決定し，
前記最も明確なサンプルを提供する符号化された音声を含む単数又は複数のメッセージを，メッセージングインターフェースを通じて前記仮想ルータと通信するサーバへ送信し，
前記マルチモーダル対話の意図に関する情報を含む単数又は複数のメッセージを，前記メッセージングインターフェースを通じて，前記サーバから受信し，
前記マルチモーダル対話の意図に関連する情報を含む単数又は複数のメッセージを単数又は複数の前記複数の電子機器に返送し，前記単数又は複数の電子機器が，前記マルチモーダル対話の前記意図に関連する情報に基づいて，前記マルチモーダル対話を解決する，
ように構成された仮想ルータ。
【請求項２０】
前記仮想ルータが，前記マルチモーダル対話の意図を決定するために，前記複数の電子機器の一又は複数と通信するように構成された，請求項１９の仮想ルータ。
【請求項２１】
前記マルチモーダル対話のコンテクストを決定し，前記決定されたコンテクストに応答して前記複数の電子機器の一又は複数と通信するようにさらに構成された請求項２０の仮想ルータ。
【請求項２２】
前記マルチモーダル対話の意図を決定するために，前記複数の電子機器のうちの複数の電子機器と通信するように構成された請求項１９の仮想ルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2009年11月10日出願の「自然言語音声サービス環境におけるハイブリッド処理システム及び方法」と題する米国特許出願第61/259,827号に基づく優先権を主張する。当該基礎出願の内容は参照により全体として本明細書に組み込まれる。
【０００２】
本発明は、自然言語音声サービス環境におけるハイブリッド処理に関する。自然言語音声環境には、自然言語サービスにおけるハイブリッド処理を行う複数のマルチモーダル機器が含まれ、このマルチモーダル機器は自然言語発話の解釈に協力するとともに単数又は複数のマルチモーダルリクエストを行うものである。
【背景技術】
【０００３】
家電機器は、技術の進展にともなって、多くの人の毎日の生活のあらゆる場面に入り込むようになっている。携帯電話、ナビゲーション装置、組み込み機器等の機能や可搬性が向上した結果、これらの機器に対する要望が高まっており、かかる要望を満たすために、多くの装置においてコアアプリケーションの他にも様々な機能及び機構が提供されている。しかしながら、機能性の向上によって、学習曲線などにマイナスの影響が生じ、多くのユーザが電子機器の機能の一部しか利用できなくなっている。たとえば，既存の電子機器の多くは、ユーザフレンドリーでない複雑なヒューマン・マシン・インタフェースを備えており、そのせいで多くの技術がマスマーケットで受け入れられていない。また、インタフェースさえ良ければ有用なはずの機能でも、インタフェースが操作しづらいため、その機能の発見や使用が困難になることも多い（たとえば，複雑だったり操作が面倒だったりすることが原因である）。このように、多くのユーザは、自分の電子機器の潜在的な機能を使用しないことが多く、ときにはその存在すら知らないこともある。
【０００４】
市場調査によって、ユーザの多くは、機器において利用できる機能やアプリケーションのほんの一部分しか利用していないことが指摘されている。このように、電子機器の機能は、増加しているものの無駄になっていることが多い。また、無線ネットワーク通信やブロードバンドアクセスがますます普及しており、自分の電子機器からのシームレスな無線通信は消費者にとって当然の要望である。このように、電子機器を操作するためのより簡単な機構に対する要望が高まるにつれて、速く集中的な対話を妨げる操作しづらいインタフェースが重大な懸念事項となっている。しかしながら、技術を直感的に使いたいという要望は、今のところ概して満たされないままである。
【０００５】
電子機器においてユーザと機器との間の対話を単純にする一つの方法は、音声認識ソフトウェアを使用することである。ユーザは、音声認識ソフトウェアを用いることによって、今まで不慣れ、不明、又は使用困難であった機能を利用できる可能性がある。たとえば，カーナビゲーションやウェブアプリケーション等の様々なアプリケーションにおいて用いられるデータを提供するNavteq Corporationが行った最近の調査では、音声認識が電子機器ユーザに最も望まれている機能の一つとして頻繁にランキングされていることが示されている。そうであったとしても、既存の音声ユーザインタフェースは、実際の動作時には依然としてユーザ側に多くの学習を要求するものである。
【０００６】
たとえば，既存の音声ユーザインタフェースの多くは、特定のコマンド・コントロール・シーケンス又はコマンド・コントロール・シンタックスに従って定められたリクエストしかサポートしていない。また、既存の音声ユーザインタフェースの多くは、音声認識が不正確であるため、ユーザにフラストレーションや不満足感を引き起こすこともある。同様に、リクエストをシステムが理解できる方法で伝達するためには、ユーザは予め定められたコマンド又はキーワードを提供しなければならないので、既存の音声ユーザインタフェースは、ユーザを生産的で協力的な対話に効果的に関与させてリクエストを決定することができず、会話を満足の行く目標に向かって進めることができない（たとえば，ユーザが特定のニーズ、利用可能な情報、機器の機能等についてよく分かっていない場合）。このように、既存の音声ユーザインタフェースには、様々な欠点が存在する。たとえば，ユーザを協力的な方法で及び会話形式で対話に関与させる点に重大な限界がある。
【０００７】
また、既存の音声ユーザインタフェースの多くは、異なるドメイン、機器、及びアプリケーションを横断して提供される情報を利用して自然言語音声の入力を決定することができない。このように、既存の音声ユーザインタフェースは、有限の数の専用アプリケーション又は搭載された機器に限定されるという欠点がある。技術の進展によって、ユーザは必要に応じて複数の機器を所有することが多くなっているが、ユーザは既存の音声ユーザインタフェースのせいで機器に縛り付けられたままである。たとえば，ユーザは、異なるアプリケーション及び機器に関連づけられたサービスに関心を持っている場合であっても、既存の音声ユーザインタフェースによってそれらのサービスに対応するアプリケーション及び機器へのアクセスを制限されることが多い。また、ユーザは、現実には一度に有限の数の機器しか持ち歩くことができないが、ユーザの使用中の他の機器に関連づけられているコンテンツやサービスを様々な場面で使用することが望まれる。
【０００８】
したがって、ユーザは様々なニーズを持っており、異なる機器に関連づけられたコンテンツ又はサービスが様々なコンテクスト又は環境において必要とされる可能性があるが、既存の音声技術は、実質的に任意の機器又はネットワークに対応付けられるコンテンツ又はサービスがユーザによって要求可能な統合環境を提供することができないことが多い。このように、既存の音声サービス環境における情報の利用可能性及び機器対話メカニズムの制約のために、ユーザは、直感的で、自然で、及び効率的な方法で技術を利用することができない。たとえば，ユーザが所定の電子機器を用いて所定の機能を実行することを望んでいるが当該機能を実行するためにどうすればよいのか必ずしも分かっていない場合において、当該機器とのマルチモーダル対話を行って単純に自然言語で語を発話しても当該機能を要求することはできない。
【０００９】
また、相対的に単純な機能は、音声認識機能を有していない電子機器を用いて実行するには退屈であることが多い。たとえば，携帯電話用の新しいリングトーンを購入することは、相対的に単純な処理である場合が多いが、ユーザは、処理の完了までに複数のメニューをナビゲートし、多くの異なるボタンを押さなければならないことが多い。このように、ユーザが、埋没した機能又は使用が難しい機能を利用するために自然言語を使用する場合には、電子機器との対話がはるかに効率的であることは明らかである。既存のシステムには、上述の及びそれ以外の問題点がある。
【発明の概要】
【００１０】
本発明の一態様によれば、自然言語音声サービス環境におけるハイブリッド処理のためのシステム及び方法によって、前述した既存の
システムとの問題を解決することが可能である。具体的には、自然言語音声環境におけるハイブリッド処理は，概して，複数のマルチモーダル機器が含まれる。このマルチモーダル機器は、以下に詳述するように、単数又は複数のマルチモーダルリクエストに含まれる自然言語発話を協力的に解釈し処理する。
【００１１】
本発明の一態様によれば、自然言語音声サービス環境におけるハイブリッド処理には、単数又は複数のマルチモーダルリクエストに含まれる自然言語発話を協力的に解釈し処理するマルチモーダル機器が含まれる。たとえば、仮想ルータは、単数又は複数の機器に提供されたマルチモーダル対話に含まれる自然言語発話に対応する様々な符号化された音声を含むメッセージを受信することができる。仮想ルータは、符号化された音声を分析し、自然言語発話の最も明確なサンプルを選択し、マルチモーダル対話の意図を決定するするために，環境内の単数又は複数の他の機器と通信することができる。仮想ルータは、マルチモーダル対話の意図に基づき、マルチモーダル対話を解決する。
【００１２】
本発明の一態様によれば、自然言語音声サービス環境におけるハイブリッド処理の方法には、少なくとも一つの自然言語発話を含む少なくとも一つのマルチモーダル機器対話を検出する工程が含まれる。マルチモーダル対話に関する情報を含む単数又は複数のメッセージが、メッセージングインターフェースを通じて、当該電子機器と通信する仮想ルータに送信される。この方法にはさらに、メッセージングインターフェースを通じて、当該電子機器内のマルチモーダル対話の意図に関する情報が含まれる単数又は複数のメッセージを受信する工程が含まれる。これにより、マルチモーダル対話は、仮想ルータから受信された単数又は複数のメッセージに含まれる情報に基づき、当該電子機器において解決される。
【００１３】
本発明の一態様によれば、自然言語音声サービス環境におけるハイブリッド処理の方法は、前記仮想ルータと通信可能な単数又は複数の電子機器を含むことができる。具体的には、当該電子機器は、少なくとも一つの自然言語発話を含む少なくとも一つのマルチモーダル対話を検出し、メッセージングインターフェースを通じて仮想ルータからマルチモーダル対話に関する情報を含む単数又は複数のメッセージを送信するよう構成される。そして，当該電子機器は、メッセージングインターフェースを通じて、仮想ルータから，マルチモーダル対話の意図に関する情報を含む単数又は複数のメッセージを受信し、仮想ルータから受信した単数又は複数のメッセージに含まれる情報に基づき、
マルチモーダル対話を解決することができる。
【００１４】
これら以外の本発明の目的及び効果は、以下の図面及び詳細な説明により明らかになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一態様に従って、自然言語音声サービス環境において，ハイブリッド処理のために用いられる例示的な音声対応機器のブロック図を示す。
【００１６】
【図２】本発明の一態様に従って，自然言語音声サービス環境におけるハイブリッド処理のための例示的なシステムのブロック図を示す。
【００１７】
【図３】本発明の一態様に従って，自然言語音声サービス環境において協力してハイブリッド処理を実行する様々な機器を初期化するための例示的な方法のフロー図を示す。
【００１８】
【図４】本発明の一態様に従って，自然言語音声サービス環境におけるハイブリッド処理の例示的な方法のフロー図を示す。
【図５】本発明の一態様に従って，自然言語音声サービス環境におけるハイブリッド処理の例示的な方法のフロー図を示す。
【発明を実施するための形態】
【００１９】
図１は，本発明の一態様に従って，自然言語音声サービス環境においてハイブリッド処理に用いられ得る例示的な音声対応機器100のブロック図を示す。本明細書の説明から明らかとなるように，図１に示した音声対応機器100は，一般に，ユーザがマルチモーダル的な方法で音声対応機器100と対話するための単一の入力機器112，又は，入力機器112の組み合わせを含む。具体的には，入力機器112は，少なくとも一つの音声入力機器112（たとえば，マイク），及び，少なくとも一つの非音声入力機器112（たとえば，マウス，タッチスクリーンディスプレイ，ホイールセレクター等）の任意の適切な組み合わせを含みうる。このように，入力機器112は，音声ベース入力及び非音声ベース入力の両方を受信する機構を有する電子機器（たとえば，テレマティックス機器，パーソナルナビゲーション機器，携帯電話，VoIPノード，パーソナルコンピュータ，メディア機器，組み込み機器，サーバ，又はこれら以外の電子機器の一又は複数と組み合わせられるマイク）の任意の適切な組み合わせを含み得る。
【００２０】
一実施態様において，ユーザは，音声対応機器100によって，様々なマルチモーダル対話を行うことができる。この音声対応機器100は、自由形式且つ協力的な方法で，当該マルチモーダル対話において，様々なタスクを実行し、様々なクエリを解決し、又はこれら以外にも様々な自然言語リクエストを解決する処理を行うことができる。たとえば，一実施態様において，音声対応機器100は、様々な自然言語処理コンポーネントを含んでもよい。自然言語処理コンポーネントは，単数又は複数の入力機器112に接続された音声クリックモジュールを少なくとも含む。この点は、2009年2月20日に出願された「System and Method for Processing Multi-Modal Device Interactions in
a Natural Language Voice Services Environment」と題する出願係属中の米国特許出願第12/389,678号において説明されている。当該米国特許出願の開示内容は、参照により全体として本明細書に組み込まれる。本明細書において詳細に説明されるように、単数又は複数の複数の入力機器112と音声クリックモジュールとは、ユーザと音声対応機器100との間の様々なマルチモーダル対話を処理するように一体的に構成されてもよい。
【００２１】
たとえば，一実施態様において，マルチモーダル対話は、少なくとも一つの自然言語発話を含むことができる。自然言語発話は，電子信号に変換され得る。この電子信号は、自動音声認識装置（Automatic Speech Recognizer: ASR）に提供され得る。自動音声認識装置120は，音声認識 エンジン120及び／又はマルチパス音声認識 エンジン120とも呼ばれる。対話に対応する電子信号の受信に応答して、ASR120は、発話の単数又は複数の複数の予備的な解釈を生成し、かかる予備的な解釈を会話言語プロセッサ130に提供することができる。また、一実施態様において、マルチモーダル対話は、単数又は複数の複数の入力機器112との単数又は複数の複数の非音声対話（たとえば，ボタン押下、マルチタッチ、ジェスチャ、処理されるべき焦点（points of focus）又は関心の焦点（attention focus）の選択等）を含むことができる。このように、音声クリックモジュールは、非音声対話からコンテクストを抽出し、発話の解釈の生成に使用するために，抽出したコンテクストを（図１の破線を介して）会話言語プロセッサ130に提供することができる。このように、後述するように、会話言語プロセッサ130は、発話及び非音声対話に付随する非音声対話を分析し，音声対応機器100とのマルチモーダル対話の意図を決定することができる。
【００２２】
上記のとおり、一実施態様において、音声対応機器100は、自由形式の発話及び／又はこれ以外の形式の非言語機器対話をサポートすることができる様々な自然言語処理コンポーネントを含んでもよく、これによりユーザをコマンド、クエリ、及びその他のリクエストを定式化する方法に関する制約から開放することができる。このように、ユーザは、任意の会話方法（manner of speaking）を用いて、音声入力機器112に発話を提供することができ、さらに音声対応機器100を通じて、利用可能なコンテンツ又はサービスを要求することができる。たとえば、一実施態様において、音声入力機器112において発話が受信されたことに応答して、当該発話は、「System and Method for Responding to Natural Language Speech
Utterance」と題する米国特許出願第10/452,147号（2008年7月8日に米国特許第7,398,209号として発行された。）、及び、2003年6月15日に出願された「Mobile System and Method for Responding to Natural Language Speech
Utterance」と題する米国特許出願第10/618,633号に記載された技術を用いて処理され得る。これらの出願の内容は参照により全体として本明細書に組み込まれる。また、ユーザは、単数又は複数の非音声入力装置112と対話して，ボタン押下、マルチタッチジェスチャ、処理されるべき焦点（points of focus）、関心の焦点（attention focus）の選択を提供することができる。これにより、追加的なコンテクスト，又は，自然言語発話及び／又は要求されたコンテンツもしくはサービスに関する他の追加的な情報を提供することできる。
【００２３】
一実施態様において，音声対応機器100は、音声対応機器100と協力して自然言語発話及び／又は非言語機器対話の組み合わせを含むマルチモーダル対話の解釈又はそれ以外の処理を行うよう構成された単数又は複数の追加的システムと組み合わせられ得る。たとえば，以下において図２を参照して詳述するように、当該単数又は複数の追加的システムには、音声対応機器100と同様の自然言語処理能力を有する単数又は複数のマルチモーダル音声対応機器、データ取得能力及び／又はタスク実行能力を持つ単数又は複数の非音声機器、及び音声対応機器100と追加的システムとの間の対話を調整する仮想ルータを含んでもよい。このように、音声対応機器100は、複数のマルチモーダル機器を含む統合された自然言語音声サービス環境へのインターフェースを含むことができる。これにより、ユーザは、任意のマルチモーダル機器を通じて利用可能なコンテンツ又はサービスを要求することができる。
【００２４】
たとえば，一実施態様において，会話言語プロセッサ130は、音声サービス環境において利用可能なコンテンツ、サービス、アプリケーション、意図決定機能、及びこれら以外の機能に関連する情報を提供する星座モデル132bを含んでもよい。この点は、2008年5月27日に出願された「System and Method for an Integrated, Multi- Modal, Multi-Device
Natural Language Voice Services Environment」と題する係属中の米国特許出願第12/127,343号において説明されている。当該出願の内容は、参照により全体として本明細書に組み込まれる。このように、音声対応機器100は、自然言語処理能力、コンテクスト、以前の会話、ドメイン情報、短期的情報（short-term knowledge）、長期的情報（long-term knowledge）、及び各種マルチモーダル機器のための認知モデルに関する共有された情報に対してアクセスすることができ，音声対応機器100が受信したマルチモーダル会話を解決するための協力的環境を提供できる。
【００２５】
一実施態様において、入力機器112及び当該入力機器112に接続された音声クリックモジュールは、音声対応機器100において受信されたる単数又は複数マルチモーダル対話を継続的に監視するよう構成されてもよい。具体的には，入力機器112及び音声クリックモジュールは、単数又は複数の自然言語発話及び／又はこれとは区別される単数又は複数の非音声機器対話を継続的に監視することができる。コンテンツの取得、タスクの実施、サービス若しくはコマンドの起動、又はこれら以外の適切なリクエストの処理のために，関連するコンテクストを一体として提供することができる。このように、単数又は複数のマルチモーダル会話の検出に応答して、入力器機112及び／又は音声クリックモジュールは、音声対応機器100に対して、発話及び／又は非音声対話が受信されたとの信号を送ることができる。たとえば、一実施態様において、当該非音声対話は、付随する発話の認識、解釈及び理解を明確化するためのコンテクストを提供することができ，また、当該発話は、付随する非音声対話の解釈を向上させるためのコンテクストを提供することができる。したがって、発話及び非言語対話は、当該発話及び非言語会話を含むマルチモーダル会話の意図を決定するために様々な自然言語処理コンポーネントによって使用される間連コンテクストを一体として提供することができる。
【００２６】
一実施態様においては、上記のように、マルチモーダル対話に含まれる発話の処理は、ASR120おいて開始される。ASR120は、当該発話の単数又は複数の単数又は複数の予備的な解釈を生成することができる。一実施態様においては、ASR120は、発話の予備的な解釈を生成するために、単数又は複数の動的に適応される認識文法及び／又は音響モデルを使用して、又はその他の発話の音響的特徴を認識するように構成されてもよい。たとえば、一実施態様において、ASR120は，単数又は複数の動的な認識文法及び／又は音響モデルを使用して，音声ディクテーション技術に基づいて，発話から音素列を認識することができる。この点は，「Dynamic Speech Sharpening」と題する米国特許出願第11/513,269号（2009年12月15日に米国特許第7,634,409号として発行された。）において説明されている。当該特許の内容は、参照により全体として本明細書に組み込まれる。また、動的に適応される認識文法及び／又は音響モデルは、中段中舌母音（たとえば，「シュワー（曖昧母音）」）を含んでもよい。これにより、発話の音素列を認識するための検索スペースを削減することができる。
【００２７】
また、一実施態様において、ASR120は、マルチパス音声認識エンジン120として構成されてもよい。マルチパス音声認識エンジンは，「Systems and Methods for Responding to Natural Language Speech
Utterance」と題する米国特許出願第11/197,504（2009年12月29日に米国特許第 7,640,160として発行された。）に説明されている。当該特許の内容は、参照により全体として本明細書に組み込まれる。マルチパス音声認識エンジン120は、発話の主トランスクリプションを生成するために主音声認識エンジンを最初に起動し、続いて単数又は複数の二次トランスクリプションを生成するために選択的に単数又は複数の二次音声認識エンジンを起動するように構成されてもよい。一実施態様において、主トランスクリプションは、大規模なリストディクテーション文法を使用して生成され，二次トランスクリプションは、未知語のためのデコイ語を有する仮想的なディクテーション文法、会話履歴から抽出された削減語彙（reduced vocabulary）、又はその他の動的な認識文法を使用して生成されてもよい。たとえば、一実施態様においては、主トランスクリプションの信頼度がしきい値以上とならない場合に、主音声認識エンジンの解釈を向上させるために二次音声認識エンジンが起動されてもよい。しかしながら、マルチパス音声認識エンジン120は、発話のための複数のトランスクリプションパスから抽出される予備的解釈を得るために好適な技術を適宜組み合わせて当該対話を解釈することができる（たとえば，二次音声認識エンジンは、主トランスクリプションの信頼度に関わらず起動されてもよいし、主音声認識エンジン及び／又は二次音声認識エンジンが特定の解釈コンテクスト等と同一の，又は，そのために最適化された認識文法を用いてもよいし，これら以外の方法を用いてもよい。）。
【００２８】
したがって、一実施態様においては、ASR120で使用される動的な認識文法は、様々な言語、コンテクスト、ドメイン、メモリ制約、及び／又はこれ以外の適切な基準のために最適化され得る。たとえば、一実施態様において、音声対応機器100は、特定のコンテクスト又はドメインに関するコンテンツ又はサービスを提供する単数又は複数のアプリケーション134（例えばナビゲーションアプリケーション134）を含んでもよい。このように、ASR120が当該発話について最有力なコンテクストをナビゲーションとする決定した場合、動的な認識文法は、様々な物理的、時間的、方向的、またはそれ以外の地理的な特徴のために最適化され得る（この点は，たとえば，2007年12月11日に出願され係属中の「System and Method for Providing a Natural Language Voice User
Interface in an Integrated Voice Navigation Services Environment,」と題する米国特許出願番号第11/580,926に記載されている。当該出願の内容は参照により全体として本明細書に組み込まれる。）。たとえば，「traffic」という語を含む発話は、コンテクストがナビゲーションなのか（すなわち道路状況）、音楽なのか（すなわち、1960年代のロックバンド）、又は映画なのか（すなわち、スティーブン・ソダーバーグ監督の映画）によって、異なる解釈を与えられる可能性がある。したがって、ASR120で使用される認識文法は、所定の発話について正確に認識するための最適化のために動的に構成され得る（たとえば，対話が特定の語又は句を含むと誤って解釈された場合には、不正確な解釈の繰り返しを避けるために，当該不正確な解釈は認識文法から除去され得る）。
【００２９】
一実施態様においては、ASR120が上述の単数又は複数の手法を使用してマルチモーダル会話に含まれる発話の予備的な解釈を生成したことに応答して、当該ASR120は，当該予備的な解釈を会話言語プロセッサ130に提供する。会話言語プロセッサ130は、一般に様々な自然言語処理コンポーネントを含んでもよい。当該自然言語処理コンポーネントは、人対人の会話又は対話を含むよう構成され得る。このように、会話言語プロセッサ130は、発話の予備的な解釈及び付随する非言語会話を更に分析し，音声対応機器100において受信されたマルチモーダル対話の意図を決定するために，単数又は複数の自然言語処理コンポーネントを起動することができる。
【００３０】
一実施態様において、会話言語プロセッサ120は、音声対応機器100で受信したマルチモーダル対話の意図を決定するよう構成された意図決定エンジン130aを起動させることができる。一実施態様において、意図決定エンジン130aは、意図決定のための長期的な又は短期的な意味的情報を提供する知識強化型（knowledge-enhanced）音声認識エンジンを起動することができる。知識強化型（knowledge-enhanced）音声認識エンジンは，2005年4月29日出願の「Mobile Systems and Methods of Supporting Natural Language
Human-Machine Interactions」と題する米国特許出願番号11/212,693号において説明されている。当該出願の内容は参照により全体として本明細書に組み込まれる。たとえば、一実施態様において、意味的情報は、ユーザーとの一又は複数の以前の対話から抽出された個々の認知モデル、様々な別個のユーザーとの一又は複数の以前の対話から抽出された一般的認知モデル、並びに／又は，ユーザ，音声対応デバイス100，及び／もしくは音声サービス環境（たとえば，環境雑音特性、場所に固有の情報等）と関連づけられた環境から抽出された環境認知モデル、に基づくものであってもよい。
【００３１】
また、 意図決定エンジン132aは、マルチモーダル対話のコンテクストを決定するため、コンテクスト追跡エンジン132dを起動させることができる。たとえば、自然言語発話及び／又はマルチモーダル対話における非言語対話から抽出された任意のコンテクストは、コンテクスト追跡132dと関連づけられたコンテクストスタックに追加される。コンテクストスタックは，現在のマルチモーダル対話のための認識モデル及びコンテクストに従って、重み付けされ，又は，これ以外の方法でランク付けされた様々なエントリを含むことができる。このように、コンテクスト追跡エンジン132dは、現在のマルチモーダル対話について最有力なコンテクストを決定するために，現在のマルチモーダル対話に関連付けられた情報と一致するコンテクストスタック中の単数又は複数のエントリを決定することができる。コンテクスト追跡エンジン132dは，最有力のコンテクストを意図決定エンジン132aに提供することができる。意図決定エンジン132aは，当該最有力のコンテクストに照らしてマルチモーダル対話の意図を決定することができる。
【００３２】
また、最有力のコンテクストに基づいて、意図決定エンジン132aは，音声サービス環境における様々なシステムやマルチモーダル機器を起動するか否かを決定するために，星座モデル132bを参照することができる。たとえば、上述したように、星座モデル132bは，意図決定機能、ドメイン情報、意味的情報、認知モデル、及びこれら以外に様々なシステムとマルチモーダル機器を介して利用可能な情報を提供することができる。このように、意図決定エンジン132aは，星座モデル132bを参照して，当該他のシステム及び／又はマルチモーダル機器が，マルチモーダル対話の意図を決定するために用いられるか否かを決定することができる。たとえば、星座モデル132bが単数又は複数の当該他のシステム及び／又はマルチモーダル機器が最有力のコンテクストに最適化された自然言語処理能力を有していることを示している場合には、意図決定エンジン132aは，当該マルチモーダル対話に関する情報をかかるシステム及び／又はマルチモーダル機器に送信することができる。これらのシステム及び／又はマルチモーダル機器は，当該マルチモーダル対話の意図を決定し、決定された意図を音声対応機器100に返信する。
【００３３】
一実施態様においては、会話言語プロセッサ130は，マルチモーダル対話の意図又はそれ以外のプロセスを解決するために，ユーザーを単数又は複数の協力的な会話に参加させるように構成されてもよい。この点は，2006年10月16日に出願されて係属中の「System and Method for a Cooperative Conversational Voice User
Interface」と題する米国特許出願11/580,926号において説明されている。当該出願の内容は、参照により全体として本明細書に組み込まれる。具体的には、会話言語プロセッサ130は，一般には、マルチモーダル対話の目標を特定することができる。会話の目標は、発話，非音声対話、最有力のコンテクスト、及び／又は決定された意図の特定から分析まで含むことができる。このように、マルチモーダル対話について特定された会話の目標は、一般に、会話言語プロセッサ130とユーザーとの協力的会話を制御することができる。たとえば、会話言語プロセッサ130は、一般に，単数又は複数のユーザーを、クエリ会話（query conversation）、教示的会話（didactic conversation）、及び／又は，探索的な会話に参加させることができる。
【００３４】
具体的には、会話言語プロセッサ130は、会話の目標が個別情報の取得又は特定の機能の実行に関連していることを特定した場合には、ユーザをクエリ会話に参加させることができる。このように、協力的なクエリ会話において、ユーザーは、特定の会話目標の達成に向けて会話を主導することができ、会話言語プロセッサ130は，目標を達成するために，単数又は複数のクエリ、タスク、コマンド、又はこれら以外のリクエストを開始することにより、会話においてユーザを支援することができる。マルチモーダル対話の意図における曖昧さや不確実性に応答して、会話言語プロセッサ130は，当該曖昧さや不確実性を解決するために（たとえば，ノイズやマラプロピズムが発話の解釈と干渉する場合には、複数の有力コンテクストについて曖昧さを回避することができない。），ユーザを教示的会話に参加させることができる。このように，協力的な教示的会話においては、会話言語プロセッサ130は、マルチモーダル対話の意図を明確にするために会話を主導することができ（たとえば，出力機器114を介して提供されるフィードバックを生成する），一方，ユーザは，会話を調整し、意図を明確化するために追加的なマルチモーダル対話を提供することができる。好適な信頼度を有するが，曖昧な又は不確実な目標を示す意図を有するマルチモーダル対話の意図が決定されたことに応答して、会話言語プロセッサ130は，ユーザーを探索的な会話に参加させることができる。協力的な探索的会話においては、会話言語プロセッサ130とユーザーとは、会話の主導者と支持者の役割を分担することができる。曖昧な又は不確実な目標は，会話を通じて改善又は精緻化される。
【００３５】
このように、会話言語プロセッサ130は、一般に，音声対応機器100で受信されたマルチモーダル対話の意図を決定し、また，その特定の目標を解決するために，単数又は複数の協力的な会話を行うことができる。そして，言語プロセッサ130は，マルチモーダル対話に関して決定された意図又は目標を促進するために，単数又は複数のクエリ、タスク、コマンド、またはこれら以外のリクエストを開始することができる。たとえば，一実施態様において、会話言語プロセッサ130は，特定のドメインまたはアプリケーション134においてリクエストを処理することができる単数又は複数のエージェント132c，マルチモーダルにおいて要求された情報を（たとえば，単数又は複数のデータリポジトリ136、ネットワーク、又は，音声対応機器100に接続されたその他の情報ソース等から）取得することができる音声検索エンジン132f，又は，（たとえば，星座モデル132bの決定に従って）マルチモーダル対話の意図や目標を促進するための適切な処理能力を有する単数又は複数の前述した以外のシステムやマルチモーダル機器を起動することができる。
【００３６】
また、一実施態様において、会話言語プロセッサ130は、クエリ，タスク、コマンド、又はマルチモーダル対話を処理するために開始された前述した以外のリクエストに関連する広告アプリケーション134を起動することができる。広告アプリケーション134は，当該マルチモーダル対話の意図及び／又は目標に関連する単数又は複数の広告を選択するように構成されてもよい。この点は，2007年2月6日に出願され，「System and Method for Selecting and Presenting Advertisements Based
on Natural Language Processing of Voice-Based Input」と題された係属中の米国特許出願第11/671,526号において説明されている。当該米国特許出願の開示内容は、参照により全体として本明細書に組み込まれる。
【００３７】
一実施態様において、マルチモーダル対話の処理のためのクエリ、タスク、コマンド、又はこれら以外のリクエストの任意の好適な組み合わせから得られる結果の受信に応答して、会話言語プロセッサ130は，当該結果を出力機器114を介してユーザに提示するために、当該結果の形式を整えることができる。たとえば、当該結果は、電子信号に変換され、出力機器114に接続されたスピーカーを介してユーザに提供可能な自然言語発話形式に設定され得る。又は，当該結果は，出力機器114に接続されたディスプレイ視覚的に提示されてもよい。当該結果は，これら以外の任意の好適な方法でユーザに提供され得る（たとえば，当該結果は，特定のタスクやコマンドが正しく実行されたか否かを示すことができる。また，当該結果は，単数又は複数のクエリに応答して取得された情報を含むことができる。また，当該結果が曖昧又はその他の態様で不完全な場合には，当該結果は，後続のマルチモーダル対話を構成するためのリクエストを含むことができる。
【００３８】
また、一実施態様において、会話言語プロセッサ130は、誤認識エンジン132eを含むことができる。誤認識エンジン132eは，会話言語プロセッサ130がマルチモーダル対話の意図を誤って決定したか否かを決定するように構成され得る。一実施態様において、誤認識エンジン132eは，以前のマルチモーダル対話と時間的に近接して行われる単数又は複数の後続のマルチモーダル対話に応答して、会話言語プロセッサ130が意図を誤って決定したと判断することができる。この点は，「System and Method of Supporting Adaptive Misrecognition in
Conversational Speech」と題する米国特許出願第11/200,164号において説明されている。同出願は，2009年11月17日に，米国特許第7,620,549号として発行された。当該出願の内容は、参照により全体として本明細書に組み込まれる。たとえば、誤認識エンジン132eは，ストップワードが含まれ，現在のリクエストをオーバーライドし、又はこれら以外の認識されないか又は誤認識されたイベントを示す，単数又は複数の後続のマルチモーダル対話を監視することができる。そして，誤認識エンジン132eは、後続の解釈を改善するために，ASR120及び／又は会話言語プロセッサ130と関連付けられた様々なコンポーネントについて，単数又は複数の調整用パラメータを決定することができる。
【００３９】
したがって、既に詳細に説明したように、音声対応機器100は、一般に，自然言語音声サービス環境におけるハイブリッド処理に用いられる様々な自然言語処理コンポーネント及び処理能力を含むことができる。具体的には、音声対応機器100は、自然言語発話及び／又は非音声対話の任意の好適な組み合わせを含むマルチモーダル対話の意図を決定し，単数又は複数のクエリ、タスク、コマンド、又はそれ以外のリクエストを決定された意図に基づいて処理するように構成され得る。また、上述され，さらに詳細に後述されるように，単数又は複数の他のシステム及び／又はマルチモーダル機器も，ハイブリッド処理手順を提供するために，マルチモーダル対話の意図の決定，及び，マルチモーダル対話のためのクエリ、タスク、コマンド、又はこれら以外のリクエストの処理に参加することができる。ここで、音声対応機器100並びにその他の様々なシステム及び／又はマルチモーダル機器は，マルチモーダル対話の意図を決定し，及び，これら以外のマルチモーダル対話の処理を協力的に実行するために、並列処理を実行することができる。たとえば、一実施態様において、協力して処理されたマルチモーダル対話は，コンテンツ（たとえば，特定の人またはエンティティに対して）提供する要求を含むことができる。このとき，マルチモーダル対話は，2009年11月10日に出願された「System and Method for Providing a Natural Language Content
Dedication Service」と題する係属中の米国特許出願第61/259,820号に開示された技術を用いて処理され得る。当該米国出願の内容は，参照により全体として本明細書に組み込まれる。
【００４０】
図２は，本発明の一態様に従って、自然言語音声サービス環境におけるハイブリッド処理のための例示的なシステムのブロック図を示す。具体的には、図２に図示されたシステムは，一般に、図１を参照して説明した音声対応機器と類似する音声対応クライアント機器210を含むことができる。たとえば、音声対応クライアント機器210は，入力機器及び出力機器215aの任意の好適な組み合わせを含むことができる。入力機器及び出力機器215aは，自然言語マルチモーダル対話を受信し，当該自然言語マルチモーダル対話への応答を提供するようにそれぞれ構成されている。また、音声対応クライアント機器210は，出力機器215aにおいて受信された自然言語発話の単数又は複数の予備的な解釈を生成することができ，また，当該予備的な解釈を会話言語プロセッサ230aに提供することができる自動音声認識装置（ASR）220aを含むことができる。
【００４１】
一実施態様において、音声対応クライアント機器210に備えられた言語会話プロセッサ230aは、単数又は複数の自然言語処理コンポーネントを含むことができる。この自然言語処理コンポーネントは，音声対応クライアント機器210で受信されたマルチモーダル対話の意図を決定するために起動され得る。会話言語プロセッサ230aは，当該意図を解決するための単数又は複数のクエリ、タスク、コマンド、又はリクエストを起動することができる。たとえば、会話言語プロセッサ230aは，単数又は複数のアプリケーション234aを起動し，特定のドメインにおいてリクエストを処理し，単数又は複数のデータリポジトリ236aに問い合わせを行ってマルチモーダル対話において要求された情報を入手し、又は，これら以外の方法でクライアント機器210のユーザと協力的な会話を行って決定された意図を解決することができる。また、図１を参照して説明したように，音声対応クライアント機器210は、マルチモーダル対話の意図を解決するためのクエリ、タスク、コマンド、又はこれら以外のリクエストを起動するための処理機能を有する，単数又は複数の他のシステム又はマルチモーダルデバイスと協力することができる。
【００４２】
具体的には、ハイブリッド処理環境において他のシステムやマルチモーダル機器と協力するために、音声対応のクライアント機器210は，メッセージングインタフェース250aを用いて，仮想ルータ260と通信することができる。ここで，メッセージングインタフェース250aは，一般には，音声対応クライアント機器210が入力を仮想ルータ260に送信するとともに出力を仮想ルータ260から受信するメカニズムを提供するライトクライアント（又はシンクライアント）を含む。また、仮想ルータ260は、単数又は複数の追加的な音声対応デバイス270a-n，単数又は複数の非音声機器280a-n、及び音声対応サーバ240と通信するためのメカニズムを提供するメッセージングインタフェース250bを含む。
【００４３】
このように、一実施態様において、音声対応クライアント機器210で実行されるメッセージングインタフェース250aは，音声対応クライアント機器210からの入力を単数又は複数のXMLメッセージに含めて仮想ルーター260に送信することができる。当該入力には，自然言語発話に対応する符号化された音声，当該自然言語発話の予備的な解釈、マルチタッチジェスチャに対応するデータ、処理されるべき焦点（points of focus）又は関心の焦点（attention focus）の選択、及び／又はこれら以外のマルチモーダル対話が含まれる。一実施態様において、仮想ルータ260は、会話言語プロセッサ230cを用いて，さらに当該入力を処理することができる。会話言語プロセッサ230cは，音声認識、意図決定、適応誤認識（adaptive misrecognition）、及び／又はこれら以外の自然言語処理を行う機能を有する。また、会話言語プロセッサ230cは，コンテンツ、サービス、アプリケーション、自然言語処理機能、及びハイブリッド処理環境において様々な機器を通じて利用可能これら以外の機能に関する情報を含むことができる。
【００４４】
このように、一実施態様において、仮想ルータ260はさらに，メッセージングインタフェース250bを通じて，音声対応機器270、非音声機器280、及び／又は、音声対応サーバ240と通信し，音声対応クライアント機器210から受信した入力を処理するように，一体的に動作することができる。たとえば、ハイブリッド処理環境における様々な機器の特徴又は機能に関連する情報に基づいて、仮想ルータ260は，音声対応クライアント機器210から受信した入力の意図を解決するために好適な特徴及び／又は機能を有する単数又は複数の機器を特定することができる。仮想ルータ260は、入力の単数又は複数のコンポーネントを，各々のメッセージングインタフェース250bを通じて，特定された機器に転送することができる。特定された機器は、仮想ルータ260から転送された入力のコンポーネントに好適な処理を実行するために起動される。一実施態様において、特定された機器は、次に，処理結果を，各々のメッセージングインタフェース250bを通じて仮想ルータ260に返送することができる。仮想ルータ260は，処理結果を照合し、当該結果を，メッセージングインタフェース250aを通じて音声対応クライアント機器210に返送することができる。
【００４５】
したがって，仮想ルータ260は，メッセージング環境をインタフェース250a-bを通じて，ハイブリッド処理環境において利用可能な機器の任意のものと通信し，音声対応クライアント機器210から受信したマルチモーダル対話又はそれ以外の自然言語音声入力の協力的なハイブリッド処理をコーディネートすることができる。たとえば、一実施態様において、協力的なハイブリッド処理は，音声対応クライアント機器210が制約されたリソースを有する組み込み処理アーキテクチャにおける処理能力を強化するために使用され得る（たとえば，音声対応クライアント機器210は，自然言語処理のために限られた内部メモリやこれ以外の専用リソースを有するモバイル機器である）。このように、音声対応クライアント機器210が埋め込み処理アーキテクチャを備える場合、音声対応クライアント機器210の単数又は複数のコンポーネントは，ボトルネック、長い応答時間、又は性能劣化を削減又は除去するために，搭載された自然言語処理の効率を最適化するように構成され得る。
【００４６】
たとえば，一実装態様において，搭載された自然言語処理の効率の最適化は、未知語のためのデコイ語を有する仮想ディクテーション文法，会話履歴から抽出された削減語彙（reduced vocabulary）、又はこれら以外の動的な認識文法（たとえば，特定の言語、コンテクスト、ドメイン、メモリ制約、及び／又はこれら以外の基準に対して最適化された文法）を使用するように，ASR 220aを構成することを含み得る。他の例では、搭載アプリケーション234a及び／又はデータリポジトリ236aは、音声対応クライアント機器210に特定の特徴及び機能を提供する組み込みアプリケーションセットに関連付けられてもよい。たとえば、音声対応クライアント機器210は、自動車用テレマティクスシステム、パーソナルナビゲーション機器、ＧＰＳ、携帯電話、又はユーザーが頻繁に位置ベースサービスを要求する前述以外の機器に組み込まれていてもよい。このように、かかる状況においては、組み込みアプリケーションセットにおける搭載アプリケーション234a及びデータリポジトリ236aは，オンボードで効率的に処理できる所定の位置ベースサービス（たとえば，目的地入力、ナビゲーション、地図の制御、音楽検索、ハンズフリーダイヤル等）を提供するために最適化され得る。
【００４７】
また、音声対応クライアント機器210のコンポーネントは組み込みアーキテクチャの効率化のために最適化され得るが、ユーザーは、任意の好適なコンテンツ、サービス、アプリケーション、及び／又はハイブリッド処理環境で利用可能な前述以外の機能を要求することができ、当該ハイブリッド処理環境における他の機器は，音声対応クライアント機器210に組み込まれた自然言語処理機能を補完する自然言語処理機能を，一体として提供することができる。たとえば、音声対応クライアント機器210は，組み込み自然言語処理機能を利用して，特定のマルチモーダル対話に対して予備的な処理を実行することができる（たとえば，搭載されたASR 220aは，高度な仮想的ディクテーションを実行して，マルチモーダル対話に含まれる発話を部分的に書き起こすことができ、搭載された会話言語プロセッサ230aは，マルチモーダル対話の予備的な意図を決定することができる等）。ここで，予備的な処理の結果は，追加的な処理のために仮想ルータ260に提供され得る。
【００４８】
一実施態様において、音声対応クライアント機器210は，搭載された機能が対話を適切に解釈できないと決定されたことに応答して（たとえば，部分的なトランスクリプションの信頼度が特定の閾値を満たさない場合），又は，当該対話が機器外で（off-board）実行されるべきと決定されたことに応答として（たとえば，予備的な解釈によって，当該対話が音声対応サーバ240において実行されるべき大規模な計算を必要とするローカル検索要求に関連することが示された場合），マルチモーダル対話に対応する入力を仮想ルータ260に送信することができる。このように，仮想ルータ260は，音声対応クライアント機器210から受信された入力を保存し、データの取得やタスクの実行を提供する非音声機器280に加えて自然言語処理機能を提供する音声対応機器270及び音声対応サーバー240の間で，追加的な処理をコーディネートする。また、仮想ルータ260が単数又は複数の音声対応機器270を起動したことに応答して，音声対応機器270に提供された入力は，起動された音声対応機器270から要求された処理を満たすように最適化され得る（たとえば，処理リソースに行き過ぎた負荷をかけないようにするため，音声対応機器270は，部分的なトランスクリプション又は予備的解釈を提供され，所定のコンテクスト又はドメインについて意図を解決することができる）。
【００４９】
また、仮想ルータ260が音声対応サーバ240を起動したことに応答して、音声対応機器270に提供された入力は，自然言語発話及びマルチモーダル対話に関連付けられているそれ以外のデータに対応する，符号化された音声をさらに含むことができる。具体的には、図２で示すように、音声対応サーバ240は、音声対応クライアント機器に210と同様の自然言語処理アーキテクチャを備えることができる。ただし，音声対応サーバ240は、音声対応クライアント機器210に存在するその制約を取り除くことができる処理リソースを備えることができる点で，音声対応クライアント機器210と異なる。このように、音声対応サーバ240がハイブリッド処理においてマルチモーダル対話のために協力する場合には、自然言語発話及びそれ以外のマルチモーダル対話に関連付けられたデータに対応する符号化された音声は，音声対応サーバー240がマルチモーダル対話の意図を正しく判断する可能性を最大化するために，音声対応サーバー240に提供され得る（たとえば， ASR220bは，マルチパス音声認識を実行して自然言語発話の正確なトランスクリプションを生成することができ、会話言語プロセッサ230bは、任意の数の異なるコンテクストやドメインにおいて実行される意図の決定の間で問題を解決し得る等）。したがって，要するに、図２に示された環境において実行ｓれるハイブリッド処理技術は、概して，様々な異なる機器を含むことができる。これらの機器は、自然言語能力を備えても良いし備えなくともよい。特定のマルチモーダル対話の意図を協力的に決定し、当該意図を解決するための処理を行うことができる。
【００５０】
上述した協力的なハイブリッド処理技術は，組み込み処理アーキテクチャに関して具体的に説明されているが、かかる技術は，必ずしも組み込み処理アーキテクチャに限定されるものではない。具体的には、同じ技術は、マルチモーダル対話の意図を解決するためのクエリ、タスク、コマンド、又はそれ以外のリクエストを起動するために協力することができる様々な機器を備える任意の音声サービス環境において適用され得る。また、一実施態様において、音声対応クライアント機器210は、自然言語処理のために用いられる適切な量のメモリやその他のリソースを備えることができる（たとえば，音声対応クライアント機器210は，性能を大きく劣化させることなく自然言語を処理することができるデスクトップコンピュータ又はそれ以外の機器であってもよい）。かかる状況においては、音声対応クライアント機器210の一又は複数のコンポーネントは、ボトルネック，長い応答時間、又は組み込みアーキテクチャの性能劣化を引き起こす可能性のある搭載型自然言語処理を最適化するように構成され得る。たとえば、一実施態様において、搭載型自然言語処理の最適化には、組み込み処理アーキテクチャで使用される仮想ディクテーション文法に加えて，又は，当該仮想ディクテーション文法の代わりに，大規模リストディクテーション文法を使用するようにASR220aを構成することが含まれる。
【００５１】
しかしながら、図３から図５を参照して以下に詳述されるように、協力的なハイブリッド処理技術は，音声対応クライアント機器210が組み込み型か否かにかかわらず、実質的に類似したものである。具体的には、音声対応クライアント機器210のアーキテクチャにかかわらず、協力的なハイブリッド処理は、自然言語マルチモーダル対話のための予備的な処理を任意で行い、当該マルチモーダル対話に対応する入力をメッセージングインタフェース250aを通じて仮想ルータ260に対して追加的な処理のために送信する音声対応クライアント機器210を含むことができる。代替的に（又は追加的に），協力的なハイブリッド処理は、ハイブリッド環境に含まれる様々な機器の間で，メッセージングインタフェース250bを通じて当該入力に対する追加的な処理をコーディネートし，その処理結果をメッセージングインタフェース250aを通じて音声対応クライアント機器210に返送する仮想ルータ260を含むことができる。
【００５２】
図3は、本発明の様々な態様に従って、自然言語音声サービス環境において、ハイブリッド処理を協力的に実行する様々な機器を初期化する例示的な方法のフロー図を示す。具体的には、上述したように、ハイブリッド処理環境には、一般に自然言語マルチモーダル対話を協力して処理する様々な異なる機器間の通信が含まれる。例えば、一実施態様において、ハイブリッド処理環境における様々な機器には、単数又は複数の音声対応機器と通信が行えるよう単数又は複数のメッセージングインターフェースを備える仮想ルータ、単数又は複数の非音声対応機器、及び／又は音声対応サーバを含んでもよい。このように、一実施態様において、図3に示した方法は、ハイブリッド処理環境内の特定の機器で受信された単数又は複数の自然言語マルチモーダル対話を協力的に処理するため、ハイブリッド処理環境における通信の初期化に用いられる。
【００５３】
一実施態様において、ハイブリッド処理環境における様々な機器は、自然言語マルチモーダル対話が発生したことを特定するために機器からのそれぞれの入力を継続的に監視するよう構成されている。このように、図3に示した方法は、自然言語マルチモダール対話を継続して監視する様々な機器を補正し、同期し、又はその他の方法で初期化するために用いられる。例えば、図2に間連して上述したように、仮想ルータ、音声対応機器、非音声対応機器、音声対応サーバ、及び／又はハイブリッド処理環境のこれら以外の機器は、それぞれ異なる機能又はサービスを提供するよう構成されてもよい。図3に示した初期化方法は、ハイブリッド処理環境が、自然言語マルチモーダル対話を処理するめに適切な信号を確実に入手し、自然言語マルチモーダル対話を協力して処理する単数又は複数の機器を適切に初期化できるように使用される。また、図3に図示し本明細書で説明される方法は、様々な機器をハイブリッド処理環境に登録し、新たな機器をハイブリッド環境に追加するように登録し、ドメイン、サービス、意図の決定機能及び／又は登録済みの機器上でサポートされるこれら以外の特徴を公開し、登録済み機器のためにローカルタイミング（local  timing）を同期し，及び／又はこれら以外のハイブリッド処理環境の機器の好適な特徴を初期化するよう起動させてもよい。
【００５４】
一実施態様において、ハイブリッド処理環境における様々な機器の初期化には、工程310が含まれる。工程310においては，ハイブリッド処理環境における各々の機器について一つの機器リスナ（device listener）が設定される。工程310において設定された機器リスナは、一般に，命令、ファームウェア、又はこれら以外のルーティンの任意の組み合わせを含むことができる。このルーティンは，特徴、サポートされたドメイン、又は機器と間連するこれら以外の情報を決定するために，様々な機器において実行される。例えば、一実施態様において、工程310において設定された機器リスナは、コンピュータ付属機器用に設計されたUniversal Plug and Playプロトコルを用いて当該機器と通信するように構成されてもよいが、マルチモーダル機器と通信する任意の好適なメカニズムを用いることができる。
【００５５】
ハイブリッド環境において登録済みの機器ごとに機器リスナが設定されたことに応答して（又は、ハイブリッド環境に新たに登録された任意の機器の機器リスナが設定されたことに応答して）、機器リスナは、工程320において同期される。具体的には、各登録済み機器は、受け取る自然言語のマルチモーダル対話のローカルタイミングを示す内部時計又はこれ以外の計時メカニズムを持ち、工程320は、個々の機器の内部時計又は計時メカニズムに従って、工程310において設定された機器リスナを同期させるため使用されてもよい。したがって、一実施態様において、工程320における機器リスナの同期には、各機器に関して公開された内部時計又はローカルタイミングが含まれる。例えば、機器リスナは、内部時計又はローカルタイミングに関する情報を仮想ルータに対して開示することができる。これにより、仮想ルータは、自然言語マルチモーダル対話の協力的ハイブリッド処理を調整することができる。しかし、ハイブリッド処理環境にある様々な機器についての内部時計又はローカルタイミングに関する情報は、更に、これ以外の音声対応機器、非音声対応機器、音声対応サーバ、及び／又はハイブリッド処理環境に提供される自然言語マルチモーダル対話の協力的処理に参加する可能性のあるこれら以外の適切な機器に対しても開示されてもよいことは明らかである。
【００５６】
一実施態様において、ハイブリッド処理環境に登録済みの様々な機器に対して機器リスナを設定し同期させたことに応答して、工程330において、機器リスナは、登録済みの機器の各々において、単数又は複数の自然言語マルチモーダル対話に関する情報を検知するため、継続的に監視を行う。例えば、機器リスナは、自然言語発話が検知されたことに応答して、受信した自然言語発話に関連する、処理されるべき焦点（points of focus）又は関心の焦点の選択、及び／又は受信する自然言語マルチモーダル対話に間連する別の対話又は一連の対話を検知するように構成される。工程330は更に、自然言語発話及び／又は自然言語発話に関連する非音声機器対話を取得する適切な機器リスナを含んでもよい。
【００５７】
一実施態様において、取得された自然言語発語及び関連する非音声機器対話は、
ハイブリッド処理環境におけるその後の協力的処理を管理するため、工程340において分析される。一実施態様において、工程340は、例えば、工程330において検知された自然言語マルチモーダル対話に関する情報が単数の機器リスナによって取得されたのか複数の機器リスナによって取得されたのかを決定する。具体的には、上述のとおり、ハイブリッド処理環境は、自然言語マルチモーダル対話を処理するために協力する様々な異なる機器を含み、これにより、自然言語マルチモーダル対話に関する情報は、ハイブリッド処理環境にある単数又は複数の機器に提供される。このように、工程340は、ハイブリッド処理環境がマルチモーダル対話に関する情報を取得した様々な機器リスナ間で信号を同期させる必要があるか否かを決定するため、自然言語マルチモーダル対話に関する情報を取得したのが一つの機器リスナなのか又は複数の機器リスナなのかを決定する。
【００５８】
例えば、ハイブリッド処理環境と対話するユーザは、非音声ディスプレイ機器上に提示されたウェブページを見て、ウェブページ上に掲示された商品の購入に関する更なる情報を要求する自然言語マルチモーダル対話を提供することができる。ユーザは、マウス、キーボード、又はその他の非音声入力機器を使用して、商品名を含むウェブページ上のテキストを選択し、マイクロフォン又はその他の音声対応機器に対して，例えば「これはAmazon.comで買えますか？」という自然言語発話を提供することができる。この例では、非音声ディスプレイ機器に関連する機器リスナは、工程330において、製品名のテキスト選択を検知し、音声対応機器に関連する機器リスナは更に、工程330において、製品が入手できるかどうかを尋ねる自然言語発話を検知する。また、一実施態様において、ユーザは、複数の音声対応機器から適切な距離に存在し、これにより、複数の機器リスナが、自然言語発話に対応する異なる信号を取得することができる（例えば、ハイブリッド処理環境における様々な機器の配置及び構成によっては、対話が、音声対応携帯電話、音声対応テレマティクス機器、及び／又はこれら以外の音声対応機器の範囲内で発生することがある）。
【００５９】
したがって、本明細書において詳述されるとおり、複数の機器リスナで受信されたマルチモーダル対話に関する異なる信号を同期させる一連の工程は、工程340において複数の機器リスナが自然言語発話に関する情報を取得したことを決定したことに応答して、初期化される。一方、工程340が唯一の機器リスナによって自然言語発話に関する情報が取得されたことを決定したことに応答して、自然言語マルチモーダル対話は、工程390において、異なる信号を同期させる一連の操作を実行することなく処理され得る（例えば、一つの機器リスナが、マルチモーダル対話に関するすべての入力情報を提供すると、対話のハイブリッド処理は、工程390で異なる入力信号を同期させることなく実行される）。しかし、本明細書において詳述されるように、一実施態様において、一連の同期化工程は、一つの機器リスナが自然言語発話を取得し、かつ単数又は複数の非音声対話が自然言語マルチモーダル対話に関する異なる信号を調整したことに応答して、開始される。
【００６０】
上述したように、工程330において検出された自然言語マルチモーダル対話に関する入力を受信する各機器リスナは、内部クロック又はローカルタイミングメカニズムを備えることができる。このように、工程340において自然言語マルチモダール対話に関する異なる信号を取得した単数又は複数の機器リスナが決定されたことに応答して、工程350において，異なる信号に対する一連の同期化工程が開始される。具体的には、工程350は、個々のリスナに関連する内部クロック又はこれ以外のローカルタイミング情報に基づいて各々の信号に関するローカルタイミング情報を決定する単数又は複数の機器を含んでもよい。これにより、ローカルタイミング情報は、各々の信号に対して決定され、その後同期化される。
【００６１】
たとえば、一実施態様において、各々の信号に対するローカルタイミングの同期化は、工程360で開始される。具体的には、工程360には、マルチモーダル対話に関する入力を受信した各機器リスナに対し、各々の信号に対して決定されたローカルタイミング情報を通知することが含まれる。例えば、一実施態様において、各機器リスナは、各信号についてローカルタイミング情報を仮想ルータに対して提供し、仮想ルータは、すべての信号に関するローカルタイミング情報を各機器リスナに対して提供してもよい。このように、一実施態様において、工程360においては、各機器リスナは、工程330において検知された自然言語マルチモーダル対話に関するそれぞれ異なる信号ごとのローカルタイミング情報を含む通知を受信する。あるいは、仮想ルータは、各機器リスナからそれぞれ異なる信号のローカルタイミング情報を収集し、さらに自然言語マルチモーダル対話のハイブリッド処理を可能にするため異なる信号のローカルタイミング情報を同期させる。
【００６２】
一実施態様において、任意の特定の自然言語マルチモダール対話には、少なくとも一つの自然言語発話が含まれ、更に自然言語発話に関する単数又は複数の追加的な機器対話が含まれてもよい。上述したように、発言は、一般に追加的な機器対話より前に、これと同時に、又はこれに続いて受信される。このように、異なる信号にごとのローカルタイミング情報は、工程370において、自然言語マルチモーダル対話のハイブリッド処理を可能にするために同期される。具体的には、工程370は、自然言語発話に対応する単数又は複数のローカルタイミング情報、及び／又は自然言語発話に関連する単数又は複数の追加の機器対話に対応する単数又は複数の信号の調整を行う。工程370には、更に自然言語発話の信号とこの信号に対応する追加的な機器発話に関するローカルタイミング情報を調整することも含まれてよい。
【００６３】
したがって、発話信号と非音声機器対話信号とをマッチングさせる際に、自然言語マルチモーダル対話のハイブリッド処理に参加する機器は、音声コンポーネント（voice component）及び／又はこれと調整済みの非音声コンポーネントを提供する。例えば、一実施態様において、工程370は、仮想ルータ上で実行され、これにより、調整済みのタイミング情報をハイブリッド処理に起動されるこれら以外の機器に対して提供する。あるいは、単数又は複数のハイブリッド処理に参加するこれら以外の機器は、ローカルでタイミング情報を調整する（例えば、ハイブリッド処理において、仮想ルータが音声対応サーバ起動させたことに応答して、音声対応サーバに関連するリソースは、タイミング情報を調整し、仮想ルータにおける通信処理能力を温存するために使用される）。
【００６４】
また、一実施態様において、仮想ルータ及び／又はハイブリッド処理環境におけるその他の機器は、工程380において、追加的な処理のため最も明確なサンプルを選択するために、自然言語発話に対応する信号を分析する。具体的には、上述したように、仮想ルータは、単数又は複数の音声対応機器から自然言語発話に対応する符号化された音声サンプルを受信するためのメッセージングインターフェースを含む。例えば、仮想ルータが受信した音声サンプルは、ハイブリッド処理環境における通信能力を温存するためMPEG-1オーディオレイヤ（MP3）形式、又は別の圧縮率の高い形式で符号化された自然言語発話が含まれる。しかし、損失の無い音声を処理する十分な通信能力をもつハイブリッド処理環境を備える場合には、音声サンプルは、自然言語発話のより良質のサンプルを提供することができるフリーロスレスオーディオコーデック（FLAC）形式又はこれ以外の損失のない形式を使用することができる。
【００６５】
音声サンプルは、損失（ロス）の多い形式又はロスレス形式で符号化されたかによらず、最も明確なサンプルを提供する自然言語発話に対応する信号が工程380において選択される。たとえば、別の音声対応機器がマイクロフォンアレイ又は符号化された音声の忠実さを最大限にする技術を使用するよう構成されたとしても、一つのの音声対応機器が雑音の多い環境等の明瞭な音声サンプルの収集に干渉する状況におかれることもありうる。このように、工程330において自然言語発話に対応する複数の信号が受信されたことに応答して、最も明瞭な信号が工程380で選択され、自然言語発話に対するハイブリッド処理が工程390において開始される。
【００６６】
したがって、図３に示され本明細書で説明される同期技術及び初期化技術は、ハイブリッド環境が自然言語マルチモーダル対話に対応する各信号を同期させ、工程390における追加的な処理のための入力を生成し、最も好適に正確な意図の決定をもたらすことを確実にする。また、信号の同期及び工程390における追加的な処理のための最も明確な音声サンプルを選択する際に、図3に図示され本明細書において説明される技術は、工程390において使用される適切な信号が特定されるまでは、ハイブリッド処理環境における機器のうち一台も自然言語マルチモーダル対話に対する処理を行わないことを確実にする。このため、自然言語マルチモーダル対話のためのハイブリッド処理は、本明細書において詳述されるように、工程390において開始される。
【００６７】
図４は、本発明の一態様に従って、自然音声サービス環境において、単数又は複数のクライアント機器においてハイブリッド処理を行う例示的な方法を示す。具体的には、図5に関連して更に後述するように、単数又は複数のクライアント機器が、クライアント機器と仮想ルータを協力的に関連付けるメッセージングインターフェースを通じ，仮想ルータと協力してハイブリッド処理を行う。例えば、一実施態様において、メッセージングインターフェースは、一般にクライアント機器の対して自然言語マルチモーダル対話に関する入力を仮想サーバに送信する仕組みを提供し、更にクライアント機器に対して仮想ルータからの自然言語マルチモーダル対話に関する出力を受信する仕組みを提供するライトクライアント(Light client) （又はシンクライアント）を含んでいる。
【００６８】
たとえば、一実施態様において、クライアント機器におけるハイブリッド処理は、工程410において、単数又は複数のクライアント機器が自然言語マルチモーダル対話を受信したことに応答して開始される。具体的には、自然言語マルチモーダル対話は、一般にマイクロフォン又は自然言語マルチモーダル対話が受信したクライアント機器と関連する音声対応入力機器で受信された自然言語発話を含み、更に自然言語発話と関連する単数又は複数の入力モダリティを含む（例えば、テキスト選択、ボタン押下、マルチタッチジェスチャ等）。このように、工程410にて受信された自然言語マルチモーダル対話は、単数又は複数のクエリ、コマンド、又はクライアント機器に提供されるこれ以外のリクエストを含む。これにより、自然言語マルチモーダル対話のハイブリッド処理は、工程420において開始される。
【００６９】
上述されたように、自然言語音声サービス環境には、一般に単数又は複数の音声対応のクライアント機器、単数又は複数の非音声対応機器、音声対応サーバ、音声対応のクライアント機器、非音声対応機器、及び音声対応サーバと通信するよう準備された仮想ルータが含まれる。一実施態様において、仮想ルータは、自然言語マルチモーダル対話のためのハイブリッド処理を、音声対応のクライアント機器、非音声対応機器、及び音声対応サーバとの間でコーディネートする。このように、本明細書に記載されたハイブリッド処理技術は、複数の段階で自然言語マルチモーダル対話の意図を解決するように，自然言語マルチモーダル対話の協力的処理をコーティネートする仮想ルータを参照する。
【００７０】
具体的には、図３に関連して上述したように、ハイブリッド処理を実行するために協力する様々な機器は、自然言語マルチモダール対話のための協力処理を可能にするために、初期化されていてもよい。このように、一実施態様において、様々な機器の初期化に応答して、自然言語マルチモダール対話に関連した入力を受信した各クライアント機器は、工程420において，各入力に対して初期処理を行うことができる。例えば、一実施態様において、自然言語発話を含むマルチモダール対話を受信したクライアント機器は、工程420においては予備的処理を行う。この予備的処理には，発話に対応する音声サンプルの符号化すること、部分的に又は完全にかかる発話をトランスクリプトすること、発話の予備的な意図（preliminary intention）を決定すること、又はこれら以外の発話に対する適切な予備的処理が含まれる。また、工程420における予備的処理は、発話に関する単数又は複数の追加的な入力モダリティを受信するクライアント機器において行われてもよい。たとえば、工程420で行われる追加的な入力モダリティの予備的処理には、選択されたテキスト、選択された処理されるべき焦点（points of focus）もしくは関心の焦点を特定すること、又は，発話をさらに解釈するために利用可能なこれ以外の適切なデータを生成することが含まれる。一実施態様において、工程430には、ハイブリッド処理環境が自然言語マルチモダール対話に関する入力を仮想ルータに自動送信するように構成されるか否かを判断する工程が含まれてもよい。
【００７１】
たとえば、一実施態様において、工程430は、複数のクライアント機器が工程410におけるマルチモーダル対話に含まれる自然言語発話を受信したことに対応して自動ルーティングが発生するように構成されことを決定してもよい。この例では、工程420で行われた初期処理（initial processing）に、発話に対応する個々の音声サンプルの符号化を行う複数のクライアント機器が含まれてもよい。これにより、符号化された音声サンプルに含まれるメッセージが工程460において仮想ルータに送信される。図5に関して以下で更に詳細に記載されるように、仮想ルータは、最も明確な信号を提供する符号化された音声サンプルの一つを選択し、自然言語マルチモダール対話のための追加的なハイブリッド処理を調整する。他の例においては、工程430は、マルチモーダル対話が音声対応サーバでの処理にもっとも適したリクエストに間連するという決定に初期処理が到達したことに対応して，自動ルーティングが発生するように構成されることを決定してもよい（例えば、リクエストは，位置ベースの検索クエリ又は音声対応サーバにおいて管理されているリソースを必要とをするこれ以外のコマンドやタスク，コンテンツ、アプリケーション、ドメイン、又は，当該リクエストを受信したクライアント機器以外の単数又は複数の機器に存在するこれら以外の情報と関連するものであってもよい）。しかしながら、ハイブリッド処理環境は、これら以外の条件及び／又は付随する条件の有無に対応する自動ルーティングを適宜構成することができる。
【００７２】
一実施態様において、仮想ルータが自然言語マルチモダール対話のためのハイブリッド処理をコーディネートしたことに応答して、仮想ルータは、工程470において、ハイブリッド処理の結果をクライアント機器に提供することができる。たとえば、工程470においてクライアント機器に提供される結果には、自然言語マルチモーダル発話の最終的な意図の決定、対話において要求された情報、対話において要求されたコマンド又はタスクの実行に対応して生成されたデータ、及び／又はクライアント機器が工程480において必要となる自然言語要求の処理を完了するための前述した以外の結果が含まれていてよい。例えば、一実施態様において、工程480には、クライアント機器が，クエリ、コマンド、タスク、又は仮想ルータから返信された最終的な意図の決定に基づくこれら以外のリクエストを実行すること、仮想サーバから返信された要求された情報を提示すること、要求されたコマンド又はタスクが実行されたことを確認すること、及び／又は自然言語要求を解決するための追加処理を実行することが含まれ得る。
【００７３】
工程430に戻って、自動ルーティングを発生させる条件が持たされていないか、又は，自動ルータが構成されていないと判断されたことに応答して、クライアントデバイスは、工程440において，自然言語マルチモーダル対話を追加的に処理することができる。一実施態様において、工程440における追加的な処理には、クライアント機器が、ローカルの自然言語処理能力を使用して、自然言語マルチモーダル対話の意図の決定を試みることも含まれ得る。例えば、クライアント機器は、マルチモーダル対話に含まれる任意の非音声入力モダリティとマルチモーダル対話に含まれる発話のトランスクリプションを結合してもよい。クライアント機器の会話言語プロセッサは、コンテクスト、ドメイン、共通の知識、基準値（criteria value）及びこれら以外のローカル情報を用いて、マルチモーダル対話の意図を決定することができる。そして，クライアント機器は、単数又は複数の会話の意図を決定するための発話の単数又は複数の解釈を生成することができる（例えば、対話に含まれる会話の形式、単数又は複数の要求を特定すること等）。
【００７４】
一実施態様において、工程440は、クライアント機器で生成された意図の決定の信頼度を決定することが含むことができる（例えば、信頼度は、クライアント機器がマルチパス音声認識エンジンを含んでいるか、発話に曖昧な単語又は句が含まれているか、又は一のコンテクストと他のコンテクストとで意図が異なるかどうか等から定められる）。一実施態様において、工程450は、工程440で決定された信頼度に応じて、オフボード処理を起動するか否かを決定することができる。例えば、工程450は、一般に工程440において決定された意図が，当該決定された意図に基づいて処理を行うために許容される信頼度を示す特定の閾値を満たすか否かを決定することを含んでよい。このように、意図の決定に対する信頼度が閾値を満たすと判断されたことに応答して、工程450は、オフボード処理を起動しないことを決定する。具体的には、閾値を満たす信頼度は、クライアント機器が決定された意図に基づき行動をとるための十分な情報を持っていることを示し、これにより、クライアント機器は、工程480におけいて，単数又は複数のクエリ、コマンド、タスク、及びマルチモーダル対話を解決するためのこれら以外のリクエストを処理することができる。
【００７５】
または、意図の決定の信頼度が閾値を満たさないと判断されたことに応答して、工程450は、オフロード処理を起動することができる。これらの処理には、工程460において単数又は複数のメッセージを仮想ルータに送ることも含まれる。単数又は複数のメッセージは、図5に関連して以下に詳細されるように，仮想ルータに対して、上述と同様の方法で、マルチモーダル対話のための追加のハイブリッド処理を起動させる。
【００７６】
図5は、本発明の一態様に従って、自然言語音声サービス環境において仮想ルータがハイブリッド処理を行う例示的な方法のフロー図を示す。具体的には、仮想ルータは、単数又は複数のクライアント機器で受信した自然言語マルチモーダル対話のハイブリッド処理をコーディネートすることができる。一実施態様において、工程510では、仮想ルータは、音声サービス環境にある単数又は複数のクライアント機器が受信した自然言語マルチモーダル対話に関連する単数又は複数のメッセージを受信することができる。例えば、仮想ルータは、当該仮想ルータを複数のクライアント機器及び音声対応サーバと通信可能に接続するメッセージングインターフェースを含むことができる。メッセージングインターフェースは、一般に，仮想ルータが単数又は複数のクライアント機器及び／又は音声サービスサーバからの入力を受信し、また，単数又は複数のクライアント機器及び／又は音声対応サーバに出力を転送するメカニズムを提供するライトクライアント(light client)（又はシンクライアント）を含んでいる。工程510で受信したメッセージは、一般にマルチモーダル対話の任意の好適な処理結果を含んでいる。これにより、仮想ルータは、仮想ルータ、単数又は複数のクライアント機器、音声対応サーバ、又はこれらの任意の適切な組み合わせにおいて生じる複数の処理段階を含むように，ハイブリッド処理をコーディネートすることができる
【００７７】
一実施態様において、仮想ルータは、ハイブリッド処理をピアツーピアモードで起動するかどうかを判断するために工程510で受信したメッセージを分析する。例えば、単数又は複数のメッセージは、マルチモダール対話の複数の処理ステージのうちの一又は複数を実行するために，クライアント機器、音声対応サーバ、又はこれらの様々な組み合わせのうちの一又は複数を起動するか否かを決定するための，仮想ルータが使用できる予備的な意図の決定（Preliminary intent determination）を含むことができる。他の例では、予備的な意図の決定を含む単数又は複数のメッセージは、仮想ルータがハイブリッド処理環境における様々な機器の一又は複数に転送した符号化音声サンプルを含んでいる。このように、一実施態様において、仮想ルータは、工程510において受信したメッセージを解析して，マルチモーダル対話を処理するために音声対応サーバを起動するか否かを決定することができる（例えば、メッセージは，マルチモーダル対話がサーバにおけるリソースを必要とする位置ベースのリクエストを含むことを示す予備的な意図の決定を含むことができる）。
【００７８】
仮想ルータが音声対応のサーバーを起動する決定を行ったことに対応して、仮想ルータは、工程530において、サーバにメッセージを転送することができる。具体的には、サーバに転送されたメッセージは、一般に自然言語発話及び当該発話に関連する他の入力モダリティに関連する追加的情報に対応する符号化音声を含んでいる。たとえば、図２に関して既に詳述したように、音声対応サーバは、マルチモダール対話の意図を適切に決定することができる様々な自然言語処理コンポーネントを含んでおり、これにより、当該音声対応サーバに送信されたメッセージは符号化された音声を含んでおり，この符号化音声によって，音声対応サーバは，不正確又は不完全でありうるクライアント機器における予備的処理とは独立して意図を決定することができる。音声対応サーバが仮想ルータから受信したメッセージを処理したことに応答して、工程570において，処理結果が仮想ルータに返送される。例えば、この結果には、自然言語マルチモーダル対話の意図の決定、決定された意図に対応して実行されたクエリ、コマンド、タスク，若しくはリクエストの結果、又はその他の適切な結果が含まれる。
【００７９】
一方、仮想ルータが工程520においてピアツーピアモードを起動すると判断したことに対応して、仮想ルータは、単数又は複数のクライアント機器、音声対応サーバー、又はこれらの任意の適切な組み合わせ間でのハイブリッド処理をコーディネートすることができる。たとえば、一実施態様において、仮想ルータは、工程540において、 自然言語マルチモダール対話のコンテクストを決定し、工程550において決定されたコンテクストに基づいて単数又は複数のピア機器を選択することができる。例えば、単数又は複数のクライアント機器は、決定されたコンテクストにおけるコンテンツ及び／又はサービスを提供するよう構成され、これにより、仮想ルータは、単数又は複数のメッセージをかかるデバイスに転送することができる。他の例では、マルチモーダル対話は、異なる機器上でサポートされた複数のコンテクストに関連する複合リクエスト(compound request)を含んでもよい。これにより、仮想ルータは、異なるコンテクストにおいて、適切なコンテンツ及び／又はサービスを要求するために、工程560において、当該各機器に対してメッセージを送信することができる。
【００８０】
他の例では、対話は、音声対応サーバ上で処理されるリクエストを含むことができるが、リクエストは、単数又は複数のクライアント機器内にあるコンテンツ及び／又はサービスを必要とする（例えば、単数又は複数のクライアント機器上のアドレスブックのエントリに関するロケーションベースのクエリ等)。このように、仮想のルータは、工程560において、本明細書に記載のハイブリッド処理技術を用いて、複数の段階を管理することができる。たとえば、仮想ルータは、特定のコンテクストにおいて意図を決定することができる単数又は複数の音声対応クライアント機器、コンテンツ、サービス及び／又はこれら以外のマルチモーダル対話の処理に必要なリソースへのアクセス権のある単数又は複数の非音声クライアント機器、又はこれらの適切な任意の組み合わせに対してメッセージを転送することができる。これにより、仮想ルータは、工程560において、クライアント機器及び／又は音声対応サーバにメッセージを転送し、工程570において、任意の適切な方法で（例えば、並行して、順番に、又は反復して）クライアント機器及び／又は音声対応サーバから返信メッセージを受信する。仮想ルータは、工程580において、受信した返信メッセージの結果を照合し、最終処理のため及び／又は結果の提示のため、その結果を単数又は複数のクライアント機器に返信することができる。
【００８１】
本発明の様々な実施形態は、ハードウエア、ファームウエア、ソフトウエア、またはこれらの適当な組み合わせによって実現される。本発明は、単数又は複数のプロセッサが読み取りかつ実施可能である、機械が読み取り可能な媒体に格納されたインストラクションによっても実施することができる。機械読み取り可能な媒体は、機械（例えば、コンピュータ装置）によって読み取り可能な形式の情報を保存し伝送する様々なメカニズムを含む。例えば、機械読み取り可能な記録媒体は、ＲＯＭ、ＲＡＭ、磁気ディスクストレージ媒体、光学ストレージ媒体、フラッシュメモリ装置等のストレージメディアを含む。また、機械読み取り可能な伝送媒体は、搬送波等の伝搬信号、赤外線信号、デジタル信号、又はこれら以外の伝送メディアを含む。さらに、ファームウエア、ソフトウエア、ルーチン、または命令は、上記開示において、所定の処理を実行する特定の例示的な態様及び実装形態及びの観点から説明された。そのような説明は便宜上のものに過ぎず、そのような処理は、実際には、コンピュータ装置、プロセッサ、制御装置、又はファームウエア、ソフトウエア、ルーチン、もしくは命令を実行するその他の装置によりなされるものであることは明らかである。
【００８２】
したがって、本開示の様々な態様及び実装形態は、本明細書において特定の特性、構造、または特徴を含むように説明されるが、全ての態様や実装形態が必ずしも特定の特性、構造、または特徴を含むわけではない。
さらに、特定の特性、構造、または特徴が所定の態様や実装形態に関連して説明される際には、明示的に説明されるか否かにかかわらず、そのような特性、構造または特徴は他の態様や実装形態に関連付けて含むことも可能である。
そのための、様々な変更、変更前の説明には、発明の範囲や精神から出発したことがなく、したがって、図面、仕様書、模範的なだけとみなされ、追加された要求のみで決定された発明の範囲にあるべきである。
【図１】
2013510341.tif 000003
【図２】
2013510341.tif 000004
【図３】
2013510341.tif 000005
【図４】
2013510341.tif 000006
【図５】
2013510341.tif 000007
【国際調査報告】
2013510341.tif 000008