説明

情報検索手法による統一化されたタスク依存の言語モデルの生成

【課題】タスク独立のコーパスから言語モデルを生成するための方法(20)が提供される。
【解決手段】一実施例では、タスク依存の統一化された言語モデル(140)が生成される。統一化された言語モデル(140)には、ノンターミナルを持つ複数の文脈自由文法(144)およびそこに組み込まれた同一のノンターミナルの少なくともいくつかを持つハイブリッドNグラムモデル(142)が含まれる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言語のモデル化に関し、特に言語処理システムのための言語モデルの生成に関する。
【背景技術】
【0002】
正確な音声認識には、単にユーザが発する正確な単語を選択する音響モデル以上のものが要求される。言い換えれば、音声認識装置はいずれの単語が発声されたかを選択あるいは決定しなければならず、全ての単語について発声された可能性が同じであれば、その音声認識装置は、通常、不満足な性能しか示さないであろう。言語モデルは、その語彙の中のいずれが一連の単語である可能性があるのかを特定する方法または手段を提供し、また、一般的には種々の一連の単語である可能性についての情報を提供する。
【0003】
音声認識は、しばしばトップダウン型の言語処理であると考えられる。言語処理には、通常、2つの型、トップダウン型とボトムアップ型がある。トップダウン型言語処理では、認識するための最大の単位、例えば文からはじめ、それをより小さな単位、例えばフレーズに区分けする処理を行い、次に、さらにより小さい単位、例えば単語に区分けする。これに対し、ボトムアップ型言語処理は、単語から始まり、それからフレーズ及び/又は文を組み立てるように処理する。両方の型の言語処理とも、言語モデルとしての利点がある。
【0004】
区分けのために通常用いられる手法のひとつは、形式文法(formal grammar)を使用することである。形式文法は、アプリケーションが許容する単語のシーケンスを定義する。よく知られた文法のタイプのひとつに、「文脈自由文法(context−free grammar)」(CFG)があり、これは、文構造に基づき、または意味的に文を特定する。CFGは、発声された言語(口語)においてほとんどの構造を表現するに十分な能力を有するだけでなく、十分に制限的でもあるので、効果的なパーザ(parsers)をも持つことができる。これにもかかわらず、CFGではより深い構造を得られる一方、その文法がほとんど依然として不完全であるため、強力な口語処理には未だ不適切である。CFGベースのシステムは、ユーザが話す文章が何かを知る場合だけならばよいが、これは、そのシステムの価値や有用性を減じることとなる。実際のほとんどのアプリケーションにおいて、CFGの欠点がカバーされないため、したがって、CFGの構造化された解析手法の有利な点は、無に帰すこととなる。アプリケーション開発者にとっても、CFGは、開発に高い労働集約性を要求する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
第2の型の言語モデルは、Nグラム(N−gram)モデルである。Nグラムは大量のデータでトレーニングされるため、nワード(n−word)従属性により、多くの場合、構文上のおよび意味上の浅い構造にシームレスに適用させることができる。しかし、この手法の前提条件として、十分な量のトレーニングデータが必要となる。Nグラムモデルの問題は、多くのデータが必要とされることであり、所望のアプリケーションに対し、そのモデルを十分に特定しないかもしれない。単語ベースのNグラムモデルは、nワード従属性に制限されるため、CFGに比べると言語における、より長いコンストレイント(constraint)を含むことができない。
【0006】
(NグラムとCFGの組み合わせで構成される)統一化された言語(unified language)モデルもまた、進展した。統一化された言語モデルは、Nグラム及びCFGの言語モデル双方の弱点を克服する可能性を潜在的に持っている。しかし、ドメインを特定したアプリケーションに対して、ドメインに依存しないトレーニングコーパス(corpus)すなわち、統一化された言語モデルを含めドメインに依存しない言語モデルを改善するための明確な方法はない。
【0007】
したがって、引き続き、言語モデルを生成するための新たな方法の開発が必要となる。技術が進歩し、より多くのアプリケーションにおいて音声認識や手書き認識が提供されるため、所定のアプリケーションに対し適切な言語モデルを生成することができる効果的な方法を、アプリケーション開発者に提供しなければならない。
【課題を解決するための手段】
【0008】
タスク独立のコーパス(corpus)から、言語を生成する方法が提供される。第1の形態においては、選択されたアプリケーションのためのタスク依存の統一化された言語モデルは、タスク独立のコーパスから生成される。タスク依存の統一化された言語モデルは、Nグラムモデルにおける組み込み型文脈自由文法のノンターミナルトークンを含む。この方法には、アプリケーションの意味上または構文上の概念を表すノンターミナルトークンを備える複数の文脈自由文法を取得する処理が含まれる。各々の文脈自由文法は、意味上または構文上の概念を形成するため、タスク独立のコーパスにおいて表された単語またはターミナルを含む。意味上又は構文上の概念及びフレーズの各々のワードオカレンスを特定するために、複数の文脈自由文法をもつタスク独立のコーパスが分析される。各々の特定されたワードオカレンスは、対応するノンターミナルトークンに置き換えられる。Nグラムモデルは、ノンターミナルトークンをもって組み立てられる。意味上又は構文上同一の概念を表す同一のノンターミナルの少なくともいくつかに対して、第2の複数の文脈自由文法が得られる。しかし、選択されたアプリケーションでは、第2の複数の文脈自由文法の各々を用いることがより適切である。
【0009】
第2の形態は、タスク独立のコーパスから選択されたアプリケーションのためのタスク依存の統一化された言語モデルを生成するための方法である。タスク依存の統一化された言語モデルには、Nグラムモデルにおける組み込み型文脈自由文法のノンターミナルトークンを含む。この方法には、タスク依存の意味上又は構文上の概念を表すノンターミナルトークンを持つ文脈自由文法のセット及び所望のタスク依存の意味上又は構文上の概念のひとつと、誤りを許容するフレーズのためのノンターミナルトークンを持つ少なくともひとつの文脈自由文法とを有する複数の文脈自由文法を取得する処理が含まれる。複数の文脈自由文法を持つタスク独立のコーパスは分析され、ワードオカレンスが意味上又は構文上の概念及びフレーズの各々に対し特定される。各々の特定されたワードオカレンスは、対応するノンターミナルトークンに置き換えられる。Nグラムモデルは、次いでノンターミナルトークンをもって組み立てられる。
【0010】
第3の形態は、タスク依存のコーパスから選択されたアプリケーションのための言語モデルを生成するための方法である。この方法には、選択されたアプリケーションの意味上又は構文上の概念を表すノンターミナルトークンを備える複数の文脈自由文保を取得する処理が含まれる。単語フレーズは、複数の文脈自由文法から生成される。文脈自由文法が用いられて、単語フレーズの少なくとも一つから情報検索クエリが定式化される。このタスク独立のコーパスは、定式化されたクエリに基づき照会され、タスク独立のコーパスにおけるテキストはそのクエリに基づき特定される。特定されたテキストを用いて言語モデルが構築される。
【0011】
第4の形態は、タスク独立のコーパスから、選択されたアプリケーションのための言語モデルを生成するための方法である。この方法には、選択されたアプリケーションの意味上又は構文上の概念を表しているノンターミナルトークンを備える複数の文脈自由文法を取得する処理が含まれる。単語フレーズは、複数の文脈自由文法から生成される。第1と第2のNグラム言語モデルは、それぞれ単語フレーズとタスク独立のコーパスから構築される。第1のNグラム言語モデルと第2のNグラム言語モデルは、組み合わされ、第3のNグラム言語モデルを形成する。
【0012】
第5の形態は、あるコーパスから、選択されたアプリケーションのための統一化された言語モデルを生成するための方法である。この方法には、選択されたアプリケーションの意味上又は構文上の概念を表しているノンターミナルトークンを備える複数の文脈自由文法を取得する処理が含まれる。単語の言語モデルは、そのコーパスから構築される。文脈自由文法の少なくともいくつかが終了する確率は、単語の言語モデルから同一のターミナルを得るための対応する確率の関数として正規化され、割り当てられる。
【図面の簡単な説明】
【0013】
【図1】言語処理システムのブロック図である。
【図2】例示のコンピュータ環境のブロック図である。
【図3】例示の音声認識システムのブロック図である。
【図4】統一化された言語モデルを模式的に示す図である。
【図5】本発明の異なる形態についてのフローチャートである。
【図6】本発明の異なる形態についてのフローチャートである。
【図7】本発明の異なる形態についてのフローチャートである。
【図8】本発明の異なる形態についてのフローチャートである。
【図9】本発明の他の形態のブロック図である。
【発明を実施するための形態】
【0014】
図1は、言語入力12を受信して、処理し、出力14を得る言語処理システム10を一般的に示したものである。例えば、言語処理システム10は、言語入力12として、ユーザが発声した又は録音した言葉を受信する音声認識システム又はモジュールのような形態で実施することができる。言語処理システム10では、口語を処理し、出力として、通常は、認識された単語がテキストの形態で得られる。
【0015】
処理中、音声認識システム又はモジュール10は、言語モデル16にアクセスして、どの言葉が発声されたかを決定することができる。言語モデル16は、例えば英語のような、特定の言語を符号化する。例示の実施例では、言語モデル16は、ノンターミナルで意味上又は構文上の概念を指定する文脈自由文法を備えたNグラム言語モデル、又は統一化された言語モデルおよび組み込まれたノンターミナルを有しているハイブリッドNグラムモデルとすることができる。本発明を広範に示した形態は、入手がしばしば困難であるタスク依存のコーパスからよりも、むしろ、数個が既に準備されているタスク独立のコーパスから言語モデル16を生成又は構築する方法である。
【0016】
上述した音声認識システムに加え、他の言語処理システムにおいても言語モデル16を使用することができることが、本技術分野の当業者には理解されるであろう。例えば、上述のタイプの言語処理システムは、手書き認識、光学式文字認識(OCR)、スペルチェッカー、翻訳、標準PCキーボードを用いた中国文字又は日本文字の入力またはテレフォンキーボードを用いた英単語の入力においても使用することができる。音声認識を特に参照して口述するが、本発明は、言語処理システムのこれらの及び他の形式で、人工言語や自然言語のモデルを構築する際に有用である。
【0017】
本発明の詳細を説明する前に、実行環境を概観することが有用であろう。図2およびこれに関連した説明で、本発明を実施可能な好都合のコンピュータ環境について簡単に、一般的な説明を行う。必ずしも必要とはされないが、本発明は少なくとも一部では、例えばプログラムモジュールのようなパーソナルコンピュータで実行されるような、コンピュータ実行可能な命令の一般的コンテクストにおいて記述されるであろう。一般的に、プログラムモジュールは、ルーチンプログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、特定のタスクを実行したり、又は特定の抽象データタイプを実装する。プログラム及びモジュールによって実行されるタスクについては、ブロック図とフローチャートを用いて後述する。本技術分野の当業者は、プロセッサ実行可能な命令を、記述、ブロック図およびフローチャートから実現することができ、コンピュータ読み取り可能な任意の形式で記述することができるであろう。加えて、本発明はハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースあるいはプログラマブルなコンシューマ向け機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステムの構成で実施することができることが当業者には理解されるであろう。本発明はまた、分散コンピューティング環境でも実施することができ、そこでは、タスクは、通信ネットワークを介して接続された遠隔処理装置により実行される。分散コンピューティング環境では、プログラムモジュールは、ローカル及びリモートの双方のメモリ格納装置に置くことができる。図2に関連して、本発明を実施するための例示のシステムは、従来のパーソナルコンピュータ50の形態の汎用コンピューティングデバイスを含む。これは、プロセッシングユニット51、システムメモリ52及びプロセッシングユニット51とシステムメモリとの連結を含む種々のシステムコンポーネントを連結するシステムバス53を有する。システムバス53は、任意の種々のバス構造を用いたメモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含む任意の数タイプのバス構造とすることができる。このシステムメモリは、読取専用メモリ(ROM)54およびランダムアクセスメモリ(RAM)55を含む。基本入出力システム56(BIOS)はROM54に格納され、例えばスタートアップ時にパーソナルコンピュータ50内の部品間の情報転送を補助する基本ルーチンを含む。パーソナルコンピュータ50は、ハードディスク(図示せず)との読み取り、書き込みのためのハードディスクドライブ57、取外し可能な磁気ディスク59との読み取りまたは書き込みのための磁気ディスクドライブ58及びCD ROMその他光媒体のような取外し可能な光ディスクの読み取りまたは書き込みのための光ディスクドライブ60をさらに含む。ハードディスクドライブ57、磁気ディスクドライブ58および光ディスクドライブ60は、それぞれハードディスクドライブインタフェース62、磁気ディスクドライブインタフェース63および光ディスクドライブインタフェース64によってシステムバス53に接続されている。駆動装置および関連するコンピュータ読み取り可能な媒体により、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、その他パーソナルコンピュータ50のためのデータの不揮発性記憶装置を提供する。
【0018】
例示の環境ではハードディスク、取外し可能な磁気ディスク59および取外し可能な光ディスク61が利用されているが、コンピュータによりアクセスするデータを記憶することができる他の種類のコンピュータ読み取り可能な媒体もまた、例示の動作環境で使用可能であることが当業者に理解されるであろう。ここで、コンピュータ読み取り可能な媒体とは、例えば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ(bernoulli)カートリッジ、ランダムアクセスメモリ(RAMs)、読取専用メモリ(ROM)その他である。
【0019】
複数のプログラムモジュールは、オペレーティングシステム65、1つまたは2つ以上のアプリケーションモジュール66、その他のプログラムモジュール67およびプログラムデータ68を含み、ハードディスク、磁気ディスク59、光ディスク61、ROM54またはRAM55上に記憶される。ユーザは、入力デバイス、例えばキーボード70、手書きタブレット71、ポインティングデバイス72およびマイクロホン92を介して、コマンドと情報をパーソナルコンピュータ50に入力することができる。他の入力デバイス(図示せず)には、ジョイスティック、ゲームパッド、サテライトディッシュ(satellite dish)、スキャナその他が含まれる。以上の入力デバイスおよびその他の入力デバイスは、システムバス53に連結しているシリアルポートインタフェース76を介して、プロセッシングユニット51に接続されることが多いが、他のインタフェース、例えば、サウンドカード、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)に接続することもできる。モニタ77またはその他のタイプの表示デバイスもまた、ビデオアダプタ78といったインタフェースを介してシステムバス53に接続される。モニタ77に加えて、パーソナルコンピュータは、通常その他の周辺出力デバイス、例えばスピーカ83およびプリンタ(図示せず)を含む。
【0020】
パーソナルコンピュータ50は、リモートコンピュータ79のような1つまたは2つ以上のリモートコンピュータとの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ79は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア(peer)デバイスまたはその他のネットワークノードとすることが可能であり、図2にはメモリ記憶デバイス80のみ示されているが、パーソナルコンピュータ50に関連する上述の要素の多くまたは全部を、通常、含む。図2に示された論理接続は、ローカルエリアネットワーク(LAN)81、および広域ネットワーク(WAN)を含む。このようなネットワーク環境はオフィスではありふれたものであり、例えば企業内(enterprise−wide)コンピュータネットワークであるイントラネットおよびインターネットである。
【0021】
LANネットワーク環境で用いられる場合、パーソナルコンピュータ50は、ネットワークインタフェースまたはアダプタ83を介して、ローカルエリアネットワーク81に接続される。WANネットワーク環境で用いられる場合、パーソナルコンピュータ50は、通常、インターネットのような広域ネットワーク82にわたって通信を行うためのモデム84またはその他の方法を含む。モデム84は、内部または外部に置くことができ、シリアルポート76を介してシステムバス53に接続される。プログラムモジュールは、パーソナルコンピュータ50に関連して、あるいはその一部として描かれたが、ネットワーク環境においては、リモートのメモリ記憶装置に記憶することができる。示されたネットワーク接続は例示であり、その他のコンピュータ間の通信リンクを図る方法を使用することができるということが当業者に理解されるであろう。
【0022】
図3は、音声認識システム100の例示の実施形態を示す。音声認識システム100には、マイクロホン92、アナログデジタル(A/D)変換器、トレーニングモジュール105、特徴抽出モジュール106、語彙記憶モジュール110、セノン(senon)ツリーを含む音響モデル112、ツリーサーチエンジン114および言語モデル16が含まれる。全体のシステム100あるいは音声認識システム100の一部は、図2に示す環境において実行することができる点が留意されるべきである。例えば、マイクロホン92は、入力デバイスとして、適切なインタフェースおよびA/Dコンバータ104を介して、コンピュータ50に接続できるのが望ましい。トレーニングモジュール105および特徴抽出モジュール106はコンピュータ50内のハードウェアとするか、または図2に開示された任意の情報記憶装置に記憶され、プロセシングユニット51またはその他の適合したプロセッサからアクセス可能なソフトウェアモジュールのいずれかとすることができる。加えて、語彙記憶モジュール110、音響モデル112および言語モデル16もまた、図2に示される、いずれかのメモリデバイスに記憶されるのが望ましい。さらに、ツリーサーチエンジン114は、(1つまたは2つ以上のプロセッサを含む)プロセッシングユニット51内で実行されるか、または専用の音声認識プロセッサにより実行され、パーソナルコンピュータが利用することもできる。
【0023】
図示された実施形態においては、音声認識中に、ユーザがマイクロホン92に対して発生した音声は、可聴音声信号の形式でシステム100にインプットされる。マイクロホン92は、可聴音声信号をアナログ電気信号に変換し、A/Dコンバータ104に送られる。A/Dコンバータ104は、アナログ音声信号をデジタル信号のシーケンスに変換し、特徴抽出モジュール106に送られる。ある実施形態では、特徴抽出モジュール106は、従来のアレイプロセッサであり、デジタル信号に関しスペクトル分析を実行し、周波数スペクトルの各周波数域に対する出力値を計算する。この信号は、ある例示の実施形態では、およそ16kHzのサンプルレートでA/Dコンバータ104により、特徴抽出モジュール106に与えられる。
【0024】
特徴抽出モジュール106は、A/Dコンバータ104から受け取ったデジタル信号を、複数のデジタル信号を含むフレームに分割する。各フレームはおよそ10msの長さである。次に、このフレームは、特徴抽出モジュール106によって、複数の周波数帯に対するスペクトル特性を反映した特徴ベクトルに符号化される。ディスクリートで半連続な隠れマルコフモデリングの場合、特徴抽出モジュール106はまた、ベクトルの量子化手法とトレーニングデータから導かれたコード表を用いて、特徴ベクトルを1つまたは2つ以上のコードのワードに符号化する。したがって、特徴抽出モジュール106は、発声された音声の各々に対する特徴ベクトル(またはコードのワード)をその出力として与える。特徴出力モジュール106は、ある特徴ベクトル(またはコードのワード)のレートまたは概ね全て10msのレートで、特徴ベクトル(またはコードのワード)を送る。
【0025】
出力である確率配分(probability distributions)は、分析されているそのフレームの特徴ベクトル(またはコードのワード)を用いて、隠れマルコフモデルに対して計算される。これらの確率配分は、その後ビタビ(Viterbi)アルゴリズム又はこれに類似の処理手法を実行する際用いられる。
【0026】
特徴抽出モジュール106からコードのワードを受信する際、ツリーサーチエンジン114は、音響モデル112に記憶された情報にアクセスする。モデル112は、音響モデル、例えば音声認識システム100で検出されるための音声ユニットを表現している隠れマルコフモデルを格納する。一実施例において、音響モデル112には、隠れマルコフモデルにおける各マルコフ状態のセノンツリーが含まれる。隠れマルコフモデルは、例示の一実施例においては、音素を表す。音響モデル112におけるセノンに基づき、ツリーサーチエンジン114は、特徴抽出モジュール106から受信した特徴ベクトル(またはコードのワード)によって表された最も確実な音素、したがってシステムがユーザか受け取った音声を代表的に表現したものを決定する。
【0027】
ツリーサーチエンジン114は、モジュール110に格納された語彙にもアクセスする。音響モデル112へのアクセスに基づいてツリーサーチエンジン114が受信した情報は、語彙格納モジュール110のサーチの際用いられ、特徴抽出モデル106から受信したコードのワードまたは特徴ベクトルを最も確実に表す単語を決定する。また、サーチエンジン114は、言語モデル16にもアクセスする。言語モデル16は、統一化された言語モデルあるいは一単語のNグラムまたは文脈自由文法であり、入力された音声によって表された、最も確実な単語を特定する際使用される。最も確実な単語はテキスト出力で得られる。
【0028】
音声認識システム100において、HMMモデリングおよびセノンツリーが用いられる場合について述べたが、これはほんの一実施例であることが理解されるはずである。音声認識システム100は多くの形態をとることができ、それらが必要とされるのは、言語モデル16を用いること、およびユーザが発声したテキストを出力として提供することだけであることが当業者には理解されるであろう。
【0029】
統計的なNグラム言語モデルによって、ある単語までの所与の単語シーケンス(すなわち、所与の単語履歴H)をもつ単語についての確率が計算されることがよく知られている。Nグラム言語モデルでは、次の単語の確率に影響を与えるものとして、履歴Hにおいては(N−1)個前の単語までしか考慮しない。例えば、バイグラム(すなわち2−グラム)言語モデルでは、次の単語に影響するものとしては、その直前の単語を考慮する。したがって、Nグラム言語モデルにおいては、単語が見出される確率は以下のように表される。
【0030】
【数1】

