(57)【要約】【課題】  オーディオ捕捉が進行している間に部分的意味構文解析を動的に報告する音声入力モードを実現する方法とシステムを提供する。【解決手段】  意味構文解析は、ユーザに即座に折り返し報告される結果により評価することができる。従来はシステムの番に実行されるタスクが、今度は、ユーザの番の最中に実行され、会話が有する交代の特質から大幅に離脱することができる。【選択図】  図１
2004355629.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムと相互作用するコンピュータ実行方法であって、
ユーザから入力を受け取り、処理のため前記入力を捕捉するステップと、
前記入力に基づいて認識を実行し、前記入力の第１の部分に関係する情報を確認し、コンピュータアプリケーションにより処理される形式のデータを備え、認識済みの入力および前記第１の部分に対する意味情報にしたがった意味オブジェクトを出力することを含み、認識の実行および前記意味オブジェクトの出力は、前記入力の後続の部分について捕捉が続いている間に実行されるステップと
を含むことを特徴とするコンピュータ実行方法。
【請求項２】
言語モデルを確立し、認識および理解を実行し、前記言語モデルは、コンピュータアプリケーションにより処理される形式で、受信した入力にしたがって、データを供給し、前記受信した入力の意味情報を供給するように適合されるステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記言語モデルは、Ｎグラム言語モデルおよび文脈自由文法言語モデルの組合せを含むことを特徴とする請求項２に記載のコンピュータ実行方法。
【請求項４】
言語モデルを確立することは、認識に使用される複数の文法を定義することを含むことを特徴とする請求項３に記載のコンピュータ実行方法。
【請求項５】
言語モデルを確立することは、アプリケーションプログラムインターフェースを使用して認識に使用される前記複数の文法を定義することを含むことを特徴とする請求項４に記載のコンピュータにより実行方法。
【請求項６】
言語モデルを確立することは、ＳＡＬＴを使用することを含むことを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項７】
前記入力を処理することは、複数のモードでＳＡＬＴのリッスンオブジェクトを実行することを含むことを特徴とする請求項６に記載のコンピュータ実行方法。
【請求項８】
前記意味オブジェクトを出力することは、テキスト形式でデータを出力することを含むことを特徴とする請求項１または２に記載のコンピュータ実行方法。
【請求項９】
入力を受け取り、捕捉することは、前記ユーザから可聴音入力を受け取り、捕捉することを含むことを特徴とする請求項８に記載のコンピュータ実行方法。
【請求項１０】
入力を受け取り、捕捉することは、前記ユーザから音声入力を受け取り、捕捉することを含むことを特徴とする請求項９に記載のコンピュータ実行方法。
【請求項１１】
入力を受け取り、捕捉することは、前記ユーザから手書き入力を受け取り、捕捉することを含むことを特徴とする請求項１または２に記載のコンピュータ実行方法。
【請求項１２】
入力を受け取り、捕捉することは、前記ユーザから視覚的入力を受け取り、捕捉することを含むことを特徴とする請求項１または２に記載のコンピュータ実行方法。
【請求項１３】
前記ユーザが前記入力を供給している間に前記ユーザへの情報を表現し、前記情報は、前記受け取った意味オブジェクトの関数であるステップをさらに含むことを特徴とする請求項１または２に記載のコンピュータ実行方法。
【請求項１４】
情報を表現することは、前記意味オブジェクトの前記意味情報の関数として情報を表現することにより、受け取った内容を確認することを含むことを特徴とする請求項１３に記載のコンピュータ実行方法。
【請求項１５】
情報を表現することは、認識された前記入力にしたがって、前記データの関数として情報を表現することを含むことを特徴とする請求項１４に記載のコンピュータ実行方法。
【請求項１６】
情報を表現することは、受け取った前記入力にしたがって、前記データの関数として前記ユーザに対してオプションを表現することを含むことを特徴とする請求項１５に記載のコンピュータ実行方法。
【請求項１７】
情報を表現することは、受け取った前記入力にしたがって、前記データの関数として前記ユーザに対して複数のオプションを表現することを含むことを特徴とする請求項１６に記載のコンピュータ実行方法。
【請求項１８】
情報を表現することは、前記ユーザに可聴音プロンプトを与えることを含むことを特徴とする請求項１３に記載のコンピュータ実行方法。
【請求項１９】
情報を表現することは、前記ユーザに視覚的指示を与えることを含むことを特徴とする請求項１８に記載のコンピュータ実行方法。
【請求項２０】
情報を表現することは、前記ユーザに同期した可聴音および視覚的指示を与えることを含むことを特徴とする請求項１９に記載のコンピュータ実行方法。
【請求項２１】
コンピュータにより読み取ることができる命令を含むコンピュータ可読媒体であって、命令が実行されるとこの命令によりコンピュータは請求項１から２０のいずれか１に記載の方法を実行することを特徴とするコンピュータ可読媒体。
【請求項２２】
請求項１から２１のいずれか１に記載の方法を実行するように適合されていることを特徴とするシステム。
【請求項２３】
コンピューティング装置により読み取ることが可能な命令を含むコンピュータ可読媒体であって、
ユーザから入力を受け取り、処理のため前記入力を捕捉するように適合され、前記入力の認識を実行し、前記入力の第１の部分に関係する意味情報を確認するように適合され、コンピュータアプリケーションにより処理される形式のデータを備え、認識済みの前記入力および前記第１の部分に対する意味情報にしたがった意味オブジェクトを出力するように適合されたモジュールを含み、認識の実行および前記意味オブジェクトの出力は、前記入力の後続の部分について捕捉が続いている間に実行されることを特徴とするコンピュータ可読媒体。
【請求項２４】
コンピューティング装置により読み取ることが可能な命令を含むコンピュータ可読媒体であって、
選択されたタスクを実行にするように構成され、ユーザの入力に応じて同期して意味オブジェクトを受け取るように適合されたモジュールを含み、各意味オブジェクトはコンピュータアプリケーションにより、前記ユーザからの入力の一部と前記ユーザからの入力の前記一部に関係する意味情報に応じて処理される形式のデータを含み、前記モジュールは前記意味オブジェクトを同期して処理することに応じてアクションを実行するように適合されていることを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおける情報のアクセスおよび表現に関する。より具体的には、本発明は認知および理解を利用した情報へのアクセスに関するものである。
【背景技術】
【０００２】
近年、技術が発展したことにより、ユーザは、音声コマンドを与えることによってコンピュータシステム上の情報にアクセスできるようになった。コンピュータシステムは、ユーザコマンドを受信すると、ユーザ入力に対し音声認識を実行し、さらに、ユーザの意思を確認するため、コンピュータシステムが所望の動作を実行する順序で、その入力を処理する。
【０００３】
状況によっては、ユーザが与えた入力が不完全か又は不明確であるため、コンピュータシステムは、視覚的プロンプトまたは音声プロンプト（ｖｉｓｕａｌ  ｏｒ  ａｕｄｉｂｌｅ  ｐｒｏｍｐｔｓ）のどちらかかの形式で、ユーザに対し、追加の情報を要求しなければならない。このようにして、ユーザとコンピュータシステムとの間で対話が確立し、ユーザの意思が確認され動作が実行できるまで、各々は、交代で質問、回答、および／または確認応答を与える。その他の状況においては、このような対話生成は、コンピュータシステムと情報をやりとりするために最もよく使われる方法である。
【０００４】
スピーチ・アプリケーション・ラングエッジ・タグ(Ｓｐｅｅｃｈ  Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｎｇｕａｇｅ  Ｔａｇｓ（ＳＡＬＴ）)を現代的なユーザインターフェースデザインの発展可能な入出力形態として導入することにより、発話を容易化する。ＳＡＬＴの設計目標は、共通の音声タスクを、プログラムしやすいように単純化すること、直接的な認識をそなえた高度な機能を与えることにある。ＳＡＬＴは、多くのアプリケーションのために設計された。例えば、電話ベースの音声のみのアプリケーションがあるが、これは、もっぱら会話でユーザとやり取りをするだけである。
【０００５】
ＳＡＬＴは、音声入力および出力オブジェクト（「聴く」と「プロンプト」）を含み、ユーザの番の始まりと終わりを検出する技術を組み込むモード設計となっている。したがって、多くの音声アプリケーションは、ユーザの番の始まりをユーザに合図させるユーザインターフェースを採用している。コンピュータシステムとしては、ウェアラブルコンピュータ、音声対応モーダルまたはマルチモーダル、（マウスなどの入力装置により選択されたフィールドに対して提供される音声入力）装置、およびその他のアイズフリー（eyes-free）のアプリケーションがある。これらの環境の各々においては、対話におけるユーザの番とコンピュータシステムの番に関するはっきりとした定義が存在している。
【０００６】
しかし、一般的に、人間の会話は、参加者間の明確で交代になされる対話に従って行われない。むしろ、会話には、確認応答、確認、一方の参加者からの質問などが含まれる一方、残りは、話し手側の情報の与え方に大きな影響を及ぼしたり、わずかな影響を及ぼしたり、または影響を及ぼさない情報を与えている。人間の話し手は、この自然な会話形式を楽しむ。同様に、電話システムは、そのような会話を行えるようにするために、全二重技術を採用している。
【０００７】
それとは対照的に、対話ベースのインターフェースは、厳格な交代モード(turn-taking mode)の操作をユーザとコンピュータシステムとの間で採用し、このことは、コンピュータシステムが処理を行い後続の動作にとりかかる前に、コンピュータシステムにユーザ対話の終了を待たせることになる。コンピュータ画面上を進むドット列のような視覚的表示等の単純なフィードバックは、ユーザの番が終わり、コンピュータシステムが応答するまでの間、コンピュータシステムが少なくとも何らかの処理を行っていることをユーザに確信させるが、コンピュータシステムがどの程度理解しているかは不明である。
【０００８】
したがって、認識と理解に基づいたコンピュータシステムを改良する必要がある。そのような改良によって、ユーザにとって一層自然な方法で使用し易い情報にアクセスするシステムまたは方法が提供されるであろう。
【０００９】
【特許文献１】欧州特許出願公開第１１９９６３０Ａ２号明細書
【非特許文献１】K. Wang, "Semantic modeling for dialog systems in a pattern recognition framework," in Proc. ASRU-2001, Trento Italy, 2001
【非特許文献２】H. Ney, S. Ortmanns, "Dynamic programming search for continuous speech recognition," IEEE Signal Processing Magazine, pp. 64-83, 1999
【非特許文献３】K. Wang, "A plan based dialog system with probabilistic inferences", in Proc. ICSLP-2000, Beijing China, 2000
【発明の開示】
【発明が解決しようとする課題】
【００１０】
オーディオキャプショニング（ａｕｄｉｏ  ｃａｐｔｉｏｎｉｎｇ）がまだ進行している間に部分的意味構文解析（ｐａｒｔｉａｌ  ｓｅｍａｎｔｉｃ  ｐａｒｓｅｓ）を動的に報告する音声入力モードを実現する方法とシステムを提示する。意味構文解析は、ユーザに即座に報告される結果により評価することができる。最終的には、従来はシステムの番に実行されるタスクが、ユーザの番の最中に実行され、その結果、会話が有する交代の特質から大幅に離脱することができるという結果が得られる。
【課題を解決するための手段】
【００１１】
一般に、本発明の一態様は、コンピュータシステムと相互作用するコンピュータ実行方法を含む。この方法は、ユーザから入力を受け取ることと、処理のため入力を捕捉すること（ｃａｐｔｕｒｉｎｇ）とを含む。その後、入力に対する認識が実行され、それと順次又は同時に、入力の第１の部分に関係する意味情報を確認し、意味オブジェクト（ｓｅｍａｎｔｉｃ  ｏｂｊｅｃｔ）を出力する。意味オブジェクトは、認識されている入力に基づく、コンピュータアプリケーションにより処理される形式のデータ（例えば、テキスト、暗号化テキスト、圧縮テキストなど）と、第１の部分に関する意味情報とを含む。上記のように、捕捉することが入力の後続部分に対し引き続いて行われている間に、認識が実行され、意味オブジェクトが出力される。この方法は、音声等の可聴音入力だけでなく、例えば、視覚的入力または手書き文字認識のための非可聴音入力のためにも実行することができる。
【００１２】
上記の方法は、コンピューティング装置に情報を処理させ前記方法を実行させる、コンピューティング装置が読み取り可能な命令を格納するコンピュータ可読媒体に実装することができる。他の実施形態では、コンピュータ可読媒体は、認識および理解を実行する言語モデルを設定する命令を格納することができる。言語モデルは、認識された入力に基づいた形式のデータを提供し、受け取った入力に関する意味情報を提供するために適応化されている。
【発明を実施するための最良の形態】
【００１３】
図１は、音声入力に基づいてデータを表現するデータ表示システムのブロック図である。システム１０は、音声インターフェースモジュール１２、音声認識および理解モジュール１４、およびデータ表現モジュール１６を含む。ユーザは、音声インターフェースモジュール１２に音声クエリの形で入力を与える。音声インターフェースモジュール１２は、ユーザから音声情報を収集し、その情報を表す信号を出力する。入力音声が音声インターフェースモジュール１２によって収集された後、音声認識および理解モジュール１４は、音声認識器(speech recognizer)を使用して音声を認識し、音声理解を実行する。本発明の一態様では、そこで、音声入力がとらえられている間に、それまでに受け取った入力の部分的意味構文解析を提供する。
【００１４】
部分的意味解析は、通常、受け取った入力に対するテキスト（または入力のテキストを表す他のデータ）と、判明した意味情報とを含み、さまざまな形をなすアプリケーションモジュール１６に提供される。例えば、一実施形態では、アプリケーションモジュール１６は、電子メールの送信、受信、および返信、会合の手配などのために使用される個人情報マネージャであり得る。このようにして、ユーザは、音声コマンドを与え、これらのタスクを実行することができる。アプリケーションモジュール１６は、対話型フィードバックを提供し、かつ／または、部分的意味構文解析情報を受け取ったときに、その部分的意味構文解析情報を処置することができる。これにより、アプリケーションモジュール１６用の高度な対話型インターフェースをユーザに提供することができる。例えば、音声専用動作モードでは、出力２０は、場合によってはアプリケーションに関係する他のタスクを実行しながら、ユーザに戻される音声メッセージ（ａｕｄｉｂｌｅ  ｓｔａｔｅｍｅｎｔｓ）を含むことができる。部分的意味構文解析または意味的オブジェクトを使用して、アプリケーションの対話ロジックを実行することができる。例えば、対話ロジックは、１つまたは複数の意味オブジェクトに基づいて、１つのオプション、または複数のオプション、またはオプションのリストをユーザに提示することができる。
【００１５】
これにより、システム１０は、部分的な発話に基いて、すなわち、ユーザの番が終わる前にすぐに結果を報告することができる。つまり、バックチャネル通信を使用して報告してシステムの番と通常関連するタスクを実行することによって、ユーザの番とシステムの番が不鮮明になる。大半の従来型の対話の研究、特に人間対人間の対話に基づいた研究においては、多くの場合、バックチャネル通信は、肯定的確認応答、否定的確認応答、または中間確認応答等の単純な信号のみを伝達する音声かん入的でない(non-intrusive)フィードバックとみなされる。しかし、出力２０が出力するフィードバックは、進行中のユーザ発話にいくらか音声かん入的になるために、多くの情報を伝達する可能性があり、このことは、ユーザにユーザの意思を明確にさせる場合もあれば、明確にさせない場合もある。しかしながら、このアプローチは、ユーザとシステム１０との間に、一層現実的な人間的対話を提供し、それは、多くの場合において、わずらわしいものとは考えられず、むしろユーザにとってより快適であり、ユーザの望みが満たされるという自信を植え付ける。
【００１６】
本発明は、音声のみの動作環境に限られるわけではなく、部分的意味構文解析またはオブジェクトの処理に基づいてその他の形式でユーザにフィードバックすることを含むことができることに留意されたい。例えば、アプリケーションモジュール１６が電子メールタスクを実行する上記のアプリケーションでは、出力２０は、ユーザから受け取った「Ｓｅｎｄ  ｅ−ｍａｉｌ  ｔｏ  Ｂｏｂ」という途切れのないコマンド内の「Ｓｅｎｄ  ｅ−ｍａｉｌ」等のフレーズを受信しただけで、電子メールモジュールを起動する等の視覚的フィードバックを備えることができ、その場合、フレーズ「ｔｏ  Ｂｏｂ」が処理された結果、アプリケーションモジュールは、データ記憶１８内のさらなる情報にアクセスし、ファーストネームが「Ｂｏｂ」である人名リストを表示する。ユーザは、リストを確認した後、単に、所望の受信者を、「Ｂｏｂ  Ｇｒｅｅｎ」として識別し、それを選択することができる。その理由は、システムが部分的発話である「Ｂｏｂ  Ｇｒｅｅｎ」に対する別の意味オブジェクトを提供し、アプリケーションにより受信され処理され次第、「Ｂｏｂ  Ｇｒｅｅｎ」が選択されることを招くからである。
【００１７】
上記のように、アプリケーションモジュール１６は、後述する本発明の態様を有益なものとする多くの形態をとることができる。制限を受けることなく、アプリケーションモジュール１６を、ユーザの発話入力を原文出力(textual output)するディクテーションモジュールとすることもできる。しかし、部分的入力または入力フレーズの意味情報を処理することによって、より一層正確なトランスクリプション(transcription)が得られる。
【００１８】
音声コマンド等のユーザ入力に関して上述したが、本発明の態様を、手書き、ＤＴＭＦ、ジェスチャー、または視覚的指示などの他の入力形態にも適用できる。
【００１９】
部分的意味構文解析またはオブジェクトの処理には様々な応用があるが、上述のシステム１０において機能することができるコンピューティング装置の概要を説明するのが有益であろう。当業者であれば、システム１０のコンポーネントは、単一のコンピュータ内に配置することも、ネットワーク接続およびプロトコルを使用して分散コンピューティング環境内に分散させることもできることを理解するであろう。
【００２０】
そこで図２を参照すると、データ管理装置（ＰＩＭ、ＰＤＡのようなもの）などのモバイル装置の形態例が３０に示されている。しかし、本発明は、後述の他のコンピューティング装置を使用して実施することもできることに注意されたい。例えば、電話および／またはデータ管理装置もまた本発明から利益を得るであろう。このような装置は、既存の携帯型個人情報管理装置および他の携帯型電子装置と比較して高い有用性を持つであろう。
【００２１】
図２に示されたデータ管理モバイル装置３０の形態例において、モバイル装置３０は、筐体３２を備え、また、スタイラスペン３３と連動させて接触感知表示画面を使用する、表示３４を含むユーザインターフェースを備える。スタイラスペン３３を使用して、指定された座標で表示３４を押すか、又はタッチをして、フィールドを選択し、選択的にカーソルの開始位置を移動し、または、さもなければ、例えばジェスチャーまたは手書きなどによりコマンド情報を与える。それとは別に、またはそれに加えて、ナビゲーションのために１つまたは複数のボタン３５を装置３０に備えることができる。さらに、回転可能なホイール、ローラなどの他の入力メカニズムを備えることもできる。しかし、本発明をこれらの形態の入力メカニズムにより限定する意図はないことに注意されたい。例えば、他の形態の入力として、コンピュータビジョンなどによる視覚的入力も考えられる。
【００２２】
次に図３を参照すると、ブロック図は、モバイル装置３０を備える機能的な構成要素を示す。中央処理装置（ＣＰＵ）５０は、ソフトウェア制御機能を実装する。ＣＰＵ５０が表示画面３４に接続されるため、制御ソフトウェアに従って生成されたテキストおよび図形アイコンは、表示画面３４に表示される。スピーカ４３は、通常、デジタルアナログコンバータ５９を介してＣＰＵ５０に結合し、可聴音出力を供給することができる。ユーザによりモバイル装置３０にダウンロードまたは入力されたデータは、ＣＰＵ５０に双方向で接続されている不揮発性読み書きランダムアクセスメモリ記憶５４に格納される。ランダムアクセスメモリ（ＲＡＭ）は、ＣＰＵ５０により実行される命令の揮発性記憶と、レジスタ値などの一時的データの記憶を行う。構成オプションおよびその他の変数の初期値は、読み取り専用メモリ（ＲＯＭ）５８に格納される。またＲＯＭ５８は、モバイル装置３０の基本機能およびその他のオペレーティングシステムのカーネル機能（例えば、ソフトウェアコンポーネントをＲＡＭ５４にロードする機能）を制御する装置のオペレーティングシステムソフトウェアを格納するために使用することもできる。
【００２３】
ＲＡＭ５４は、アプリケーションプログラムを格納するために使用されるＰＣ上のハードドライブの機能と類似した方法でコードを格納する記憶装置としても使用される。不揮発性メモリはコードを格納するために使用されるが、それとは別に、コードの実行のために使用されない揮発性メモリに格納できることに注意されたい。
【００２４】
無線信号は、ＣＰＵ５０に結合されている無線トランシーバ５２を介して、モバイル装置により送受信することができる。さらに、コンピュータ（例えば、デスクトップコンピュータ）から直接、または必要ならば有線ネットワークからデータをダウンロードするためのオプションの通信インターフェース６０を備えることもできる。したがって、インターフェース６０は、様々な形態の通信装置、例えば、赤外線リンク、モデム、ネットワークカードなどを備えることができる。
【００２５】
モバイル装置３０は、マイク２９、およびアナログデジタル（Ａ／Ｄ）コンバータ３７、およびストア５４に格納されているオプションの認識プログラム（音声、ＤＴＭＦ、手書き、ジェスチャー、またはコンピュータビジョン）を備える。例えば、モバイル装置３０のユーザからの音声情報、命令、またはコマンドに応答して、マイクロフォーン２９は、音声信号を出力し、それは、Ａ／Ｄコンバータ３７によって２値化される。音声認識プログラムは、２値化された音声信号に対して正規化および／または特徴抽出機能を実行することにより、中間音声認識結果を得ることができる。無線トランシーバ５２または通信インターフェース６０を使用することで、音声データを、後述の図６のアーキテクチャで示されているリモート認識サーバ２０４に送信することができる。認識結果は、（例えば、表示および／または音声で）表現するモバイル装置３０に返され、最終的な送信がＷｅｂサーバ２０２（図６）にされ、そこで、Ｗｅｂサーバ２０２とモバイル装置３０はクライアント／サーバ関係により動作する。
【００２６】
同様な処理を他の入力形態のために使用することができる。例えば、手書き入力を、モバイル装置３０上で前処理を行い、あるいは行わずに、２値化することができる。音声データと同様に、この形式の入力は、認識を行う認識サーバ２０４に送信され、そこで、認識結果が、装置３０および／またはＷｅｂサーバ２０２のうちの少なくとも一方に戻される。同様に、ＤＴＭＦデータ、ジェスチャーデータ、および視覚的データを、同じように処理することができる。入力形態に応じて、装置３０（および後述のその他の形態のクライアント）は、視覚的入力用のカメラなどの必要なハードウェアを備える。
【００２７】
図４は、携帯電話８０の一実施形態の平面図である。電話８０は、表示８２およびキーパッド８４を備える。他の機能を実行するためには追加回路が必要となる場合があるが、一般的に、図３のブロック図は、図４の電話に適用される。例えば、電話として動作させるために必要なトランシーバは、図３の実施形態にとって必要であろう。しかし、そのような回路は、本発明とは関係ない。
【００２８】
上述の携帯型またはモバイルコンピューティング装置に加えて、本発明は、一般的なデスクトップコンピュータなどの他の様々なコンピューティング装置とともに使用できることにも留意されたい。例えば、本発明を使用すると、身体能力に制約のあるユーザは、英数字フルキーボードなどの他の従来の入力装置が難しすぎて操作できない場合でも、コンピュータまたは他のコンピューティング装置にテキストを入力することができる。
【００２９】
本発明は、さらに、他の数多くの汎用または専用コンピューティングシステム環境または構成で動作する。本発明とともに使用するのに適していると思われるよく知られているコンピューティングシステム、環境、および／または構成の例として、通常の電話（画面なし）、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、タブレットコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置を含む分散コンピューティング環境などがあるが、それらに限定されるものではない。
【００３０】
図５に例示されている汎用コンピュータ１２０について以下で簡単に説明する。コンピュータ１２０は、この場合も、適当なコンピューティング環境の一例にすぎず、本発明の用途または機能性の範囲に関する制限を示唆する意図はない。コンピュータ１２０は、例示されているコンポーネントの１つまたは組合せに関係する依存性または要求条件があると解釈すべきではない。
【００３１】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本発明は、通信ネットワークを通じてリンクされているリモート処理装置によりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールをメモリ記憶装置などのローカルとリモートの両方のコンピュータ記憶媒体内に配置できる。以下では、図を使って、プログラムおよびモジュールにより実行されるタスクについて説明する。当業者であれば、説明および図を、コンピュータ可読媒体の形態で書くことができるプロセッサ実行可能命令として実装することができる。
【００３２】
図５を参照すると、コンピュータ１２０が備える構成要素としては、処理ユニット１４０、システムメモリ１５０、およびシステムメモリを備える様々なシステムコンポーネントを処理ユニット１４０に結合するシステムバス１４１などがあるが、それらに限定されるものではない。システムバス１４１は、メモリバスまたはメモリコントローラ、周辺機器バス、および各種バスアーキテクチャを採用するローカルバスを含む数種類のバス構造のどれでもよい。例えば、このようなアーキテクチャとしては、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとも呼ばれるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスがある。コンピュータ１２０は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１２０によってアクセスできる媒体であればどのような媒体でも使用でき、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体を含む。例えば、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納する方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または目的の情報を格納するために使用することができコンピュータ１２０によりアクセスできるその他の媒体がある。
【００３３】
通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波またはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを実現し、さらに情報配信媒体を含む。「変調データ信号」という用語は、信号内の情報を符号化する方法によりその特性のうち１つまたは複数が設定または変更された信号を意味する。例えば、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、ＦＲ、赤外線、およびその他の無線媒体などの無線媒体があるが、それらに限定されるものではない。上記のいずれの組合せもコンピュータ可読媒体の範囲に収まらなければならない。
【００３４】
システムメモリ１５０は、読み取り専用メモリ（ＲＯＭ）１５１およびランダムアクセスメモリ（ＲＡＭ）１５２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１２０内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム１５３（ＢＩＯＳ）は通常、ＲＯＭ  １５１に格納される。通常、ＲＡＭ  １５２には、処理ユニット１４０に直接アクセス可能な、かつ／または処理ユニット１４０により現在操作されているデータおよび／またはプログラムモジュールを格納する。例えば、図５は、オペレーティングシステム１５４、アプリケーションプログラム１５５、その他のプログラムモジュール１５６、およびプログラムデータ１５７を示しているが、それらに限定されるものではない。
【００３５】
コンピュータ１２０は、その他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例えば、図５は、取り外し不可能な不揮発性磁気媒体の読み書きを行うハードディスクドライブ１６１、取り外し可能な不揮発性磁気ディスク１７２の読み書きを行う磁気ディスクドライブ１７１、およびＣＤ−ＲＯＭまたはその他の光媒体などの取り外し可能な不揮発性光ディスク１７６の読み書きを行う光ディスクドライブ１７５を示している。オペレーティング環境例で使用できる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル多目的ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどがあるが、それらに限定されるものではない。ハードディスクドライブ１６１は、通常、インターフェース１６０などの取り外し不可能なメモリインターフェースを介してシステムバス１４１に接続され、磁気ディスクドライブ１７１および光ディスクドライブ１７５は、通常、インターフェース１７０などの取り外し可能なメモリインターフェースによりシステムバス１４１に接続される。
【００３６】
図５に例示されている上記のドライブおよび関連するコンピュータ記憶媒体は、コンピュータ１２０用のコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータを格納する機能を備える。例えば、図５では、ハードディスクドライブ１６１は、オペレーティングシステム１６４、アプリケーションプログラム１６５、その他のプログラムモジュール１６６、およびプログラムデータ１６７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１５４、アプリケーションプログラム１５５、その他のプログラムモジュール１５６、およびプログラムデータ１５７と同じである場合もあれば異なる場合もあることに注意されたい。オペレーティングシステム１６４、アプリケーションプログラム１６５、その他のプログラムモジュール１６６、およびプログラムデータ１６７に対しては、ここで、異なる番号を割り当てて、最低でも、それが異なるコピーであることを示している。
【００３７】
ユーザは、キーボード１８２、マイク１８３、およびマウス、トラックボール、タッチパッドなどのポインティング装置１８１などの入力装置を介してコンピュータ１２０にコマンドおよび情報を入力できる。他の入力装置（図に示されていない）としては、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力装置やその他の入力装置は、システムバスに結合されているユーザ入力インターフェース１８０を介して処理ユニット１４０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造により接続することもできる。モニタ１８４またはその他の種類の表示装置も、ビデオインターフェース１８５などのインターフェースを介してシステムバス１４１に接続される。モニタのほかに、コンピュータはさらにスピーカ１８７およびプリンタ１８６などの他の周辺出力装置も備えることができ、これらは出力周辺インターフェース１８８を介して接続することができる。
【００３８】
コンピュータ１２０は、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することも可能である。リモートコンピュータ１９４は、パーソナルコンピュータ、ハンドヘルド装置、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、コンピュータ１２０に関係する上述の要素の多くまたはすべてを含む。図５に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）１９１とワイドエリアネットワーク（ＷＡＮ）１９３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００３９】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ１２０はネットワークインターフェースまたはアダプタ１９０を介してＬＡＮ１９１に接続される。ＷＡＮネットワーキング環境で使用する場合、コンピュータ１２０は通常、モデム１９２またはインターネットなどのＷＡＮ１９３上で通信を確立するための他の手段を備える。モデム１９２は、内蔵でも外付けでもよいが、ユーザ入力インターフェース１８０またはその他の適切なメカニズムを介してシステムバス１４１に接続できる。ネットワーク環境では、コンピュータ１２０またはその一部に関して述べたプログラムモジュールは、リモートメモリ記憶装置に格納できる。例えば、図５には、リモートアプリケーションプログラム１９５がリモートコンピュータ１９４に常駐しているように示されているが、それらに限定されるものではない。図に示されているネットワーク接続は例であり、コンピュータ間に通信リンクを確立するための他の手段を使用できることは理解されるであろう。
【００４０】
図６は、Ｗｅｂベースの認識およびデータ表現のアーキテクチャ２００を示しており、これは、本発明の一環境例である。一般的に、Ｗｅｂサーバ２０２に格納されている情報は、モバイル装置３０またはコンピュータ１２０（ここでは、入力形態に基づき必要に応じて表示画面、マイク、カメラ、タッチパネルなどを備える他の形態のコンピューティング装置を表している）等のクライアント１００を通じてアクセスされるか、または情報が音声で要求されるか、キーの押下に反応して電話８０が発生するトーンを通じて要求され、さらにＷｅｂサーバ２０２からの情報が音声でのみユーザに返される電話８０を通じてアクセスされる。
【００４１】
この実施形態では、アーキテクチャ２００は、情報が音声認識を使用してクライアント１００を通じて取得されようと電話８０を通じて取得されようと、単一の認識サーバ２０４がいずれかの動作モードをサポートできる、という点で統一されている。さらに、アーキテクチャ２００は、よく知られたマークアップ言語（例えば、ＨＴＭＬ、ＸＨＴＭＬ、ｃＨＴＭＬ、ＸＭＬ、ＷＭＬなど）の拡張を使って動作する。したがって、Ｗｅｂサーバ２０２に格納されている情報を、これらのマークアップ言語に含まれているよく知られたＧＵＩメソッドを使用してアクセスすることもできる。よく知られたマークアップ言語の拡張を使用することによって、Ｗｅｂサーバ２０２上のオーサリングは比較的容易となり、現在使用されている従来のアプリケーションも、音声認識機能を備えるように容易に修正することができる。
【００４２】
一般に、クライアント１００は、Ｗｅｂサーバ２０２によって提供され、一般には２０６で示されるＨＴＭＬページ、スクリプト等を、ブラウザを使用して実行する。一例として、音声認識が必要な場合、音声データは、クライアント１００が提供することができる、音声認識時に使用する文法又は言語モデル２２０の指示とともに認識サーバ２０４に供給される。その音声データは、２値化されたオーディオ信号又は音声特徴とすることができ、そのオーディオ信号は、上述の通り、クライアント１００によって前処理されている。代替案として、音声サーバ２０４は、言語モデル２２０を備えることができる。認識サーバ２０４は、様々な形態の実装をとることができ、そのうちの１つが例示されているが、一般に、認識器２１１を備える。認識の結果は、必要であれば、または適切ならばローカルで表現するために、クライアント１００に戻される。必要ならば、テキストから音声への変換モジュール２２２を使用して、発話テキストをクライアント１００に提供することができる。認識と、グラフィカルユーザインターフェースとをつかって情報を編集した後に、クライアント１００は、必要におうじて、さらなる処理と、さらなるＨＴＭＬページ／スクリプトの受け取りをするＷｅｂサーバ２０２に、その情報を送信する。
【００４３】
図６に示されているように、クライアント１００、Ｗｅｂサーバ２０２、および認識サーバ２０４は、通常、ネットワーク２０５、すなわち、ここではインターネットなどのワイドエリアネットワークを通じて接続され、別々にアドレス指定ができる。したがって、これらの装置を物理的に互いに隣り合わせて配置する必要はない。特に、Ｗｅｂサーバ２０２は、認識サーバ２０４を備える必要はない。このようにして、Ｗｅｂサーバ２０２でのオーサリングを、作者が認識サーバ２０４の細かな仕組みを知らなくても、対象となるアプリケーションに集中させることができる。むしろ、認識サーバ２０４を、独立に設計することができ、またネットワーク２０５に接続することができるため、Ｗｅｂサーバ２０２で必要とされる変更なしで、更新および改善が可能である。Ｗｅｂサーバ２０２は、動的にクライアントサイドマークアップ(client-side markup)およびスクリプトを生成できるオーサリングメカニズムを備えることもできる。他の実施形態では、実装マシンの能力に応じてＷｅｂサーバ２０２、認識サーバ２０４、およびクライアント１００を組み合わせることができる。例えば、クライアント１００は、パーソナルコンピュータ等の汎用コンピュータを備える場合、認識サーバ２０４を備えることができる。同様に、必要におうじて、Ｗｅｂサーバ２０２および認識サーバ２０４を単一マシンに組み込むことができる。
【００４４】
電話８０を介してのＷｅｂサーバ２０２へのアクセスは、電話８０を第３者のゲートウェイ２１０に次々と接続する有線または無線電話ネットワーク２０８に、電話８０を接続することを含む。ゲートウェイ２１０は、電話８０を電話音声ブラウザ（ｔｅｌｅｐｈｏｎｙ  ｖｏｉｃｅ  ｂｒｏｗｓｅｒ）２１２に接続する。電話音声ブラウザ２１２は、電話インターフェースおよび音声ブラウザ２１６を備えるメディアサーバ２１４を含む。クライアント１００のように、電話音声ブラウザ２１２は、Ｗｅｂサーバ２０２から、ＨＴＭＬページ／スクリプトなどを受け取る。一実施形態では、そのＨＴＭＬページ／スクリプトは、クライアント１００に送られるＨＴＭＬページ／スクリプトと似た形式のものである。こうして、Ｗｅｂサーバ２０２は、クライアント１００および電話８０を別々にサポートする必要はなく、あるいは標準ＧＵＩクライアントを別々にサポートすることすら必要ない。むしろ、共通のマークアップ言語を使用することができる。さらに、クライアント１００のように、電話８０から送信された可聴音信号の音声認識が、例えばＴＣＰ／ＩＰを使用して、ネットワーク２０５を通じて、又は、専用回線２０７を通じて音声ブラウザ２１６から認識サーバ２０４に送られる。Ｗｅｂサーバ２０２、認識サーバ２０４、および電話音声ブラウザ２１２は、図５に示されている汎用デスクトップコンピュータなどの適切なコンピューティング環境で実現することができる。
【００４５】
様々な実施形態及びシステム１０で機能しているアーキテクチャについて説明したが、システム１０の様々な構成要素および機能についてさらに詳しく説明する。図７は、音声認識および理解モジュール１４のブロック図を示している。音声インターフェースモジュール１２から受け取った入力音声は、音声認識および理解モジュール１４に送られる。音声認識および理解モジュール１４は、関連する言語モデル３１０をもった認識エンジン３０６を備える。認識エンジン３０６は、言語モデル３１０を使用して、入力を形成する各フレーズを表すと考えられる表層意味構造を識別し、入力が受信されたときに部分的意味構文解析またはオブジェクトを提供する。ユーザが発話を完了するのを待ち、受け取った完全な入力を処理するシステムとは異なり、モジュール１４は、それまでに受け取ったものだけに基づいた意味オブジェクトを連続的に供給する。
【００４６】
認識エンジン３０６は、部分的発話に基づいた表層意味出力オブジェクトを少なくとも一つ供給する。一部の実施形態では、認識エンジン３０６は、各代替構造毎に複数の代替表層意味オブジェクトを提供することができる。
【００４７】
音声入力が行われる場合について図７に例示されているが、本発明は手書き認識、ジェスチャー認識、またはグラフィカルユーザインターフェース（ユーザがキーボードまたは他の入力を対話操作する）とともに使用することができる。これらの他の実施形態では、音声認識器３０６を、よく知られた適切な認識エンジンに置き換えることができる。グラフィカルユーザインターフェースについては、（言語モデルをもった）文法は、入力ボックスを使用するなどしてユーザ入力に関連付けられている。したがって、ユーザの入力は、入力方式に基づいた大きな変更なしで、一貫した方法で処理される。
【００４８】
部分的意味構文解析またはオブジェクトに基づくシステム１０による他の形式の情報フィードバックを含む上述の対話式ダイアログは、ＳＡＬＴ（Ｓｐｅｅｃｈ  Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｎｇｕａｇｅ  Ｔａｇｓ）または他の音声、手書き、および与えられたアプリケーションおよび意味オブジェクト同期復号化用の選択されたスキーマに基づき意味情報を提供することができる言語モデル構成概念をサポートするパターン認識ＡＰＩ（アプリケーションプログラムインターフェース）を使用して、実装することができる。ＳＡＬＴは、例えば、パーソナルコンピュータ、電話、タブレットＰＣ、および無線モバイル装置から情報、アプリケーション、およびＷｅｂサービスにアクセスできるようにする開発中の規格であるが、それだけでなく、これはネットワーク上で相互接続しなくてもアプリケーションインターフェースにも適用できる。ＳＬＡＴは、ＨＴＭＬ、ＸＨＴＭＬ、およびＸＭＬなどの既存のマークアップ言語を拡張したものである。ＳＡＬＴ  １．０規格は、ｈｔｔｐ：／／ｗｗｗ．ＳＡＬＴｆｏｒｕｍ．ｏｒｇからオンラインで入手できる。ＳＡＬＴは、例えば、音声サーバ２０４からユーザの入力に基づき意味情報を提供することができ、そのような情報は発話の完了後にデータ表現モジュール１６に提供されるオブジェクトを形成する。しかし、後述のように、ＳＡＬＴは部分的意味構文解析またはオブジェクトを供給するため以前には考えられていなかった方法で使用することができる。ＳＡＬＴ拡張、または他のＡＰＩの同様の拡張を使用することで、対話性の高いイベント駆動式のユーザとの相互作用がサポートされる。
【００４９】
例えば、ＳＡＬＴを使用する場合、ＳＡＬＴリッスンオブジェクト（ＳＡＬＴ  ｌｉｓｔｅｎ  ｏｂｊｅｃｔ）は、音声認識と理解の両方のタスクを実行するために使用できる。これは、設計が、音声理解を音声認識と同様に、パターン認識問題として扱う視点および定式化に従うためである。両方とも、所定の音声信号と最もよく一致すると考えられる結果の集まりから１つのパターンを見つけ出そうとするものである。音声認識については、見つけるパターンは単語列であるが、理解については、意味オブジェクトのツリーである。従来の音声認識タスクは、可能性のある単語列を組み立てて、言語モデルを使った探索プロセスを指示する。同様に、音声理解タスクは、同じ探索エンジンを導いて、意味モデルを使って適切な意味オブジェクトツリーを構成することができる。語彙を含蓄することが多い言語モデルおよび語彙エントリからフレーズセグメントを構成する規則など、意味モデルは、すべての意味オブジェクトとそれらのオブジェクトを構成する規則の辞書を含蓄する。認識結果はテキスト文字列であるが、理解結果は意味オブジェクトのツリーである。
【００５０】
Ｎグラムを拡張し、構造化された探索結果を返すことは可能であるが、最も一般的な音声理解アプリケーションは、設計者が膨大なツリーバンク注釈付き学習データ（ｔｒｅｅ−ｂａｎｋ  ａｎｎｏｔａｔｅｄ  ｔｒａｉｎｉｎｇ  ｄａｔａ）を使用しないで意味オブジェクトを構成する規則を指定することができる確率論的文脈自由文法（ＰＣＦＧ）に基づく。このような規則を指定する一方法として、それぞれのＰＣＦＧ規則を、部分的ＰＣＦＧ構文解析ツリーを意味オブジェクトツリーに変換する方法に関する探索エンジンのプロダクション命令（ｐｒｏｄｕｃｔｉｏｎ  ｄｉｒｅｃｔｉｖｅｓ）に関連付ける方法がある。Ｍｉｃｒｏｓｏｆｔ  Ｓｐｅｅｃｈ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ（ＳＡＰＩ）（本発明で使用できる音声ＡＰＩの一例でもある）形式で書かれた例を以下に示す。
【００５１】
【表１−１】
2004355629.tif 000003
【００５２】
【表１−２】
2004355629.tif 000004
【００５３】
文法セグメントには３つの規則が含まれる。第１の規則、「ｎｙｃ」という名前の前終端記号（ｐｒｅ−ｔｅｒｍｉｎａｌ）は、ニューヨーク市に対する表現のリストである。この例の＜ｏｕｔｐｕｔ＞タグは、意味オブジェクトを構成するための規則を囲んでいる。これらは、探索経路が直前にあるトークンにより表される文法ノードを抜け出た場合に呼び出される。その場合、ＸＭＬの＜ｃｉｔｙ＿ｌｏｃａｔｉｏｎ＞要素により表されている意味オブジェクトは、探索経路が「ｎｙｃ」規則を抜け出たときに作成される。さらにこの意味オブジェクトは、それぞれ市名略号、州名略号、および国名略号の３つの意味オブジェクトから成り立っている。
【００５４】
また、意味オブジェクトの構成は、例えば新しい会合の日程を組むときの動的プロセスでもある。例えば、ＮｅｗＭｅｅｔｉｎｇ意味オブジェクトは、ユーザが日付、時刻、継続時間、および出席者などの会合の属性を指定終わると生成される。テンプレートを使用することにより、他の意味オブジェクトを構成要素として、ＮｅｗＭｅｅｔｉｎｇ意味オブジェクトに貼り付けることができる。また同じ原理を、ここには示されていない他の規則に適用することもできる。例えば、発話「schedule a meeting with Li Deng and Alex Acero on January first for one hour」が行われると、以下の意味オブジェクトが生じる。
【００５５】
【表２】
2004355629.tif 000005
【００５６】
現実のアプリケーションでは、ＰＣＦＧの範囲を改良するのは困難な作業である。したがって、Ｎグラムを使用して、とりわけ、重要な意味情報を伝達しないが、通常は統語構造が様々なサイズも異なる機能的フレーズをモデル化できることが望ましい（例えば、「Ｍａｙ  Ｉ．．．」、「Ｃｏｕｌｄ  ｙｏｕ  ｓｈｏｗ  ｍｅ．．．」、「Ｐｌｅａｓｅ  ｓｈｏｗ  ｍｅ．．．」）。一実施形態では、言語モデル３１０は、ＰＣＦＧとＮグラムを結合した意味言語モデルを含む。この手法は、統一言語モデルとわずかに異なるが、これも使用できる。統一言語モデルは、単語のリストだけでなく、ＣＦＧ断片をＮグラム内の個々のトークンとしてモデル化できるという点を除き、従来のクラスのＮグラムの自然な拡張になっている。このモデルを使用する認識器３０６は、それでも、その後構文解析しなければならないテキスト文字列を出力する。したがって、統一言語モデルは、テキスト転写を補助するためある種の言語構造を組み込むように設計されている。
【００５７】
一方、意味言語モデルは、復号器または認識器を使用して、ＰＣＦＧにより通常適切にとらえられる意味構造を探索することを目指している。したがって、ＣＦＧ断片をＮグラムに埋め込む代わりに、ＰＣＦＧを使用し、注目しているＮグラムに対応する特別なＰＣＦＧ前終端記号を作成することによりＮグラムを含める。Ｍｉｃｒｏｓｏｆｔ  ＳＡＰＩ文法形式では、これは、
LCFG <dictation max="inf"/> RCFG
のように、ＸＭＬ＜ｄｉｃｔａｔｉｏｎ＞タグとともに前終端記号を使用して表すことができ、ＬＣＦＧおよびＲＣＦＧは、それぞれ、埋め込まれているＮグラムの左および右コンテキストを表す。探索プロセスは、＜ｄｉｃｔａｔｉｏｎ＞タグをトークンとして扱い、正規非終端記号を入力したかのようにＮグラムに展開する。タグの最大属性は、Ｎグラムにより消費可能な単語の最大個数を指定する。Ｎグラムの内側の単語列の確率を、バックオフＮグラム（ｂａｃｋｏｆｆ  Ｎ−ｇｒａｍ）をＰＣＦＧで補間することにより計算する、つまり、
【００５８】
【数１】
2004355629.tif 000006
【００５９】
ただし、λは、Ｎグラム補間重みであり、Ｐ（ＲＣＦＧ｜ｗｎ−１，．．．）は、Ｎグラムのバックオフ確率を使用する、つまり、ｗｎは、語彙外単語であるかのように取り扱われる。一実施形態では、項Ｐ（ｗｎ｜ＲＣＦＧ）は、最大Ｎグラム単語列サイズに達し、単語がＣＦＧ断片の対象範囲内にあるかどうかに応じて２進値のみをとる。ＰＣＦＧから引き出される単語は、高い確率を持つことが多いため、実際にＣＦＧの対象となる経路は、最大のＮグラム単語カウントが無限大に設定されているとしてもＮグラムの対をなす片方に勝つ傾向がある。機能的フレーズに加えて、埋め込まれたＮグラムを使用して、属性のようなディクテーションを持つ意味オブジェクトをモデル化することもできる。例えば、会議主題は、このタスクでは以下のようにモデル化される。
【００６０】
【表３】
2004355629.tif 000007
【００６１】
意味言語モデルに関する詳細は、（例えば、非特許文献１参照）で説明されており、その全体が参照により本明細書に組み込まれている。
【００６２】
本発明の他の態様は、ＳＡＬＴリッスンオブジェクトの新たな使用を含む。ＳＡＬＴは、関連する属性およびＤＯＭオブジェクトのプロパティ、イベント、およびメソッドとともに一組のＸＭＬ要素を備えており、これらをソースマークアップドキュメントとともに使用することで音声インターフェースをソースページに適用することができる。一般に、主要な要素は以下のとおりである。
＜ｐｒｏｍｐｔ  ．．．＞    音声合成の構成およびプロンプト再生用
＜ｌｉｓｔｅｎ  ．．．＞    音声認識器の構成、認識実行および後処理、および録音用
＜ｄｔｍｆ  ．．．＞    ＤＴＭＦの構成および制御用
＜ｓｍｅｘ  ．．．＞    プラットフォームのコンポーネントとの汎用通信用  リッスン  およびｄｔｍｆオブジェクトはさらに、文法およびバインディングコントロール（ｂｉｎｄｉｎｇ  ｃｏｎｔｒｏｌｓ）も含む。
＜ｇｒａｍｍａｒ  ．．．＞    入力文法リソースを指定する
＜ｂｉｎｄ  ．．．＞    認識結果の処理用
リッスン要素は、３つの認識モードを区別する「ｍｏｄｅ」属性を備えることができ、これにより、認識サーバ（例えば、２０４）に結果の返却方法および返却時期を指令することができる。結果を返すということは、適宜「ｏｎＲｅｃｏ」イベントを供給するか、または「ｂｉｎｄ」要素をアクティブにすることを意味する。
【００６３】
第１のモードである「ａｕｔｏｍａｔｉｃ」では、アプリケーションではなく音声プラットフォームが、認識プロセスをいつ停止するかを制御する。このモードは、電話またはハンドフリーでの利用のため高度なものとなった。認識結果が利用可能になるとすぐに、かつ／または無音状態を示す期間が経過したら直ちに、音声プラットフォームは自動的に、認識器を停止し、その結果を返し、その後、バインド要素を通じて適切なフィールドに関連付けることができる。
【００６４】
第２の動作モード「ｓｉｎｇｌｅ」では、認識結果の返却は明示的な「ｓｔｏｐ」呼び出しの制御の下に置かれる。ｓｔｏｐ呼び出しは、ユーザによる「ｐｅｎ−ｕｐ」などのイベントに対応し、このモードは、マルチモーダル環境で使用することを目的として開発され、装置を使い音声入力を行うことができるが、ユーザは一般に、例えば、スタイラスペン３３（図２）を使用してどのフィールドをいつ選択するかということの制御下にある。
【００６５】
音声認識器の第３の動作モードは、「複数モード」である。この動作モードは、「ｏｐｅｎ−ｍｉｃｒｏｐｈｏｎｅ」のため、またはディクテーションシナリオで使用される。一般に、この動作モードでは、認識結果は、明示的なｓｔｏｐ呼び出しを受け取るか、または未認識入力に関連付けられた他の期間または最大リッスン期間を超えるまで一定間隔で返される。一般に、この動作モードでは、認識されたフレーズ毎に、「ｏｎＲｅｃｏ」イベントが発行され、ｓｔｏｐ（）呼び出しを受け取るまで結果が返される。
【００６６】
しかし、この動作モードは、本発明の他の態様として、顕著な言語的マークに達するとすぐに報告できるようにすることで探索エンジンがユーザに対話性の高い機能を公開する手段を備えることができる。時間同期復号化に基づく探索アルゴリズムはよく知られており、このモードに対し直接的に使用することができる。このようなアルゴリズムの１つは、（例えば、非特許文献２参照）で説明されている。音声認識では、言語的マークは通常、単語またはフレーズ境界に対応する。したがって、ＳＡＬＴ複数モード認識は、利用可能になるとすぐに単語列仮説を動的に表示するために使用でき、ＵＩ効果は一般に、多くの商用ディクテーションソフトウェアに見られる。しかし、本発明では、複数モードは、意味オブジェクトのインスタンス化を言語的マークおよび報告として取り扱うことができる、つまり、理解された内容の関数としての何らかの応答を動的に、アプリケーションに送り返すことができる。これは、ＳＡＬＴが意味オブジェクト同期理解を実行しているかのようにアプリケーション設計者には見える。
【００６７】
この動作モードは、マルチモーダルを使用している場合と比較するとよく理解できるであろう。マルチモーダルの場合、ユーザは、例えば、話しながらスタイラスペンを持って入力フィールドを指すことによりフィールドを指示する。ユーザは、一般的なフィールドを軽くたたき、詳細な文章を発話して単一センテンスで多数のフィールドを埋めることができるが、軽くたたいて話す(tap-and-talk)インターフェースではユーザの目と手が連動するため多くの状況で適切な方式とはいえない。さらに、軽くたたいて話すインターフェースは、基本の話し言葉のプロセスのボリュームおよびプログレスバーを表示する豊富なバックチャネル通信を特色とするが、これらのフィードバックは、速度および精度に関して、話し言葉の処理の品質に対する非常に初期の手がかりにしかならない。これは、長いセンテンスだと、誤りが広い範囲に伝搬し、結局、認識および理解の結果を単に検証し訂正する労力を強いることになるため、問題をはらんでいる。使いやすさに関する研究は、長いセンテンスが、キーボードの機能強化または代替以上のものとして、音声の有用性を実証する重要な識別要因であることを示すと思われるため、十分なＵＩ経験は、音声を実行可能な様相としてうまく利用するうえで絶対的に必要である。
【００６８】
人間／コンピュータを共通目標達成の際に緊密に連携するパートナとして認識するために、意味オブジェクト同期理解は、利用可能になり次第、部分的意味構文解析またはオブジェクトを報告することによって、効力がある。一実施形態では、これは、ＳＡＬＴのリッスン要素の複数モードを使用して実現される。特に、リッスン要素については、複数モードが指定され、認識文法のすべてが、認識される入力音声に対し指定される。割り当ての結果は、リッスンオブジェクトで指定される。例えば、新たに会議を設定するために、日付、時刻、場所、件名、および会議出席者などの必要な情報を取得するＨＴＭＬ入力コードは以下の形式をとりうる。
【００６９】
【表４】
2004355629.tif 000008
【００７０】
複数の文法は、エントリーポイントに押し返して戻るＮＵＬＬ遷移をもった認識に対する並列探索空間を構成する。このモードでは、ＳＡＬＴは、文法が終了次第すぐにイベントを発生することをリッスンオブジェクトに許可する。イベントは、基礎の音声収集および認識が進行している間に、バインド命令を順次呼び出す並列プロセスを生成する。その結果、フィールドの視覚的表現をもったアプリケーションに対して音声コマンドが発せられている間に、フォーム上の関連するフィールドが埋められるという効果がユーザに向けて生成される。
【００７１】
目を使わなくて良いアプリケーションのユーザインターフェースでは、随伴する音声出力が望ましい場合がある。その場合、ＳＡＬＴプロンプトオブジェクトを使用して、即時フィードバックを与えることができる。例えば、以下のＳＡＬＴプロンプトオブジェクトを使用して、日付フィールド内の動的内容に基づき応答の同期をとることができ、以下のように追加ＳＡＬＴバインド命令により音声合成をトリガすることができる。
【００７２】
【表５】
2004355629.tif 000009
【００７３】
ユーザは、自分が、「Schedule a meeting (new meeting) at two (starting at two o'clock PM) next Tuesday (on 10/29/02) for two hours (duration: two hours)」のように、聞いたことを書き留めるだけでなく繰り返しもしている別の相手と話をしているように感じる。ここで、かっこ内のフレーズは、ユーザに返される可聴音および／または視覚的プロンプト（同期することもできる）を表す。
【００７４】
ＳＡＬＴを使用すると、設計者は、ＳＡＬＴバインド命令を使った簡単なアサイメントを超える洗練された計算を実行する特製の認識イベントハンドラを取り付けることができることに留意されたい。上の例では、日付正規化は、意味文法で実行できるが、意味文法は、高度な参照解決を容易にしない（例えば、「Schedule a meeting with Li Deng and his manager」）。この場合にそなえて、アルゴリズムを、格納データにアクセスして不定な参照を突き止める適切なイベントハンドラにアクセスできるスクリプトオブジェクトとして実装することができる。このようなアルゴリズムは、（例えば、非特許文献３参照）および（例えば、特許文献１参照）において説明されており、参照により全体が本明細書に組み込まれている。
【００７５】
リッスンオブジェクトに対して複数モード動作が存在していたが、現在の実装では、このモードは、ディクテーションシナリオ等の受け取った入力に対するテキストだけを提供することに留意されたい。しかし、本発明のこの態様では、入力を受け取っている最中の部分的結果はテキストだけでなく、そのテキストに関係する対応する意味情報を含み、さらに、出力は部分的意味構文解析またはオブジェクトを含み、これを上述したように使用して、コンピュータが、受け取った内容を適切に理解しているというさらに多くの品質フィードバックをユーザに与えることができる。部分的意味構文解析またはオブジェクトを受け取るアプリケーションの精巧さに応じて、システムは、受け取った部分的意味構文解析に基づき、確認、代替、訂正、および説明をユーザに送り返すことができる。
【００７６】
マルチモーダルアプリケーションでは、ユーザが先に話せるように複数の文法が含まれ、まだ指示されていない情報与えることができるが、理解していることをユーザに示せる度合いが高まるため複数モード動作でリッスン要素を使用するとよい場合がある。音声専用アプリケーションでは、自然な形の対話が発生するが、これに対して、視覚的表示を使用する場合、アプリケーションはユーザがそれまでに与えた内容の部分的意味構文解析にのみ基づき、ユーザが話している最中に、処理（例えばポップアップウィンドウを介して、アクションを実行する、仮の結果またはオプションを表示するなど）を開始することができる。
【００７７】
本発明は、特定の実施形態を参照しながら説明したが、当業者は本発明の精神と範囲を逸脱することなく形式と内容に変更を加えられることを理解できるであろう。
【図面の簡単な説明】
【００７８】
【図１】データ表示システムのブロック図である。
【図２】コンピューティング装置の動作環境の平面図である。
【図３】図２のコンピューティング装置のブロック図である。
【図４】電話の平面図である。
【図５】汎用コンピュータのブロック図である。
【図６】クライアント／サーバシステムのアーキテクチャのブロック図である。
【図７】音声認識および理解モジュールのブロック図である。
【符号の説明】
【００７９】
１０  システム
１２  音声インターフェースモジュール
１４  音声認識および理解モジュール
１６  データ表現モジュール
１８  データストア
２０  出力
２９  マイク
３０  データ管理モバイル装置
３２  筐体
３３  ペン
３４  表示装置
３７  アナログデジタル（Ａ／Ｄ）コンバータ
５０  中央処理装置（ＣＰＵ）
５２  無線トランシーバ
５４  不揮発性読み書きランダムアクセスメモリストア
５８  読み取り専用メモリ（ＲＯＭ）
６０  通信インターフェース
８０  電話
８２  表示装置
８４  キーパッド
１２０  コンピュータ
１４０  処理ユニット
１４１  システムバス
１５０  システムメモリ
１５１  ＲＯＭ
１５３  基本入出力システム
１５４  オペレーティングシステム
１５５  アプリケーションプログラム
１５６  その他のプログラムモジュール
１５７  プログラムデータ
１６１  ハードディスクドライブ
１６４  オペレーティングシステム
１６５  アプリケーションプログラム
１６６  その他のプログラムモジュール
１６７  プログラムデータ
１７１  磁気ディスクドライブ
１７２  取り外し可能な不揮発性磁気ディスク
１７５  光ディスクドライブ
１７６  取り外し可能な不揮発性光ディスク
１８０  ユーザ入力インターフェース
１８１  ポインティング装置
１８２  キーボード
１８３  マイク
１８４  モニタ
１８５  ビデオインターフェース
１８６  プリンタ
１８７  スピーカ
１８８  出力周辺インターフェース
１９１  ローカルエリアネットワーク（ＬＡＮ）
１９２  モデム
１９３  ワイドエリアネットワーク（ＷＡＮ）
１９４  リモートコンピュータ
２００  アーキテクチャ
２０２  Ｗｅｂサーバ
２０４  リモート認識サーバ
２０７  専用回線
２０８  有線または無線電話ネットワーク
２１０  第三者ゲートウェイ
２１１  認識器
２１２  電話音声ブラウザ
２１４  メディアサーバ
２１６  音声ブラウザ
３０６  認識エンジン
３１０  言語モデル
【図１】
2004355629.tif 000010
【図３】
2004355629.tif 000011
【図４】
2004355629.tif 000012
【図５】
2004355629.tif 000013
【図６】
2004355629.tif 000014
【図７】
2004355629.tif 000015
【図２】
2004355629.tif 000016