(57)【要約】【解決手段】  一実施形態では、利用者との第１の通信チャネルが確立され、相手との通信を可能にする第２の通信チャネルを確立するための音声利用者要求が受信される。前記音声利用者要求が認識されると、前記第２の通信チャネルが確立される。別の実施形態では、コンピュータおよび利用者通信装置の間の通信チャネルが確立され、音声要求を有する利用者入力が検出および格納される。利用者プロファイルにアクセスが行われ、当該利用者プロファイルに基づき第１の文法が選択される。アクティブな前記第１の文法を使って前記音声要求の認識が試行される。前記音声要求が認識されない場合は、前記第１の文法が無効化されて第２の文法が有効化され、この第２の文法を使って前記音声要求の認識が試行される。【選択図】      図８
2007529916.tif 000002
【特許請求の範囲】
【請求項１】
通信を可能にする方法であって、
利用者との第１の通信チャネルを確立する工程と、
音声利用者要求を受信し第２の通信チャネルを確立して相手との通信を可能にするものである、受信する工程と、
前記音声利用者要求を認識する工程と、
前記第２の通信チャネルを確立する工程と
を有する方法。
【請求項２】
請求項１記載の方法において、前記第１の通信チャネルは利用者により起動されるものである。
【請求項３】
請求項１記載の方法において、前記第１の通信チャネルを確立する工程は、前記第１の通信チャネルのタイプを決定する工程と、当該タイプに基づき少なくとも１つの入出力パラメータを設定する工程とを有するものである。
【請求項４】
請求項３記載の方法において、この方法は、さらに、
セキュリティコードを提供するために音声プロンプトを前記利用者に提供する工程と、前記利用者からの入力を受信する工程とを有するものである。
【請求項５】
請求項４記載の方法において、前記入力は、音声応答またはＤＴＭＦ信号のうちの１つである。
【請求項６】
請求項４記載の方法において、この方法は、さらに、
前記入力が前記セキュリティコードに合致するかを決定する工程と、前記入力が合致しなかった場合、前記第１の通信チャネルを終了させる工程とを有するものである。
【請求項７】
請求項１記載の方法において、前記第１の通信チャネルまたは前記第２の通信チャネルは、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ボイス・オーバー・インターネット・プロトコル）接続によるものである。
【請求項８】
請求項１記載の方法において、前記第１の通信チャネルまたは前記第２の通信チャネルは、Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（セッション・イニシエーション・プロトコル）規格を使用するものである。
【請求項９】
請求項１記載の方法において、前記音声利用者要求は、前記利用者の音声を含むものである。
【請求項１０】
請求項１記載の方法において、前記音声利用者要求は、前記相手の関連情報を含むものである。
【請求項１１】
請求項１０記載の方法において、この方法は、さらに、
前記情報を前記相手の電話番号に関連付ける工程を有するものである。
【請求項１２】
請求項１０記載の方法において、前記情報は、前記第２の通信チャネルに関連するものである。
【請求項１３】
請求項１０記載の方法において、前記関連付ける工程では、前記情報を使用して利用者プロファイルにアクセスするものである。
【請求項１４】
請求項１記載の方法において、この方法は、さらに、
前記第２の通信チャネルが確立された後、前記第１の通信チャネルおよび前記第２の通信チャネルを接続解除する工程を有するものである。
【請求項１５】
請求項１４記載の方法において、前記第１の通信チャネルおよび前記第２の通信チャネルは、前記利用者および前記相手間の通信を可能にするものである。
【請求項１６】
請求項１５記載の方法において、前記第１の通信チャネルおよび前記第２の通信チャネルは、少なくとも１つのＳｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌサービスプロバイダにより促進されるものである。
【請求項１７】
請求項１記載の方法において、この方法は、さらに、
前記第２の通信チャネルが確立された後、アクティブな状態から非アクティブな状態になる工程を有するものである。
【請求項１８】
請求項１７記載の方法において、この方法は、さらに、
前記第２の通信チャネルの終了を検出する工程を有するものである。
【請求項１９】
請求項１８記載の方法において、この方法は、さらに、
再度前記アクティブな状態になる工程を有するものである。
【請求項２０】
請求項１９記載の方法において、前記音声利用者要求は第１の要求であり、この方法は、さらに、第２の音声利用者要求を受信する工程を有するものである。
【請求項２１】
請求項１記載の方法において、この方法は、さらに、
前記第１の通信チャネルの終了を検出する工程と、非アクティブな状態になる工程を有するものである。
【請求項２２】
請求項１記載の方法において、前記音声利用者要求は、前記第２の通信チャネルが終了された後、アクティブであり続けるための命令を含むものである。
【請求項２３】
通話を接続する方法を実行するための、コンピュータで実行可能な命令を有する、コンピュータで読み込み可能な媒体であって、当該方法は、
利用者との第１の通信チャネルを確立する工程と、
音声利用者要求を受信し第２の通信チャネルを確立して相手との通信を可能にするものである、受信する工程と、
前記音声利用者要求を認識する工程と、
前記第２の通信チャネルを確立する工程と
を有するものである、コンピュータで読み込み可能な媒体。
【請求項２４】
音声要求を認識する方法であって、
コンピュータと利用者通信装置との間で通信チャネルを確立する工程と、
音声要求を有する利用者入力を検出し、当該音声要求を格納する工程と、
利用者プロファイルにアクセスし、当該利用者プロファイルに基づいて第１の文法を選択する工程と、
アクティブな前記第１の文法を使って前記音声要求の認識を試行する工程と、
前記音声要求が認識されない場合、前記第１の文法を無効化し、第２の文法を有効化し、前記第２の文法を使って前記音声要求の認識を試行する工程と
を有する方法。
【請求項２５】
請求項２４記載の方法において、前記利用者プロファイルは、利用者の特徴を使って選択されるものである。
【請求項２６】
請求項２４記載の方法において、この方法は、さらに、
前記利用者プロファイルを更新する工程を有するものである。
【請求項２７】
請求項２６記載の方法において、前記更新する工程は、前記音声要求に基づくものである。
【請求項２８】
請求項２６記載の方法において、前記更新する工程は、入力源からの情報に基づくものである。
【請求項２９】
請求項２６記載の方法において、前記更新する工程は、利用可能なデータの変化に基づくものである。
【請求項３０】
請求項２５記載の方法において、前記利用者の特徴は利用者識別性である。
【請求項３１】
請求項２５記載の方法において、前記利用者の特徴は利用者通信装置タイプである。
【請求項３２】
請求項２５記載の方法において、前記利用者の特徴は通信チャネルタイプである。
【請求項３３】
請求項２４記載の方法において、前記確立する工程は、前記利用者プロファイルにアクセスして通信チャネルタイプを決定する工程と、前記利用者プロファイルに基づいてパラメータを設定する工程とを有するものである。
【請求項３４】
請求項３３記載の方法において、前記パラメータは入出力設定である。
【請求項３５】
請求項３３記載の方法において、前記入出力設定は、前記利用者通信装置との通信を可能にするものである。
【請求項３６】
請求項３３記載の方法において、前記通信チャネルタイプは、前記利用者通信装置に基づいて決定されるものである。
【請求項３７】
請求項３３記載の方法において、前記パラメータは、前記音声要求の認識を強化するため設定されるものである。
【請求項３８】
請求項２４記載の方法において、前記第１の文法および第２の文法は、考えうる複数の音声要求を有する語彙全体のサブセットである。
【請求項３９】
請求項２４記載の方法において、音声要求を認識する工程は、前記音声要求を、前記第１の文法または第２の文法に含まれた考えうる音声要求に合致させる工程を有するものである。
【請求項４０】
請求項２４記載の方法において、前記利用者プロファイルに基づき第１の文法を選択する工程は、前記利用者プロファイルにアクセスして音声入力の認識が成されている文脈を決定する工程と、当該文脈に基づいて前記利用者プロファイルを選択する工程とをさらに有するものである。
【請求項４１】
請求項４０記載の方法において、前記文脈は、利用者が希望するタスクに関するものである。
【請求項４２】
請求項４０記載の方法において、前記文脈は、利用者識別性に関するものである。
【請求項４３】
請求項４０記載の方法において、前記文脈は、利用者通信装置タイプに関するものである。
【請求項４４】
請求項２４記載の方法において、前記音声要求は、．ｍｐ３ファイルまたは．ｗａｖファイルのうちの１つとして格納されるものである。
【請求項４５】
請求項２４記載の方法において、この方法は、さらに、
前記音声要求が認識された場合、当該音声要求を処理する工程を有するものである。
【請求項４６】
請求項４５記載の方法において、この方法は、さらに、
格納された前記音声要求を削除する工程を有するものである。
【請求項４７】
請求項４５記載の方法において、前記音声要求を処理する工程は、当該音声要求に関するタスクを実行する工程を有するものである。
【請求項４８】
請求項４５記載の方法において、この方法は、さらに、
前記利用者と通信する工程を有するものである。
【請求項４９】
請求項４８記載の方法において、前記通信する工程は、音声出力によるものである。
【請求項５０】
請求項２４記載の方法において、この方法は、さらに、
前記音声要求が前記第２の文法により認識されなかった場合、前記第２の文法を無効化する工程を有するものである。
【請求項５１】
請求項５０記載の方法において、この方法は、さらに、
第３の文法が利用可能かどうかを決定する工程と、第３の文法が利用可能でない場合、音声エラーメッセージを利用者に送信する工程を有するものである。
【請求項５２】
請求項２４記載の方法において、前記通信チャネルは、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ接続である。
【請求項５３】
音声コマンドを認識するための、コンピュータで実行可能な命令を有する、コンピュータで読み込み可能な媒体であって、当該方法は、
コンピュータと利用者通信装置との間で通信チャネルを確立する工程と、
音声要求を有する利用者入力を検出し、当該音声要求を格納する工程と、
利用者プロファイルにアクセスし、当該利用者プロファイルに基づき第１の文法を選択する工程と、
アクティブな前記第１の文法を使って前記音声要求の認識を試行する工程と、
前記音声要求が認識されない場合、前記第１の文法を無効化して第２の文法を有効化し、さらに前記第２の文法を使って前記音声要求の認識を試行する工程と
を有するものである、コンピュータで読み込み可能な媒体。
【請求項５４】
コンピュータへのアクセスを提供するシステムであって、
通信チャネルに関連付けられたタイプを決定し、前記チャネルタイプに従って少なくとも１つの入出力パラメータを設定し、前記コンピュータとリモート通信装置との間で前記通信チャネルを確立するための通信コンポーネントと、
音声入力を受信し、当該入力をデジタル形態に変換するための音声認識コンポーネントと、
テキストのデータを音声形態に変換する、tｅｘｔ−ｔｏ−ｖｏｉｃｅ（テキストから音声合成）コンポーネントと、
前記データが格納されたファイルとインタラクトするためのファイルインターフェースコンポーネントと、
インターフェースプログラムであって、前記通信チャネルにより前記入力を受信し、前記音認識コンポーネントによって当該入力を変換して望ましい機能を決定し、コンポーネントによって当該望ましい機能を実行させるようなっているインターフェースプログラムと
を有するシステム。
【請求項５５】
請求項５４記載のシステムにおいて、前記インターフェースプログラムは、さらに、前記望ましい機能に従って前記ファイルインターフェースが前記ファイルとインタラクトし、前記tｅｘｔ−ｔｏ−ｖｏｉｃｅコンポーネントが前記望ましい機能の結果を音声形態で前記リモート通信装置へ提供するようなっているものである。
【請求項５６】
請求項５４記載のシステムにおいて、前記通信チャネルは、携帯電話、コードレス電話、有線電話、スピーカーフォン、テレフォニーソフトウェアを有する第２のコンピュータ、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ電話、ソフトフォン、またはインスタントメッセージングソフトウェアを有する第２のコンピュータのうちの１つにより、前記リモート通信装置において確立されるものである。
【請求項５７】
請求項５４記載のシステムにおいて、前記通信チャネルはＰＳＴＮネットワーク、セルラーネットワーク、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌネットワーク、Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌサービスプロバイダ、またはラジオネットワークのうちの１つにより確立されるものである。
【請求項５８】
請求項５７記載のシステムにおいて、前記通信チャネルは複数のネットワークにより確立されるものである。
【請求項５９】
請求項５４記載のシステムにおいて、前記音認識コンポーネントは、音声認識モジュールである。
【請求項６０】
請求項５４記載のシステムにおいて、前記音認識コンポーネントは、ＤＴＭＦデコーダである。
【請求項６１】
請求項５４記載のシステムにおいて、前記音認識コンポーネントと、前記ｔｅｘｔ−ｔｏ−ｖｏｉｃｅコンポーネントと、前記ファイルインターフェースコンポーネントは、アプリケーションプログラムインターフェースである。
【請求項６２】
請求項５４記載のシステムにおいて、前記音認識コンポーネントと、前記ｔｅｘｔ−ｔｏ−ｖｏｉｃｅコンポーネントと、前記ファイルインターフェースコンポーネントは、ソフトウェアアプリケーションである。
【請求項６３】
請求項５４記載のシステムにおいて、前記ファイルは、スプレッドシート、電子メールサーバー、電子メールクライアント、データベース、モニタ、センサ、ワードプロセッシングファイル、またはエンタープライズアプリケーションデータのうちの１つである。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００４年２月３日に提出された米国特許出願第６０／５４１，４８７号明細書「Ａ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ａｕｄｉｏ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｗｉｔｈ  ａ  Ｃｏｍｐｕｔｅｒ；  Ｃｏｎｔｉｎｕａｔｉｏｎ  Ｄｅｓｃｒｉｂｉｎｇ  ｔｈｅ  Ｕｓｅ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｈａｒｄｗａｒｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎｓ  ｗｉｔｈ  ｏｎｅ  Ｃｏｍｐｕｔｅｒ，  Ｍｕｌｔｉｐｌｅ  Ｕｓｅｒｓ，  ａｎｄ  ｔｅｌｅｐｈｏｎｅ  Ｂｒｉｄｇｉｎｇ」および２００５年２月２日に提出された米国特許出願明細書「Ａｕｄｉｏ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｗｉｔｈ  ａ  Ｃｏｍｐｕｔｅｒ」に基づく利益を主張するものであり、双方の開示はこの参照により、それらの全体が本明細書に組み込まれるものである。
【０００２】
本発明は、音声入力を受信し、このような音声入力を使ってコンピュータアプリケーションとインタラクトするための音声認識のシステムおよび方法に関する。特に、本発明は、複数のハードウェア構成との接続に使用でき当該複数のハードウェア構成間での切り替えが可能な音声認識のシステムおよび方法に関する。より具体的には、本発明は、限定された音声認識語彙を選択的に使用して音声認識結果を最適化する音声認識のシステムおよび方法に関する。さらに具体的には、本発明は、種々の通信チャネル経由で通話を接続および転送するための音声認識のシステムおよび方法に関する。
【背景技術】
【０００３】
一般の人々は、日常生活に関係する情報の格納およびアクセスするために、より頻繁にコンピュータを使用するようになってきている。予約、タスク、連絡先といった個人情報や、またスプレッドシート、データベース、ワードプロセッシング（ワープロ）文書に含まれるデータといった企業データなどはすべて、情報の更新、整理、およびアクセスが容易なため、特にコンピュータでの格納に適している情報タイプである。また、コンピュータは、株価や気象情報などタイミングが重要な情報に、リアルタイムまたは略リアルタイムでインターネットまたは別のネットワークから遠隔的にアクセスできる。これらに必要なタスクをすべて実行するため、コンピュータは機能も計算能力も非常に高度なものになってきている。さらにコンピュータは、用途ごとにより多様化している。例えば、高度に進歩した自動車にはオンボードコンピュータが装備される場合、あるいはコンピュータが消費者製品など別の装置内に埋め込まれて当該製品が一般装置の能力を超えた強化機能を有すことが可能になる場合がある。このように、利用者は、各自のコンピュータへのアクセスが可能な状態で―換言すると、自宅かオフィス（もしくは可能性として高度に進歩した自動車内）にいながら―このような計算能力に容易にアクセスして望ましいタスクを実行することができる。
【０００４】
ただし、多くの状況において、利用者は移動中または単にコンピュータから離れた場所でこのような情報にアクセスする必要がある。残念なことに、コンピュータの完全な計算能力は、（高度に進歩した自動車の場合を除き）大部分が非可動式である。例えば、デスクトップコンピュータは、固定した場所に配置するよう設計されているため、移動用途には適していない。同様に、コンピュータが埋め込まれた消費者製品も、ほとんどの場合非可動式である。ラップトップコンピュータは、デスクトップコンピュータと比べてはるかに移動しやすく、また同程度の計算能力を有するが、コスト高で依然として扱い難い。また、長距離無線インターネット接続（無線ＷＡＮまたは広域ネットワーク）は高価でまだ十分普及しておらず、このようなラップトップ用の携帯電話接続は現在のインターネット基準では低速である。さらに、リモートインターネット接続は利用者が各自の自宅またはオフィスで有する可能性のあるインターネット接続と重複するものであるため、コストが重複することになる。
【０００５】
従来の方法では、個人用の携帯情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ、略称ＰＤＡ）を使って利用者の情報にアクセスが可能である。このようなＰＤＡでは、クレードルかＩＲ（赤外線）ビームでコンピュータと断続的に接続することにより、コンピュータに対し情報をアップロードまたはダウンロードできる。一部のＰＤＡは無線接続で情報にアクセスでき、携帯電話を兼ねることもある。しかしながら、ＰＤＡには数多くの欠点がある。例えば、ＰＤＡは高価で、利用者の既存コンピュータの計算能力と重複することが多く、高価なサービス契約が必要な場合があり、しばしばベースステーションまたはパーソナルコンピュータとの同期を必要とし、ＰＤＡの使い方を覚える点でも、ＰＤＡの小型画面を使用する点でも、入力装置に両手を使わなければならない点でも使い難く、さらに利用者のコンピュータと比べると機能性に制限がある。モバイルコンピューティング機能が向上すると、ＰＤＡの出費と複雑さも増す。また、従来のＰＤＡは利用者の情報をオンボードで格納するため、ＰＤＡの盗難や紛失によりデータを失う危険性を伴う。
【０００６】
携帯電話のサイズ、コスト、および携帯性の改善に伴い、携帯電話の使用は極めて一般的になった。従来の一部の携帯電話には、指定した相手に電話を掛ける（番号は携帯電話に格納される）など、音声コマンドを使って単純なタスクを実行する限定された音声起動能力が備えられている。同様に、一部の自動車および高度な携帯電話では、単純なコマンドを受信するという文脈の中で音声を認識可能である。このような従来のシステムでは、単に、希望する相手に電話を掛けるなど実行したい機能を起動する既知のコマンド（音声）を、関与するソフトウェアが識別するのみである。すなわち、従来のシステムでは、発話された言葉の意味を決定することなく、音声を望ましい機能に合致させている。
【０００７】
同様に、従来のソフトウェアアプリケーションには、携帯電話を介して電子メールメッセージを利用者へ音声として伝達するものがある。このようなアプリケーションでは、携帯電話は、単にソフトウェアにコマンドを伝達し、次に当該ソフトウェアがメッセージを再生する。音声を認識できる従来のソフトウェアは、サーバーベースであるか、または主にコンピュータと同一の場所にいる利用者向けである。例えば、コールセンター用の音声認識システムは、システムが大規模で複雑になるため、強力なサーバー上で実行する必要がある。このようなシステムは、種々のアクセント（なまり）とスピーチパターン（言葉遣い）を有する話者の音声を認知可能である必要があるという理由からも大規模で複雑なものになる。このようなシステムは、複雑であるにもかかわらず、依然として一般にメニュー駆動の応答のみに限定されている。すなわち、発呼者から典型的な音声認識ソフトウェアへのパッケージでは、単に希望する要求を発話してシステムにその要求を認識させるのではなく、望ましい機能に到達するまでに１若しくはそれ以上のメニューレイヤーを経由しなければならない。このようなソフトウェアで多様なコマンドを認識する能力を改善する従来の方法では、通常、ソフトウェアによって音声コマンドとの照合を試みるために多数の音声語彙が提供される。ただし語彙を多数使用すると、当該語彙に含まれる音声、単語、またはフレーズ（句）を音声コマンドと照合するために多数の比較を行う必要があるため、さらに強力なコンピュータ装置が必要になる。パーソナルコンピュータ上で動作するよう設計された従来の音声認識ソフトウェアは、主にディクテーション（口述）を対象としており、このようなソフトウェアは、さらに、利用者が当該コンピュータの前にいる間にのみ使用され、当該ソフトウェアにより決定される単純なメニュー項目のみにアクセスを行うことに限定される。このように、従来の音声認識ソフトウェアは、キーボードやマウスなどの一般的な入力装置に対し代用的または補足的な機能を果たすのみである。
【０００８】
さらに、従来のＰＤＡｓ、携帯電話、およびラップトップコンピュータは、概して互いに他方の機能を実行できないという欠点がある。高度な無線装置はＰＤＡと携帯電話の機能性を組み合わせているが、非常に高価である。このように、利用者はＰＤＡ、携帯電話の機能、および可能性としてラップトップの機能さえも実行できる装置を多大な費用をかけて購入しなければならないか、もしくは携帯電話、ＰＤＡ、および／またはラップトップを個々に購入する可能性がより高い。
【０００９】
このため、コンピュータのタイプ（または実装タイプ）および利用者の場所にかかわらず、コンピュータと通信するための携帯手段が必要となる。より具体的には、安価な携帯装置を介してコンピュータと口頭で対話し情報を得るためのシステムおよび方法が必要になる。さらに、このようなシステムおよび方法では、音声認識を強化することが有利になる。また、このようなシステムおよび方法では、任意の通信チャネルを介して、通話中に２若しくはそれ以上の相手と接続可能になることが望ましい。
【発明の開示】
【課題を解決するための手段】
【００１０】
以上の問題点を鑑みて、コンピュータとの通信を可能にするための方法、システム、およびコンピュータで読み込み可能な媒体を本明細書で開示するものである。一実施形態では、利用者との第１の通信チャネルが確立され、相手との通信を可能にする第２の通信チャネルを確立するための音声利用者要求が受信される。前記音声利用者要求が認識されると、前記第２の通信チャネルが確立される。
【００１１】
別の実施形態では、コンピュータと利用者の通信装置との間で通信チャネルが確立される。音声要求を有する利用者入力は、検出および格納される。また利用者プロファイルにアクセスが行われ、当該利用者プロファイルに基づき第１の文法が選択される。さらにアクティブな前記第１の文法を使って前記音声要求の認識が試行される。前記音声要求が認識されない場合は、前記第１の文法が無効化されて第２の文法が有効化され、この第２の文法を使って前記音声要求の認識が試行される。
【発明を実施するための最良の形態】
【００１２】
本発明の対象を法定要件を満たすよう特定的に説明する。ただし、この説明自体は、本特許の範囲を限定することを意図したものではない。むしろ、本発明者らは、既存または将来の他の技術を参照することで、請求項に係る対象が他の方法でも具体化でき、本文書で説明するものと同様な異なる工程または要素を含むよう企図している。さらに、本明細書では、使用される方法の異なる態様を暗示するため、用語「工程」を使用する場合があるが、この用語は、個々の工程の順序を明示的に説明していない限り、本明細書で開示する種々の工程間でいずれの特定順序を示唆すると解釈すべきものではない。
【００１３】
本説明を行う上で、用語「有線音声」の通信または送信は、完全にワイヤー経由で移動する通信または送信を意味する。同様に、本説明を行う上で、用語「無線音声」の通信または送信は、少なくともある時点で無線移動する、すなわち空気または空間（あるいは他の何らかの延在媒体）を経由して電磁放射により移動し、少なくともある時点で音声形式であるか、音声形式であったか、もしくは音声形式になる、すなわちヒトである利用者に発話され、および／または聞き取れる通信または送信を意味する。
【００１４】
本明細書では、音声コマンドによりリモート通信装置をコンピュータと動作可能に接続するシステムおよび方法を説明する。本発明の一実施形態では、リモート通信装置、例えば携帯電話、無線トランシーバ、マイクロホン、有線電話などを使用して音声コマンドまたは発話されたコマンドを利用者のコンピュータに送信する。別の実施形態では、利用者のコンピュータが同一のリモート通信装置により利用者への音声アナウンスなどを起動する。利用者のコンピュータ上で動作するインターフェースプログラムは、例えば音声認識ソフトウェアと動作可能に相互接続し、利用者の発話した言葉、Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈ（テキストから音声合成）ソフトウェア、音声ソフトウェア、および／またはビデオソフトウェアを認識して、利用者、予約ソフトウェアおよび／または電子メールソフトウェア、スプレッドシート、データベース、インターネット、および／または他のネットワークなどと通信する。このインターフェースプログラムは、コンピュータＩ／Ｏ（入出力）ポートと連動して作動装置、センサ、ファックス機、電話装置、ステレオ、電気製品、自動車など外部電子装置と通信することもできる。コンピュータは、自動車、ステレオ、電気製品、またはこのような他のいかなる装置にも埋め込み可能であることが理解されるものである。また、このインターフェースプログラムは、利用者の音声コマンドを効率的に認識するよう能動的に試行できる。さらに、このインターフェースプログラムは、例えばＶｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ボイス・オーバー・インターネット・プロトコル、略称ＶｏＩＰ）および／またはＳｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（セッション・イニシエーション・プロトコル、略称ＳＩＰ）規格により、利用者を第三者に接続することができる。したがって、一実施形態により、利用者は携帯型通信装置を使用して、任意の場所から利用者のコンピュータと通信することが可能になることが理解されるものである。
【００１５】
例えば一実施形態では、利用者は、携帯電話を操作して当該利用者のコンピュータに電話を掛けることができる。通信を確立した時点で、利用者は、ソフトウェアコンポーネントからアクセスするよう構成された任意タイプの情報を要求できる。さらに別の実施形態では、コンピュータによって、このような携帯電話を経由して利用者に連絡が行われ、例えば予約などが利用者に通知される場合がある。また、携帯電話によっていかなる音声認識も実行される必要がなく、あるいは当該携帯電話に利用者がアクセスを希望するいかなる利用者情報も含まれる必要がないことが理解されるものである。実際、一実施形態によれば、従来の「市販の」携帯電話やソフトフォンなどは、ソフトウェアを実行するコンピュータと併用する場合がある。その結果、一実施形態では、利用者が任意の場所から、また多種多様な通信装置のいずれを使うことによって、各自のコンピュータの広範な計算能力を活用することが可能になる。
【００１６】
以下の説明では、このようなソフトウェアおよび／またはハードウェアのコンポーネント、および通信装置の実装の詳細、また相互運用性の技術的態様は当業者に周知であることから、このような事柄は明瞭性のために本明細書において省略されていることが理解されるものである。
【００１７】
図１を参照すると、本発明の態様を実施可能な例示的なコンピュータ１００が例示されている。コンピュータ１００は、本明細書で説明する方法を実行可能な任意の汎用コンピュータ装置または特定用途向けコンピュータ装置でありうる。一実施形態では、コンピュータ１００は、ＣＰＵハウジング１０２と、キーボード１０４と、ディスプレイ装置１０６と、マウス１０８とを有する。コンピュータ１００は、任意数の方法で構成することが可能である一方、一実施形態との整合性を維持することができることが理解されるであろう。例えば、コンピュータ１００は、ラップトップコンピュータの場合のように、一体化したディスプレイ装置１０６およびＣＰＵハウジング１０２を有しうる。さらに別の実施形態では、コンピュータ１００は、キーボード１０４の代わりに、またはキーボード１０４と併用して利用者入力を受信する代替手段を有しうる。一実施形態では、前記のインターフェースプログラムやソフトウェアコンポーネントなどのプログラム１３０が、前記ディスプレイ装置１０６に表示される。さらに別の実施形態では、コンピュータ１００は、自動車、電気製品、消費者製品などに埋め込まれたＣＰＵとそれに付随したメモリやＩ／Ｏなどである場合がある。したがって、本明細書で「コンピュータ」および「コンピュータ１００」を言及する場合は、本明細書で開示するいかなる方法などを実行可能なコンピュータ装置を指しており、排他的にパーソナルコンピュータなどを指すものではないことが理解されるものである。
【００１８】
さらに別の実施形態では、コンピュータ１００は、例えばインターネットやイントラネットなどのネットワーク１２０にも動作可能に接続されている（有線または無線、あるいはその双方）。コンピュータ１００は、データ処理用のプロセッサ１１２、データ格納用のメモリ１１０、および前記ネットワーク１２０と通信するための入出力（Ｉ／Ｏ）１１４、および／または電話線など別の通信媒体をさらに有する。コンピュータ１００のプロセッサ１１２は、単一のプロセッサであっても、複数の相互接続されたプロセッサであってもよいことが理解されるであろう。メモリ１１０は、例えばＲＡＭ、ＲＯＭ、ハードドライブ、ＣＤ−ＲＯＭ、ＵＳＢ格納装置などであっても、このようなタイプメモリのいかなる組み合わせであってもよい。また、メモリ１１０はコンピュータ１００の内部または外部のいずれに位置していてもよい。Ｉ／Ｏ  １１４は、利用者または外部装置がコンピュータ１００と通信できるようにするいかなるハードウェアおよび／またはソフトウェアコンポーネントであってもよい。このＩ／Ｏ  １１４は、内部および／または外部に位置する複数の装置である場合がある。
【００１９】
図２Ａ〜図２Ｃは、本発明の態様を実施可能な例示的なコンピュータ構成の図を示したものである。図２Ａでは、図１を参照し上述したように、ハウジング１０２と、キーボード１０４と、ディスプレイ装置１０６と、マウス１０８とを有するコンピュータ１００を例示している。また、マイクロホン２０２およびスピーカー２０３が、コンピュータ１００に動作可能に接続されている。マイクロホン２０２は、音波を受信し、コンピュータ１００で解釈可能な電気信号に当該音波を変換するようなっていることが理解されるであろう。スピーカー２０３によってこれと反対の機能が実行されることによりコンピュータ１００からの電気信号が音波に変換される。利用者がマイクロホン２０２に発話してコンピュータ１００へコマンドまたは要求を発信すると、スピーカー２０３を介してコンピュータ１００から応答が行われることが理解されるであろう。逆に、コンピュータ１００は、スピーカー２０３を介してメッセージを発信するか、音声を再生する、もしくはディスプレイ装置１０６にメッセージを表示するなどして、利用者と「会話」を開始することが可能である。図２Ａからわかるように、任意のキーボード１０４、マウス１０８、マイクロホン２０２、および／またはスピーカー２０３に加えて、もしくはその代わりに、例えばＡｃｔｉｏｎｔｅｃ  Ｅｌｅｃｔｒｏｎｉｃｓ，  Ｉｎｃ．（米国カリフォルニア州Ｓｕｎｎｙｖａｌｅ）製のＩｎｔｅｒｎｅｔＰｈｏｎｅＷｉｚａｒｄなどコンピュータ１００に接続した電話ゲートウェイを経由して、選択的な有線電話、コードレス電話、またはスピーカーフォンを前記コンピュータ１００に接続することが可能である。一実施形態では、従来の有線電話、コードレス電話、またはスピーカーフォンなどの電話２１０がマイクロホン２０２およびスピーカー２０３のリモートバージョンとして機能することにより、コンピュータ１００との遠隔的インタラクションを可能にすることが理解されるであろう。特にコンピュータ１００に接続するよう設計された電話２１０の一例としては、Ｃｌａｒｙｓｉｓ（米国イリノイ州Ｅｌｋ  Ｇｒｏｖｅ  Ｖｉｌｌａｇｅ）のＣｌａｒｉｓｙｓ  ｉ７５０インターネット電話がある。
【００２０】
図２Ｂでも、図１を参照し上述したようにハウジング１０２と、キーボード１０４と、ディスプレイ装置１０６と、マウス１０８とを有するコンピュータ１００を例示している。さらに、コンピュータ１００は、ローカル電話２０６に動作可能に接続されている。一実施形態では、コンピュータ１００は外部電話の存在を必要とすることなく、電話線に直接接続されることが理解されるであろう。コンピュータ１００は、例えばＩ／Ｏ  １１４（ローカル電話２０６の代替であるが、明瞭性のため図２Ｂには図示せず）経由で、電話線から信号を受信するようなっている。このような実施形態では、Ｉ／Ｏ  １１４はボイスモデムまたはそれと均等の装置である。選択的なリモート電話２０４および／または携帯電話２０８も、ローカル電話２０６またはボイスモデムに動作可能に接続可能である。さらに別の実施形態では、ローカル電話２０６は携帯電話であり、コンピュータ１００との通信は携帯電話経由で行われる。
【００２１】
例えば一実施形態では、利用者は、リモート電話２０４または携帯電話２０８を経由して、ローカル電話２０６に対応する電話番号に電話を掛けることが可能である。このような実施形態では、コンピュータ１００が所定の信号などを有するすべての着信通話を監視し、当該信号の検出時に前記情報を通話からインターフェースプログラムまたは他のソフトウェアコンポーネントへ転送する。このように、コンピュータ１００は、通話との接続時に利用者から音声のコマンドまたは要求を受信し、応答を発信する。逆に、前記コンピュータ１００は、リモート電話２０４または携帯電話２０８宛に利用者対して電話を掛けることにより、利用者との会話を開始することが可能である。コンピュータ１００は、電話ダイヤル能力を有するか、もしくはローカル電話２０６が存在する場合はそれを使用して同じ機能を実行することが可能であることが理解されるであろう。
【００２２】
電話２０４〜２０８は、一定の距離を置いて音声を再生するいかなるタイプの器機であってもよく、前記器機内において音声は（アナログ形式またはデジタル形式のいずれかの）電気インパルスに変換され、例えばセルラーネットワークなどにより有線または無線で送信されることが理解されるであろう。一実施形態において、電話を使用してコンピュータ１００へリモートアクセスすることにより、低コストが確実になり、利用者にとってハンドセットが容易に入手可能になることが理解されるであろう。また、電話と接続して任意タイプまたは任意数の周辺機器を使用することもでき、このような任意タイプの周辺機器は均等に一実施形態と整合する。また、任意タイプのフィルタリングまたは雑音消去用ハードウェアまたはソフトウェアも電話２０４〜２０８などの電話あるいは前記コンピュータ１００において使用可能で、このような電話２０４〜２０８から受信される信号の強度および／または明瞭性を向上させることができる。
【００２３】
ローカル電話２０６は、家庭環境内にあると同時に、例えば前記コンピュータ１００から離れた場所において使用する有線電話またはコードレス電話であってもよい。例えばオフィス環境などの代替実施形態では、複数線の電話および／または長距離コードレス電話を本発明と接続して使用しうる。本明細書において、一実施形態を単一の利用者が単一の電話２０４〜２０８を操作するという文脈で説明しているが、任意数の利用者および電話２０４〜２０８も使用可能であり、このような任意数においても一実施形態と整合することが理解されるであろう。上述したように、ローカル電話２０６は、携帯電話ネットワーク経由で通信を行える携帯電話または他の装置であってもよい。
【００２４】
代替実施形態では、電話２０６は、例えばＥｎＧｅｎｉｕｓ製などの長距離テレフォニー機器でありうる。このような長距離コードレス電話は、商業環境などでの使用が望ましいことが理解されるであろう。一実施形態では、非常に長距離に渡って前記コンピュータ１００にほぼ瞬時にアクセスできることが利用者にとって望ましい場合がある（市内移動中や、場合によっては国内移動中の場合など）。このような実施形態では、前記コンピュータ１００との音声形式での情報の送受信にＮｅｘｔｅｌ  ｔｅｃｈｎｏｌｏｇｙのＤｉｒｅｃｔ  Ｃｏｎｎｅｃｔ（商標）などを使用可能である。例えば、利用者は１台のＤｉｒｅｃｔ  Ｃｏｎｎｅｃｔ電話を使用し、前記コンピュータ１００は第２の電話、すなわち別のＤｉｒｅｃｔ  Ｃｏｎｎｅｃｔ電話または別タイプの通信装置のいずれかに接続される。
【００２５】
コンピュータ１００には、電話２０４〜２０８に加え、またはその代わりにポケットベルやプッシュトゥトーク（ｐｕｓｈ−ｔｏ−ｔａｌｋ）無線通信などの装置を接続される場合がある。すべてまたは大部分の利用者の情報は、コンピュータ１００に格納されることが理解されるであろう。したがって、例えば電話２０４〜２０８などのリモート通信装置が紛失した場合、利用者はデータを喪失することなく、迅速かつ安価に装置を交換することができる。
【００２６】
ここで図２Ｃを参照すると、この図でも、図１を参照し上述したようにハウジング１０２と、キーボード１０４と、ディスプレイ装置１０６と、マウス１０８とを有するコンピュータ１００を例示している。図２Ｂを参照して上記で例示した実施形態と対照的に、コンピュータ１００はネットワーク１２０によりリモート電話２０４および／または携帯電話２０８に動作可能に接続されている。コンピュータ１００は、例えばダイヤルアップモデム、ＤＳＬ，ケーブルモデム、衛星接続、Ｔ１接続などにより前記ネットワーク１２０に動作可能に接続される場合があることが理解されるであろう。例えば、利用者は、前記コンピュータ１００などに割り当てられた「ウェブ電話」番号、ＩＰアドレス、または従来の電話番号に電話を掛けて、ネットワーク１２０経由でコンピュータ１００に接続できる。同様に、コンピュータ１００は、ネットワーク１２０経由でリモート電話２０４および／または携帯電話２０８に接続することが可能である。このような実施形態では、コンピュータ１００は、ネットワーク１２０にアクセスするため、オンボード電話ダイヤル機能を有しているか、または電話ダイヤル機能と動作可能に通信していることが理解されるであろう。このような機能性は、ハードウェアまたはソフトウェアのコンポーネント、あるいはこれらの組み合わせにより提供される場合があり、これについては以下、図４Ｂを参照してより詳しく説明する。
【００２７】
このような電話通信の構成例には、ＶｏＩＰ接続がある。このような実施形態では、いかなるリモート電話からもコンピュータ１００に直接ダイヤルし、ネットワーク１２０の一態様経由で前記インターフェースプログラムに接続することが可能である。例えば、前記コンピュータ１００は、ブロードバンドインターネット接続などを使って着信ＶｏＩＰ通話を扱う機能を装備している場合がある。また、別のリモートコンピュータ１００からのＵＳＢインターネット電話によって、例えば前記コンピュータ１００により直接応答されるＶｏＩＰ通話が起動される場合もある。一実施形態では、ＳＩＰ電話、もしくはインスタントメッセージング技術などでさえも、コンピュータ１００との通信に使用できることが理解されるであろう。
【００２８】
このように、本発明の態様を実施可能な利用者のコンピュータ１００のいくつかの構成例を提示した。利用者をコンピュータ１００に動作可能に接続することにより利用者がこのようなコンピュータ１００と口頭で通信できるようにするいかなる方法も、一実施形態と均等に整合することが理解されるであろう。
【００２９】
したがって、コンピュータ１００と遠隔的に通信を行ういかなる手段も一実施形態と均等に整合することが理解されるであろう。コンピュータ１００が前記リモート通信装置と効果的に通信を行うために、使用する通信媒体のタイプに応じて付加的な機器が必要となる場合がある。例えば、音声認識ソフトウェアエンジンへの入力は、一般にマイクロホンなどの標準的な入力装置から受信される。同様に、Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジンからの出力は、通常にスピーカーなどの標準的な出力装置へ送信される。同様に、携帯電話などの通信装置は、（ヘッドセットの）マイクロホンからの入力を受信し、出力をヘッドセットのスピーカーへ送信することができる。これにより一実施形態では、音声エンジンと、コンピュータに直接接続された通信装置（図２Ｂに示した電話２０６など）との間の接続が提供されるため、通常にスピーカーへ送信される前記装置からの出力は、前記音声エンジンの入力へと送信される（通常にはマイクロホンから発信される）。同様に、Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジンからの出力（通常スピーカーへ向かう）および前記装置の入力間が、当該装置が次いで音声出力をリモート発呼者に転送するよう、接続されていなければならない。
【００３０】
基本的な実施形態では、このような転送は、前記コンピュータの外部にある電話２０６との間で、（図２Ｂのように）パッチコードを使って達成される。ただし一部の実施形態では、信号を転送するだけでなく調整することも必要となる。例えば音声信号がアナログである場合、一実施形態では、可変抵抗器や音量調節などを用いて行うインピーダンス整合が必要である。音声信号がデジタルである場合は、その形式（サンプルレート、サンプルビット（ブロックサイズ）、およびチャネル数など）を調整しなければならない。
【００３１】
このような信号転送および調整に関する別の実施形態では、前記インターフェースプログラムと併用して前記コンピュータ１００で動作する「ソフトフォン」ソフトウェアを含む場合がある。このようなソフトウェアはＶｏＩＰ電話通信を容易にし、前記ＳＩＰ規格またはＨ．３２３など他のプロトコルを使ってコンピュータ１００上で通話を送受信する。このようなソフトウェアの一例に、Ｘｔｅｎ  Ｎｅｔｗｏｒｋｓ，Ｉｎｃ．（カナダ、ブリティッシュコロンビア州Ｂｕｒｎａｂｙ）製のＸ−ＰＲＯがある。ソフトフォンソフトウェアは、通常、ローカルスピーカーまたはヘッドセットにより電話の音声信号を利用者に送信し、通常、ローカルマイクロホンにより電話音声を受信する。ソフトフォンソフトウェア用に使用する特定の音声装置は、コンピュータ１００で複数の音声装置が利用可能なため、利用者設定として選択できることが多い。上記のとおり、Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈソフトウェアは、通常、ローカルスピーカーまたはヘッドセット経由で音声（出力）をローカル利用者に送り、さらに音声認識ソフトウェアは、通常、ローカルマイクロホン経由で音声（入力）を受け取る。従って、ソフトフォンソフトウェアは、一実施形態によりＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈソフトウェアおよび音声認識ソフトウェアにリンクされる場合がある。このようなリンクは任意数の方法で達成でき、ハードウェアまたはソフトウェアのいずれか、またはこれらの組み合わせが含まれる。一実施形態では、ハードウェア音声装置を各アプリケーションに割り当て、次にパッチケーブルを使って適切な出力ポートおよび入力ポートをリンクする。このような構成により、ソフトフォンから音声認識ソフトウェアへ、またＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈソフトウェアからソフトフォンソフトウェアへ音声が流れることが可能になる。このような構成では、スピーカー出力ポートをマイクロホン入力ポートに接続することが必要となり、したがって一実施形態では、音声の歪みを軽減するため、前記パッチケーブルにおいてインピーダンス整合が使用される場合があることが理解されるであろう。
【００３２】
さらに別の実施形態では、アプリケーション間で音声信号をリンクする特殊なソフトウェアを使用する場合がある。このようなソフトウェアの一例にＶｉｒｔｕａｌ  Ａｕｄｉｏ  Ｃａｂｌｅ（Ｅｕｇｅｎｅ  Ｖ．Ｍｕｚｙｃｈｅｎｋｏ作成によるソフトウェア）があり、これは音声ケーブルをソフトウェアで完全にエミュレートするもので、音声信号を送受信する異なるソフトウェアプログラム間を容易に接続できる。このような実施形態では、一対のＶｉｒｔｕａｌ  Ａｕｄｉｏ  Ｃａｂｌｅは、ソフトフォンから音声認識ソフトウェアへ、またＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈソフトウェアからソフトフォンソフトウェアへ音声が流れるように設定されている。さらに別の実施形態では、ソフトフォンソフトウェア、Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈソフトウェア、および音声認識ソフトウェアを修正または統合することにより、外部音声転送装置の必要性が完全になくなる。
【００３３】
ここで図３を参照すると、この図では一実施形態に係るソフトウェアおよび／またはハードウェアの構成例のブロック図を例示している。一実施形態では、このようなソフトウェアは前記コンピュータ１００により実行されることが理解されるであろう。このような態様では、例えば図２Ａ〜図２Ｃを参照して上述したとおり（図３では明瞭性のため図示せず）、電話２０４〜２１０などのリモート通信装置上でこのようなソフトウェアの導入を試行する代わりに、前記コンピュータ１００の計算能力が利用される。
【００３４】
図３に例示した各ソフトウェアおよび／またはハードウェアコンポーネントは、（点線で例示したように）少なくとも１つの他のソフトウェアおよび／またはハードウェアコンポーネントに動作可能に接続されることが理解されるであろう。また、図３では一実施形態を例示しているのみであり、ソフトウェアおよび／またはハードウェアコンポーネントの他の構成も一実施形態と整合することが理解されるであろう。図３に例示したソフトウェアコンポーネントは、スタンドアロンプログラムやアプリケーションプログラムインターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅｓ、略称ＡＰＩｓ）などであってもよいことが理解されるであろう。さらに、このようなソフトウェアコンポーネントはコンピュータで実行可能な命令としてコンピュータで読み込み可能な媒体に実装でき、それらの命令は、以下説明する工程を実行するためコンピュータなどにより実行することが可能である。コンピュータで読み込み可能な媒体には、例えばＣＤ−ＲＯＭディスク、ＤＶＤディスク、ＵＳＢドライブなどが含まれる。一部のソフトウェアコンポーネントはすでにコンピュータに内臓されている可能性があり、これにより実質的にコストが下がり、複雑さが軽減され、保管スペースが節約でき、効率が改善される。
【００３５】
テレフォニー入力３０２は、発話された言葉または音声コマンドにより（ＤＴＭＦ信号を含む（これに限定されるものではない））、例えば図２Ａ〜Ｃを参照して上述したように入力装置を介して、利用者が前記コンピュータ１００と通信できるようにする任意タイプのコンポーネントであってもよい。同様に、利用者に聞き取れる音として電気信号を出力するため、テレフォニー出力３０４が提供される。テレフォニー入力３０２もテレフォニー出力３０４も、例えば、電話またはネットワーク１２０により接続を確立する上で必要な機能性を含め、このような電話またはネットワーク１２０に対し信号を送受信するといった他の目的に適合するようなっていることが理解されるであろう。テレフォニー入力３０２およびテレフォニー出力３０４は、前記コンピュータ１００の内部または外部にあるハードウェア、もしくはソフトフォンアプリケーションなどのソフトウェアおよびそれに付随したネットワークインターフェースカードである場合がある。
【００３６】
また、音声認識ソフトウェア３１０も提供されており、名前が示唆するように、この音声認識ソフトウェアは、テレフォニー入力３０２により受信される信号などの電気信号（当該信号は利用者が発話した言葉を表す）を承認するようなっており、またこのような言葉を解読するようなっている。音声認識ソフトウェア３１０は、例えば任意タイプの特定用途向けソフトウェア、市販の音声認識ソフトウェア、あるいは例えば音声認識ソフトウェア３１０エンジンなどのソフトウェアのコンポーネントである可能性がある。このような認識ソフトウェア３１０は、音声認識をより最適化するための利用者トレーニングを含む場合がある。また、利用者と通信するためのＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５も例示している。このようなＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５は、一実施形態では、電子データから音声出力され次いで利用者に送信されるメッセージを生成する。図３に例示した一実施形態では、自然言語処理モジュール３２５および自然言語合成モジュール３３０が提供されており、音声メッセージをそれぞれ解釈および構築する。
【００３７】
利用者データ３２０は様々な情報を有し、この情報はコンピュータ１００に格納されるか、もしくはコンピュータ１００からアクセス可能であり、実施形態に従ってアクセスおよび使用することが可能である。例えば、個人情報データファイル３２２は、任意タイプの情報を含む任意タイプのコンピュータファイルでありうる。電子メール、予約ファイル、個人情報などは、個人情報データベースに格納される情報タイプの例である。また、このような個人情報データファイル３２２は、例えばスプレッドシート、データベース、文書ファイル、電子メールデータといったタイプのファイルである場合がある。さらに、このようなデータファイル３２２（および以降説明するデータファイル３２４）は、例えばガレージドアを開ける、文書を印刷する、ファックスを送信する、電子メールを送信する、家庭用電化製品の電源を入れる、および／または制御する、テレビまたはラジオの番組を録画または再生する、通信用の装置および／またはシステムと連動するなど、利用者の指示に応じたタスクを実行することができる。このような機能性は、例えばテレフォニー入力３０２、テレフォニー出力３０４、および／または入出力３５０などを介して、前記データファイル３２２〜３２４に含まれるか、このようなデータファイル３２２〜３２４からアクセス可能である。インターフェースプログラム３００は、上述したような前記コンピュータ１００の内部コンポーネント、もしくは、テレフォニー入力３０２、テレフォニー出力３０４、および／または入出力３５０などを使用して、前記プログラム３００が前記コンピュータ１００外部の装置と連動しうるコンポーネントを使って、このようなタスクを実行することができることが理解されるであろう。
【００３８】
利用者に代わってコンピュータ１００によってアクセス可能な付加的ファイルは、ネットワークベースのデータファイル３２４である。このようなデータファイル３２４は、マクロ、ＸＭＬタグ、またはインターネットなどのネットワーク１２０にアクセスして利用者用の最新情報を取得する他の機能性を含む。このような情報には、例えば株価、気象情報、ニュース、交通情報などがある。ファイルの例としては、個人情報管理（ｐｅｒｓｏｎａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ、略称ＰＩＭ）ファイルや、メッセージングアプリケーションプログラミングインターフェース（ｍｅｓｓａｇｉｎｇ  ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ、略称ＭＡＰＩ、例えば電子メールなど）ファイルなどがある。これらのファイルは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｕｔｌｏｏｋ（登録商標）またはＬｏｔｕｓ  Ｎｏｔｅｓ（登録商標）などのプログラムと併用されることもある。あるいは、インターフェースプログラム３００は種々のコンピュータプログラムと、例えば相互運用性のある方法で直接インタラクトすることが可能である（コンピュータプログラミングを熟知しているものであれば理解されるように）。
【００３９】
このようなデータファイル３２４の別の例は、図７Ａ〜Ｂのインターネット対応スプレッドシートの文脈で以下説明する。本明細書における用語、利用者データ３２０は、前記データファイル３２２および／または３２４を含む任意タイプのデータファイルを指すことが理解されるであろう。データファイルインターフェース３３５は、前記インターフェースプログラム３００が前記利用者データ３２０にアクセスを行えるように提供されている。特定のファイルまたはファイルタイプのみと連動するデータファイルインターフェース３３５は、単一であっても複数あってもよいことが理解されるであろう。また一実施形態では、前記インターフェースプログラム３００が時間および日付の情報を決定を行うことを可能にするシステムクロック３４０が提供される。さらに一実施形態では、外部の装置やコンポーネントなどとのインターフェース用の入出力３５０が提供される。例えば、入出力３５０は、１若しくはそれ以上のプリンタポート、シリアルポート、および／またはＵＳＢポートなどを有す場合がある。
【００４０】
前記ハードウェアおよびソフトウェアコンポーネントと（点線で示すように）動作可能に接続されているのは、前記インターフェースプログラム３００である。ただし、このインターフェースプログラム３００自体は、スタンドアロンプログラムであるか、または実施形態に従ってタスクの実行を統合するソフトウェアコンポーネントである。例えば、前記インターフェースプログラム３００は、他のソフトウェアコンポーネントを制御し、どの利用者データ３２０を開き、どの「文法」（利用者が発話すると期待される語句）を聞き取るかを制御する。
【００４１】
このインターフェースプログラム３００自体は、利用者の関心のある利用者データ３２０を含む必要はないことが理解されるであろう。このような態様では、このインターフェースプログラム３００は、上述したように任意の利用者データ３２０または他のソフトウェアコンポーネントからは独立して修正および更新が可能な、比較的小さく効率的なプログラムとして維持される。また、このようなモジュール式構成により、任意タイプのソフトウェアコンポーネントを実行する任意のコンピュータ１００において前記インターフェースプログラム３００の使用が可能になるため、互換性に関する懸念が軽減される。さらに、パーソナルコンピュータなどのコンピュータ１００上で操作するよう設計されたコンポーネントおよびプログラムが前記インターフェースプログラム３００において使用される場合は、高度な音声認識が非サーバーコンピュータ環境で実行可能になることが理解されるであろう。このため、このインターフェースプログラム３００は、サーバーとは対照的に、コンピュータ１００上で動作するよう設計され、コンピュータ１００の利用者により馴染みのあるプログラムと連動する。例えば、このようなプログラムは、コンピュータ１００のオペレーティングシステムの一部であるか、コンピュータ１００のオペレーティングシステムからアクセス可能な、既存のソフトウェアアプリケーションでありうる。このようなプログラムは、スタンドアロンアプリケーションおよび／またはハードウェアインターフェースなどでもありうることが理解されるであろう。
【００４２】
また、一実施形態がモジュール式であるという性質により、実質的にいかなる音声認識ソフトウェア３１０も使用可能になることが理解されるであろう。ただし、言葉遣いは人により大きく異なり、また方言も多様であるため、いかなる認識ソフトウェア３１０も正確さが制限される。一実施形態では、このようなソフトウェア３１０が認識工程にある、発話される題材の文脈を限定することにより、当該ソフトウェア３１０の精度を改善する。例えば、前記ソフトウェア３１０が特定テーマ分野の言葉を認識することに限定されている場合、このソフトウェア３１０は、無関係な任意数の言葉に発音が類似している言葉を、望ましいテーマ分野に関係する言葉として、高い尤度で正しく認識する。利用者の音声コマンドをこのような文脈制限を使って解決する方法は、図５を参照して以下説明していく。
【００４３】
一実施形態では、前記インターフェースプログラム３００によりアクセスされる前記利用者データ３２０は、このような文脈制限を実行するよう構成および編成することが可能である。このような構成は、図３で例示したように前記インターフェースプログラム３００または他のソフトウェアコンポーネントの変更を必要とせず、むしろ前記利用者データ３２０自体で行える。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｅｘｃｅｌなどのスプレッドシートアプリケーションは、前記インターフェースプログラム３００と併用して使用するのに適した態様でデータを格納し、これにアクセスする手段を提供している。スクリプトファイル、アラームファイル、ルックアップファイル、コマンドファイル、ソルバーファイルなどは、すべて一実施形態で利用可能なスプレッドシートファイルのタイプである。
【００４４】
また、前記音声認識ソフトウェア３１０は「プロファイル」を構成する１若しくはそれ以上の設定を有する場合があることが理解されるであろう。音声認識ソフトウェア３１０のプロファイルは、前記インターフェースプログラム３００などとの通信用に利用者が使用する通信チャネルのタイプを含む（これに限定されるものではない）様々な理由により作成されている。
【００４５】
スクリプトファイルは、利用者およびコンピュータ１００間に音声ダイアログを提供するスプレッドシートである。例えば一実施形態において、スプレッドシートの１若しくはそれ以上の列（または行）は利用者の発話する、したがって、前記インターフェースプログラム３００により認識される文法を表し、前記スプレッドシートの１若しくはそれ以上の列（または行）は前記コンピュータ１００の応答を表す。これにより、利用者が例えば「こんにちは」と言うと、前記コンピュータ１００は「こんにちは」または「おはようございます」などと発話しうる。このように、スクリプトファイルによってコンピュータ１００とのよりユーザーフレンドリーな対話が可能になる。
【００４６】
一実施形態において、アラームファイルは、望ましい機能に対応する、スプレッドシートの１若しくはそれ以上の列（または行）にエントリを有する。例えば、このスプレッドシートの１エントリは、利用者が薬を服用、会議に出席するために特定の日付および／または時間に設定されたリマインダに対応する。これを受け、前記インターフェースプログラム３００は、前記テレフォニー出力３０４などのコンポーネントと連動し、利用者に連絡を行い前記リマインダを通知する。このようにアラームファイルは、一部の実施形態では、所定の条件が満たされた時点でアクションを生成する必要があるため、常時アクティブであることが理解されるであろう。
【００４７】
一実施形態において、ルックアップファイルは、情報を含むスプレッドシートであるか、または情報と相互参照されるスプレッドシートである。一実施形態では、前記ルックアップファイル内に情報が完全に含まれるが、他の実施形態では、前記ルックアップファイルによってその外部のデータ源から情報が参照される。例えば、スプレッドシートにはインターネットから入手可能なデータ（例えば「スマートタグ」、ウェブクエリ、データベースクエリなどを使用）を参照するセルが含まれる場合があり、それらのセルは、所定の間隔で「リフレッシュ」されて確実に情報を最新に保つことが可能である。このため、ルックアップファイルは株価、スポーツのスコア、気象情報など、利用者用の情報を検索する目的で使用され場合がある。このような情報は、コンピュータ１００に対してローカルまたはリモートに格納することができることが理解されるであろう。
【００４８】
コマンドファイルは、一実施形態において、利用者がコマンドを前記コンピュータ１００に入力し、前記インターフェースプログラム３００を適切なコンポーネントと連動させて前記コマンドを実行可能にするスプレッドシートである。例えば、利用者が歌を聞くことを希望した場合は、前記インターフェースプログラム３００が音楽プログラムと連動して歌を再生する。ソルバーファイルは、一実施形態において、利用者が口頭で前記コンピュータ１００に問い合わせを行うことにより、数学的問題および他の解析的問題を解くことを可能にする。各タイプのファイルに含まれるデータは、一連の行および／または列に編成され、これらの行および／または列には、利用者が言及しているデータを決定するため、前記音声認識ソフトウェア３１０が認識すべき「文法」または文法へのリンクが含まれる。
【００４９】
上述したように、スクリプトファイルは、利用者に望ましい情報を提供、あるいは望ましいタスクを実行するために、前記インターフェースプログラム３００が活用しうるスプレッドシート技術を単純に応用したものである。一実施形態で使用する前記音声認識ソフトウェア３１０に応じて、このようなスクリプトの構文が、ソフトウェアが利用者の発話した言葉の中から聞き取ろうとしている内容に影響を与えることが理解されるであろう。
【００５０】
一実施形態は、例えば利用者から要求された時点でルックアップファイルのみを開くよう構成される。このような場合、前記コンピュータ１００が潜在的に解読しなければならない文法の数が減るため、音声認識の速度と信頼度が全般に向上する。また、このような構成では、コンピュータ１００のリソースも他のアクティビティのために解放される。このようなファイルを開きたい場合、利用者は、例えば「株価を参照」などの音声コマンドを発信することが可能である。次に、前記コンピュータ１００は、データファイル３２２〜３２４などのうちどのファイルが発話された言葉に対応するかを決定し、該当ファイルを開く。次に、このコンピュータ１００は、データがアクセス可能になったことを音声キューで利用者に通知する。
【００５１】
代替実施形態では、利用者は標準的なスプレッドシート技術を使用してスプレッドシートなどへの入力を完了するのではなく、代わりにウィザードやＡＰＩなどを使って、例えば標準テンプレートファイルへの入力を行う。別の実施形態では、キーボード１０４などを使う代わりに、上述した音声認識技術を使って前記テンプレートファイルへの入力を行うことができる。さらに別の実施形態では、前記インターフェースプログラム３００が利用者に一連の音声質問をプロンプトし、利用者はそれに発話して回答する。このように、前記コンピュータ１００はより詳細な質問を行い、また利用者データ３２０の作成または修正など行うことが可能である。またさらに別の実施形態では、ウィザードにより、既存のスプレッドシート、またはインターネットなどからダウンロードしたスプレッドシートが、前記インターフェースプログラム３００でアクセス可能かつ理解可能な形式に変換される。
【００５２】
図２Ａ〜図２Ｃを参照して上述したとおり、単一の利用者であっても、その利用者が使用する通信チャネルに応じ、異なるソフトウェア構成（または「モード」）を必要とすることが理解されるであろう。例えば、利用者が携帯電話２０８で前記コンピュータ１００と通信している場合、コンピュータ１００は、当該媒体により提供される比較的低音質の信号から音声を認識するよう調整された音声認識ソフトウェア３１０のプロファイルを使用する必要がある。このように、音声認識ソフトウェア３１０のプロファイルは、携帯電話２０８により受信される利用者コマンドを認識するために存在する場合がある。また前記コンピュータ１００は、利用者が使用する通信チャネルに応じ、利用者に利用可能な異なるデータファイル３２２などを必要とする場合がある。例えば利用者は、携帯電話２０８からの通話する場合が、常に特定情報にアクセスできることを希望し（利用者が移動中であり、特定情報を希望するため）、前記マイクロホン２０２の使用時には同じ特定情報を所望しない場合もある（例えばコンピュータの前にいて他の手段でこのような情報にアクセスできるため）。また、コンピュータ１００の複数の利用者がそれぞれ種々の通信チャネル用に異なる構成設定を有しうることも理解されるであろう。これを受け、以下の説明では、このような構成変更を達成する手段を提供する実施形態の態様を説明していく。
【００５３】
上記のとおり、利用者は、コンピュータ１００とインタラクトするために異なる通信チャネルを使用する場合がある。各通信チャネルに関与するハードウェアは、異なる音声品質を有する場合がある。例えば、異なる通信チャネルは異なるサンプリングレートを有する（例えば、テレフォニー機器では８ｋＨＺ、スピーカーでは１６ｋＨｚ、マイクロホンでは２２．０５ｋＨｚ、ＣＤでは４４．１ＫＨｚ、ＤＶＤでは４８ＫＨｚ、ＤＶＤ音声では９６ＫＨｚなど）。このように、また上記のとおり、関与するハードウェアに応じてモード変更などを行う必要がある。例えば、前記コンピュータ１００への接続に使用する各通信チャネル用にプロファイルを作成するため、利用者は前記音声認識ソフトウェア３１０をトレーニングすることを希望することもある。異なる通信チャネルを使う際、設定および／またはソフトウェアが多数変更されるよう、利用者が希望する場合もあることが理解されるであろう。例えば、出力装置の変更、入力ゲインおよび出力音量を以前に格納された設定に調整、音声認識ソフトウェア３１０の設定またはエンジンの変更（例えば８ｋＨｚ最適化を１６ｋＨｚ最適化に）、音声認識ソフトウェア３１０のプロファイルの変更（例えば携帯電話の利用者１からマイクロホンの利用者１へ）、音声形式変換パラメータの変更、背景雑音フィルタリングのプリファレンスまたはプロファイルの変更、「履歴」および／または「コンテキスト」ファイルの変更、他のプリファレンスまたは設定パラメータの変更、利用可能なデータファイル３２２または当該データファイル３２２内の機能セットの変更、もしくは各種機能用のプリファレンスの変更などが実施形態によって自動的に行われるよう利用者が希望する場合がある。
【００５４】
一実施形態では、このような変更は、これらのパラメータの一部または全部に対して事前設定されており、ハードウェア装置間での自動切り替えを可能にする。例えば、前記インターフェースプログラム３００は、マイクロホンおよびスピーカー構成用に設定できるが（すなわち「ローカル」モードなど）、ＶｏＩＰからの着信通話など他の装置に対しても「リスニング」を行う。「リスニング」している状態とは、前記インターフェースプログラム３００が例えば、テレフォニー入力３０２または入出力３５０経由の着信通話といった新しい装置接続を認識できる状態にあることを意味することが理解されるであろう。このような通話の着信時に、前記インターフェースプログラム３００は自動的にモードを切り替え、必要なすべてのパラメータを調整して、新しい（ＶｏＩＰなどの）モードに対する性能を向上する。前記ＶｏＩＰ接続の動作が終了した時点で、一実施形態において、前記インターフェースプログラム３００は自動的に前記ローカルモードに切り替わる。
【００５５】
引き続き上記のＶｏＩＰの例において、前記インターフェースプログラム３００は、ＶｏＩＰ通話を承認するため、テレフォニー入力３０２、テレフォニー出力３０４、入出力３５０などを介して前記コンピュータ１００を前記ＶｏＩＰ通話に接続するために使用されるハードウェアおよび／またはソフトウェアなどに何らかの形態の音声ブリッジを必要とすることが理解されるであろう。また、一部のテレフォニー機器では、他の音声機器と異なる方法および異なるサンプルレートでアナログ信号を圧縮およびデジタル化する。このため、これらのパラメータは、前記インターフェースプログラム３００により自動的に切り替えられ、利用者がローカルモードからＶｏＩＰモードへ切り替えを行うことを可能にする。例えば、前記インターフェースプログラム３００がローカルモードの状態にあり、ＶｏＩＰ通話を受信するために入出力３５０を経由してリンクされている可能性のあるソフトフォンから着信通話を検出する場合、前記インターフェースプログラム３００はローカル音声装置を「断念」してソフトフォンとの通信を確立する。通常、この通信確立には、Ｖｉｒｔｕａｌ  Ａｕｄｉｏ  Ｃａｂｌｅ（上記のとおり）などで提供される追加ソフトウェアが必要になる。また、ソフトフォンのパラメータは、前記インターフェースプログラム３００との通信を最適化するため変更される必要がある場合がある。さらに、前記インターフェースプログラム３００を利用者のＶｏＩＰ音声認識ソフトウェア３１０プロファイル（存在する場合）に切り替える必要がある場合もある。ＶｏＩＰ通話が終了後、前記インターフェースプログラム３００は前記ローカル音声装置を再び制御下に置き、Ｖｉｒｔｕａｌ  Ａｕｄｉｏ  Ｃａｂｌｅとの通信を終了する。
【００５６】
いかなるタイプのソフトウェアおよび／またはハードウェアの変更（もしくは欠如）も一実施形態と整合していることが理解されるであろう。例えば、一実施形態では、コンピュータ１００およびインターフェースプログラム３００との通信に利用者が使用可能な各タイプのハードウェアに対して、異なる音声認識ソフトウェア３１０のプロファイルおよび／またはエンジンが使用される場合がある。単一の時点において２つ以上のモードがアクティブでありうるため、複数のハードウェアおよび／またはソフトウェアの構成が同時にサポートされる可能性があることを理解すべきである。
【００５７】
上記のとおり、前記インターフェースプログラムは、異なる利用者用のプロファイルを有する場合がある。例えば、特定の利用者の音声が特定の通信チャネル経由で着信として認識され、次に、前記インターフェースソフトウェアは使用されている特定の通信チャネル用にその特定の利用者のプロファイルを切り替える。
【００５８】
一実施形態では、前記インターフェースプログラム３００は、「安全な」リモート利用者のみに前記コンピュータ１００へのアクセスを許可する。このような実施形態では、例えば、前記インターフェースプログラム３００は、リモート利用者用に正しいハードウェア設定を確立した後、（例えばＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５経由の）音声プロンプトなどで電話に応答し、セキュリティコード、Ｄｕａｌ  Ｔｏｎｅ  Ｍｕｌｔｉ−Ｆｒｅｑｕｅｎｃｙ（ＤＴＭＦ）コード、音声コードフレーズなどを利用者が提供するよう誘導する。正しい応答が受信されなかった場合、前記インターフェースプログラム３００は、正しい応答を供給するよう追加的な試みを行いプロンプトを出す。最終的に正しい応答が受信されなかった場合、前記インターフェースプログラムによって、前記コンピュータ１００へのアクセスが阻まれ、さらに／または通話が終了される。
【００５９】
上記のとおり、一実施形態においては、異なるソフトウェアプロファイルが前記コンピュータ１００の複数の利用者について維持される場合がある。このような実施形態では、前記インターフェースプログラム３００は、例えば前記コンピュータ１００との通信に使用されている装置のタイプ、または入力コードなどから、特定の利用者を認識することが可能である。この認識に応答して、前記インターフェースプログラム３００は、必要に応じて適切な利用者プロファイルをロードし、および／または他の設定変更を実行する。
【００６０】
例えば、前記インターフェースプログラム３００は、特定タイプのハードウェア装置経由で利用者からの入力信号が受信された場合、適切な装置を介して前記Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５から前記利用者へ音声を出力する必要があると決定する。例えば、利用者が１つまたは複数の指定マイクロホンによりインターフェースプログラム３００と通信している場合、このインターフェースプログラム３００は、前記Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５の出力を１つまたは複数の指定スピーカーに送信する。
【００６１】
上述したとおり、コンピュータ１００には複数の利用者が異なる利用者プロファイルを有する場合がある。前記インターフェースプログラム３００では、このような利用者プロファイルを使ってハードウェアおよび／またはソフトウェアコンポーネントを適切に構成することが可能であることが理解されるであろう。以下の表１は、各利用者用に利用可能である種々の構成設定を含む利用者プロファイルの例を示したものである。表１に示したこれらの設定は、決して完全なリストでも必須リストでもないことが理解されるであろう。
【００６２】
【表１】
2007529916.tif 000003
【００６３】
例えば表１では、１若しくはそれ以上のＳＩＰプロキシおよび複数のローカル音声装置が各利用者に割り当て可能であることがわかる。このような構成設定は必須ではないが、１つのプロファイルは、１つの入力装置にリンクされた１若しくはそれ以上の出力装置を有する場合があることが理解されるであろう。これにより、前記インターフェースプログラム３００は、利用者と通信するために種々の構成で動作することが理解されるであろう。以上、前記構成間で切り替えを行う方法について説明してきたが、ここで図４Ａ〜図４Ｃを参照すると、本発明の実施形態に係る利用者起動トランザクションの方法例を示したフローチャートが示されている。図３を参照してアラームスクリプトを説明したように、一実施形態においてテレフォニー出力３０４を介した前記インターフェースプログラム３００は、トランザクションの起動も行えることが理解されるであろう。このような状況については、図６を参照し以下で説明する。
【００６４】
工程４０５において、利用者は前記コンピュータ１００との通信を確立する。このような確立は、例えば図２Ｂ〜図２Ｃを参照して上記で説明したように、利用者が携帯電話２０８を介して前記コンピュータ１００に電話を掛けることにより、このような確立が行われる。また、このような確立の際には、例えば、前記利用者データ３２０などにアクセスするためのセキュリティクリアランスを確立するなどの中間工程もありうることが理解されるであろう。選択的な工程４１０では、「音声」プロンプトが利用者に提供される。このようなプロンプトは、単に前記コンピュータ１００側で発話された言葉を聞く準備が整ったことを利用者に示すためのものであるか、または日時などの他の情報を有するものである可能性がある。
【００６５】
工程４１５では、利用者要求が、例えば前記テレフォニー入力３０２などを介して受信される。工程４２０では、前記利用者要求が構文解析および／または分析され、その要求の内容が決定される。このような構文解析および／または分析は、例えば前記音声認識モジュール３１０および／または前記自然言語処理モジュール３２５により実行される。工程４２５では、利用者の要求に対応した望ましい機能が決定される。工程４１０〜４２５は、例えば音声認識ソフトウェア３１０が利用者の要求を認識するために、必要な回数だけ反復されることが理解されるであろう。このような反復は、例えば、利用者が前記コンピュータ１００と通信を行っている通信チャネルの品質が劣悪である場合や、利用者の発話が不明瞭である場合、または他の任意の理由により必要となる場合がある。
【００６６】
工程４２５で、利用者が既存の情報を要求している、もしくは利用者がコンピュータ１００によるアクションの実行を要求していると決定された場合、前記方法は図４Ｂの工程４３０へ進む。例えば、利用者が次の日の自分の予約について前記コンピュータ１００に読み上げてほしいと希望している場合などである。あるいは、工程４２５において前記利用者要求に対応する望ましい機能がデータの追加または作成であると決定された場合、当該方法は図４Ｃの工程４５０へと進む。これは、例えば利用者がメッセージを記録したい場合や、既存または新規の連絡先用に新しい電話番号を入力したいなどと希望している場合である。
【００６７】
上記を受け、ここで図４Ｂを参照すると、工程４３０では、要求された前記利用者データ３２０がインターフェースプログラム３００により選択され読み出される。図３を参照して上述したとおり、適切なデータファイルインターフェース３３５は、前記インターフェースプログラム３００により有効化されて、利用者データ３２０とインタラクトし、また要求された情報にアクセスする。あるいは、前記インターフェース３３５は、要求されたアクションを例えば入出力３５０を使って実行するようなっている場合もある。工程４３２では、前記インターフェースプログラム３００が、前記利用者データ３２０から読み出された情報に基づき、前記Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５および／または前記自然言語合成コンポーネント３３０に音声回答を生成させ、および／または望ましいアクションが実行されるようにする。要求されたデータの必要に応じ、選択的な工程４３４では、付加的な利用者データ３２０を要求するための、または元の要求をさらに明瞭化するための音声プロンプトが再び利用者に提供される。選択的な工程４３６では利用者応答が受信され、選択的な工程４３８ではその応答が再び構文解析および／または分析される。このような選択的なの工程４３４〜４３８は、図４Ａの工程４１０〜４２０について上述したような形で実行されることが理解されるであろう。また、望ましい機能が前記インターフェースプログラム３００にアクションを実行させることである場合（例えばガレージドアを開ける、ファックスを送信する、文書などを印刷する、メモや電子メールを記録する、電子メールを送信するなど）、応答は不要であるため、（いずれにしても応答は生成されるが（例えばアクションが正常に実行された旨を利用者に通知する））、上記のような工程４３４〜４３８は選択的であることも理解されるであろう。工程４４０では、付加的なアクションが必要かどうか決定される。必要である場合、当該方法は、さらに利用者データ３２０を読み出すため工程４３０に戻る。付加的なアクションが不要な場合は、工程４４２で会話が終了するか（例えば、利用者が電話を切った場合など）またはスタンバイモードになって更なる利用者入力が待機される。
【００６８】
工程４２５では、利用者が特定のアクションの実行を要求しているという決定に到達する可能性があることが理解されるであろう。例えば、利用者が通話を開始したいと希望している場合である。このような実施形態では、前記インターフェースプログラム３００は、テレフォニー入力３０２、テレフォニー出力３０４、および／または入出力３５０など（明瞭性のため図４Ｂでは図示せず）を介し、利用者の指定した番号に電話を掛けるよう、ＳＩＰソフトフォンソフトウェアに指示する場合がある。別の実施形態では、利用者はＭｉｃｒｏｓｏｆｔ（登録商標）  Ｏｕｔｌｏｏｋ（登録商標）または他の連絡先データベースに格納された電話番号に電話を掛けるよう要求する場合がある。このような実施形態では、前記プログラム３００が前記連絡先データベース内の特定の名前または他のエントリに電話を掛けるよう、また前記連絡先データベース内の名前または他のエントリに関連付けられた電話番号を前記プログラム３００が前記ＳＩＰソフトフォンにダイヤルさせるよう、利用者が要求する。現在の説明は単一の通話に関するものであるが、任意数の通話もダイヤルまたは接続することができ、したがって会議通話などが可能になることが理解されるであろう。
【００６９】
このような実施形態で電話を掛ける際、前記プログラム３００は、例えばＳＩＰ電話を利用する会議通話を起動することにより、利用者および１若しくはそれ以上の他の利用者が同一線で接続され、さらに、コマンドを口頭で発し前記プログラムから情報を要求する能力を有するようにする。特定の文法により、前記プログラム３００は、情報の提供、および／または特定のアクティビティの実行を明確に要求されるまで、前記利用者間の会話を静かに「聞く」ことができるようになる。あるいは、前記プログラム３００は、別の利用者との通話または複数利用者間の会議通話を開始した時点で、前記利用者との接続を「解除」する。
【００７０】
図４Ａを参照して上記で説明したように、利用者は、単にこのようなデータの読み出しまたは指定したアクションの実行を要求する代わりに、データの追加または作成を希望する場合がある。これを受けて図４Ｃを参照すると、工程４５０では、新しいデータベースやスプレッドシートなどの形態の、もしくは既存ファイルの新しいエントリとしての利用者データ３２０が、上記図４Ａに関連して受信された利用者の命令に従って、選択または作成される。工程４５２では、音声プロンプトが利用者に提供され、このプロンプトにより利用者は、新しいデータまたは命令を発話するよう指示される。工程４５４では利用者応答が受信され、工程４５６ではその応答が構文解析および／または分析される。工程４５８では、その音声データまたはフィールド（音声録音の形態をとりうる）が、工程４５０で作成または選択された前記利用者データ３２０に追加される。選択的な工程４６０では、必要に応じ、付加的な新規データを要求する音声プロンプトが再び利用者に提供される。選択的な工程４６２では、このようなデータが利用者の音声応答の形態で受信され、選択的な工程４６４では、このような応答が構文解析および／または分析される。工程４６６では、付加的なアクションが必要であるかが決定される。付加的なアクションが必要な場合、前記方法は工程４５８に戻り、前記音声データまたはフィールドを前記利用者データ３２０に追加する。付加的なアクションが不要な場合、工程４６８で会話は終了するか、または更なる利用者入力を待機するスタンバイモードになる。このような利用者発話のプロンプトおよび受信は、図４Ａ〜図４Ｂを参照して上記で説明したように行われることが理解されるであろう。
【００７１】
図３を参照して上記で説明したように、前記インターフェースプログラム３００は、性能を強化するため、言葉および／または語句から成る語彙全体のうち、前記音声認識ソフトウェア３１０によって利用者の音声コマンドを認識するために使用される特定サブセットに文法サイズを制限する場合がある。一実施形態では、前記文法は利用者が音声コマンドを発すると考えられる特定の文脈に制限される。これを受け、次に図５を参照し、このような文脈制限を使って利用者音声コマンドを認識する方法例５００を以下説明していく。工程５０２では、利用者の音声入力が検出され、音声ファイルとして保存される。いかなる形式の音声ファイル、例えば．ｗａｖファイルや．ｍｐ３ファイルなども実施形態と整合することが理解されるであろう。工程５０４では、前記インターフェースプログラム３００および／または前記音声認識ソフトウェア３１０が、アクティブな文法を使って前記入力の認識を試行する。このアクティブな文法は、任意数または任意タイプの要因、例えば、利用者が使用しているハードウェアのタイプ、時刻、気象状態、カレンダーまたは予約の情報、過去の利用者要求、利用者構成設定などに基づき選択されることが理解されるであろう。アクティブな文法の選択は、上述したように、尤度の高いアクティブな文法（すなわち、現在の要求の対象）を以前の要求および／または種々の文脈的要因と相関させる統計的アプローチによりさらに強化されうる。例えば予約に関する要求は、次に起こる可能性の高い要求が、時刻または会議場所（すなわち、特定の担当者のオフィスの住所）に関するものであることを示唆する可能性がある。さらに、常に任意数の文法がアクティブである可能性がある。
【００７２】
工程５０６では、利用者入力が認識されたかどうか決定される。認識された場合、前記方法は工程５０８へ進み、認識データを処理する。このような処理は、例えば要求されたタスクの実行やコンピュータ１００への利用者アクセスの許可などの可能性がある。工程５１０において、前記方法５００は、例えばＴｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５により、利用者と通信する。利用者のコマンドに対して前記インターフェースプログラム３００および／または前記音声認識ソフトウェア３１０からの音声応答が必要とされない場合、工程５１０は選択的である場合がある。最後に、例えばメモリ空間を節約するため、工程５１２で前記利用者入力を含む前記音声ファイルが削除される。
【００７３】
工程５０６の決定が、利用者入力が認識されなかったというものであった場合は、（１つまたは複数の）アクティブな文法が工程５１４で無効化される。工程５１６では、利用可能な文法があるかどうかが決定される（例えば、工程５０４〜５０６の間にアクティブでなかった文法など）。アクティブな文法ある場合は、当該文法が工程５１８で有効化され、前記方法５００は工程５０４に戻って前記利用者入力の認識を試行する。工程５１６の決定が、利用可能な追加文法がないという決定であった場合、前記方法５００は、工程５２０で利用者にエラーを伝える。工程５２０のこのようなエラー通知には、利用者にコマンドを反復するよう促すプロンプト、または利用者にコマンドに該当する別の説明またはカテゴリを提供するよう促すプロンプトなどが含まれることが理解されるであろう。最後に、例えばメモリ空間を節約するため、工程５２２で前記音声ファイルが削除される。前記方法５００は、利用者入力を認識するため、任意の回数実施されることが理解されるであろう。例えば工程５１８では、前記方法５００によってそれ以前にアクティブでなかったすべての文法が有効化される必要はない。その代わりに、一実施形態は、１若しくはそれ以上の文法が最も高い確率で前記利用者入力に合致するものとしてインテリジェントに選択されると規定する。
【００７４】
利用者が前記インターフェースプログラム３００に特定文法の有効化を指示することで、当該インターフェースプログラム３００および／または前記音声認識ソフトウェア３１０が次の入力を認識する尤度を高めることが可能であることが理解されるであろう。例えば、「連絡先を参照」という利用者入力は、当該連絡先自体を開くだけでなく、利用者の連絡先に関連する文法を開くよう、前記インターフェースプログラム３００をプロンプトする可能性がある。また一実施形態では、一般的な文法が提供される可能性があるが、この場合、前記一般的な文法は利用者から最も一般的に受信されるコマンドを有する可能性がある。このように、利用者が操作中の文脈とは無関係のコマンドを当該利用者が発した場合であっても、当該利用者のコマンドは前記インターフェースプログラム３００によって理解される可能性が高い。
【００７５】
以上、利用者入力を認識する方法を説明してきたが、図６の方法は一実施形態に従いコンピュータ１００が起動するトランザクションの方法例である。図６を参照すると、工程６００では利用者データ３２０が監視される。例えばアラームファイル、予約データベース、電子メール／スケジュールプログラムファイルなど、利用者データ３２０の複数のインスタンスがインターフェースプログラム３００により監視されることが理解されるであろう。工程６０５では、監視中の前記利用者データ３２０にアクションアイテムが含まれているかどうかが決定される。一実施形態において、前記インターフェースプログラム３００は、例えばデータベース内のエントリをレビューして現在実行中のどのアイテムにアクションが必要かを決定するため、前記システムクロック３４０を使用するようなっていることが理解されるであろう。アクションアイテムが検出されなかった場合、前記インターフェースプログラム３００は、工程６００で前記利用者データ３２０を引き続き監視する。前記利用者データ３２０にアクションアイテムが含まれる場合、前記インターフェースプログラム３００は、工程６１０で利用者との会話を開始する。このような会話の開始は、例えば、前記インターフェースプログラム３００がソフトウェアコンポーネントに、電話２０４または携帯電話２０８を経由して利用者へ連絡させることにより実行される。図２Ａ〜図２Ｃを参照して上記説明したハードウェア構成は、いずれもこのような機能を実行することが可能である。
【００７６】
工程６１５では、音声プロンプトが利用者に発信される。例えば、利用者が利用者自身の携帯電話２０８に回答した時点で、前記インターフェースプログラム３００は、前記アクションアイテムに関するメッセージを前記Ｔｅｘｔ−ｔｏ−Ｓｐｅｅｃｈエンジン３１５に生成させる。例えばセキュリティチェックや社交辞令など、アクションアイテムに関連しない他のメッセージも、この時点で利用者へ発話される場合があることが理解されるであろう。工程６２０では利用者応答が受信され、工程６２５ではその応答が、図４Ａ〜図４Ｂを参照して説明したように構文解析および／または分析される。工程６３０では、発話された言葉に基づき付加的なアクションが必要かどうかが決定される。必要である場合、前記方法は工程６１５に戻る。付加的なアクションが不要な場合は、選択的な工程６３５で前記インターフェースプログラム３００が利用者データ３２０に必要な調整をすべて行い、例えば、前記データベースインターフェース３２０に変更または設定を保存させる、またアラームを設定するといった利用者の要求を完了させる。前記インターフェースプログラム３００は、次に工程６００へ戻り、引き続き前記利用者データ３２０を監視する。利用者は、前記コンピュータ１００からの接続を解除、またはそのまま接続を続け他のタスクを実行することが可能であることが理解されるであろう。実際、利用者は、次に例えば図４Ａ〜図４Ｃを参照し上述した方法に従って処理される命令を発信することが可能である。
【００７７】
このように、インターフェースプログラム３００は、コンピュータ１００に格納された、またはコンピュータ１００からアクセス可能な利用者データ３２０に関して、利用者に対して連絡を開始、および利用者から連絡を受信することが可能であることが理解されるであろう。またインターフェースプログラム３００は、一部の実施形態において、利用者がコンピュータ１００に遠隔的にアクセスする際に、利用者の目に触れることなく動作することも理解されるであろう。ただし、利用者は、インターフェースプログラム３００が自身のプリファレンスに従い動作するように、当該プログラム３００を構成または修正しなければならない場合がある。上記のとおり、当業者であれば、コンピュータ１００のディスプレイ装置で表示を行うための、利用者インターフェースのプログラミングおよび構成に精通しているはずであり、したがってこのような構成の詳細は明瞭性のため本明細書では省略する。
【００７８】
上記のとおり、前記インターフェースプログラム３００は、一実施形態において通話を発信することができる。このような発信通話を介して、当該インターフェースプログラム３００のソフトウェアは、近々予定されている予約や緊急の電子メールなどについて利用者にアラートを送信する場合がある。また、一旦利用者への通話が確立されアラートが伝達されると、利用者は、前記インターフェースプログラム３００へのクエリを継続し、付加的なタスクを実行するための追加情報を得ることができる。
【００７９】
発信通話が関与する別の実施形態は、「電話ブリッジ」を介して利用者の代わりに通話の発信および接続を行う工程に関する。電話ブリッジを使用する場合、利用者は、通話を発信および接続するよう前記インターフェースプログラム３００に指示する。リモートアクセス機能として、電話ブリッジは、例えば移動中または通勤中の利用者に有益である場合がある。あるいは、利用者は、利用者自身が前記コンピュータ１００をローカルに操作している場合においても、番号を調べ、電話機を探し、その番号をダイヤルする手間を省くために、前記インターフェースプログラム３００が電話ブリッジを有することを希望する場合がある。例えば、利用者がマイクロホンに「Ｃａｌｌ  Ｊｏｈｎ  Ｓｍｉｔｈ（ジョン・スミスに電話）」と発話すると、前記インターフェースプログラム３００は自動的に電話ブリッジソフトウェアを開始する。このように、利用者がリモート電話を操作している場合でも、ローカルマイクロホンを操作している場合でも、前記インターフェースプログラム３００のソフトウェアは、使いやすく柔軟性のあるＩＰテレフォニー（ＶｏＩＰなど）用「フロントエンド」を提供する。前記インターフェースプログラム３００との通話ではＶｏＩＰ技術が使用される場合があるため、長距離電話料金が非常に低価格なるか、場合によっては無視できる程になり、これにより利用者が第三者と通信するためのより経済的な手段が提供される。経済的な理由から、リモート利用者は特に直接ダイヤルよりＶｏＩＰ電話ブリッジを好む場合がある。
【００８０】
図７は、上記を受け、ＶｏＩＰを使ってこのような実施形態を実施可能なソフトウェアおよびハードウェアの構成を例示した図である。図のように、一実施形態ではリモート利用者７１０がＳＩＰサービスプロバイダ７１２Ａ経由で前記インターフェースプログラムと通信する。前記リモート利用者７１０が第三者との通信を希望する場合は、前記インターフェースプログラム３００がＳＩＰサービスプロバイダ７１２Ｂと通信し、次いでこのＳＩＰサービスプロバイダ７１２Ｂが前記第三者７１４と通信する。このような通信を確立する方法については、図８を参照して以下説明する。利用者が前記インターフェースプログラム３００に接続解除を指示すると、前記ＳＩＰサービスプロバイダ７１２Ａ〜Ｂは互いに通信し合い、前記利用者および前記第三者の間の会話を継続する。ＳＩＰプロバイダ７１２Ａおよび７１２Ｂは、同じプロバイダであってもよいし、１つの同一ＶｏＩＰサーバーであってもよいことが理解されるであろう。
【００８１】
図８は、本発明の実施形態に従って利用者を第三者に接続する方法例８００を示したフローチャートである。工程８０２以前に、前記インターフェースプログラム３００はデフォルトモードなどで動作中である可能性があり、そのため、利用者からの通信試行を承認することができる。工程８０２では、利用者との通信が確立される。このような通信は、上述したものなど、任意の通信チャネルを介して行われることが理解されるであろう。利用者との通信を確立する工程の一部として、前記インターフェースプログラムは、図３を参照して上記で説明したように、適切なハードウェア入出力（Ｘ−Ｌｉｔｅなどのソフトフォン付きＶｉｒｔｕａｌ  Ａｕｄｉｏ  Ｃａｂｌｅ音声装置など）およびこのようなリモート装置用の正しい利用者プロファイルに切り替えを行う。利用者および前記インターフェースプログラム３００はこのような形で通信し、利用者は望ましいタスクを実行するよう前記インターフェースプログラム３００に指示をすることもある。
【００８２】
工程８０４では、利用者を第三者に接続する要求が受信される。このような要求には、利用者および第三者の接続後、そのままの状態で会議通話を続行する代わりに、前記インターフェースプログラムを通話から接続解除するという利用者からの要求も含まれる場合がある。代替実施形態では、前記インターフェースプログラムは通話に留まるよう指示される。同様に、前記インターフェースプログラム３００は、このような情報を得るため利用者にプロンプトする場合もある。代替実施形態において、前記インターフェースプログラム３００は、接続解除すべきか通話に留まるべきかを示すデフォルト設定などを有する利用者プロファイルを有することもある。前記インターフェースプログラム３００を通話に留まらせた場合、利用者は通話完了時に付加的なタスクを実行できるようになることが理解されるであろう。ただし、前記インターフェースプログラム３００を接続解除すると、利用者および第三者間の信号品質が改善される可能性がある。前記インターフェースプログラム３００が接続を続行することを利用者が希望しない一実施形態では、前記インターフェースプログラム３００は、着信通話を発信番号に転送するようソフトフォンなどに指示する。これにより、２者は前記インターフェースプログラム３００を中間に置くことなく、ＳＩＰブリッジで直接接続される。さらに、ＳＩＰプロバイダの一方または双方に会議をホストするよう指示することにより（例えばソフトフォンからＳＩＰブリッジへのコマンドにより）、可能性としてインターフェースプログラム３００を含む全者との接続を維持しつつ接続品質を改善できることが理解されるであろう。
【００８３】
工程８０６では、前記インターフェースプログラム３００が利用者を第三者に接続する。この接続は、上述した通信チャネルを介するものでありうることが理解されるであろう。工程８０８では、前記インターフェースプログラム３００が通話に留まるべきか接続解除されるべきかが決定される。前記インターフェースプログラム３００が着信通話を発信番号に転送するようソフトフォンなどに指示する実施形態では、工程８０８は選択的であることが理解されるであろう。工程８０８の決定は、例えば、工程８０４に関連して上述した要求および／またはプロファイル情報などを使って行うことが可能である。工程８０８の決定が、前記インターフェースプログラムが通話に留まるべきではないというものであった場合は、工程８１４で、利用者および第三者が引き続き会話している状態で前記インターフェースプログラム３００が通話から接続解除される。
【００８４】
工程８０８の決定が、前記インターフェースプログラム３００が通話に留まるべきであるという決定の場合、当該インターフェースプログラム３００は第三者が接続解除するのを待機する。一実施形態では、利用者および第三者間の残りの会話の間、前記音声認識ソフトウェア３１０が無効化され、意図せず会話を中断することを回避する。第三者が通話から接続解除したことを検出すると、前記インターフェースプログラム３００は、前記音声認識ソフトウェア３１０を再起動し、工程８１２で利用者コマンドを待機するか、またはこのようなコマンドを得るため利用者にプロンプトを提示する。別の実施形態では、前記インターフェースプログラム３００は、会話中にアクティブのまま維持され、利用者に応答することができる。このような実施形態では、特定のキーワードなどの認識を試行するためのみに、インターフェースプログラム３００を有する可能性がある。前記インターフェースプログラム３００は、一実施形態では、利用者が通話から接続解除した場合、それ自体を無効化するか、または以前および／またはデフォルトの状態に戻る場合がある。上記工程を行う際、前記インターフェースプログラム３００は、図３を参照して上記で説明したように、当該状態のための適切な利用者プロファイル（ハードウェアおよび／またはソフトウェア構成設定を含む）を呼び出す場合がある。
【００８５】
当然のことながら、以上の例示的実施形態は単に説明目的で提供したものであり、決して本発明を限定すると解釈すべきものではない。本明細書で使用した用語は説明および例示のためのものであり、限定するためのものではない。また、本明細書で説明した利点および目的は、本発明を実施する各々の実施形態のみにより実現されるものではない。さらに、本発明を、特定の構造、材料、および／または実施形態を参照して本明細書で説明してきたが、本発明は本明細書に開示した特定の事柄に限定されるものではない。むしろ、本発明は、添付した特許請求の範囲内にである機能的に均等なすべての構造、方法、および用途へと拡張される。本明細書の教示の有益性を享受した当業者であれば、本発明の要旨を変更しない範囲で、種々の修正形態および変更形態をもたらすことができるであろう。
【図面の簡単な説明】
【００８６】
以上の課題を解決するための手段および以下の発明を実施するための最良の形態は、添付の図面を参照することでより明確に理解される。本発明を例示するため本発明の実施形態例を図面に示すが、本発明は開示されている具体的な方法および手段に限定されるものではない。当該図面は、以下のとおりである。
【図１】図１は、本発明の態様を実施しうる従来のデスクトップコンピュータの例を示した図である。
【図２Ａ】図２Ａ〜図２Ｃは、本発明の態様を実施しうるコンピュータ構成の例を示した図である。
【図２Ｂ】図２Ａ〜図２Ｃは、本発明の態様を実施しうるコンピュータ構成の例を示した図である。
【図２Ｃ】図２Ａ〜図２Ｃは、本発明の態様を実施しうるコンピュータ構成の例を示した図である。
【図３】図３は、本発明の実施形態に係るソフトウェア構成の例を示したブロック図である。
【図４Ａ】図４Ａ〜図４Ｃは、本発明の実施形態に係る利用者起動トランザクションの方法例を示したフローチャートである。
【図４Ｂ】図４Ａ〜図４Ｃは、本発明の実施形態に係る利用者起動トランザクションの方法例を示したフローチャートである。
【図４Ｃ】図４Ａ〜図４Ｃは、本発明の実施形態に係る利用者起動トランザクションの方法例を示したフローチャートである。
【図５】図５は、利用者音声コマンドを認識する方法を例示したフローチャートである。
【図６】図６は、本発明の実施形態に係るコンピュータ起動トランザクションの方法を例示したフローチャートである。
【図７】図７は、本発明の態様を実施しうるソフトウェアおよびハードウェアの構成を例示した図である。
【図８】図８は、本発明の実施形態に従って利用者を第三者に接続する方法を例示したフローチャートである。
【図１】
2007529916.tif 000004
【図２Ａ】
2007529916.tif 000005
【図２Ｂ】
2007529916.tif 000006
【図２Ｃ】
2007529916.tif 000007
【図３】
2007529916.tif 000008
【図４Ａ】
2007529916.tif 000009
【図４Ｂ】
2007529916.tif 000010
【図４Ｃ】
2007529916.tif 000011
【図５】
2007529916.tif 000012
【図６】
2007529916.tif 000013
【図７】
2007529916.tif 000014
【図８】
2007529916.tif 000015
【国際調査報告】
2007529916.tif 000016