【0031】
ここで、wは対象とする単語:
w1は、このシーケンス中において単語wのn−1個前に位置する単語;
w2は、単語wのn−2個前に位置する単語;
w(n−1)は、単語wの1個前に位置する単語;
また、単語シーケンスの確率は、その履歴を与えられた各単語の確率の乗法演算に基づいて定められる。したがって、単語シーケンス(w1・・wm)の確率は、以下のように表される。
【0032】
【数2】

【0033】
Nグラムモデルは、原文のままのトレーニングデータのコーパス(フレーズ、文、文章の一部分、段落などの収集物)にNグラムアルゴリズムを適用することによって得られる。Nグラムアルゴリズムは、例えば、カッツの手法(Katz’s technique)のようによく知られた統計手法を使用することもできるし、またバイノミアル ポステリア ディストリビューション バックオフ テクニック(binomial posterior distribution backoff technique)を使用することもできる。これらの手法を用いて、アルゴリズムによって、ある単語w(n)が単語w1、w2・・、w(n−1)の次に来る確率が計算される。この確率の値は、集合してNグラム言語モデルを形成する。標準的統計的なNグラムモデルを構築するために、本発明の後述のいくつかの実施形態を利用することができる。言語モデルはまた、文脈自由文法を備えることが、本技術分野でもよく知られている。文脈自由文法では、ルールベースモデルが提供され文構造や口語の意味上または構文上の概念をキャプチャーすることができる。例えば、例示の目的で、会議の予定を組みまたは電子メールを送信することに関するソフトウェアアプリケーションまたはタスクのためのより多くの文脈自由文法のうちの文脈自由文法のセットの1つは、
【0034】
【表1】

