(57)【特許請求の範囲】
【請求項１】
結合テキストを表す入力ストリングを読み出すための入力手段と、
ワードを含む辞書手段と、
前記入力ストリングを少なくとも１つのワードシーケンスに区分するための識別手段と、
前記区分されたワードシーケンスの少なくとも１つを出力するための出力手段と
を有するシステムにおいて前記結合テキストをワードに区分する方法であって、
前記識別手段は、記憶手段を有し、
エレメントが、前記ワードに対応付けられるポインタとしての役割を果たすと共に、ルートエレメントが、前記入力ストリングに対応付けられるポインタとしての役割を果たし、
リストが、前記ルートエレメント及び前記エレメントから構成されると共に前記記憶手段に記憶されており、前記リストは、待ちリストと終結リストとに分かれる
方法において、
ａ）前記識別手段が、前記入力ストリングを前記ルートエレメントに対応付けると共に、前記待ちリストに前記ルートエレメントを記憶するステップと、
ｂ）前記識別手段が、前記待ちリストに存在する前記ルートエレメントに対応する前記入力ストリングを作業ストリングとして選択するステップと、
ｃ）前記識別手段が、前記辞書のワードから、前記作業ストリングの一つ又は複数の開始キャラクタと一致するワードを検索し、前記ワードが前記作業ストリングの一つ又は複数の開始キャラクタと一致することを確認した場合、新たなエレメントを作成して、当該一致するワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす前記ルートエレメントに前記新たなエレメントを子エレメントとしてリンクさせ、前記一致するワードを前記作業ストリングの開始部分から除去するステップと、
ｄ）前記識別手段が、前記作業ストリングの残りの部分が空であるか否かを検査するステップと、
ｅ）前記ステップｄ）の検査の結果、前記識別手段が、
１）前記作業ストリングの残りの部分が空でないことを確認した場合、
前記辞書のワードから、当該作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致するワードを検索し、
i）前記ワードが前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致することを確認した場合、
新たなエレメントを作成して、当該一致するワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす、前記入力ストリングのうち前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタに先行するワードに対応するエレメントに、当該新たなエレメントを子エレメントとしてリンクさせ、前記一致するワードを前記作業ストリングの残りの部分の開始部分から除去した後、前記ｄ）以降のステップの実行を繰り返し、
ii）前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致するワードは前記辞書に存在しないことを確認した場合、
前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタからキャラクタをコピーすることによって新たなワードを作成し、新たなエレメントを作成して、当該新たなワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす、前記入力ストリングのうち前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタに先行するワードに対応するエレメントに、当該新たなエレメントを子エレメントとしてリンクさせ、前記新たなワードを前記作業ストリングの残りの部分の開始部分から除去した後、前記ステップｄ）の実行を繰り返し、
２）前記作業ストリングの残りの部分が空であることを確認した場合、
前記新たなエレメントを前記入力ストリングの終結として前記終結リストに記憶して、前記入力ストリングを少なくとも１つのワードシーケンスに区分する作業を終了するステップと
を有する方法。
【請求項２】
前記識別手段は、前記各作業ストリングに対して、前記辞書のワードのうち何個のワードが前記作業ストリングの一つ又は複数の開始キャラクタに一致するかを求めるステップと、
前記識別手段は、前記作業ストリングの一つ又は複数の開始キャラクタに一致する前記辞書のワードの数が、所定の閾値よりも小さければ、前記新たなワードを作成することを決定するステップと
を有する請求項１に記載の方法。
【請求項３】
前記閾値が１であることを特徴とする請求項２に記載の方法。
【請求項４】
前記識別手段が、前記各ワードシーケンスに対し、前記ワードシーケンスの新たなワードの数をカウントするステップと、
前記識別手段は、前記カウントされた新たなワードの数が所定の閾値を超える場合、前記ワードシーケンスに前記新たなワードを加えることを終結するステップと
を有する請求項１に記載の方法。
【請求項５】
前記識別手段が、前記各ワードシーケンスに対して尤度を計算するステップと、
前記識別手段は、前記対応するワードシーケンスの前記尤度が所定の閾値よりも低い場合、前記ワードシーケンスに前記新たなワードを加えることを終結するステップと
を有する請求項１に記載の方法。
【請求項６】
前記ワードシーケンスの前記尤度が、前記ワードシーケンスの新たなワードの数の関数として減少することを特徴とする請求項５に記載の方法。
【請求項７】
前記新たなワードを形成する前記ステップがK（K＞１）個までのワードを形成するステップを有し、該各ワードは、前記作業ストリングの開始キャラクタで始まり、１乃至K個の前記作業ストリングの前記開始キャラクタをそれぞれ含むことを特徴とする請求項１に記載の方法。
【請求項８】
結合テキストを表す入力ストリングを読み出すための入力手段と、
ワードを含む辞書手段と、
前記入力ストリングを少なくとも１つのワードシーケンスに区分するための識別手段と、
前記区分されたワードシーケンスの少なくとも１つを出力するための出力手段と
を有する、結合テキストをワードに区分するシステムであって、
前記識別手段が、記憶手段を有し、
エレメントが、前記ワードに対応付けられるポインタとしての役割を果たすと共に、ルートエレメントが、前記入力ストリングに対応付けられるポインタとしての役割を果たし、
リストが、前記ルートエレメント及び前記エレメントから構成されると共に前記記憶手段に記憶されており、前記リストは、待ちリストと終結リストとに分かれる
システムにおいて、前記識別手段が、
ａ）前記入力ストリングを前記ルートエレメントに対応付けると共に、前記待ちリストに前記ルートエレメントを記憶し、
ｂ）前記待ちリストに存在する前記ルートエレメントに対応する前記入力ストリングを作業ストリングとして選択し、
ｃ）前記辞書のワードから、前記作業ストリングの一つ又は複数の開始キャラクタと一致するワードを検索し、前記ワードが前記作業ストリングの一つ又は複数の開始キャラクタと一致することを確認した場合、新たなエレメントを作成して、当該一致するワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす前記ルートエレメントに、前記新たなエレメントを子エレメントとしてリンクさせ、前記一致するワードを前記作業ストリングの開始部分から除去し、
ｄ）前記作業ストリングの残りの部分が空であるか否かを検査し、
ｅ）前記ステップｄ）の検査の結果、
１）前記作業ストリングの残りの部分が空でないことを確認した場合、
前記辞書のワードから、当該作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致するワードを検索し、
i）前記ワードが前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致することを確認した場合、
新たなエレメントを作成して、当該一致するワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす、前記入力ストリングのうち前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタに先行するワードに対応するエレメントに、当該新たなエレメントを子エレメントとしてリンクさせ、前記一致するワードを前記作業ストリングの残りの部分の開始部分から除去した後、前記ｄ）以降のステップの実行を繰り返し、
ii）前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタと一致するワードは前記辞書に存在しないことを確認した場合、
前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタからキャラクタをコピーすることによって新たなワードを作成し、新たなエレメントを作成して、当該新たなワードを当該新たなエレメントに対応付け、親エレメントとしての役割を果たす、前記入力ストリングのうち前記作業ストリングの残りの部分の一つ又は複数の開始キャラクタに先行するワードに対応するエレメントに、当該新たなエレメントを子エレメントとしてリンクさせ、前記新たなワードを前記作業ストリングの残りの部分の開始部分から除去した後、前記ステップｄ）の実行を繰り返し、
２）前記作業ストリングの残りの部分が空であることを確認した場合、
前記新たなエレメントを前記入力ストリングの終結として前記終結リストに記憶して、前記入力ストリングを少なくとも１つのワードシーケンスに区分する作業を終了する
ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
本発明は、結合テキストをワードに区分する方法に関し、前記結合テキストを表す入力ストリングを読み出すステップ、前記入力ストリングを辞書のワードと比較することにより、前記入力ストリングの少なくとも１つの分離するワードのシーケンスを識別するステップ、及び前記識別されたワードシーケンスの少なくとも１つを出力するステップを備える。
【０００２】
本発明は、更に、結合テキストをワードに区分するシステムに関し、前記結合テキストを表す入力ストリングを読み出す手段、前記入力ストリングを辞書のワードと比較することにより、前記入力ストリングの少なくとも１つの分離するワードのシーケンスを識別する手段、及び前記識別されたワードシーケンスの少なくとも１つを出力する手段を備える。
【０００３】
音声処理システム、手書き／光学式文字認識システム、自動翻訳システムのようなデータ処理システム、又は文書処理システムでのスペル／文法検査のために、ますます高度の自然言語処理技術が使用されている。このようなシステムは、しばしば、個々のワード又はワードシーケンスに関する統計情報を用いる。この統計情報は大きなテキストコーパスを解析することにより得られる。この解析のため、個々のワードはテキストで識別される必要がある。西洋言語を含めた多くの言語では、単語は、識別を容易にするために、スペース又は他の句読点のような境界マーカにより分離される。しかしながら、多くの他の言語は単語の間に境界マーカを持たない。このような言語の例として、中国語、日本語及びハングル語のような多くのアジア言語がある。このような言語は、ときには膠着言語と呼ばれる。典型的に、このような言語は特別の文字（”表意文字”）を使って書かれ、この各文字は、１つ以上の音節を表し、また、通常は、ある概念又は意味のある単位を表す。単語は１つ以上のこれら文字を含む。このような言語の文章の読取装置は、この文章を理解するために、これら単語の境界を識別しなければならない。多くのアプリケーションでは、１つのみの単語列が識別されなければならない。
【０００４】
ＵＳ５,４４８,４７４から、結合した中国語の文章から中国語の単語を分離するための方法及びシステムが知られている。このシステムでは、辞書探索処理が行われ、ここでは、テキストの全てのサブストリングが識別される。このテキストの各文字に対し、辞書の各単語についてこの各単語がテキストのある位置で始まる単語に一致するかどうかが検査される。１例として、”software”というテキストに対しては、位置０（このテキストの第１の文字）において”so”、”soft”及び”software”という単語、位置１において”of”及び”oft”という単語、位置４において”war”及び”ware”という単語、位置５において”a”及び”are”という単語、位置６において”re”という単語の一致が発見される。各一致に対して、表に入力される。この入力項目は、一致した単語、一致の検査が開始されたテキストの位置、及び単語の長さを有する。もし、ある位置において、一致する単語が発見されなければ、その位置における個々の文字を含めて、表に入力される。この方法では、全ての一致した単語及び不一致の文字が表に加えられる。次に、１つの単語が、その単語に先行する単語の終結位置に隣接して開始し、次の単語の開始位置に隣接して終結しなければならないという条件に基づいて、表の項目の数を減少させる。この方法では、（隣接せずに）オーバラップする単語が除去されるため、テキストの部分が識別された単語で補填されることができない。オーバラップする単語の不要な削除を訂正するために、一致しオーバラップした単語のうち最も長い単語を保持するという条件に基づいて、分離復元処理が行われる。最後に、テキスト又は別の削除されていない単語の終結又は開始に隣接していない全ての単語が、再度除去される。最終的な結果として、可能性のあるいくつかの単語シーケンスを有することができる。一般のテキストの単語が現れる頻度に関する情報は、１つのシーケンスを選択するために使用されてもよい。例えば、２文字の中国語の単語を伴う単語シーケンスは、２文字の単語が単一文字の単語よりも一般的であるため、２つの単一文字の単語により表される２文字の同じシーケンスよりも選択される。
【０００５】
既知の分離手続きは複雑であり、誤った削除を訂正するために復元処理を必要とする。
【０００６】
本発明の目的は、先に述べたような種類の方法及びシステムであって、より効率のよい方法及びシステムを提供することを目的とする。
【０００７】
本発明の目的を達成するため、本発明の方法は、少なくとも１つのワードシーケンスを識別する前記ステップが、前記入力ストリングを作業ストリングとして受け取ることにより、前記入力ストリングのワードシーケンスを表すツリー構造を構築するステップを含み、該ステップが、
【０００８】
辞書の各ワードに対して、
【０００９】
前記各ワードを前記作業ストリングの開始と比較し、
【００１０】
もし前記ワードが前記作業ストリングの開始と一致した場合、
【００１１】
前記ワードを表す前記ツリーにノードを形成し、
【００１２】
前記入力ストリングの、前記ワードの終結位置に直接隣接する位置で始まる部分と、前記ノードとを対応付け、
【００１３】
前記対応付けられた部分を前記作業ストリングとして用いることにより、前記ノードに対応付けられる前記入力ストリングの前記部分のワードシーケンスを表し前記ノードにリンクされるサブツリーを形成することを繰り返すやり方で、
【００１４】
前記ツリー構造を構築することを特徴とする。
【００１５】
ツリーを構築することにより、入力ストリングの分析が、先行するワードに隣接するワードのみを自動的に識別する結果となる。全ての識別されたワードシーケンスの最後のワードが入力ストリングの終結で終わるようにすることが原理的に可能である。この方法では、ありそうではないワード（先行するワードを考えて）は候補として考慮されない。これにより、処理されるデータ量が減少する。更に、ワードを削除し、オーバラップした部分を再び導入するという複雑な手続きが不要である。本発明によれば、サンプルストリング”software”を区分すると、２つの主ブランチを伴う論理ツリー構造になる。１つはワード”software”を表す単一ノードを有するブランチであり、もう１つは、ワード”soft”及び”ware”それぞれを表す２つのリンクしたノードを有するブランチである。この結果、従来のシステムでは１０の項目が必要となる代わりに、３つのみの項目が必要となるだけである。
【００１６】
従属項２に記載されたような本発明に係る実施例では、所定の条件が満たされた場合、複数の新しいワードが異なる長さで加えられる。単一のキャラクタワードではない未知の一連のキャラクタのシーケンスをデータ構造に加えることにより、複数キャラクタの新しいワードを簡単な方法で識別することが可能となる。これにより、日本語のように多くの単一文字が１つの単語を表さない言語に対し適切な手続きが行われる。更に、複数キャラクタのワードを望ましい新しいワードとして識別することが可能となり、この場合、単一キャラクタのワードが辞書に入力される必要は無い。この方法では、辞書が’polluted’を単一文字の単語として得ることが防止される。辞書に多くの単一キャラクタの項目を持たせると、テキストをワードに正しく区分する確率が減少する。一例として、テキスト”thisbook”は、もし単一文字”t”が辞書にあれば、”t”、his”及び”book”という一連の単語に区分されるかもしれない。
【００１７】
従属項３に記載されたような本発明に係る実施例では、上記の条件は、存在する辞書を用いてワードシーケンスが識別されるか否かに基づいた決定を、全体に渡って行うことである。もし、シーケンスが識別されることができなければ、新しいワードが加えられる。従属項３における検査は、最初に、存在する辞書の既知のワードのみを用いてツリー構造を構築し、このツリーが構築された後、少なくとも１つの経路が入力ストリング全体と一致しているワードシーケンスを表すかどうかを確認することにより、行われる。この確認は、ツリー構造の構築の間、ツリーを経由する第１の経路が入力ストリングの終結に到達したときに（ストリングの終結に到達したという）パラメータを設定することで、非常に簡単に行われる。
【００１８】
従属項４に規定されたような実施例では、新しいワードは、当該経路の対応するワードシーケンスが入力ストリング全体と一致しない前記経路の１つ以上のエンドノードに加えられる。このようなノードは、ツリーを経由する経路をたどるとともに、経路のエンドノードが入力ストリングの終結に対応するか否かを確認することにより、簡単に配置することができる（すなわち、ワードはストリングの配置と同じく一致する。これは、エンドノードに対応する入力ストリングの部分が空かどうかを確認し、ストリング全体をたどって一致ワードが見つかったことを指示するという簡単なやり方で、検査することができる）。好ましい実施例では、（上述したように）新しいワードを加えるか否かの決定が全体に渡って行われる。もし、新しいワードが加えられるべきであれば、ツリー構造が再構築される。ツリーの再構築の間、新しいワードを加えるためのノードは、辞書のワードが入力ストリングの残りの部分に一致しないようなツリーの場所で見つけられる（ストリング全体はまだ処理されていない）。
【００１９】
従属項５に規定されたような実施例では、何個のワードが作業ストリングの開始に一致するかを計算する。もし、計算された数が閾値より低ければ、このとき新しいワードが加えられる。加えられる新しいワードの数は、発見された一致ワードの数に依存し、ほとんど一致するワードがほとんど発見されない場合は、新しいワードがより多く加えられることが好ましい。この方法では、ワードシーケンスに代わりのワードが所望の数だけ作成される。従属項６に規定されたような実施例では、極端な例として、閾値は１とすることができ、この結果、存在する辞書の単一ワードが作業ストリングの開始と一致しなければ、新しいワードが加えられる。請求項５及び６の実施例は、ツリーの中で、局所的に決定を行うために用いられることが好ましい。ツリーの中の各ブランチに対して、新しいワードが（更に）加えられるか否かが決定される。
【００２０】
従属項７に規定されているような局所的決定を行うための代わりの実施例では、経路の既に新しいワードの数は、新しいワードを加えることが必要か否かを決定するための手段として用いられる。’理想的な’ケースでは、はじめて経路に新しいワードが必要な場合は、新しいワードが１個か数個のみ加えられ、これは、実際（人間が読むという観点から見て）全て可能である。実際は、異なる長さを持つ多くの候補が、検査のために必要かもしれない。いくつかの誤った候補のワードでは、ストリングの残りの部分でワードを識別するときに位置合わせの不良が生じる可能性がある。特別な手段が無ければ、このような位置合わせ不良が生じると、（他の新しいワード等が後続する可能性のある）他の新しいワードを加える結果となるだろう。例えば、経路に２個又は３個の新しいワード加えることを許容することにより、誤った新しいワードにより生じる多くのシーケンスを伴ってツリーがすばやく拡張することが避けられる。
【００２１】
従属項８に規定されたような局所的決定を行うための別の実施例では、ワードシーケンス（及びツリーを経由する対応する経路）の尤度が計算される。もし尤度が低すぎるのであれば、経路はもはや拡張されない。この方法では、新しいワードを含むことができるが現実に即していない区分は、これ以上考慮されない。閾値は相対的なランクを確保するために動的に設定することが有利である。もし、既に１つ以上のシーケンスが（計算された尤度により）識別されていたならば、他のシーケンスは、このシーケンスがより高い尤度を持つ限りは処理されるだけである。新しいワードは所与の比較的低い尤度であることが好ましく、ここでは、この尤度は新しいワードの長さに依存してもよい。この方法では、従属項９に規定されているように、ワードシーケンスの尤度はこのシーケンスの新しいワードの数にしたがって減少する。この方法では、新しいワードの誤った選択により（ストリングの残りの部分には位置合わせ不良が生じ、更に新しいワードが供給される結果となる）、多くの新しいワードを伴う連続的に拡張するツリーが形成される。
【００２２】
従属項１０に規定されたような実施例によれば、新しいワードの長さはK（K＞１）個のキャラクタに制限される。特に、主に短いワードを伴うアジアの言語に対しては、Kは５であることが好ましく、大部分のワードは極端に長いツリーを構築しなくても識別されることができる。
【００２３】
従属項１１に規定された実施例によれば、ツリーの経路は、経路の最後のワードが入力ストリングの終結に位置合わせされて終了する場合、適正な区分を表すために考慮されるだけである。これは、対応するワードが入力ストリングの終結に位置合わせされるツリーのエンドノード（リーブ）のみから開始してバックトレースすることにより、適正なシーケンスを識別することを可能とする。
【００２４】
従属項１２に規定されたような実施例によれば、ツリーを経由する最も適切な経路を決定するために、統計的Ｎ−グラム（gram）言語モデルが用いられる。この方法では、いくつかの可能性のあるシーケンスから最も適切なシーケンスを選択するために、基礎となる決定が行われる。このシーケンスのワードは区分されたテキストを表すものとして出力される。特に、この方法が音声認識システム用の辞典（語彙及び／又は言語モデル）を構築するために用いられる場合、Ｎ−グラム言語モデルを伴う既に存在するデフォルト辞典が使用されることが好ましい。もし語彙が多ければ（例えば、１００００項目を超える）、２−グラム又は３−グラムが使用されることが好ましい。
【００２５】
本発明の目的を達成するために、システムは、少なくとも１つのワードシーケンスを識別する手段が、前記入力ストリングを作業ストリングとして受け取ることにより、前記入力ストリングのワードシーケンスを表すツリー構造を構築するように動作し、該手段が、
【００２６】
辞書の各ワードに対して、
【００２７】
前記各ワードを前記作業ストリングの開始と比較し、
【００２８】
もし前記ワードが前記作業ストリングの開始と一致した場合、
【００２９】
前記ワードを表す前記ツリーにノードを形成し、
【００３０】
前記入力ストリングの、前記ワードの終結位置に直接隣接する位置で始まる部分と、前記ノードとを対応付け、
【００３１】
前記対応付けられた部分を前記作業ストリングとして用いることにより、前記ノードに対応付けられる前記入力ストリングの前記部分のワードシーケンスを表し前記ノードにリンクされるサブツリーを形成することを繰り返すやり方で、
【００３２】
前記ツリー構造を構築するように動作することを特徴とする。
【００３３】
本発明のこれら及び他の態様は、図に示された実施例を参照しながら明瞭に説明されるだろう。
【００３４】
説明を容易にするため、テキストをワードに区分する例として、ラテン文字で表されたテキストが示されている。実際は、カタカナ又はひらがなのような異なる文字記号も含めて適用することができる。
【００３５】
図１は、本発明に係るシステム１００のブロック図を示す。このシステム１００は、結合テキストを表す入力ストリングを受け取るための入力手段１１０を含む。このストリングは、語句、文、又は複数の文の大きなテキストを表す。日本語や中国語のようなアジアの言語では、文は分離文字により分離される。このような言語に対し、より大きなテキストは、文単位で区分されることが好ましい。このため、より大きなテキストは、先ず文を識別する文セパレータを用いて文に区分され、この個々の文は、本発明に係る方法を用いて区分される。典型的には、入力ストリングはテキストファイルから読み出される。必要であれば、このファイルは、内蔵又は外部コンバータを用いて共通フォーマットに変換されてもよい。テキストは、例えば、文書を走査し、文字ストリングを認識するためのＯＣＲ技術を用いることにより、ハードコピー文書から検索されることもできる。
【００３６】
このシステムは、入力ストリングを１つ以上のワードシーケンスに区分するための識別手段１２０を更に含む。典型的には、この識別手段１２０は、ソフトウェアや、ＰＣ又はワークステーションプロセッサのような適切なプロセッサで実行される。この識別手段１２０は辞典（辞書）１２２を使用し、区分用の言語モデル１２４も自由に使用する。辞典１２２及び言語モデル１２４用の語彙は、特定の言語の分離ワードに基づくと仮定する。このシステムは異なる言語用の異なる語彙をサポートしてもよい。語彙のサイズは、システムのサイズ及び複雑さに対して変更してもよい。出力手段１３０は、少なくとも１つの識別されたワードシーケンスを出力するために用いられる。多くの状況では、ワードシーケンスを１つ（又は数個）のみ出力することが好ましいだろう。本発明に係る方法及びシステムは、例えば自動索引を生成するために、可能なワード候補のうちのいくつか又は全てを分析することが望まれているアプリケーションに対して用いることもできるという良さがある。
【００３７】
この方法及びシステムは、多くの語彙の連続音声認識又は手書き認識システムのようなパターン認識に用いられることが好ましい。ここでは、語彙はワードを認識するために用いられ、言語モデルは基本的な認識結果を改良するために用いられてもよい。パターン認識に用いられる技術は、本発明に係る区分方法に対して有利に使用することもできるため、最初に、パターン認識システムについて記載する。図２は、スペクトル分析サブシステム２１０及びユニットマッチングシステム２２０[１９９３年、プレンティスホール（Prentice  Hall）からのL.Rabiner, B-H.Juang による”音声認識の基本”の４３４ページから４５４ページを参照]を有する連続音声認識システム２００を示す。このスペクトル分析サブシステム２１０では、音声入力信号（ＳＩＳ）は、特徴の表現ベクトル（観測ベクトルＯＶ）を計算するためにスペクトル分析及び／又は時間分析される。典型的には、音声信号はデジタル化され（例えば、６．６７ｋＨｚのサンプリングレートでサンプリングされる）、例えば前強調等の前処理が行われる。連続サンプルは、例えば３２ｍｓｅｃの音声信号に対応するフレームにグループ化（ブロック化）される。連続するフレームは部分的に、例えば１６ｍｓｅｃがオーバラップする。各フレームに対し特徴の表現ベクトル（観測ベクトル）を計算するために、しばしば、線形推定符号化（ＬＰＣ）スペクトル分析法が用いられる。この特徴ベクトルは、例えば、２４、３２及び６３の成分を有する。ユニットマッチングサブシステム２２０では、観測ベクトルは音声認識ユニットのインベントリに対して照合される。音声認識ユニットは、音響基準のシーケンスにより表される。音声認識ユニットは様々な形態のものを使用することができる。一例として、全ワード又はワードのグループでさえも１つの音声認識ユニットにより表されることができる。ワードモデル（ＷＭ）により、所与の語彙の各ワードに対し、音響基準のシーケンスの表現形式が与えられる。全ワードが音声認識ユニットにより表されるシステムでは、ワードモデル及び音声認識ユニットの間に、直接的な関係が存在する。別のシステム、特に大きな語彙のシステムは、言語的に、フォン（phone）、ダイフォン（diphone）又は音節（syllable）のようなサブワードユニット、フェネン（fenenes）及びフェノン（fenones）のような微分ユニットに基づいた音声認識ユニットに対して用いられる。このようなシステムに対して、ワードモデルは、語彙のワードに関するサブワードユニットのシーケンスを記載する辞典２３４、及び含まれる音声認識ユニットの音響基準のシーケンスを記載するサブワードモデル２３２により与えられる。ワードモデル構成部２３６は、サブワードモデル２３２及び辞典２３４に基づいたワードモデルを構成する。図３Ａは、全ワード音声認識ユニットに基づいたシステム用のワードモデル３００を示す。示されているワードの音声認識ユニットは、１０個の音響基準（３０１から３１０）のシーケンスを用いてモデリングされる。図３Ｂは、サブワードユニットに基づいたシステム用のワードモデル３２０を示す。示されているワードは、３個のサブワードモデル（３５０，３６０及び３７０）のシーケンスによりモデリングされる。���サブワードモデル３５０，３６０及び３７０は、４つの音響基準（３５１，３５２，３５３，３５４；３６１乃至３６４；３７１乃至３７４）のシーケンスを備えている。図３に示されるワードモデルは、音声及び手書信号を統計的に作るために広く用いられている隠れマルコフモデル（ＨＭＭ）に基づいている。このモデルを用いることにより、各認識ユニット（ワードモデル又はサブワードモデル）は、典型的にＨＭＭにより特徴付けられ、そのパラメータはデータのトレーニングセットから推定される。大きなユニット用のＨＭＭを適切に訓練するためには多くのトレーニングデータが必要であるため、例えば１０,０００から６０,０００ワードを含む大きな語彙の音声認識システムに対しては、通常例えば４０に制限されたサブワードユニットのセットが用いられる。ＨＭＭの状態は（音声認識用の）音響基準又は（手書き認識用の）代筆基準に対応する。離散又は連続確率密度を含む基準をモデリングするための様々な技術が知られている。
【００３８】
図２に示すワードレベルマッチングシステム２３０は、音声認識ユニットの全シーケンスに対して観測ベクトルを照合し、このベクトルとシーケンスとの間の一致の尤度を与える。サブワードユニットが用いられる場合、サブワードユニットの一致可能性のあるシーケンスを辞典２３４のシーケンスに制限するため、この辞典２３４を用いて照合が制限される。これにより、一致可能性のあるワードシーケンスが減少する結果となる。センテンスレベルマッチングシステム２４０は、照合に当たって他の制限を与える言語モデル（ＬＭ）を用い、その結果、調査された経路は、言語モデルにより特定されるような適切なシーケンスであるワードシーケンスに対応する。この方法では、ユニットマッチングサブシステム２２０の結果は認識されるセンテンス（ＲＳ）である。パターン認識に用いられる言語モデルは、言語及び認識タスクの構文制限及び／又は意味制限２４２を含むことができる。構文制限に基づく言語モデルは、通常、文法２４４と呼ばれる。
【００３９】
同じようなシステムが、手書き認識用に知られている。手書き認識システムに用いられる言語モデルは、ワードシーケンスの特定に加えて又は代わりに、文字シーケンスを特定してもよい。
【００４０】
言語モデルにより用いられる文法２４４は、ワードシーケンスＷ＝ｗ１ｗ２ｗ３…ｗｑの確率を与える。この確率は原理的に以下の式で与えられる。
Ｐ（Ｗ）＝Ｐ（ｗ１）Ｐ（ｗ２｜ｗ１）．Ｐ（ｗ３｜ｗ１ｗ２）…Ｐ（ｗｑ｜ｗ１ｗ２ｗ３…ｗｑ）
【００４１】
実際は、所与の言語の全てのシーケンス長及び全てのワードに対し、条件ワード確率を確実に推定することは不可能であるため、Ｎ−グラムワードモデルが広く用いられる。Ｎ−グラムモデルでは、項Ｐ（ｗｊ｜ｗ１ｗ２ｗ３…ｗｊ−１）はＰ（ｗｊ｜ｗ１−Ｎ＋１…ｗｊ−１）で概算が求められる。実際は、バイグラム（bigram）又はトリグラム（trigram）が用いられる。トリグラムでは、項Ｐ（ｗｊ｜ｗ１ｗ２ｗ３…ｗｊ−１）はＰ（ｗｊ｜ｗ１−２ｗｊ−１）で概算が求められる。自動的にＮ−グラム言語モデルを構築する方法では、単純な相対度数Ｆ（ｗｊ−Ｎ＋１…ｗｊ−１ｗｊ）／Ｆ（ｗｊ−Ｎ＋１…ｗｊ−１）により条件確率Ｐ（ｗｊ｜ｗｊ−Ｎ＋１…ｗｊ−１）を推定する。ここで、Ｆは、所与のテクスチュアルトレーニングコーパスの変数でのストリングの発生数である。信頼できる値を得るためには、Ｆ（ｗｊ−Ｎ＋１…ｗｊ−１ｗｊ）は所与のコーパスにおいてかなり大きくすべきである。
【００４２】
パターン認識のためには、辞書及び辞典の双方が、認識されるテキストを表すワードに基づいていることが望まれる。これは、典型的なテキストを分析し、そのテキストからワードを抜き出し、ワード又はワードシーケンス度数に基づき言語モデルを構築することにより達成される。本発明に係る区分方法は、結合テキストからワードを抜き出すために、有利に用いることができる。パターン認識システムの辞書又は辞典をトレーニングするためには、１つのみのワードシーケンスの出力を与えるだけで十分である。パターン認識システムに用いられる場合は、区分システム１００は、出力ワードシーケンスの新しいワードを辞典１２２に取り入れるための（すなわち、まだワードは辞典１２２には存在しない）更新手段１４０を含むことも好ましい。言語モデルは、例えば、新しいワード又はこの新しいワードを含む新しいワードシーケンスの尤度、及び既知のワード又はワードシーケンスの尤度を反映するために、更新されることも好ましい。
【００４３】
本発明によれば、入力ストリングの分離されたワードシーケンスを表すツリー構造を構築することにより、区分が行われる。もし、辞書が既に区分されるテキストの全てのワードを含んでいれば、原理的には、新しいワードを加える必要はない。結果として、ワードシーケンスは、１つ以上の新しいワードを含むかもしれないし、含まないかもしれない。もし新しいワードを加える必要がある場合は区分はより難しく複雑であるため、テキストが既知のワードを用いるだけで区分することができるかどうかを先ず決定することが好ましい。全体のプロセスは図４に示されている。ステップ４１０では、入力ストリングがテキストコーパス４２０から検索される。先に説明したように、ストリングは、語句、文、又は複数の文のテキストを表すことができる。ステップ４３０では、コーパス全体が既に区分されたかどうかを確認する。もし区分されているのであれば（ストリングは空である）、プロセスはステップ４４０に抜け出る。もし区分されていなければ、ステップ４５０で、テキストは所与の辞典（既知のワードのみ）を用いて区分される。これは、各ノードが既知のワードを表すツリー構造を構築することにより行われることが好ましい。完成していない（ワードシーケンスを表す）ツリーを経由する経路は（既知のワードはストリングの残りの部分と一致していない）、終結する。ステップ４５０については、後から、図５を参照しながらより詳細に説明する。ステップ４６０では、テキストが既知のワードのみで区分されたか否かを検査する。これは、構成されたツリーを経由する少なくとも１つの経路が完成されたか否かを確認することにより、検査することができる（すなわち、経路のエンドノードに対応するワードが、ストリングの終結キャラクタに一致し、更にこのストリングの終結に位置している）。これを実行するために、ストリング全体に一致する経路が発見されるまで、ツリーを経由する経路を追従することができる。好ましくは、ツリーが構成されている間にストリングの終結に到達したとき、この事実は、例えば”ストリングの終結への到達”パラメータとして記憶される。この方法では、経路が完成したか否かを確認することは、まさに、記憶された情報の検査を含んでいる。もしステップ４６０のテストの結果、テキストが区分されたことが示されると、識別されたワードシーケンスはステップ４７０に出力され、ステップ４１０で引き続き処理される。もし、テキストが区分されていないと、プロセスは、ストリングを再度区分するとともに、新たなワードを加えることが可能なステップ４８０に進む。ステップ４８０については、後から、図６を参照しながらより詳細に説明する。ステップ４６０で、既知のワードで区分されたものとして識別されたストリングは、実際、新しいワードを用いて区分することもできる。テキストを読む人間は、新しいワードを含む区分を好むかもしれず、即ち、それら新しいワードを伴うワードシーケンスは、既知のワードを伴う識別されたシーケンスよりも発生しやすそうである。この状況が起きることはまれである。それにもかかわらず、新しいワードでストリングを区分することに限らないでこの状況を処理するためには、ステップ４６０の一部で、任意に、（例えば、Ｎ−グラム言語モデルを用いて）既知のワードシーケンスの尤度を決定することが好ましく、この尤度が所与の閾値以上であればテキストは既知のワードで区分することが可能であると識別され、さもなければ、新しいワードで区分が開始される。
【００４４】
図５は、ストリングを既知のワードのみで区分するときのフローチャートである。本発明によれば、ツリー構造が構築される。原理的には、ツリー構造を構成し表すためにふさわしい技術であれば、いかなる技術が用いられてもよい。図５の例では、ツリーは（ツリーノードを表す）エレメントのリストを用いることにより表され、エレメント（ポインタ）の間（ノード間の経路を表す）をリンクする。この例では、２つのリストが用いられている。終結リストは、一致するワードに対応するエレメントを含み、入力ストリングの終結に一致する。待ちリストは、ストリングに一致するワードに対応するエレメントを含むが、入力ストリングの終結には一致しない。各エレメントは辞書に存在するワードに対応付けられる。この対応は、適切な方法（例えば、ワードをコピーし、そのワードをエレメントのデータ構造に記憶する、又は基準（ポインタ又は番号）を辞書の項目に記憶する）であればいかなる方法でも行うことができる。更に、各エレメントは、入力ストリングの、このエレメントに対応するワードに続く部分に対応付けられる。特別のエレメントはルートエレメントであり、このエレメントは入力ストリング全体に対応し、ワードには対応しない。ルートエレメントは全ての実施可能なワードシーケンスを統合する役割をもつ。実際、個別のルートエレメントを備える必要はない。代わりに、入力ストリングの開始に一致する辞書の各ワードに対して、新しいエレメントを作成することができる。このような作成されたエレメントは、ワードシーケンスの第１エレメントの役割をもつ。ステップ５１０及び５１１には、プロセスのループの初期化が含まれる。ステップ５１０では、ルートエレメントが作成され、入力ストリングがこのルートエレメントに対応付けられる。ステップ５１１では、ルートエレメントは待ちリストに置かれる。ステップ５１２では、待ちリストのエレメントはアクティブエレメントとして選択される（その結果、ルートエレメントは初期アクティブエレメントとして選択される）。ステップ５１２では、作業ストリングがロードされる。待ちリストの現在のアクティブエレメントに対応するストリングは、作業ストリングとして用いられる。入力ストリングは、最初は待ちリストのアクティブエレメントであるルートエレメントに対応しているため、入力ストリング全体が最初に作業ストリングとして用いられる。ループの中のステップ５１４及び５１６では、辞書の全てのワードがこの辞書から連続して検索される。次のワードの検索はステップ５１４で行われる。ステップ５１６では、引き続きワードが検索されたか否かが検査される（全てのワードはまだテストされていない）。もし、ワードが検査されていた場合、ステップ５１８で、ワードが作業ストリングの開始に一致するか否かが確認される。もし、一致していなければ、次のワードが、ステップ５１４で検索される。一致すると、ステップ５２０で新しいエレメントが作成される。このエレメントはワードに結合され（例えば、ワードはこのエレメントに対応して記憶される）、（一致したワードが作業ストリングの開始から除去された後、）作業ストリングの残りの部分にも結合され、親エレメント（即ち、入力ストリングの先行するワードに対応するエレメント）にリンクされる。ルートエレメントは、入力ストリングの開始に一致するワードに対し、この開始ワードに対応するエレメントに対する親エレメントとしての役割を持つ。ステップ５２２では、入力ストリングの終結に到達したか否か（即ち、作業ストリングの残りの部分が空であるか否か）が検査される。もし、入力ストリングの終結に到達した場合、ツリーを経由する経路が終了し、ワードシーケンスが発見される。このシーケンスを容易に検索できることを確実にするため、ステップ５２４において、エレメントは終結リストに記憶される。１つのワードシーケンスを識別することのみで十分なシステムに対しては（最も有りそうとは限らない）、ストリングの終結に一度到達したら、手続きが終了する。もし、ストリングの終結がまだ検索されていなければ、エレメントは待ちリストに記憶される（ステップ５２６）。ストリングの残りの部分は後から区分される。双方の場合において、（作業ストリングの開始と比較しながら）ワードが処理され、ステップ５１４において次のワードが検索される。もし、作業ストリングに対し、辞書の全てのワードがこのストリングの開始と比較されると、ループはステップ５１６を抜ける。ステップ５２８において、待ちリストの中の現在選択されているエレメントは完全に処理されたため、この待ちリストから除去される。取り囲むループにおいて、まだ完全に処理されていない全ての作業ストリングが処理される。このような作業ストリング各々は、待ちリストに置かれたエレメントにより表される。それ故に、ステップ５３０では、待ちリストが空か否かが検査される。空でなければ、ステップ５１２において、待ちリストに置かれた次のエレメントが現在のアクティブエレメントとして選択される。もし、待ちリストが空であれば、（既知のワードのみで区分可能である限り）最初の入力ストリングは完全に区分されている。ステップ５３４では、終結リストが項目を含むか否かが検査される。もし、終結リストが項目を含まなければ、ステップ５３６に進み、既知のワードのみによる区分がうまくいかず、リターンされる。もし終結リストが空でなかったならば、終結リストの各エレメントは、ワードシーケンスを表す。実際、このエレメントはワードシーケンスの最後のワードに対応し、このシーケンスの以前のワードにリンクする。これにより、ステップ５４０において、終結リストのエレメントから始まるリンクしたエレメントをバックトレースすることにより、ワードシーケンスの検索が可能となる。全ての識別されたワードシーケンスをリターンしない場合は、ステップ５３８において、自由に１つ以上のワードシーケンスが選択され、ステップ５４２においてリターンされる。この選択は経路の尤度に基づいていることが好ましい。この目的のため、統計的Ｎ−グラム言語モデルが最も適切なワードシーケンスの決定に用いられることが有利である。もし、特別に、パターン認識システムの辞典及び／又は言語モデルを改良して区分が行われる場合、既に存在する言語モデルを用いることができる。（例えば、１００００を終える）大きな語彙パターン認識システム用には、バイグラム又はトリグラムモデルを用いることが好ましい。
【００４５】
本発明によれば、もし所定の基準を満たせば、異なる長さの複数の新しいワードがツリー構造に加えられる。ある実施例では、当該経路に対応するワードシーケンスが入力ストリング全体に一致しない前記経路の１つ以上のエンドノードに、新しいワードが加えられる。図５に示されているような方法は、基本ツリー構造を構築するために用いることができる。もし、例えば、後に既知のワードを用いて適切な区分が発見されない場合、ツリーを経由する経路をたどり、経路のエンドノードが入力ストリングの終結に対応するか否か（即ち、ワードは一致し、区分は入力ストリングの終結に到達するか否か）を確認することにより、新しいワードが加えられる必要があるノードを簡単に配置することができる。図５の技術を用いると、エレメント間でダブルリンクを維持することができ、１つは、（前と同じように）子エレメントを親エレメントにリンクするためのリンク、もう１つは、親エレメントを子エレメントにリンクするためのリンクである。この方法では、経路は、ルートから開始するツリーを経由してたどることができる。経路のエンドノードに対して、経路のエンドノードが終結リストにあるか否かの検査を行うことができる。もし、経路のエンドノードが終結リストに無ければ、新しいワードがこのエンドノードに加えられる。ツリーを経由する経路をトレースする代わりに、エンドノードに対応するするストリングが空ではない（即ち、既知のワードは入力ストリングの残りの部分の開始に一致しない）経路のエンドノードを表す第３のリストが導入されてもよい。これは、ステップ５２８で、少なくとも１つ一致しているものが見つかったか否かを確認することにより達成される。もし見つからなければ、エレメントは待ちリストから、不完全な区分を表す第３のリストに置かれる。一旦ノードが配置されたら、図６を参照しながら後により詳細に記載されているように、新しいワードが作成され、ツリーにエレメントとして表されることができる。エレメントを待ちリストに置くことにより、既知のワード区分用の図５に記載された方法と同じ方法で、ツリーの残りの部分を作成することできる。
【００４６】
図６は、入力ストリングを区分するのに好ましい方法を示す。この実施例では、既知のワードの識別及び新しいワードを加えることが、一度に行われる。図５の同じ項目に対応する項目は、図５に用いられいる番号と同じ番号を用いて示されている。これらの項目については更に詳細に記載してはいない。もし、ステップ５１６の後、全てのワードが作業ストリングの開始に対して一致していたら、ステップ６１０において、新しいワードが加えられる必要があるか否かを決定するために、所定の条件が用いられる。もし、新しいワードが加えられる必要がある場合、ステップ６１２において、新しいワードの長さが初期化される（例えば１）。ステップ６１４において、ストリングの開始からキャラクタの長さをコピーすることにより、その長さのワードが作成される。ステップ５２０，５２２，５２４及び５２６について記載したのと同じ方法で、ステップ６１６において、対応するエレメントが作成され、ワード、親ノード及びストリングの残りの部分に対応付けられる。エレメントは、ストリングの終結に到達しているか否かによって、待ちリスト（ステップ６２２）又は終結リスト（ステップ６２０）に存在する。ステップ６２４では、最大長Ｋまでの全ての必要な新しいワードが作成されたか否かが検査される。ここで、Ｋは少なくとも２である。もし、作成されていない場合、ステップ６２６において、その長さが増加され、ステップ６１４において、新しいワードが作成される。もし、全ての新しいワードが作成された場合、ステップ５２８を伴う図５で説明したような処理が行われる。アジアの言語に対しては、Ｋは３と６との間に選択されることが好ましい。もし、これによって区分がうまくいかなければ、Ｋを増加することが有利である。
【００４７】
本発明の実施例では、ステップ６１０でテストされた条件は、何個のワードが、作業ストリングの開始に一致しているかである。これは、ステップ５１２又は５１３の一部でリセットされるステップ５２０でカウントを増加することにより実行することができる。もし一致ワードの数が閾値以下であれば、そのときは、新しいワードが加えられる。新しいワードがいくつ加えられるかは、発見される一致ワードの数に依存し、もしほとんど一致ワードが発見されなければ、更に新しいワードが加えられることが好ましい。極端な例として、閾値が１の場合、もし、存在する辞書の単一ワードが、ノードに対応する作業ストリングの開始に一致していないと、ツリーのノードに新しいワードが付加される結果となる。
【００４８】
代わりの実施例では、条件は既に経路にある新しいワードの数に基づく。これは、新しいワードが経路に挿入される各時刻でカウントを増加し、このカウントを経路の終結エレメントに対応付けることにより実行される。もし、経路が２つ又は３つの新しいワードを経路に含んでいる場合、新しいワードは経路に加えられないことが好ましい。しかしながら、もし、この方法において、区分がうまくいかなければ、経路の中で許容できる新しいワードの数を増加させてもよい。
【００４９】
代わりの実施例では、条件はワードシーケンス（及びツリーを経由する対応する経路）の尤度に基づく。各ワードシーケンスの尤度は、対応する経路が作成されているとして計算されることが好ましい。積算された値は経路の終結エレメントに対応して記憶することができる。もし、ステップ６１０のテストの一部として、尤度が閾値以下であれば、経路はもはや拡張されない。新しいワードはこれ以上経路に加えられない。尤度の閾値は、相対的なランクを確保するために、動的に設定されることが有利である。もし、既に１つ以上のシーケンスが（計算された尤度で）識別されていたら、シーケンスがより高く又は同じような尤度を有する限りは、他のシーケンスは処理されるだけである。新しいワードは比較的小さい尤度が与えられることが好ましく、この尤度は新しいワードの長さに依存してもよい。この方法では、ワードシーケンスの尤度はシーケンスの新しいワードの数に伴い減少する。あらゆる適切な尤度の計算を行うことができる。新しいワードの尤度の値は、以下のようであることが好ましい。
未知のワード値＝penalty＋weight＊[min_unigram＊char_no＊unigram_weight＋Length_prob＊length_weight]，ここで、
−penaltyは、全ての新しいワードに対する固定ペナルティ値
−weightは、新しいワードスコアに対する全体の重付け要素
−min_unigramは、全ての既知のワードの最小発生度数（ユニグラムモデル）
−char_noは、新しいワードのキャラクタの数
−unigram_weightは、ユニグラムスコアに対する局所的重付け要素
−length_probは、この長さのワードの確率（長さ分布確率）
−length_weightは、長さ確率に対する局所的重付け要素
ペナルティ及び重付けパラメータは、確実に、新しいワードを既知のワードよりも低い値にする。
【００５０】
本発明に係る他の実施例では、もしステップ６１０において、ワードが作業ストリングの開始に一致しないことが決定した場合、そのときは、これは、初期の段階で、誤った区分が生じたかもしれないという指示として見られる。例えば、一致する既知のワードが存在したが、実際はキャラクタが新しいワードの一部であった等である。この目的のため、ツリーは、好ましくは１つのステップでバックトレースされ、１つ以上の新しいワードがバックトレースの間に配置されたノードに加えられる。もし新しいワードが既に加えられていたら、これらワードは明らかに加えられない。もしある位置で、既知のワードと幾つか一致していることが既に発見されても、新しいワードが加えられる必要はない。後者の場合、これらのワードの少なくとも１つが正常なシーケンスへと続く。
【図面の簡単な説明】
【図１】  本発明のシステムのブロック図を示す。
【図２】  音声認識システムのブロック図を示す。
【図３】  ワード又はサブワードユニットをモデリングするための隠れマルコフモデルを示す。
【図４】  既知のワードのみ及び新しいワードで区分する２つのステップによる方法のフローを示す図である。
【図５】  既知のワードでツリーに基づいた区分を行うフローを示す図である。
【図６】  新しいワードでツリーに基づいた区分を行うフローを示す図である。
【符号の説明】
１００  システム
１１０  入力手段
１２０  識別手段
１２２，２３４  辞典
１２４  言語モデル
１３０  出力手段
１４０  更新手段
２００  連続音声認識システム
２１０  スペクトル分析サブシステム
２２０  ユニットマッチングシステム
２３０  ワードレベルマッチングシステム
２３２  サブワードモデル
２３６  ワードモデル構成部
２４０  センテンスレベルマッチングシステム
２４２  意味制限
２４４  文法
３０１，３０２，３０３，３１０，３５１，３５２，３５３，３５４，３６１，３６４，３７１，３７４  音響基準
３６０，３６０，３７０  サブワードモデル
【図１】
0004302326.tif 000002
【図２】
0004302326.tif 000003
【図３】
0004302326.tif 000004
【図４】
0004302326.tif 000005
【図５】
0004302326.tif 000006
【図６】
0004302326.tif 000007