(57)【要約】規則に基づいた分類子および隠れマルコフモデルを使用して、中国語、日本語、韓国語のような非ローマ語に基づいた単語に対するスペルミスを処理および修正するシステム、方法が開示される。該方法は、概して中国語のような第一言語での入力エントリーを、第一言語とは異なるピンインのような中間表現での少なくとも一つの中間エントリーに変換する工程と、中間エントリーを第一言語での入力の少なくとも一つの可能性のある代替のスペルまたは形式に変換する工程と、入力エントリーと入力エントリーに対する全ての可能性のある代替のスペルとの間での一致が特定されたまたはされない場合、入力エントリーが正確な入力エントリーと疑わしい入力エントリーのうちの何れかであることをそれぞれ決定する工程とを含む。疑わしい入力エントリーは、例えば、変換規則生成器により生成される変換規則に基づいて、変換規則に基づいた分類子を使用して分類され得る。
2008504605.tif 000002
【特許請求の範囲】
【請求項１】
第一言語における入力エントリーを受信することと、
前記入力エントリーを、前記第一言語とは異なる中間表現における少なくとも一つの中間エントリーに変換することと、
前記中間エントリーを、前記第一言語における前記入力エントリーの少なくとも一つの可能性のある代替形式に変換することと、
一致を特定するために、前記入力エントリーを前記入力エントリーの少なくとも一つの可能性のある代替形式と比較することと、
前記比較することに基づいて、前記入力エントリーが疑わしい入力エントリーであることを決定することと
を包含する、方法。
【請求項２】
前記中間エントリーは、前記第一言語における前記入力エントリーの複数の可能性のある代替形式へ変換され、
前記比較することは、前記入力エントリーを前記第一言語における前記入力エントリーのそれぞれの可能性のある代替物と比較することを含み、
前記決定することは、一致が前記可能性のある全ての代替形式から特定されない場合、前記入力エントリーは疑わしい入力エントリーであると決定し、一致が特定された場合、前記入力エントリーは正確な入力エントリーであると決定することを含む、請求項１に記載の方法。
【請求項３】
前記第一言語は非ローマ語に基づいた言語である、請求項１に記載の方法。
【請求項４】
前記第一言語は中国語であり、前記中間表現はピンインである、請求項１に記載の方法。
【請求項５】
前記入力エントリーはクエリーログ内のユーザークエリーである、請求項１に記載の方法。
【請求項６】
前記受信することは、複数の入力エントリーを受信することを含む、請求項１に記載の方法。
【請求項７】
一組の規則に基づいて、正確にスペルされたエントリーと不正確にスペルされたエントリーとのうちの一つとして、前記疑わしいエントリーを分類することをさらに含む、請求項１に記載の方法。
【請求項８】
前記分類することは、変換規則に基づく分類子により実行される、請求項７に記載の方法。
【請求項９】
前記規則はスペル修正変換規則であり、
前記疑わしい入力エントリーと前記少なくとも一つの可能性のある代替形式とを使用する変換規則生成器を使用して、前記スペル修正変換規則を生成および訓練することをさらに備える、請求項７に記載の方法。
【請求項１０】
前記スペル修正変換規則を生成および訓練することは、疑わしい入力エントリーのデータベースを使用して自動的に実行される、請求項９に記載の方法。
【請求項１１】
前記分類することは、自動監視と手動監視とのうちの少なくとも一つにより実行される、請求項７に記載の方法。
【請求項１２】
前記第一言語においてユーザー入力を受信することと、
前記規則の何れかが前記ユーザー入力に適用されるか否かを決定することと、
少なくとも一つの規則が前記ユーザー入力に適用されることを決定した後に、前記ユーザー入力に対応する、前記第一言語における少なくとも一つの代替形式を生成することと、
前記ユーザー入力の可能性と、前記ユーザー入力の少なくとも一つの代替形式の可能性とを比較することと、
前記ユーザー入力よりも高い可能性を有する前記ユーザー入力の少なくとも一つの代替形式を用いて、スペル修正提案とスペル修正とのうちの少なくとも一つを行なうことと
をさらに含む、請求項７に記載の方法。
【請求項１３】
ユーザー入力と代替のスペルとの特定の規定された組み合わせに対して、スペル修正提案またはスペル修正を行なうことを許可しない停止規則パターンのユーザー編集可能なテーブルを維持することをさらに含む、請求項１２に記載の方法。
【請求項１４】
第一言語における入力を、前記第一言語とは異なる中間表現における少なくとも一つの中間エントリーに変換するように構成された第一変換器と、
前記中間エントリーを、前記第一言語における入力の少なくとも一つの可能性のある代替のスペルに変換するように構成された第二変換器と、
前記入力エントリーを、一致を特定するために少なくとも一つの可能性のある代替のスペルと比較するように構成された比較器であって、前記比較に基づいて前記入力エントリーが疑わしい入力エントリーであるかどうかを決定するようさらに構成されている、比較器と
を備える、システム。
【請求項１５】
前記第二変換器は、前記中間エントリーを前記第一言語における前記入力エントリーの複数の可能性のある代替形式へ変換するように構成されており、
前記比較器は、前記入力エントリーを前記第一言語における前記入力エントリーの前記少なくとも一つの可能性のある代替物のそれぞれと比較するように構成されており、また、一致が全ての前記可能性のある代替形式から特定されない場合、前記入力エントリーは疑わしい入力エントリーであると決定し、一致が特定された場合、前記入力エントリーは正確な入力エントリーであと決定するように構成されている、請求項１４に記載のシステム。
【請求項１６】
前記第一言語は非ローマ語に基づいた言語である、請求項１４に記載のシステム。
【請求項１７】
前記第一言語は中国語であり、前記中間表現はピンインである、請求項１４に記載のシステム。
【請求項１８】
前記入力エントリーはクエリーログ内のユーザークエリーである、請求項１４に記載のシステム。
【請求項１９】
一組の規則に基づいて、正確にスペルされたエントリーと不正確にスペルされたエントリーとのうちの一つとして、前記疑わしいエントリーを分類するように構成された分類子をさらに備える、請求項１４に記載のシステム。
【請求項２０】
前記分類子は変換規則に基づく分類子である、請求項１９に記載のシステム。
【請求項２１】
前記分類子の前記規則はスペル修正変換規則であり、前記分類子は、前記第一言語における前記入力の前記疑わしい入力エントリーと、前記少なくとも一つの可能性のある代替のスペルとを使用する前記スペル修正変換規則を生成する変換規則生成器をさらに含む、請求項１９に記載のシステム。
【請求項２２】
前記変換規則生成器は、疑わしい入力エントリーのデータベースを使用して、前記変換規則を自動的に生成する、請求項２１に記載のシステム。
【請求項２３】
前記分類子は自動監視と手動監視とのうちの少なくとも一つを実行する、請求項１９に記載のシステム。
【請求項２４】
前記規則の何れかがユーザー入力に適用されるかどうか決定するように構成された検出器と、
少なくとも一つの規則が前記ユーザー入力に適用されることを決定した後に、前記第一言語における前記ユーザー入力の少なくとも一つの代替のスペルを生成するように構成された生成器と、
前記ユーザー入力の可能性と、前記ユーザー入力の少なくとも一つの代替のスペルの可能性とを比較するように構成された比較器と、
前記ユーザー入力よりも高い可能性を有する前記ユーザー入力のうちの少なくとも一つの代替のスペルを用いて、スペル修正提案とスペル修正とのうちの少なくとも一つを行なうように構成された修正器と
をさらに備える、請求項１９に記載のシステム。
【請求項２５】
ユーザー入力と代替のスペルとの特定の規定された組み合わせに対して、前記修正器がスペル修正提案またはスペル修正を行なうことを許可しないカスタマイズ可能な停止規則パターンテーブルをさらに備える、請求項２４に記載のシステム。
【請求項２６】
コンピュータシステムと協働して用いるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータプロセッサ上で実行可能な命令を記憶するコンピュータ可読記憶媒体を備え、前記命令は、
第一言語において入力エントリーを受信することと、
前記入力エントリーを、前記第一言語とは異なる中間表現における少なくとも一つの中間エントリーに変換することと、
前記中間エントリーを、前記第一言語における前記入力エントリーの少なくとも一つの可能性のある代替形式に変換することと、
前記入力エントリーを、一致を特定するために前記入力エントリーの少なくとも一つの可能性のある代替形式と比較することと、
前記比較することに基づいて前記入力エントリーが疑わしい入力エントリーであることを決定することと
を包含する、コンピュータプログラム製品。
【請求項２７】
前記中間エントリーは、前記第一言語における前記入力エントリーの複数の可能性のある代替形式へ変換され、
前記比較することは、前記入力エントリーを、前記第一言語における前記入力エントリーのそれぞれの可能性のある代替物と比較することを含み、
前記決定することは、一致が全ての前記可能性のある代替形式から特定されない場合、前記入力エントリーは疑わしい入力エントリーであると決定し、一致が特定された場合、前記入力エントリーは正確な入力エントリーであると決定することを含む、請求項２６に記載のコンピュータプログラム製品。
【請求項２８】
前記第一言語は非ローマ語に基づいた言語である、請求項２６に記載のコンピュータプログラム製品。
【請求項２９】
前記第一言語は中国語であり、前記中間表現はピンインである、請求項２６に記載のコンピュータプログラム製品。
【請求項３０】
前記入力エントリーはクエリーログ内のユーザークエリーである、請求項２６に記載のコンピュータプログラム製品。
【請求項３１】
前記受信することは複数の入力エントリーを受信することを含む、請求項２６に記載のコンピュータプログラム製品。
【請求項３２】
前記コンピュータプログラム製品は、ツールバー内のクライアントサイトにインプリメンとされる、請求項２６に記載のコンピュータプログラム製品。
【請求項３３】
前記命令は、
一組の規則に基づいて、正確にスペルされたものと、不正確にスペルされたものとのうちの一つとして、前記疑わしいエントリーを分類することをさらに含む、請求項２６に記載のコンピュータプログラム製品。
【請求項３４】
前記分類することは変換規則に基づいた分類である、請求項３３に記載のコンピュータプログラム製品。
【請求項３５】
前記規則はスペル修正変換規則であり、前記命令は、
前記疑わしい入力エントリーと前記少なくとも一つの可能性のある代替形式とを使用する変換規則生成器を用いて、前記スペル修正変換規則を生成および訓練することをさらに含む、請求項３３に記載のコンピュータプログラム製品。
【請求項３６】
前記スペル修正変換規則は、疑わしい入力エントリーのデータベースを使用して自動的に生成される、請求項３５に記載のコンピュータプログラム製品。
【請求項３７】
前記分類することは、自動監視と手動監視とのうちの少なくとも一つで実行される、請求項３３に記載のコンピュータプログラム製品。
【請求項３８】
前記命令は、
前記第一言語においてユーザー入力を受信することと、
前記規則の何れかが前記ユーザー入力に適用されることかどうか決定することと、
少なくとも一つの規則が前記ユーザー入力に適用されると決定した後に、前記ユーザー入力に対応する前記第一言語における少なくとも一つの代替形式を生成することと、
前記ユーザー入力の可能性と前記ユーザー入力の少なくとも一つの代替形式の可能性とを比較することと、
前記ユーザー入力よりも高い可能性を有する前記ユーザー入力の少なくとも一つの代替形式を使用して、スペル修正提案とスペル修正とのうちの少なくとも一つを行なうことと
をさらに含む、請求項３３に記載のコンピュータプログラム製品。
【請求項３９】
前記命令は、
ユーザー入力と代替形式との特定の規定された組み合わせに対して、スペル修正提案またはスペル修正を行なうことを許可しない停止規則パターンのユーザーが編集可能なテーブルを維持することをさらに含む、請求項３８に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に非ローマ語に基づく言語を処理することに関する。より具体的には、規則に基づいた分類子および隠れマルコフモデルを使用して、中国語、日本語および韓国語のような非ローマ語に基づいた単語に対するスペルミスを処理および修正するシステムおよび方法が開示される。
【背景技術】
【０００２】
スペル修正は一般に誤りのある単語を検出すること、および誤りのある単語に対して適切な置換を決定することを含む。英語のようなアルファベットのすなわちローマ語に基づく言語での大多数のスペルミスは、用語集の単語以外であるか（例えば、「ｔｈａｎ」ではなく「ｔｈｎａ」）、または前後関係で不適切に使用される有効な単語である（例えば、「ｓｔｒａｎｇｅｒ  ｔｈａｎ」ではなく「ｓｔｒａｎｇｅｒ  ｔｈｅｎ」）。ローマ語に基づく言語での用語集のスペルエラーの中から検出および修正するスペルチェッカーは周知である。
【０００３】
しかしながら、中国語、日本語および韓国語（ＣＪＫ）のような非ローマ語に基づく言語には、大多数のスペルミスが用語集以外のスペルミスよりもむしろ前後関係で不適切に使用される有効な単語であるように、任意のコンピュータの文字コード系（例えば、ＵＴＦ―８）にコード化される無効な文字はない。中国語では、単語の正確な使用は一般的に前後関係のみで決定され得る。従って、非ローマ語に基づく言語のための効果的なスペルチェッカーは、前後関係でどの文字および／または単語が適切でないか決定するために、文脈情報を使用するべきである。
【０００４】
ＣＪＫ言語のような非ローマ語言語のためのスペル修正は、ＣＪＫ単語の定義は明確ではないため、そのような言語では標準的な辞典がない点において複雑でありまた挑戦的でもある。例えば、いくつかは中国語で「北京市」を二語と見なし得る一方で、その他はそれを一語と見なし得る。それにひきかえ、英語の辞典／単語リストの特定は、英語のスペル修正での重要な特色である。従って、英語のスペル修正方法はＣＪＫ言語の使用に簡単に適用できない。さらに、英語での２６文字と対照的に、一般に使用される漢字は数千ある。従って、全ての代替物により非合法的な中国語の単語中の不正確な文字を置換すること、またその後新しく作られた単語が適切であることを決定することは非現実的となる。さらに、中国語は、あいまいさを生み出す、また効率的および効果的な中国語のスペル修正をインプリメントするのに複雑および困難にもする、目に見えない（または隠された）単語の境界と同様に多量の同形異義語および同音異義語を有している。中国語と英語のこのような違いから明白であるように、英語のスペル修正に利用できる多くの効率的な技法は中国語のスペル修正には適切ではない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、中国語、日本語および韓国語のような非ローマ語におけるスペルエラーの効果的、効率的および正確な検出および修正をするためのコンピュータシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００６】
規則に基づいた分類子および隠れマルコフモデルを使用して、中国語、日本語および韓国語のような非ローマ語に基づいた言語に対するスペルミスを処理および修正するシステムおよび方法が開示されている。具体的には、前記システムおよび方法は変換規則、隠れマルコフモデルおよび混乱させるような文字の類似行列を使用する。中国語スペルチェックアプリケーションでは、一対の混乱させるような文字間の前記類似は、前記文字が同じ発音を有する、および／または簡体字または繁体字中国語でのいくつかの入力キーストロークを共有する場合は、正の数であってもよい。それ以外の場合では、値は零である。一つの実施では、前記類似はブール値、例えば、１は一対の混乱させるような文字、また０は一対の混乱させない文字、を有していてもよい。前記システムと方法はとりわけ、例えば、ツールバーまたはデスクバーに実装される、クライアントサイトで、ウェブに基づく検索エンジンおよびダウンロード可能性のあるアプリケーションに適用できるが、その他の様々なアプリケーションに適用できる。本発明は、プロセス、器具、システム、装置、方法、またはプログラム命令が光回線または電子通信回線上で送信されるコンピュータ可読の記憶媒体またはコンピュータネットワークのようなコンピュータ可読の媒体を含み、多数の手段で実行できることが理解されるべきである。用語コンピュータとは一般に、携帯情報端末（ＰＤＡ）、携帯電話およびネットワークスイッチのような計算能力を持ついかなる装置をもいう。本発明の独創的な実施形態がいくつか以下に説明されている。
【０００７】
前記方法は一般に、中国語のような第一言語での入力エントリーを第一言語とは異なるピンインのような中間表現での少なくとも一つの中間エントリーに変換すること、前記中間エントリーを前記第一言語での入力の少なくとも一つの可能性のある代替のスペルに変換すること、および前記入力エントリーと前記入力エントリーに対する全ての可能性のある代替のスペル間での一致がそれぞれ特定されたまたはされない場合、前記入力エントリーが正確な入力エントリーかまたは疑わしい入力エントリーであることを決定することを含む。本発明においては、「ピンイン」とは、注音符号（ボポモフォ）、すなわち「注釈音声の表記法」を含む、簡体字または繁体字中国語のための全ての音声表記法をいう。前記第一言語での混乱させるような文字の対の間の類似は、中間表現での共通のトークン信号に従い定義できる。前記疑わしい入力エントリーは、例えば、変換規則生成器により生成される変換規則に基づいて、変換規則に基づいた分類子を使用して分類されてもよい。決定ツリーおよびニューラルネットワーク分類子などのその他の様々な分類子は同様に採用されてもよい。
【０００８】
前記変換は、クエリーログ中のユーザークエリーのような複数の入力エントリーを変換することを含んでもよい。前記方法はさらに、例えば、変換規則に基づく分類子により、スペル修正変換規則のような一組の規則に基づいて正確にスペルされたエントリーまたは誤ってスペルされたエントリーとして前記疑わしいエントリーを分類することを含んでもよい。ユーザーの投票、例えば、クエリーログおよび／またはウェブページは、前記変換規則を生成するために好ましくは使用される。前記方法は前記疑わしい入力エントリーおよび前記可能性のある代替のスペルを使用する変換規則生成器を使用して、前記スペル修正変換規則を生成および訓練することも含んでもよい。前記方法はさらに、前記第一言語でユーザー入力を受信すること、前記規則の何れかが前記ユーザー入力に適合することを決定すること、少なくとも一つの規則が前記ユーザー入力に適合することを決定した後に、前記ユーザー入力に対応する前記第一言語での少なくとも一つの代替のスペルを生成すること、前記ユーザー入力についての可能性と前記ユーザー入力の少なくとも一つの代替のスペルについての可能性を比較することと、前記ユーザー入力よりも高い可能性を有する前記ユーザー入力の少なくとも一つの代替のスペルを伴うスペル修正提案およびスペル修正をすることを含んでもよい。
【０００９】
システムは一般に、第一言語での入力を前記入力エントリーの少なくとも一つの中間表現（前記中間表現は前記第一言語と異なる）に、変換するように構成された第一変換器、および前記可能性のある代替のスペルを前記入力エントリーと比較することにより一致を特定し、一致が全ての可能性のある代替のスペルから特定されない場合、前記入力エントリーは疑わしい入力エントリーであると決定、また一致が特定された場合、前記入力エントリーは正確な入力エントリーであると決定し、前記中間表現を前記第一言語での入力の少なくとも一つの可能性のある代替のスペルに変換するように構成された第二変換器を含む。
【００１０】
コンピュータシステムと協働して用いるコンピュータプログラム製品であって、前記コンピュータプログラム製品はコンピュータプロセッサ上で実行可能性のある命令を記憶するコンピュータ可読の記憶媒体を有し、前記命令は一般に、第一言語での入力エントリーを受信すること、前記入力エントリーを前記入力エントリーの少なくとも一つの中間表現に変換すること、前記中間表現は前記第一言語と異なるが、前記中間表現を前記第一言語での少なくとも一つの可能性のある代替のスペルに変換すること、少なくとも一つの可能性のある代替のスペルを前記入力エントリーと比較することにより一致を特定すること、また一致が全ての可能性のある代替のスペルから特定されない場合、前記入力エントリーは疑わしい入力エントリーであると決定し、また一致が特定された場合、前記入力エントリーは正確な入力エントリーであると決定することを含む。
【００１１】
前記システムおよび方法をインプリメントするアプリケーションは、文書に入力するテキストにスペル修正を行なうために、または検索エンジンのようなリモートサーバーとインターフェースをとるために、検索エンジンのようなサーバーサイト上でインプリメントされてもよく、または、例えば、ダウンロードされた、ユーザーのコンピュータのようなクライアントサイト上でインプリメントされてもよい。前記クライアントサイトのアプリケーションは任意で、例えば、ＸがＺの先に来るまたは後に来る場合を除きＸおよびＹを絶対に置換しないなど、特定のスペル修正を許可しないことを指示することにより、前記ユーザーが前記アプリケーションをカスタマイズすることを可能にするユーザーが編集できる停止規則パターンテーブルを含んでもよい。
【００１２】
本発明のこれらおよびその他の特徴および長所は、以下の詳細な説明および本発明における例示的な実施形態を介して説明する添付の図でさらに詳しく提示される。
【００１３】
本発明は、類似する参照数番号が類似する構造要素を指定する添付の図面とともに、以下の詳細な説明によって容易に理解される。
【発明を実施するための最良の形態】
【００１４】
規則に基づいた分類子および隠れマルコフモデルを使用して、中国語、日本語および韓国語のような非ローマ語に基づいた単語に対するスペルミスを処理および修正するシステムおよび方法が開示されている。明確にするだけの目的で、ここで提示されている例は中国語のスペルエラー検出および修正、より具体的には、簡体字中国語のスペルエラー検出および修正に適用可能である。しかしながら、スペルエラー検出および修正のための前記システムおよび方法は同様に、繁体字中国語、日本語、韓国語、タイ語などのような他の非ローマ語に基づく言語に適用可能であり得る。以下の説明は、当業者であれば誰でも本発明を作りまた使用することが出来るように示されている。具体的な実施形態およびアプリケーションの説明は、実例としてのみ提供される。様々な改良は当業者にとって容易に明白となる。本明細書で定義される一般的な原理は、本発明の精神および範囲を逸脱することなく、その他の実施形態およびアプリケーションに適用され得る。従って、本発明は、本明細書で開示されている原理および特徴と一致する多数の代替物、改良および相当物を網羅する最も幅広い範囲を与えるものである。明確にする目的で、本発明に関連して当該技術分野において知られている技術上の資材に関する詳細は、本発明を不必要に分かりにくくしないために、詳細には説明されていない。
【００１５】
本明細書で説明されているシステムおよび方法は、一般に、入力エントリーから生成されるスペル修正変換規則を使用して、非ローマ語の言語でのスペルエラーを処理および修正することに関連している。本明細書では、「スペル」という用語は、前後関係で不適切に使用される有効な文字または単語と同様に、語彙の文字または単語以外であることどちらも指す。さらに、入力の代替のスペルまたは代替形式という用語は、本明細書において、入力が単一文字または単語、一連または一固まりの文字および／または単語、句、文などであろうとなかろうと、前記入力とは異なるが同じ言語である代替の組の文字または／および単語を指すために使用される。疑わしい入力エントリーは入力エントリーから識別され、また可能性のある代替のスペルは、図１で示される疑わしい入力エントリー検出器によって生成される。入力の時に疑わしい入力エントリー検出器から出る疑わしい入力エントリーおよび可能性のある代替のスペルを使用して、スペル修正変換規則はその後生成および訓練され（ｔｒａｉｎ）、疑わしいエントリーは、図２に示すように変換規則生成器および分類子によって、正確であるか、または不正確であるとして分類されている。前記システムおよび方法は変換規則、隠れマルコフモデルおよび混乱させるような文字の類似行列を使用する。中国語のアプリケーションでは、一対の混乱させるような文字間の類似度は、文字が同じ発音を有する、および／または簡体字または繁体字中国語でのいくつかの入力キーストロークを共有する場合は、正の数であり得る。それ以外の場合、値は零である。一つのインプリメンテーションでは、類似度はブール値（例えば、１は一対の混乱させるような文字、また０は一対の混乱させない文字）を有し得る。訓練された一組のスペル修正変換規則を使用して、スペルエラーを識別し、提案されたスペル修正を生成するプロセスを図４のフローチャートに示す。従って、変換規則を訓練するための一組の入力を使用して、最もよく起こるスペルエラーおよび修正は、スペルチェックおよび修正システムの効率および効果を高めるために決定および処理され得る。
【００１６】
図１は、疑わしいオリジナルの入力を識別するために、また疑わしいオリジナルの入力に対する可能性のある代替のスペルを決定するために、例えば、簡体字中国語のピンインのような中間形式への、または中間形式からの、順方向および逆方向の変換を実行するための例示的な疑わしい入力エントリー検出器１００のブロック図である。図１に示される疑わしい入力エントリー検出器１００は、ピンインが簡体字中国語ではよく使われる入力方法であるという都合のよい事実を使用する。しかしながら、ローマ語に基づくまたは非ローマ語に基づくその他のどのような中間形式もインプリメントおよび利用され得る。同様に、疑わしい入力エントリー検出器１００は、様々なその他の非ローマ語に基づく言語とともに使用するために適合され得る。
【００１７】
図１に示すように、単語ピンイン変換器１０４は、中国語文字でのそれぞれのオリジナルのエントリー１０２を、オリジナルのエントリー１０２に対応する一つ以上の発音またはピンイン１０６に変換する。ピンイン単語変換器１０８は、その後ピンイン１０６を中国語の文字での可能性のあるスペル１１０に変換する。第一言語でのテキストを中間表現に変換、そしてその後第一言語に戻すためのその他の適切な変換器１０４、１０６が採用され得る。ピンインはただ単に中国語または簡体字中国語のための都合のよい中間表現に過ぎない。比較器１１２は、オリジナルの入力１０２と、可能性のあるスペル１１０を、第一言語で、および一致することを決定するために比較する。オリジナルのエントリー１０２がピンイン単語変換１０８により出力される、可能性のあるスペル１１０のうちの一つに一致する場合、オリジナルのエントリー１０２は正確にスペルされた１１４と一致すると見なされる。しかしながら、オリジナルのエントリー１０２がピンイン単語変換１０８により出力される、どの可能性のあるスペル１１０に一致しない場合、オリジナルのエントリー１０２は疑わしいエントリー１１６（すなわち不正確であり得るもの）となる。
【００１８】
ピンインは簡体字中国語の文字を入力するために主に使用される音声入力方法である。本明細書で参照される場合、ピンインは一般に、中国語の文字に関連する音の表現の有無を問わず、中国語の文字の音声表現を指す。とりわけ、「ピンイン」は、注音符号（ボポモフォ）、すなわち「注釈音の表記法」を含む、簡体字または繁体字中国語のための全ての音声表記法を指す。
【００１９】
ピンインはローマ字を使用し、複数の音節単語の形で挙げられる語彙を有する。中国語は多数の同形異義語および同音異義語を有するために、それぞれのオリジナルのエントリー１０２は単語ピンイン１０４により複数のピンイン１０６に変換され得、同様に、それぞれのピンイン１０６はピンイン変換器１０８により中国語の文字１１０での複数の可能性のあるスペルに変換され得る。とりわけ、数万ある中国語の文字（漢字）を表現するトーンを含み異なる音声音節（ピンインにより表現されるように）は約１，３００のみ、またトーンを含まない音声音節は約４００のみしかないので、一つの音声音節（トーンを含む、含まないを問わず）は多くの異なる漢字に対応し得る。例えば、マンダリンでの「ｙｉ」の発音は１００を超える漢字に対応し得る。従って、それぞれのオリジナルのエントリー１０２をピンイン１０６に変換し、その後中国語の文字１１０に戻すという、単語ピンイン変換器１０４およびピンイン単語変換器１０８によりインプリメントされるプロセスは、同形異義語および／または同音意義語である単語が中国語では大部分を占めることを考慮に入れれば重要なことであり得る。
【００２０】
本明細書で説明されるシステムおよび方法は、変換規則、隠れマルコフモデルおよび混乱させるような文字の類似行列を使用する。中国語のアプリケーションでは、一対の混乱させるような文字間の類似度は、文字が同じ発音を有する、同様の入力キーストロークを共有する、および／または同様にスペルされる、すなわち視覚的に同様である場合は、正の数であり得る。それ以外の場合では、値は零である。一つのインプリメンテーションでは、類似度はブール値（例えば、１は一対の混乱させるような文字、また０は一対の混乱させない文字）を有し得る。第一言語での混乱させるような文字の対間の類似度は、中間表現での共通のトークン信号に従って定義され得る。
【００２１】
中国語の単語をピンインに変換、またピンインを中国語の単語に変換する様々な適切なメカニズムがインプリメントされ得る。例えば、様々なデコーダはピンインを漢字（中国語の文字）に翻訳するのに適している。一実施形態では、隠れマルコフモデルを使用するビタビデコーダがインプリメントされ得る。隠れマルコフモデルのための訓練は、例えば、経験によるカウントをまとめることにより、または予想をコンピュータで計算し、また反復最大化プロセスを実行することにより達成され得る。ビタビアルゴリズムは、マルコフコミュニケーションチャネルの出力観察に従ってソース入力を復号するために有用および効率的なアルゴリズムである。ビタビアルゴリズムは、音声認識、光学式文字認識、機械翻訳、スピーチタグ、構文解析およびスペルチェックのような自然言語の処理のための様々なアプリケーションにうまくインプリメントされている。しかしながら、マルコフ仮定の代わりに、その他の様々な仮定が復号アルゴリズムをインプリメントするのになさ得ることは理解されるべきである。さらに、ビタビアルゴリズムは単に、デコーダによりインプリメンとされ得る一つの適切な復号アルゴリズムおよび有限状態機械のようなその他の様々な適切な復号アルゴリズムにすぎず、ベイジアンネットワーク、決定平面アルゴリズム（高次元ビタビアルゴリズム）またはＢａｈｌ−Ｃｏｃｋｅ−Ｊｅｌｉｎｅｋ−Ｒａｖｉｖ（ＢＣＪＲ）アルゴリズム（２パス順方向／逆方向ビタビアルゴリズム）がインプリメントされ得る。
【００２２】
疑わしい入力エントリー検出器１００により検出される疑わしいエントリーはほぼ全てのスペルエラーを含む。しかしながら、疑わしいエントリーは一般に、比較的高い誤警報／偽陽性率、すなわち、不正確なクエリーの数に対して不正確であると表示される正確なクエリーの数の比率をも含む。以下でより詳細に説明されるように、疑わしいエントリー検出器１００により決定される疑わしいクエリー１１６は、その後正確または不正確であると分類され得る。分類子は変換規則に基づく分類子、好ましくは、決定ツリー分類子、ニューラルネットワーク分類子および同等のものであってもよい。正確として分類されたエントリーに対しては、提案はなされない。不正確として分類されたエントリーに対しては、それぞれの可能性のある代替のスペルの可能性によるが、提案がなされてもよい。
【００２３】
図２は、疑わしいエントリー検出器１００により処理されるときに、一組のオリジナルの入力１０２からスペル修正変換規則を生成するための例示的なシステムおよび方法１２０のブロック図である。とりわけ、一組のオリジナルのエントリー１０２は、ウェブの検索エンジンのためのクエリーログのようなユーザー入力エントリーおよび／または、例えばインターネット上で入手可能な文書のようなものから得られるエントリーを含んでもよい。ユーザー入力エントリーの場合は、一組のオリジナルの入力１０２は、例えば過去三週間または二ヶ月からユーザークエリーの集合を含んでもよい。文書の例は、新聞、本、雑誌、ウェブページまたは同等のもののようなウェブコンテンツおよび様々な公表物を含んでもよい。一組のオリジナルの入力１０２は、文書（例えばインターネット上で入手可能な簡体字および／または繁体字中国語で書かれた文書）の一式、集合または保存場所から引き出されてもよい。本明細書で説明される例示的なシステムおよび方法はとりわけ、ウェブ検索エンジンの文脈内および組織データを含んでいるデータベースのための検索エンジンに適用できることに留意されたい。しかしながら、前記システムおよび方法は、特に非ローマ語でのエントリーに対してのスペルエラー検出および修正のためのその他の様々なアプリケーションに適合および採用されてもよいことは理解されるべきである。例えば、前記システムおよび方法は、スペルエラーを検出および修正するＣＪＫテキスト入力アプリケーション、例えば、文書処理アプリケーションに適合されてもよい。
【００２４】
変換規則生成器および分類子１２０は、訓練データ、例えば人により注釈がつけられた不正確なスペルからの信頼度に従い、訓練の期間中、変換規則を自動的に引き出し（学習し）また順位付けをする、Ｅｒｉｃ  Ｂｒｉｌｌにより導入された、変換に基づく学習アルゴリズムをインプリメントする。これらの変換規則は注釈器／投票器１２４により使用される。変換規則は、変換規則が言語的知識よりもむしろ統計に基づいている言語学に使用されるという点で、文法規則と異なることに留意されたい。従って、例えば、ほとんどのエントリーが同様の不正確な方法で特定の単語を不正確にスペルした場合、前記不正確なスペルは正確として分類される。変換規則に基づく方法についての追加情報は、その全容が参考により本明細書に援用される、２００４年１月２７日にＥｒｉｃ  Ｂｒｉｌｌに発行された、「Ｌｉｎｇｕｉｓｔｉｃ  Ｄｉｓａｍｂｉｇｕａｔｉｏｎ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  Ｕｓｉｎｇ  Ｓｔｒｉｎｇ−Ｂａｓｅｄ  Ｐａｔｔｅｒｎ  Ｔｒａｉｎｉｎｇ  ｔｏ  Ｌｅａｒｎ  ｔｏ  Ｒｅｓｏｌｖｅ  Ａｍｂｉｇｕｉｔｙ  Ｓｉｔｅｓ」と表題のついた米国特許第６，６８４２０１号に示されている。従って、変換規則生成器１２０は自動的に、すなわち、ユーザーの投票を利用し監視されずに、規則を生成する。言い換えれば、文字のパターンの正確さは、データベースでの大多数の投票（例えば人により注釈がつけられたデータよりもクエリーログ）に従い決定される。
【００２５】
それぞれの変換規則は、より高い信頼度の規則がより低い信頼度の規則よりも遅い時点で適用されるように、信頼度と関連している。一例として、第一の変換規則は、ＢがＸより先に来る場合、ＸとＹを置換することを特定してもよい。より高い信頼度のある第二の変換規則は、ＥがＹの後に来る場合、ＹとＸを置換することを特定してもよい。従って、第一の変換規則は、ＢＹＥを生成するためにエントリーＢＸＥに最初に適用される。第二の変換規則はその後、エントリーをＢＸＥに戻すために結果として生じるエントリーＢＹＥに適用される。明確であるように、変換規則が適用される順番は結果に影響を与え得る。置換される文字および置換文字はエントリーのどの要素であってもよく、必ずしも単語である必要はないことも留意されたい。同様に、条件はどのような文脈、発話の一部であるタグまたは文法上の非末端ラベル（例えば、名詞句のＮＰ）に基づいてもよい。変換規則に基づく分類子が好ましいとはいえ、単純ベイズ分類子、決定ツリー分類子、ニューラルネットワーク分類子またはその他の様々で適切などの分類子も同様に、疑わしいエントリー１１６を分類するためにインプリメントされてもよいことにさらに留意されたい。
【００２６】
図２に戻り、示すように、疑わしいエントリー検出器１００により出力されるそれぞれの疑わしいエントリー１１６およびそれに対応する可能性のある代替のスペル１１０は、スペル修正変換規則生成器１２０の注釈器１２４により受信される。注釈器１２４は最初の変換規則１２６に最初に、また引き出されまた順位付けをされた変換規則１３０に最終的に基づくエントリー１２８を分類する。
【００２７】
学習段階では監督されても、すなわち人員による、および／または監督されなくてもよい。一つのインプリメンテーションでは、最初の組の手作業により作成された２、３の一般的な変換規則は、何らかの人間による監視付き、またはユーザーの投票を利用して人間による監視なしで、小さな組の疑わしいエントリーに自動的に注釈を付けるために利用される。最初の学習段階の後では、追加の変換規則は生成され、好ましくは、同様にいくつかの人による監視付きで、また追加の疑わしいエントリーは注釈を付けられる。例えば、比較的少ない規則を伴うかなりの量のユーザー情報を管理する結果として生じる規則は、非常に信頼性があると見なされてもよく、また、従って高い信頼度に相当するとしてもよい。より高い信頼を有する規則は概して、より低い信頼を有するものよりも対象範囲が狭いので、高い信頼を有する規則および比較的より低い信頼を有する規則と両方が使用されることに留意されたい。
【００２８】
例えば、比較的小さな割合のユーザー情報を占める比較的多数の残った疑わしいエントリーは費用効果の目的から人による監視なしで自動的に生成されてもよい。そのような規則を自動的に生成する一つの実例となるプロセス１５０を図３のフローチャートに示す。とりわけ、ループ１５２でのそれぞれの疑わしいクエリーＱに対して、またループ１５４でのそれぞれの対応する代替のスペルＱ’に対して、Ｑおよび代替スペルＱ’の比較は、場合により不適切なＱの中の文字およびそれらの代用Ｃ’を決定するためにブロック１５６でされる。ブロック１５８では、幅２Ｎ＋１の窓は、Ｃに先行するＮ個の文字および後続するＮ個の文字を伴い開かれる。文脈の適切などの長さも、例えば、２Ｎ＋１はインプリメントされてもよく、また問題になっている文字の前および後の文脈の長さは同等であってもよいが必ずそうであるという必要はない。Ｃ＿｛−Ｎ｝、．．．、Ｃ、．．．、Ｃ＿｛Ｎ｝からの全ての部分列（Ｃの前、Ｃ、Ｃの後）の頻度Ｆ（Ｃの前、Ｃ、Ｃの後）は、規則が有効であること、すなわち、規則が疑わしいエントリーの中で適度に多くの割合のスペルエラーを対象範囲にすることが出来るかどうかを確実にするためにカウントされる。文字列Ｓ＝ｘｓ１，ｘｓ２，．．．、ｘｓｊは、１≦ｓｌ＜ｓ２．．．＜ｓｊ＜ｋの場合、文字列Ｘ＝ｘ１，ｘ２，．．．ｘｋの部分列である。
【００２９】
次に、ブロック１６０では、ＣおよびＣ’の置換により対応頻度が決定される。決定ブロック１６２はその後、規則に信頼性があるかどうか、例えば、クエリーログおよびウェブページ、つまりユーザーの投票を利用して、判断する。規則は信頼性があると決定された場合、変換規則、すなわち、Ｃの前、Ｃの後である場合のＣの代用Ｃ’を引き出す。とりわけ、Ｔｌが最小有意閾値およびＴ２が最小信頼閾値である時、
Ｆ（Ｃの前、Ｃ、Ｃの後）＞Ｔ１および
Ｆ（Ｃの前、Ｃ’、Ｃの後）／Ｆ（Ｃの前、Ｃ、Ｃの後）＞Ｔ２
の場合、規則は信頼性があると見なされる。上で述べたように、変換規則生成器によりインプリメントされるプロセス１５０は自動的に、すなわち、監督なしで、データベースでの多数の投票、例えば、人により注釈がつけられたデータよりもクエリーログに従い決定される文字パターンの正確性のようなユーザーの投票を利用して規則を生成する。
【００３０】
最も頻度の高い変換規則はエラーパターンの非常に大きな割合を管理するので、規則の集まりの大きさは好ましくは、疑わしいエントリーの数とともに急速に増加しない。それぞれの規則の最低限の発生は、変換規則の集まりの大きさを限定するために設定されてもよい。
【００３１】
本明細書で説明されるシステムおよび方法をインプリメントするアプリケーションは、テキスト入力用のスペル修正をワープロ文書へ提供するために、または検索エンジンのようなリモートサーバーとインターフェースするために、検索エンジン上のようなサーバーサイトでインプリメントされてもよく、またはエンドユーザーのコンピュータのようなクライアントサイトで、例えばダウンロードしてインプリメントされもよい。クライアントサイトアプリケーションは、例えば、ツールバー内にインプリメントされてもよく、またオプションとして、ＸがＺの先に来るまたは後に来る場合を除きＸおよびＹを絶対に置換しないなど、特定のスペル修正を許可しないことを指示することにより、ユーザーがアプリケーションをカスタマイズすることを可能にするユーザーが編集できる停止規則パターンテーブルを含んでもよい。例えば、「買う」および「売る」などいくつかの中国語の文字は、同じ発音「マイ」（しかし、異なるトーン）を有し、また言語でのほとんど同じ構文的役割を有するが完全に異なる意味を有する。多くの自動的なスペル規則生成プログラムは、「買う」を「売る」、または逆もまた同様に不正確に変更する傾向がある。エンドユーザーは、スペル修正アプリケーションにＸとＹの置換が起こらないようにするために、停止規則パターンテーブルの中に、停止規則「（Ｘ、Ｙ）」を指示してもよい。
【００３２】
図４は、もしあれば、スペル修正提案を決定するためにエントリーを処理する変換規則を利用するプロセス２００を示すフローチャートである。決定ブロック２０２は、いかなるスペル修正規則もユーザー入力に適用できることを決定する。決定ブロック２０２を実行するために、スペル修正変換規則のハッシュテーブルは、いかなる変換規則もユーザー入力に適用できることを決定するために検査されてもよい。例えば、既定の中国語のユーザー入力ＡＢＣＤＥに対して、変換規則が文字ＣをＣ’に置換することを指示する場合、Ｃの前に来る文字がＡＢである場合、ひいてはこの特定の規則はユーザー入力に適用できる。どの規則もユーザー入力に適用できない場合は、スペル修正提案はユーザー入力に対してなされない。あるいは、ユーザー入力に適用できるそれぞれのスペル修正変換規則に対して、適用できるスペル修正変換規則に対応するユーザー入力に対する代替のスペルはブロック２０４で生成される。上記の例では、代替のスペルＡＢＣ’ＤＥは、適用できるスペル修正変換規則に対応するユーザー入力ＡＢＣＥＤに対して生成される。
【００３３】
決定ブロック２０６では、それぞれの代替のスペルの可能性は決定され、またユーザー入力の可能性と比較される。一つの実施形態では、決定ブロック２０６は、可能性を計算するために隠れマルコフモデルおよびビタビデコーダを利用してもよい。現在の例では、ＡＢＣＥＤおよびＡＢＣ’ＤＥの相対的な出力の可能性は決定されまた比較されている。代替のスペルはユーザー入力よりもより高い可能性有し、従って、
Ｐ（ＡＢＣ’ＤＥ）＊Ｐ（変換規則）＞Ｐ（ＡＢＣＤＥ）
であって、Ｐ（変換規則）が成功した修正の数および修正の総数の比率として定義され得る場合、有効な修正と見なされる。Ｐ（ＡＢＣＤＥ）は区分内でのあいまい性を考慮に入れることに注目されたい。例えば、ＡＢＣＤＥがＡＢ―ＣＤＥとＡＢＣ―ＤＥの二つの可能性のある区分を有する場合、確率性はベイズ確率の積の合計となる。
【００３４】
Ｐ（ＡＢＣＤＥ）＝Ｐ（入力−終了｜ＣＤＥ）＊Ｐ（ＣＤＥ｜ＡＢ）＊Ｐ（ＡＢ｜入力−始まり）＋Ｐ（入力−終了｜ＤＥ）＊Ｐ（ＤＥ｜ＡＢＣ）＊Ｐ（ＡＢＣ｜入力−開始）
上記の方程式は、全体の履歴よりもむしろ前に来る単語により現在の単語を決定するマルコフ仮定を適用することによる最初のベイズ確率から得られるベイズ確率であることに留意されたい。Ｐ（ＡＢＣ’ＤＥ）の決定は同様にされてもよい。
【００３５】
既定の代替のスペルが、決定ブロック２０６で決定されるようにユーザー入力よりも可能性は高くない場合、特定のスペル修正提案はされない。しかしながら、既定の代替のスペルが、決定ブロック２０６で決定されるようにユーザー入力よりも可能性は高い場合、ユーザーの入力に対する対応の代替のスペルは提案され、および／またはブロック２０８で自動的にスペルがなされる。
【００３６】
本明細書で説明されるようにスペル修正のシステムおよび方法は、特に非ローマ語に基づく言語での使用にたいへん適切で、またスペルエラーの検出および代替のスペル提案および修正の生成の両方に非常に効果的となることが出来る。さらに、スペル修正のためのシステムと方法はとりわけ、様々なユーザー入力またはクエリーのスペル修正を実行するときに、ウェブ検索エンジンの文脈内および組織データを含んでいるデータベースに対する検索エンジンにも適用できる。
【００３７】
本発明の例示的な実施形態を本明細書に説明し示したが、それらは単に説明に役立つものにすぎず、また改良を本発明の精神および範囲を逸脱することなくこれらの実施形態に施すことができることが理解される。従って、本発明の範囲は、本発明の実施形態として本具体的な実施形態の説明に明示的に含まれる各請求項と共に、修正され得る添付の請求項に関してのみ定義されることが意図されている。
【図面の簡単な説明】
【００３８】
【図１】図１は、疑わしいオリジナルの入力に対する可能性のある代替のスペルを決定するために、非ローマ語に基づく言語の中間形式への、または中間形式からの、順方向および逆方向の変換を実行するための例示的なシステムおよび方法のブロック図である。
【図２】図２は、一組の入力からスペル修正変換規則を生成するための例示的なシステムおよび方法のブロック図である。
【図３】図３は、スペル修正変換規則を自動的に生成するプロセスを示すフローチャートである。
【図４】図４は、スペル修正提案（存在する場合）を決定するために入力を処理するための変換規則を使用するプロセスを示すフローチャートである。
【図１】
2008504605.tif 000003
【図２】
2008504605.tif 000004
【図３】
2008504605.tif 000005
【図４】
2008504605.tif 000006
【国際調査報告】
2008504605.tif 000007
2008504605.tif 000008
2008504605.tif 000009