【0035】
を備えることができる。
【0036】
この例では、“< >”は、意味上または構文上の概念を区分けするためのノンターミナルを示し、各ノンターミナルはターミナル(例えば、単語またはフレーズ)および、いくつかの例では階層構造におけるノンターミナルトークンを用いて定義される。
【0037】
この種の文法では、正式な文構造や言語学の錦密な知識は要求されず、むしろ、特定のアプリケーションまたはタスクではどのような単語、フレーズ、文または文章の一部分が用いられるかという知識が要求される。
【0038】
統一化された言語モデルもまた、本技術分野ではよく知られている。図4を参照すると、統一化された言語モデル140には、Nグラム言語モデル142と複数の文脈自由文法144との組み合わせが含まれる。さらに、Nグラム言語モデル142には、組み込まれた複数の文脈自由文法144の同一のノンターミナルのうちの少なくといくつかが含まれので、Nグラム言語モデル142は、単語を予測することに加え、ノンターミナルもまた予測することができる。一般的に、ノンターミナルについての確率は、以下に表すことができる。
【0039】
【数3】

【0040】
ここで、(h1,h2, ... hn)は先行する単語またはノンターミナルとすることができる。基本的に、統一化された言語モデル140のNグラム言語モデル142(ハイブリッドNグラムモデルとしても知られている)には、単語と少なくともいくつかのノンターミナルを有するオーグメント(augment)された語彙が含まれる。
【0041】
使用にあたって、音声認識システムまたはモジュール100は、言語モデル16(本実施形態では、統一化された言語モデル140)にアクセスし、どの単語が話されたかを決定するであろう。Nグラム言語モデル142は、最初に単語とノンターミナルを予測するために用いられる。ノンターミナルが予測されると、複数の文脈自由文法144が用いられ、ノンターミナルの関数としてターミナルが予測される。しかし、特定の方法で統一化された言語モデル140が使用されるということは、本発明では重要なことではないことが理解されるはずである。
【0042】
発明の背景で述べたように、アプリケーション開発者は、選択されたアプリケーションを適正な言語モデル16が生成することを可能する効率的な方法を与えられるはずである。あるアプリケーションにおいては、標準的なNグラム言語モデルは有効に働き、このモデルを開発する際の改良は有益であろう。一方その他のアプリケーションでは、統一化された言語モデル140が最も有効に働き、そのため、このようなモデルを構築する際の改良もまた有益であろう。
【0043】
言語処理のために異なるアプリケーションが開発されるなら、タスク依存(ドメイン依存)の言語モデルは、その具体性が高くなることから、より大きな汎用的言語モデルに比べより正確な言語モデルを創作することができるため、より適切なものとなることができる。しかし、タスク依存の言語モデルは、容易に汎用的言語モデルを生成することができない。Nグラム言語モデルのような汎用的言語モデルを生成するために、トレーニングデータのタスク独立のコーパスを用いて、上述のようにNグラムアルゴリズムに適用することができる。タスク独立のコーパスは既に準備されており、雑誌や新聞などの編集を備えて、ほんの少し命名することができる。タスク独立のコーパスは、いずれかのアプリケーション向けにはなっておらず、というよりむしろある言語において単語がどのように用いられているかについての多くの例示を与えてくれる。一方、タスク依存のコーパスは、通常、利用可能ではない。コーパスは苦労して収集しなければならず、しかも、それでも完全ではないかもしれない。
【0044】
本発明を広範に示す実施形態には、タスク独立のコーパスから選択されたアプリケーションのためのタスクまたはドメイン依存の統一化された言語モデルを生成するための方法が含まれる。タスク依存の統一化された言語モデルには、Nグラム言語モデルにおける組み込み型文脈自由文法のノンターミナルトークンが含まれる。以上検討したように、タスク独立のコーパスは、文やフレーズなどを編集したものであり、いずれかの特定のアプリケーション向けのもではなく、むしろ一般的に非常に多様な例を通して、ある言語で単語がどのようにともされるかを示している。後述の種々の手法が開発され、タスク依存のアプリケーションに適した言語モデルを生成するためのタスク独立のコーパスが用いられている。
【0045】
図5は、言語モデルを生成しまたは構築するための第1のメソッド160を示している。メソッド160は、意味上または構文上の概念を表現するノンターミナルトークンを備える複数の文脈自由文法を取得するためのステップ162を含む。ここで、意味上または構文上の概念には、種々のコマンド、オブジェクト、動作などに特定の単語が使われることを表現する単語または単語フレーズが含まれる。例えば、タスク独立のコーパスには、固有名を使用する方法についての種々の例証が含まれる。例えば、タスク独立のコーパスは、文:「ビル クリントンは会議に出席した」および「ジョン スミスは会議でランチに行った」などを含む。タスク独立のコーパスにおいて意味上または構文上の概念を形成するために用いられる単語は、タスク依存のアプリケーションのために用いられるものではないかもしれないが、タスク独立のコーパスは、意味上または構文上の概念のためのコンテクストを明らかにする使用に適した例を与える。ステップ162は、タスク独立のコーパスにおける意味上または構文上の概念を表すためのノンターミナルトークンをもつ文脈自由文法を取得することを表し、ターミナルを持つノンターミナルトークンは、タスク独立のコーパス中で表される。例として、上記の例の固有名を用いると、CFGは以下のようにすることができる。
【0046】
【表2】

【0047】
通常、種々の意味上または構文上の概念を表現するノンターミナルトークンを備えた複数の文脈自由文法が用いられる。例えば、その他の意味上または構文上の概念としては、少し命名すると、地理上の場所、地域、タイトル、日付、時間、通貨量、パーセントの量がある。しかし、これらの意味上または構文上の概念は単なる例示に過ぎず、本発明を実施するために必要とされることもないし、このリストが、所望のアプリケーションに極めて依存する意味上または構文上の概念の全てのタイプを尽くしているというわけでもない。
【0048】
ステップ164においては、タスク独立のコーパスは、意味上または構文上の概念のタスク独立の各コーパスにおいてワードオカレンスを特定するために、ステップ162で得られた複数の文脈自由文法によって分析される。
【0049】
ステップ166において、特定されたワードオカレンスの各々は、対応するノンターミナルトークンと置き換えられる。Nグラムモデルは、次いでNグラムアルゴリズムを用いてステップ168において構築され、Nグラムモデルにはノンターミナルトークンが組み込まれている。
【0050】
ステップ170において、第2の複数の文脈自由文法は、選択されたアプリケーションにあわせて取得される。特に、第2の複数の文脈自由文法には、ステップ162の同一の意味上または構文上の概念を表すノンターミナルのうちの少なくともいくつかが含まれる。しかし、第2の複数の文脈自由文法の各々は、選択されたアプリケーションにより適合する。上述の例示の固有名に戻って参照すると、第2の複数の文脈自由文法はCFGを含むであろう。:
【0051】
【表3】

【0052】
メソッド160は、コンピュータ50で実施され、文脈自由文法の各々およびタスク独立のコーパスはローカルまたはリモートの記憶デバイスのいずれかに記憶することができる。ノンターミナルトークンをもつNグラムモデルおよびタスク依存の意味上または構文上の概念を表すノンターミナルトークンをもつ第2の複数の文脈自由文法は、音声認識部によってアクセスされるコンピュータ読み取り可能な媒体に記憶される。
【0053】
図6は、タスク独立のコーパスから選択されたアプリケーションに対する統一化された言語モデルを生成するためのメソッド180を示しており、コーパスには、異なるコンテクストである可能性のある大量のフレーズが含まれる。タスク依存のアプリケーションのために文脈自由文法によってタスク独立の言語使用を簡易に分析すると、エラーが発生する可能性があり、Nグラムアルゴリズムのアプリケーションに関するNグラムモデルまで広がるであろう。分析中のエラーの発生を抑えるために、本発明の本実施形態では、所望のタスク依存の意味上または構文上の概念の一つに対して誤りを許容する(that can be mistaken)フレーズ(単語または複数の単語)のためのノンターミナルトークンを持つ少なくとも一つの文脈自由文法を用いる。特に、ステップ182においては、複数の文脈自由文法が得られる。複数の文脈自由文法には、タスク依存の意味上または構文上の概念(すなわち、選択されたアプリケーションに直接、関連する意味上または構文上の概念)を表すノンターミナルトークンを有する文脈自由文法のセット、および所望のタスク依存の意味上または構文上の概念の一つに対し誤りを許容するフレーズのためのノンターミナルトークンを有する少なくとも一の文脈自由文法が含まれる。例えば、タスク依存のアプリケーションは、Nグラムモデルにおける意味上の概念として週のうちの曜日をモデリングすることが要求されるかもしれない。以下の形態の文脈自由文法が、タスク独立のコーパスの分析(パージング)中使用することができる。
【0054】
【表4】

【0055】
しかし、タスク独立のコーパスには、「ジョー フライデイ」と呼ばれる人への参照が含まれるかもしれない。この例で「フライデイ」を姓とし、かつ曜日と分析されるというNグラムモデルにおいてエラーを招くであろう事態を避けるため、複数の文脈自由文法は以下の形態
【0056】
【表5】

【0057】
の文脈自由文法を含むことができる。
【0058】
この方法では、週のうちの曜日というインスタンスは、「フライデイ」が個別の姓である場合のインスタンスから区別されて特定されるであろう。
【0059】
ステップ184は、複数の文脈自由文法によってタスク独立のコーパスを分析し、各々の意味上または構文上の概念に対し、ワードオカレンスを特定することを示している。目的のアプリケーションに関する概念を表すノンターミナルに対し特定されたワードオカレンスの各々は、ステップ186において、対応する文脈自由文法によって定められた対応するノンターミナルトークンに置き換えられる。換言すれば、分析中のエラー(例えば、上記の例では<Person With Last Name Friday>)を回避するため導入された異質なノンターミナルで特定された単語シーケンスは対応するノンターミナルとは置き換えられない。Nグラムモデルは、ステップ188に示すように組み込まれたノンターミナルトークンをもって、構築することができる。ステップ190は、ステップ170に類似しており、選択されたアプリケーションに適した文脈自由文法の第2のセットを取得することを含む。
【0060】
言語処理、例えば音声認識中に使用された場合、ノンターミナルトークンをもつNグラムモデルおよびタスク依存のプリケーションに関連した複数の文脈自由文法は音声認識モジュール100がアクセスすることができるコンピュータ読み取り可能な媒体上に格納される。しかし、以上の文脈自由文法は、タスク独立のコーパスを正式に分析するためにのみ使用されることから、所望のタスク依存の意味上または構文上の概念の一つに対し誤る可能性のあるフレーズに関連した文脈自由文法を含む必要はない。これらの文法に関連したフレーズが、選択されたアプリケーションにおいて話されることは普通ない。したがって、複数の文脈自由文法の範囲またはサイズは、音声認識中ではより小さくなり、これに対応して、コンピュータ50で必要とされる記憶空間はタスク独立のコーパスを分析するために使用されるよりも小さくなる。
【0061】
一実施形態では、Nグラムモデルを構築するステップ188には、所望であるタスク依存の意味上または構文上の概念の一つについて誤りを許容する、少なくともいくつかの関連するテキストをノンターミナルトークンのためのタスク独立のコーパスから除去することが含まれる。この方法では、タスク独立のコーパスのサイズをパージングされる前に縮小させ、メソッド180がより早く実行することができるようにする。
【0062】
メソッド180には、所望であるタスク依存の意味上または構文上の概念の一つについてなされたフレーズ(単語または複数の単語)のための誤りを確認するため、パージングされたタスク独立のコーパスまたは結果得られたNグラムモデルを検査する追加のステップが含まれることにも留意すべきである。次いで、正式な文脈自由文法が決定され、ステップ182における複数の文脈自由文法に含まれる。パージングされたタスク独立のコーパスまたはNグラムモデルを再検査するために必要なものとして、184から188までのステップを実施し、誤りが訂正されたか否かを確かめることができる。必要であれば誤りが訂正され、適切なNグラムモデルが得られるまで、このインタラクティブなプロセスを繰り返すことができる。
【0063】
上記で検討したように、タスク独立のコーパスは汎用的なコーパスであり、事実、ほとんどのコーパスは、開発者が注目するタスクやアプリケーションには無関係であると思われる。それにもかかわらず、タスク独立のコーパスには、タスクまたはアプリケーションに関連するテキストが含まれるかもしれない。一般的に、本発明の他の形態には、情報検索システムにおいてクエリとして使用することができるフレーズ、文章または文章の一部分を形成するため、タスク依存の文脈自由文法を用いることが含まれる。情報検索システムは、タスク独立のコーパスを調べ、このクエリに類似する部分を特定する。タスク独立のコーパスのうちの特定されたテキストは、選択されたタスクまたはアプリケーションにより密接に関連する;したがって、特定されたテキストから導き出された言語モデルは、完全なタスク独立のコーパスに基づいた言語モデルよりも明確でありえる。加えて、たとえ明確なタスクまたはアプリケーションを知るものが文脈自由文法を記述しても、そのタスク又はアプリケーションために使用することができる種々の単語シーケンスの全ては知らないかもしれない。この手法は、タスク独立のコーパスの範囲を限定するが、タスクを特定した文章やフレーズなどのさらに多くの例を特定することができる。
【0064】
図7は、上で検討した仕方でタスク独立のコーパスから言語モデルを生成するための方法200を示している。ステップ202には、選択されたアプリケーションの意味上または構文上の概念を表しているノンターミナルトークンを備えた複数の文脈自由文法を取得することが含まれる。上述のように、普通、文脈自由文法は、意味上または構文上の概念の各々に対し選択されたアプリケーションの中では、どんなフレーズが使用されるかという知識を少なくともいくつかは持っている開発者により記述されるが、このようなフレーズについての知識量は申し分ないものではない。ステップ204において、単語フレーズは複数の文脈自由文法から生成される。単語フレーズには、ノンターミナルトークンが複数の単語を含む、関連する文脈自由文法によって定められた種々の組み合わせまたは置き換えのいくつかまたは全部が含まれる。
【0065】
ステップ206において、少なくとも一つのクエリが、生成された単語フレーズのうちの少なくとも一つを用いて、情報検索システムのために公式化される。このクエリは、TF−IDFベクトルを使用する統計的「単語の集合」(“bag of words”)手法を用いて生成することができる。クエリとタスク独立のコーパスのセグメントとの類似性は、コサインシミラリティメジャー(cosine similarity measure)を用いて、計算することができる。一般に、これらは、情報検索の分野でよく知られた手法である。これに替えて、クエリは、単語フレーズを組み合わせるために必要とされる(“and”や“or”などの)ブール論理を含むことができる。しかし、本技術分野の精通者に理解されるように、各クエリは、単に、分離した単語フレーズとすることができる。
【0066】
ステップ208において、タスク独立のコーパスは、公式化されたクエリに基づいて照会される。タスク独立のコーパスに対してクエリを生成し実行するための特定の情報検索手法は、本発明の本実施形態では重要ではない。むしろ、任意の適切なクエリ開発と情報検索手法を用いることができる。本発明の手法にしたがって、特定されたテキストから生成された言語モデルは、タスク独立のコーパスのより密接に関連したテキストを特定する情報検索手法によって、さらにうまく動作することを簡単に指摘しておくべきである。
【0067】
タスク独立のコーパスにおいて特定されるテキストが、ステップ210に示される。言語モデルは、ステップ212に示すように特定されたテキストを用いて組み立てることができる。
【0068】
ここで、図7に示された方法は、統一化された言語モデルにも、あるいはNグラムにさえ限定されないが、というよりもむしろ、そのモデルがタスク独立のコーパスに基づいている言語処理システムにおいて用いられる、いかなるタイプの言語モデルを形成するときにも役立ち得るということに留意すべきである。とはいっても、方法200は、Nグラムモデルを構築する際には特に有用である。Nグラム言語モデルまたはハイブリッドNグラム言語モデルの場合には、ステップ212は、通常Nグラムアルゴリズムを使用する必要があるであろう。
【0069】
図8は、図7の方法200に類似する方法220を示し、同様のステップを識別するために同じ符号を付した。しかし、方法220は、文脈自由文法のノンターミナルトークンをもって、Nグラム言語モデルを生成するために使用することができる。上述のステップに加えて、方法220にはまた、ステップ222に示すように、各意味上または構文上の概念に対しワードオカレンスを特定するため、複数の文脈自由文法を持つタスク独立のコーパスの特定されたテキストをパージングすることが含まれる。次に、ステップ224には、特定されたワードオカレンスの各々を選択されたノンターミナルに対応するノンターミナルトークンで置き換えることが含まれる(すなわち、パージング中の誤りを回避するために導入されたノンターミナルを除去する)。ステップ212には、ノンターミナルトークンをもって、Nグラムモデルを組み立てることが含まれる。方法200および220の双方において、関連するテキストがタスク独立のコーパスの中で特定される。必要ならば、特定されたテキストは、関連するテキストを分離し、より容易な処理を提供する際の補助として、抽出され、コピーされ、さもなければタスク独立のコーパスとは別に記憶することができる。
【0070】
図9は、本発明の他の実施形態を示すブロック図である。一般に、本実施形態には、文脈自由文法より得られた単語フレーズからNグラム言語モデルを形成し、このNグラム言語モデルを、タスク独立のコーパスに基づいた他のNグラム言語モデルに組み合わせることが含まれる。図9に示された実施例において、ブロック240は、選択されたタスクまたはアプリケーションについて取得された(例えば、開発者により著された)文脈自由文法を表している。文脈自由文法は、方法200または220のステップ204と類似する仕方で、合成されたデータまたは単語フレーズ242を生成するため用いられる。次に、単語フレーズ242は、Nグラムアルゴリズム244に提供され、第1のNグラム言語モデル244が構築される。
【0071】
図9はまた、ブロック図の形式でステップ206、208および210を示しており、ここで、文脈自由文法は、少なくとも一つのフレーズから情報検索クエリを公式化するために使用され、公式化されたクエリに基づいてタスク独立のコーパスを検索し、クエリに基づきタスク独立のコーパスの中で関連するテキストを特定し、および特定されたテキストから第2のNグラム言語モデルを構築する。ブロック248は、第2のNグラム言語モデル250を得るためのNグラムアルゴリズムのアプリケーションを示している。
【0072】
第3のNグラム言語モデル252は、第1のNグラム言語モデル246と第2のNグラム言語モデルを組み合わせて形成される。この組み合わせは、任意の既知のスムージング手法、例えば内挿法、削除補間法または任意の他の適当な手法を用いて実施される。必要であれば、第2の言語モデルは、特定されたテキストが正確であると信じるに足るか否かに基づいて重み付けすることができる。重み付けは、タスク独立のコーパスの中で特定されたテキストの量や使用されたクエリの数などに基づくことができる。
【0073】
他の実施例では、意味上または構文上の概念を表現するノンターミナルトークンは、特定されたテキストまたはタスク独立のコーパスに挿入し、第2のNグラム言語モデルにノンターミナルトークンを含めることができる。このオプションは、ブロック264への断続線と矢印266および268で示される。もちろん、このオプションが選ばれた場合、特定されたテキスト210は、直接Nグラムアルゴリズム248にではなく、むしろブロック264に提供されるであろう。特定されたテキストあるいはタスク独立のコーパスに挿入されたノンターミナルトークンは、ブロック240において取得された文脈自由文法、またはこれと替えて、上で検討した理由で他の文脈自由文法を含む文脈自由文法の別のセット270に基づくことができる。第3のNグラム言語モデルがノンターミナルを持って構築されたとき、一般に、ブロック242における単語フレーズまたは合成データにはまた、同様にノンターミナルも含まれる。
【0074】
文脈自由文法が合成データを生成するため用いられた場合、単語フレーズがノンターミナルおよびノンターミナルのターミナルによって形成される確率は、必要に応じ選択される;例えば、各々を等しい確率とすることができる。
【0075】
タスク独立の統一化された言語モデルには、Nグラムにおける組み込み型文脈自由文法のノンターミナルトークンに加えて、ノンターミナルトークンを定める複数の文脈自由文法が含まれる。各文脈自由文法内では、標準の確率文脈自由文法が使用される。しかし、特定のタスクまたはアプリケーションに関連する実データなければ、簡単に各ターミナルの確率の見積もりを決定することはできない。換言すると、開発者は、複数の文脈自由文法を著すか、さもなければ取得することができる;しかし、各ターミナルの確率の見積もりは、容易には分からないかもしれない。たとえ、一様な確率の配分が用いられても、本発明の別の形態には、少なくともいくつかの文脈自由文法のターミナルに確率を、対応するタスク独立のコーパスにより構築されたNグラム言語モデルから同じターミナルに対し取得された確率の関数として割り当てることが含まれる。文脈自由文法のターミナルへの確率の割当には、各文脈自由文法におけるNグラム言語モデルからのターミナルの確率を、対応する文脈自由文法におけるターミナルの関数として正規化することが含まれるのが望ましい。換言すれば、文脈自由文法は、Nグラム言語モデルからのターミナルの認められるセットを拘束しまたは定める。したがって、Nグラム言語モデルからのターミナルの確率は、対応する文脈自由文法においてあらわされたターミナルと同じ確率空間において、適切に正規化される必要がある。
【0076】

【0077】
【数4】

【0078】
である。
【0079】

【0080】
【数5】

【0081】
ここで、</s>は、専用の文末の単語を表している。文脈自由文法のノンターミナル内で履歴を付与された単語の可能性を計算するため、3つの異なった方法が用いられる。
【0082】

【0083】
【数6】

【0084】
一様なモデルでは、文脈自由文法のノンターミナルの下での経験上の単語の配分は獲得されない。既存のドメイン独立の単語の3−グラム確率を継承することがよりよい代替手段である。これらの確率は、同一の確率空間に適切に正規化されなければならない。本手法を示すため単語の3−グラムモデルを使用したとしても、いかなる単語ベースの言語モデルを、異なるNによる単語レベルのNグラムを含め、ここでは使用することができることに留意すべきである。また、本手法は単語の言語モデルがどのようにトレーニングされるか(特に、タスク独立のコーパスまたはタスク依存のコーパスのいずれを用いるか)にかかわらず適用することができる。これによって、得られる:
【0085】
【数7】

【0086】
特定のCFGのノンターミナルによってカバーされる単語シーケンスのモデル化を改善する別の方法は、各ノンターミナルtに対し特定の単語の3−グラム言語モデルP(wn|wn-2,wn-1)を用いることである。式(7)におけると同一のものが正規化を実施される。
【0087】
自然言語があいまいであるため、Wに対して複数のセグメンテーションが可能となるかも知れない。したがって,Wの可能性は、全てのセグメンテーションに渡る合計値S(W)である:
【0088】
【数8】

【0089】
本発明は、好ましい実施例に関して記述してきたが、本発明の精神と範囲内から出発することなく形式的、詳細な部分に変更を加えることができることが、本技術分野に精通した者には理解されるであろう。

【特許請求の範囲】
【請求項1】
語処理システムのための言語モデルを構築するための方法を実行するためのコンピュータ読み取り可能な命令を格納したコンピュータ読み取り可能な媒体において、前記方法は、
選択されたアプリケーションの意味上または構文上の概念を表すノンターミナルトークンを備えた複数の文脈自由文法にアクセスするステップと、
前記複数の文脈自由文法から単語フレーズを生成するステップと、
該単語フレーズの少なくとも一つから情報検索クエリを公式化するステップと、
当該公式化されたクエリに基づいて前記タスク独立のコーパスを照会するステップと、 前記クエリに基づいて前記タスク独立のコーパスにおける関連するテキストを特定するステップと、
当該特定されたテキストを用いて言語モデルを構築するステップ
を備えたことを特徴とするコンピュータ読み取り可能な媒体。
【請求項2】
記言語モデルを構築するステップは、Nグラム言語モデルを構築するステップを備えたことを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
【請求項3】
前記方法は、
前記複数の文脈自由文法によって前記タスク独立のコーパスの前記特定されたテキストをパージングして前記意味上または構文上の概念の各々のための単語のオカレンスを特定するステップと、
当該特定された単語のオカレンスの各々を、対応する文脈自由文法によって定められたノンターミナルトークンで置き換えるステップとをさらに備え、
前記Nグラム言語モデルを構築するステップは、前記ノンターミナルトークンを有するNグラムモデルを構築するステップを備えたことを特徴とする請求項2に記載のコンピュータ読み取り可能な媒体。
【請求項4】
語処理システムのための言語モデルを構築するための方法を実行するためのコンピュータ読み取り可能な命令を格納したコンピュータ読み取り可能な媒体において、前記方法は、
選択されたアプリケーションの意味上または構文上の概念を表すノンターミナルトークンを備えた複数の文脈自由文法にアクセスするステップと、
前記複数の文脈自由文法から単語フレーズを生成するステップと、
該単語フレーズからある第1のNグラム言語モデルを構築するステップと、
前記単語フレーズの少なくとも一つから情報検索クエリを公式化するステップと、
当該公式化されたクエリに基づいて前記タスク独立のコーパスを照会するステップと、
前記クエリに基づいて前記タスク独立のコーパスにおける関連するテキストを特定するステップと、
当該特定されたテキストから第2のNグラム言語モデルを構築するステップと、
前記第1のNグラム言語モデルと前記第2の言語モデルとを組み合わせて第3のNグラム言語モデルを形成するステップ
を備えたことを特徴とするコンピュータ読み取り可能な媒体。
【請求項5】
前記第2のNグラム言語モデルを構築するステップは、前記特定されたテキストのみを用いるステップを含むことを特徴とする請求項4に記載のコンピュータ読み取り可能な媒体。
【請求項6】
前記方法は、
前記複数の文脈自由文法によって前記タスク独立のコーパスをパージングして前記意味上または構文上の概念の各々のための単語のオカレンスを特定するステップと、
当該特定された単語のオカレンスの各々を、対応するノンターミナルトークンで置き換えるステップとをさらに備
前記単語フレーズは、ノンターミナルトークンを含み
記第1のNグラム言語モデルを構築するステップは、前記ノンターミナルトークンを有するNグラムモデルを構築するステップを備えたことを特徴とする請求項4に記載のコンピュータ読み取り可能な媒体。
【請求項7】
択されたアプリケーションのための統一化された言語モデルを構築するための方法を実行するためのコンピュータ読み取り可能な命令を格納したコンピュータ読み取り可能な媒体において、前記方法は、
前記選択されたアプリケーションの意味上または構文上の概念を表すノンターミナルトークンを備えた複数の文脈自由文法にアクセスするステップと、
コーパスから単語の言語モデルを構築するステップと、
該単語の言語モデルから同一のターミナルのために得られた対応する確率に応じて文脈自由文法の少なくともいくつかについての単語に確率を割り当てるステップとを備え、
該確率を割り当てるステップは、対応する文脈自由文法によって許可される前記単語に応じて、前記文脈自由文法の各々において前記単語の言語モデルから前記単語の確率を正規化するステップを含むことを特徴とするコンピュータ読み取り可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−14189(P2012−14189A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2011−203218(P2011−203218)
【出願日】平成23年9月16日(2011.9.16)
【分割の表示】特願2002−500373(P2002−500373)の分割
【原出願日】平成13年5月23日(2001.5.23)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】