(57)【要約】  ある言語又は文字セットのユーザテキスト入力の別の言語又は文字セットへの予測変換のシステムおよび方法を開示する。この方法は、非ターゲット言語又は非ターゲット文字セットの部分的ユーザ入力を、ターゲット言語又はターゲット文字セットの変換された部分的ユーザ入力に変換する段階と、有望コンプリージョンモジュールに基づいて変換された部分的ユーザ入力の有望な可能な変換されたコンプリージョンを計算する段階とを含む。この変換は、ターゲット言語又はターゲット文字セットへの非ターゲット言語又は非ターゲット文字セットへのマッピングの辞書に基づく。有望コンプリージョンモジュールは、データベースとするか、データベース又はそのサブセットに対して統計的分析を実行することでトレーニングされたモデルとする。ユーザ入力のサブセットは、特定の地理的位置もしくは時間期間から又はユーザ入力から選択する。
2008537260.tif 000002
【特許請求の範囲】
【請求項１】
部分的ユーザ入力を予測変換する方法であって、
前記部分的ユーザ入力をユーザから受け取る段階であって、前記部分的ユーザ入力は、非ターゲット言語または非ターゲット文字セットで表される、段階と、
前記部分的ユーザ入力の少なくとも1つの可能な変換されたコンプリージョンを生成するために、有望コンプリージョンモジュールに基づいて前記部分的ユーザ入力の予測変換を実行する段階であって、前記少なくとも1つの可能な変換されたコンプリージョンは、ターゲット言語またはターゲット文字セットで表される、段階と、
前記少なくとも1つの可能な変換されたコンプリージョンのうちの1つまたは複数を出力する段階と
を含む方法。
【請求項２】
前記実行する段階は、
変換された部分的ユーザ入力を生成するために、前記部分的ユーザ入力を前記ターゲット言語または前記ターゲット文字セットに変換する段階と、
前記有望コンプリージョンモジュールに基づいて前記変換された部分的ユーザ入力の前記少なくとも1つの可能な変換されたコンプリージョンを計算する段階と
を含む、請求項1に記載の方法。
【請求項３】
前記実行する段階は、
前記有望コンプリージョンモジュールに基づいて前記非ターゲット言語または非ターゲット文字セットの少なくとも1つの可能な部分的ユーザ入力コンプリージョンを計算する段階であって、前記有望コンプリージョンモジュールは、前記非ターゲット言語または非ターゲット文字セットで表される、段階と、
前記少なくとも1つの可能な変換されたコンプリージョンを生成するために、前記少なくとも1つの可能な部分的ユーザ入力コンプリージョンを前記ターゲット言語または前記ターゲット文字セットに変換する段階と
を含む、請求項1に記載の方法。
【請求項４】
前記実行する段階は、さらに、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書に基づく、請求項1に記載の方法。
【請求項５】
ユーザ入力のデータベースに基づいて前記有望コンプリージョンモジュールをトレーニングする段階
をさらに含む、請求項1に記載の方法。
【請求項６】
前記データベース内の前記ユーザ入力は、前記ターゲット言語または前記ターゲット文字セットと前記非ターゲット言語または前記非ターゲット文字セットとのうちの1つで表される、請求項5に記載の方法。
【請求項７】
前記トレーニングする段階は、前記部分的ユーザ入力の有望なコンプリージョンを判定するために、前記データベース内の前記ユーザ入力の少なくとも一部に対して統計的分析を実行する段階を含む、請求項5に記載の方法。
【請求項８】
前記トレーニングする段階は、前記データベース内の前記ユーザ入力のサブセットに基づき、前記ユーザ入力の前記サブセットは、地理的位置、時間期間、および前記部分的ユーザ入力がそのユーザから受け取られた前記ユーザのうちの少なくとも1つに関連する、請求項5に記載の方法。
【請求項９】
複数の有望コンプリージョンモジュールから前記有望コンプリージョンモジュールを選択する段階
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記部分的ユーザ入力は、検索エンジンへの部分的ユーザクエリである、請求項1に記載の方法。
【請求項１１】
前記可能な変換されたコンプリージョンの確率に基づいて可能な変換されたコンプリージョンのサブセットを選択する段階であって、前記出力する段階は、前記可能な変換されたコンプリージョンの前記サブセットを出力する、段階
をさらに含む、請求項1に記載の方法。
【請求項１２】
部分的ユーザ入力の少なくとも1つの可能な変換されたコンプリージョンを生成するために、有望コンプリージョンモジュールに基づいて、非ターゲット言語または非ターゲット文字セットの前記部分的ユーザ入力の予測変換を実行するように構成された予測変換エンジンであって、前記少なくとも1つの可能な変換されたコンプリージョンは、ターゲット言語またはターゲット文字セットで表される、予測変換エンジンと、
前記予測変換エンジンが前記非ターゲット言語または前記非ターゲット文字セットから前記ターゲット言語または前記ターゲット文字セットに変換するのを容易にするための、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書と
を含む予測変換システム。
【請求項１３】
前記予測変換エンジンは、前記非ターゲット言語または前記非ターゲット文字セットの前記部分的ユーザ入力から前記ターゲット言語または前記ターゲット文字セットの変換された部分的ユーザ入力を前記辞書に基づいて生成するようにさらに構成される、請求項12に記載のシステム。
【請求項１４】
前記予測変換エンジンは、前記有望コンプリージョンモジュールに基づいて前記非ターゲット言語または前記非ターゲット文字セットの少なくとも1つの可能な部分的ユーザ入力コンプリージョンを計算するようにさらに構成され、前記有望コンプリージョンモジュールは、前記非ターゲット言語または前記非ターゲット文字セットで表され、前記予測変換エンジンは、前記少なくとも1つの可能な変換されたコンプリージョンを生成するために、前記辞書に基づいて、前記少なくとも1つの可能な部分的ユーザ入力コンプリージョンを前記ターゲット言語または前記ターゲット言語セットに変換するようにさらに構成される、請求項12に記載のシステム。
【請求項１５】
ユーザ入力のデータベースに基づいて前記有望コンプリージョンモジュールをトレーニングするように構成されたトレーニングエンジン
をさらに含む、請求項12に記載のシステム。
【請求項１６】
前記データベース内の前記ユーザ入力は、前記ターゲット言語または前記ターゲット文字セットと前記非ターゲット言語または前記非ターゲット文字セットとのうちの1つで表される、請求項15に記載のシステム。
【請求項１７】
前記トレーニングエンジンは、前記部分的ユーザ入力の有望なコンプリージョンを判定するために、前記データベース内の前記ユーザ入力の少なくとも一部に対して統計的分析を実行するようにさらに構成される、請求項15に記載のシステム。
【請求項１８】
前記トレーニングエンジンは、前記データベース内の前記ユーザ入力のサブセットに基づいて前記有望コンプリージョンモジュールをトレーニングするようにさらに構成され、前記ユーザ入力の前記サブセットは、地理的位置、時間期間、およびユーザのうちの1つまたは複数に関連する、請求項15に記載のシステム。
【請求項１９】
前記予測変換エンジンは、複数の有望コンプリージョンモジュールから前記有望コンプリージョンモジュールを選択するようにさらに構成される、請求項12に記載のシステム。
【請求項２０】
前記部分的ユーザ入力は、検索エンジンへの部分的ユーザクエリである、請求項12に記載のシステム。
【請求項２１】
前記予測変換エンジンは、前記可能な変換されたコンプリージョンの確率に基づいて可能な変換されたコンプリージョンのサブセットを出力として選択するようにさらに構成される、請求項12に記載のシステム。
【請求項２２】
コンピュータシステムと共に使用されるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、コンピュータプロセッサ上で実行可能な命令が格納されるコンピュータ可読記憶媒体を含み、前記命令は、
部分的ユーザ入力を受け取る段階であって、前記部分的ユーザ入力は、非ターゲット言語または非ターゲット文字セットで表される、段階と、
前記部分的ユーザ入力の少なくとも1つの可能な変換されたコンプリージョンを生成するために、有望コンプリージョンモジュールに基づいて前記部分的ユーザ入力の予測変換を実行する段階であって、前記少なくとも1つの可能な変換されたコンプリージョンは、ターゲット言語またはターゲット文字セットで表される、段階と、
前記少なくとも1つの可能な変換されたコンプリージョンのうちの1つまたは複数を出力する段階と
を含む、コンピュータプログラム製品。
【請求項２３】
前記実行する段階は、変換された部分的ユーザ入力を生成するために、前記部分的ユーザ入力を前記ターゲット言語または前記ターゲット文字セットに変換する段階と、前記有望コンプリージョンモジュールに基づいて前記変換された部分的ユーザ入力の前記少なくとも1つの可能な変換されたコンプリージョンを計算する段階とを含む、請求項22に記載のコンピュータプログラム製品。
【請求項２４】
前記実行する段階は、前記有望コンプリージョンモジュールに基づいて前記非ターゲット言語または非ターゲット文字セットの少なくとも1つの可能な部分的ユーザ入力コンプリージョンを計算する段階であって、前記有望コンプリージョンモジュールは、前記非ターゲット言語または非ターゲット文字セットで表される、段階と、前記少なくとも1つの可能な変換されたコンプリージョンを生成するために、前記少なくとも1つの可能な部分的ユーザ入力コンプリージョンを前記ターゲット言語または前記ターゲット文字セットに変換する段階とを含む、請求項22に記載のコンピュータプログラム製品。
【請求項２５】
前記実行する段階は、さらに、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書に基づく、請求項22に記載のコンピュータプログラム製品。
【請求項２６】
前記命令は、
ユーザ入力のデータベースに基づいて前記有望コンプリージョンモジュールをトレーニングする段階
をさらに含む、請求項22に記載のコンピュータプログラム製品。
【請求項２７】
前記データベース内の前記ユーザ入力は、前記ターゲット言語または前記ターゲット文字セットと前記非ターゲット言語または前記非ターゲット文字セットとのうちの1つで表される、請求項26に記載のコンピュータプログラム製品。
【請求項２８】
前記トレーニングする段階は、変換された部分的ユーザ入力の有望なコンプリージョンを判定するために、前記データベース内の前記ユーザ入力の少なくとも一部に対して統計的分析を実行する段階を含む、請求項26に記載のコンピュータプログラム製品。
【請求項２９】
前記トレーニングする段階は、前記データベース内の前記ユーザ入力のサブセットに基づき、ユーザ入力の前記サブセットは、地理的位置、時間期間、および前記部分的ユーザ入力がそのユーザから受け取られた前記ユーザのうちの少なくとも1つに関連する、請求項26に記載のコンピュータプログラム製品。
【請求項３０】
前記命令は、
複数の有望コンプリージョンモジュールから前記有望コンプリージョンモジュールを選択する段階
をさらに含む、請求項22に記載のコンピュータプログラム製品。
【請求項３１】
前記部分的ユーザ入力は、検索エンジンへの部分的ユーザクエリである、請求項22に記載のコンピュータプログラム製品。
【請求項３２】
前記命令は、
前記可能な変換されたコンプリージョンの確率に基づいて可能な変換されたコンプリージョンのサブセットを選択する段階であって、前記出力する段階は、前記可能な変換されたコンプリージョンの前記サブセットを出力する、段階
をさらに含む、請求項22に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には、ある言語または文字セットのユーザテキスト入力の別の言語または文字セットへの変換に関する。より具体的には、ある言語または文字セットのユーザテキスト入力の別の言語または文字セットへの予測変換のシステムおよび方法を開示する。
【背景技術】
【０００２】
ユーザが、キーボードなどの非ターゲット言語入力デバイスを使用してコンピュータシステムに直接にテキストを入力することは、困難または不可能である可能性がある。たとえば、ユーザが、ローマ文字(Roman)またはアルファベット文字を有する従来のキーボードを使用して、中国語、日本語、および韓国語(CJK)などの非ローマ文字ベース言語でテキストを直接に入力することは、困難である可能性がある。その代わりに、変換エンジンがユーザのアルファベットストリング入力をターゲット言語に変換する、別々の変換ステップが、一般に必要である。1つの例として、中国語テキストを入力する1つの一般的な方法は、音声学的入力、たとえばピンインを使用する。ピンインは、アルファベット文字を使用し、複数音節単語の形でリストされた用語集を有する。次に、ピンインコンバータは、ピンインで書かれたテキストを中国語に変換する。たとえば、ユーザは、キーボード上のローマ文字を使用して、所望の中国語テキスト入力のピンインでの音声学的表現を入力することができる。次に、ピンイン変換エンジンは、そのピンイン入力を中国語テキストに変換することができる。次に、適当な中国語テキストを、アプリケーション、たとえばワードプロセッシングアプリケーションおよび/または検索エンジンに入力することができる。
【０００３】
もう1つの例として、日本語テキストは、ひらがな、かたかな、および漢字を含むさまざまな異なる文字セットを使用して表すことができるが、これらの文字セットのどれもが、ローマアルファベットに基づく通常のASCIIキーボードを使用して簡単には入力されない。日本語テキストを入力する1つの方法は、ローマ字すなわち日本語の音声学的ローマアルファベット表現を使用する。たとえば、ユーザは、日本国徳島市のジャストシステム社の一太郎などのワードプロセッサを使用して、ローマ字テキスト入力をかたかな、ひらがな、および/または漢字に変換することができる。次に、その日本語テキストを、アプリケーション、たとえばワードプロセッシングアプリケーションおよび/または検索エンジンに入力することができる。市販変換エンジンまたは市販変換プログラムのもう1つの例が、さまざまな言語用のMicrosoft社のInput Method Editorである。
【０００４】
しかし、変換プログラムは、一般に、ユーザがテキスト入力の完全な表現を入力することを必要とする。さらに、そのような変換プログラムは、しばしば、一方の音声学的ローマ文字表現と他方のネイティブ言語またはターゲット言語のテキストとの間の1対1対応がないので、ユーザにとって単調で退屈である。そうではなく、ユーザによって入力されるほとんどのローマ文字表現入力は、曖昧である。言い換えると、ほとんどのローマ文字表現ユーザ入力について、変換プログラムによって作られる可能性がある複数のネイティブ言語変換がある。したがって、変換プログラムが、たとえば確率の順番で、別々のウィンドウ内にまたはドロップダウンリスト内に複数の可能な変換をリストする場合がある。次に、変換エンジンおよび/またはユーザは、最もよい変換または正しい変換を選択することができる。明白なとおり、そのような入力方法は、しばしば、少なくとも部分的に曖昧なローマ文字表現ユーザ入力に起因して、ユーザにとって単調で退屈であり、時間がかかるものになる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
必要なものは、非ターゲット入力言語または非ターゲット文字セットを使用して入力テキストを入力し、そのユーザ入力をターゲット言語またはターゲット文字セットに変換する、より効率的でユーザフレンドリな方法である。
【課題を解決するための手段】
【０００６】
ある言語または文字セットのユーザテキスト入力の別の言語または文字セットへの予測変換のシステムおよび方法を開示する。本発明を、プロセス、装置、システム、デバイス、方法、あるいは、コンピュータ可読記憶媒体またはプログラム命令が光通信回線もしくは電子通信回線を介して送信されるコンピュータネットワークなどのコンピュータ可読媒体を含む、多数の形で実施できることを了解されたい。本発明の複数の発明的実施形態を、下で説明する。
【０００７】
この方法は、全般的に、非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力を、ターゲット言語またはターゲット文字セットの変換された部分的ユーザ入力に変換する段階と、有望コンプリージョン(completion)モジュールに基づいて、変換された部分的ユーザ入力の有望な可能な変換されたコンプリージョンを計算する段階であって、可能なコンプリージョンはターゲット言語またはターゲット文字セットで表される、段階と、1つまたは複数の可能な有望な可能な変換されたコンプリージョンを出力する段階とを含むことができる。変換する段階は、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書に基づくものとすることができる。有望コンプリージョンモジュールは、ユーザ入力のデータベースまたはそのサブセットとすることができ、あるいは、ユーザ入力のデータベースまたはそのサブセットに対して統計的分析を実行することによってトレーニングされたモデルとすることができる。ユーザ入力のサブセットは、所定の地理的位置もしくは時間期間からおよび/またはユーザもしくは現在のセッションからのユーザ入力から選択することができる。この方法は、複数の有望コンプリージョンモジュールから有望コンプリージョンモジュールを選択する段階をも含むことができる。
【０００８】
もう1つの実施形態で、予測変換システムは、全般的に、非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力からターゲット言語またはターゲット文字セットの変換された部分的ユーザ入力を生成し、有望コンプリージョンモジュールに基づいてターゲット言語またはターゲット文字セットの変換された部分的ユーザ入力の有望な可能なコンプリージョンを計算するように構成された予測変換エンジンと、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書とを含む。この辞書は、予測変換エンジンが、非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力をターゲット言語またはターゲット文字セットの変換された部分的ユーザ入力に変換するのを容易にする。
【０００９】
もう1つの実施形態では、コンピュータシステムと共に使用されるコンピュータプログラム製品は、コンピュータプロセッサ上で実行可能な命令が格納されるコンピュータ可読記憶媒体を含み、この命令は、全般的に、部分的ユーザ入力を受け取る段階であって、部分的ユーザ入力は非ターゲット言語または非ターゲット文字セットで表される、段階と、変換された部分的ユーザ入力を生成するために部分的ユーザ入力をターゲット言語またはターゲット文字セットに変換する段階と、有望コンプリージョンモジュールに基づいて、変換された部分的ユーザ入力の少なくとも1つの有望な可能なコンプリージョンを計算する段階であって、可能なコンプリージョンはターゲット言語またはターゲット文字セットで表される、段階と、少なくとも1つの可能な有望な可能な変換されたコンプリージョンを出力する段階とを含む。
【００１０】
本発明の上記および他の特徴および利点を、次の詳細な説明および本発明の原理を例によって示す添付図面に、より詳細に示す。
【００１１】
本発明は、添付図面と共に次の詳細な説明によってたやすく理解されるが、添付図面では、類似する符号が類似する構造的要素を示す。
【発明を実施するための最良の形態】
【００１２】
ある言語または文字セットのユーザテキスト入力の別の言語または文字セットへの予測変換のシステムおよび方法を開示する。予測変換とは、全体的に、ユーザテキスト入力の予測コンプリージョンと、入力非ターゲット言語または入力非ターゲット文字セットからターゲット言語またはターゲット文字セットへの変換との両方を指す。たとえば、入力非ターゲット言語または入力非ターゲット文字セットのユーザ入力Aを、ターゲット言語またはターゲット文字セットのXに変換し、XYZに予測コンプリートすることができる。代替案では、入力非ターゲット言語または入力非ターゲット文字セットのユーザ入力Aを、ABCに予測コンプリートし、ターゲット言語またはターゲット文字セットのXYZに変換することができる。次の説明は、当業者が本発明を作り、使用することを可能にするために提示される。特定の実施形態および応用例の説明は、例としてのみ提供され、さまざまな変更は、当業者にたやすく明白になる。本明細書で定義される全般的な原理は、本発明の趣旨および範囲から逸脱せずに他の実施形態および応用例に適用することができる。したがって、本発明を、本明細書で開示される原理および特徴と一貫する多数の代替形態、修正形態、および同等物を含む最も広い範囲に一致させなければならない。明瞭にするために、本発明に関連する技術分野で既知の技術的材料に関する詳細は、本発明を不必要に不明瞭にしないようにするために、詳細には説明しない。
【００１３】
ある言語または形のユーザ入力の別の言語または形への予測変換のシステムおよび方法は、ユーザが非ターゲット言語入力方法またはキーボードなどの非ターゲット言語入力デバイスを使用してコンピュータシステムにテキストを入力するのを容易にする。たとえば、予測ユーザ入力変換のシステムおよび方法を、ユーザがローマ文字またはアルファベット文字を有する従来のキーボードを使用して中国語、日本語、および韓国語(CJK)などの非ローマ文字ベースの言語でテキストを入力するのを容易にするために適合させることができる。ユーザは、第1言語または第1文字セット、たとえばピンインまたはローマ字などの音声学的入力で、部分的入力、たとえば単語または文字の部分的表現を入力することができ、予測ユーザ入力変換システムは、この入力を、ターゲット言語またはターゲット文字セット、たとえば中国文字あるいはかたかな、ひらがな、および/または漢字に予測変換し、1つまたは複数の提案される予測変換をユーザに提示することができる。本明細書で提示する例示的な例で説明するように、この予測変換のシステムおよび方法を情報検索システムまたは検索エンジン内で実施して、ユーザのアルファベットストリング検索入力をターゲット言語に予測変換することができる。その後、予測変換されたユーザ入力を使用して、たとえば関連文書に関する検索を実行することができる。しかし、この予測変換のシステムおよび方法を、ワードプロセッシングアプリケーションまたはテキスト入力を必要とする他のアプリケーションなどのさまざまな他の適切なアプリケーションで実施できることを理解されたい。
【００１４】
図1は、予測ユーザ入力変換システムを実施できる例示的な情報検索システム100のブロック図である。システム100には、ネットワーク106を介して複数のサーバ104および105に接続された複数のクライアントデバイス102を含めることができる。クライアントデバイス102には、ユーザ入力を受け入れ、ネットワーク106を介して他のシステム102、104、および105から受信された情報を表示するブラウザ110を含めることができる。サーバ104および105には、ネットワーク106を介して送信されたユーザクエリを受け入れ、文書のデータベースを検索し、結果をユーザに返す検索エンジン112を含めることができる。ネットワーク106には、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、仮想プライベートネットワーク(VPN)、公衆交換電話網(PSTN)などの電話網、イントラネット、インターネット、またはネットワークの組合せを含めることができる。単に例示のために、図1に示された情報検索システム100は、ネットワーク106を介して接続された3つのクライアントデバイス102とサーバ104および105とを含む。しかし、実際には、より多数またはより少数のクライアントデバイス、サーバ、および/またはネットワークが存在する場合があることと、一部のクライアントデバイスが、サーバの少なくともいくつかの機能をも実行でき、一部のサーバが、クライアントの少なくともいくつかの機能をも実行できることとを了解されたい。
【００１５】
図2は、予測ユーザ入力変換システムを実施する、図1に示されたクライアント102またはサーバ104および105などの例示的なコンピューティングシステムまたはコンピューティングデバイス200のブロック図である。一実施形態で、システム200は、パーソナルコンピュータ、ラップトップ機、メインフレーム、携帯情報端末、セル電話機、および/または類似物などのコンピューティングデバイスを含む。システム200には、通常、プロセッサ202、メモリ204、ユーザインターフェース206、取外し可能記憶媒体208を受け入れる入出力ポート207、ネットワークインターフェース210、および前述の要素を接続するバス212を含めることができる。
【００１６】
システム200の動作は、通常、メモリ204内に記憶されたプログラムの案内の下で動作するプロセッサ202によって制御することができる。メモリ204は、一般に、高速ランダムアクセスメモリ(RAM)と、読取専用メモリ(ROM)、磁気ディスク、ディスクアレイ、および/またはテープアレイなどの不揮発性メモリとなど、コンピュータ可読媒体のある組合せを含む。入出力ポート207には、フロッピディスケット、CD-ROM、DVD、メモリカード、磁気テープ、または類似物などのコンピュータ可読媒体を受け入れるディスクドライブまたはメモリスロットを含めることができる。ユーザインターフェース206には、たとえば、キーボード、マウス、ペン、または情報を入力する音声認識機構と、ユーザに情報を提示する、ディスプレイ、プリンタ、スピーカ、および/または類似物などの1つまたは複数の機構とを含めることができる。ネットワークインターフェース210は、通常、有線接続、無線接続、光接続、および/または他の接続を介するシステム200と他のシステム(および/またはネットワーク220)との間の接続を提供するように動作可能である。
【００１７】
下でより詳細に説明するように、システム200は、ある言語または文字セットのユーザテキスト入力の別の言語または文字セットへの予測変換を実行するように構成することができる。これらの動作は、通常、プロセッサ202がメモリ204などのコンピュータ可読媒体に含まれるソフトウェア命令を実行することに応答して実行することができる。ソフトウェア命令は、データストレージデバイス208などのもう1つのコンピュータ可読媒体から、あるいは通信インターフェース210または入出力ポート207を介して別のデバイスから、メモリ204に読み込むことができる。図2に示されているように、メモリ204には、システム200の動作を制御し、下でより詳細に説明する予測変換およびオプションの検索取り出し技法を実行する、さまざまなプログラムまたはモジュールを含めることができる。たとえば、メモリ204に、予測ユーザ入力変換アプリケーション229、ユーザ入力データベース230、およびターゲット言語へのソース(非ターゲット入力)言語のマッピングの辞書231を含めることができる。ターゲット言語へのソース言語のマッピングの辞書231は、予測変換アプリケーション229が非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力をターゲット言語またはターゲット文字セットに変換するのを容易にする。
【００１８】
システム200が、検索エンジン用のサーバ、たとえば図1に示されたサーバ105である場合に、メモリ204に、さらに、文書データベースおよび対応するインデックス232を含めることができる。文書データベース232は、ウェブコーパスとすることができ、ユーザ入力データベース230は、クエリログとすることができる。メモリ204には、ユーザインターフェース206を介して受け取られたクエリおよび/またはネットワーク220を介してユーザからリモートに受信されたクエリに基づいて文書データベース232を検索するクエリ検索エンジン233をも含めることができる。図2に示されているように、メモリ204には、下で詳細に説明する技法を使用してユーザクエリ入力を予測変換する1つまたは複数のプログラムと、ユーザインターフェース206を動作させ、かつ/またはネットワーク220を介してリモートユーザにウェブページを供給するユーザインターフェースアプリケーション234をも含めることができる。図2には、主にソフトウェアベースのシステムが示されているが、他の実施形態で、特殊目的回路を、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて使用して、本発明と一貫するプロセスを実施できることを了解されたい。したがって、本発明は、ハードウェアおよびソフトウェアのどの特定の組合せにも限定されない。
【００１９】
本発明のシステムおよび方法を、図1および2に示された構成要素の一部を欠き、かつ/または図示されていない他の構成要素を有するデバイスおよび/またはアーキテクチャを用いて実践できることを了解されたい。したがって、図1および2が、例示のために提供されたものであって、本発明の範囲を限定しないことを了解されたい。たとえば、例示のために、システム200が、パーソナルコンピュータまたはネットワークサーバなどの単一の汎用コンピューティングデバイスとして図示されているが、他の実施形態で、システム200に、分散コンピューティング技法を使用して一緒に動作する1つまたは複数のそのようなシステムを含めることができることを了解されたい。そのような実施形態では、図2に示された構成要素機能性の一部またはすべてを、複数の位置にあり、かつ/または複数の当事者によって運営される複数のシステムにまたがって分散させることができる。たとえば、予測ユーザ入力変換アプリケーション229と、それに関連する、ユーザ入力データベース230およびターゲット言語へのソース(入力)言語のマッピングの辞書231を含む構成要素とを、文書データベース232がホスティングされるシステムとは別々のシステムで実施することができる。予測クエリ変換アプリケーション229は、いくつかの実施形態で、サーバではなくクライアント側で実行することができる。本発明の原理から逸脱せずに、多数の類似する変形を、図1および2に示された例に対して作ることができることは、すぐに明白になるであろう。
【００２０】
前に示したように、図1および2に示されたシステムを使用して、部分的ユーザ入力の予測変換を容易にすることができる。図3は、予測ユーザ入力変換システム250を示すブロック図である。この図に示されているように、予測ユーザ入力変換システム250は、ターゲット言語へのソース(非ターゲット)言語のマッピングの辞書231およびユーザ入力データベース230と通信する予測ユーザ入力変換エンジン229を含む。予測ユーザ入力変換エンジン229には、有望コンプリージョンのモジュール235を含めることができる。いくつかの実施形態で、有望コンプリージョンのモジュール235を、ユーザ入力のデータベースまたはそのサブセットとすることができる。もう1つの例で、このモジュールは、たとえばユーザ入力データベース230(たとえば、クエリログ)またはそのサブセットを使用してトレーニングされるモデルとすることができる。有望コンプリージョンモジュール235は、ターゲット言語またはターゲット文字セットの有望なコンプリートされた入力ストリングおよびそれに対応する確率を提供する。
【００２１】
図4は、予測ユーザ入力変換を実行するプロセス260を示す流れ図である。プロセス260は、所与のセッション内の一連のユーザ入力について、たとえば、ターゲット言語またはターゲット文字セットの文字、単語、または句のそれぞれについて繰り返すことができる。ブロック262で、非ターゲット言語または非ターゲット文字セットの少なくとも部分的ユーザ入力、たとえばプレフィックスを受け取る。注記したように、部分的ユーザ入力は、ターゲット言語またはターゲット文字セット、たとえば中国語文字とは異なる第1の非ターゲット言語または非ターゲット文字セット、たとえばローマ文字またはアルファベット文字で表される。次に、予測変換エンジンは、ブロック264および266で、部分的ユーザ入力を使用して予測変換を実行することを試みることができる。具体的に言うと、ブロック264で、第1の非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力を使用して、ターゲット言語またはターゲット文字セットの可能な変換を生成する。たとえば、ターゲット言語またはターゲット文字セットへの第1の非ターゲット言語または非ターゲット文字セットのマッピングの辞書を、ブロック264を実行する際に使用することができる。ブロック266で、部分的ユーザ入力の可能な変換の可能なコンプリージョンを生成する。ブロック266で、予測変換エンジンが、一般に、予測変換の確率に基づいて、コンプリートされた予測をランキングもすることに留意されたい。この確率は、下でより詳細に説明するように、ユーザ入力のデータベース、たとえばクエリログに基づいて決定することができる。具体的に言うと、有望コンプリージョンモジュールを、ブロック266を実行する際に使用することができる。
【００２２】
図示の例では、このプロセスは、まず、ブロック264でターゲット言語またはターゲット文字セットへの部分的ユーザ入力の可能な変換を生成し、次に、ブロック266で、変換された部分的ユーザ入力の可能なコンプリージョンを生成する。ブロック266を、ブロック264の前に実行できることを理解されたい。具体的に言うと、プロセス260は、ブロック266で非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力の可能なコンプリージョンを生成し、ブロック264でその可能なコンプリージョンをターゲット言語またはターゲット文字セットに変換することができる。もう1つの例として、ブロック264および266を、単一の一体化された予測変換プロセスに組み合わせることができる。具体的に言うと、プロセス260は、ターゲット言語またはターゲット文字セットの予測変換への非ターゲット言語または非ターゲット文字セットの部分的ユーザ入力のマッピングを含む一体化された予測変換データ構造または一体化された予測変換データベースを利用することができる。このデータベースには、マッピングに関する頻度または他の統計的情報もしくは他の確率情報をも含めることができる。そのような構成では、ターゲット言語またはターゲット文字セットへの非ターゲット言語または非ターゲット文字セットのマッピングの辞書が、予測変換データベースに一体化されるはずである。
【００２３】
1つまたは複数のパラメータを利用して、ブロック264および266(または上で説明したその変形形態)の動作に影響することができる。たとえば、1つのパラメータが、より長い予測コンプリージョンまたはより短い予測コンプリージョンの好みを示すことができる。各パラメータは、システムまたはプロセスによって自動的にセットし、デフォルト値をセットし、かつ/またはユーザによってセットすることができる。
【００２４】
予測変換エンジンが、いくつかの実施形態で、ユーザが入力を入力する時にブロック262で部分的ユーザ入力の範囲を対話的に監視することができ、その結果、予測変換エンジンが、1つまたは複数の予測変換を生成するのに十分な部分的入力をユーザが入力し終えた時に予測変換を実行できるようになることに留意されたい。たとえば、ユーザ入力がピンインである場合に、ユーザは、予測変換エンジンが予測変換を生成する前に、少なくとも1つの中国語文字のピンインを入力することができる。ユーザ入力が意味のあるおよび/または有用な予測変換を生成するのに十分である時の判定は、たとえば、特定のユーザ入力と、部分的ユーザ入力の可能な変換の確率および/またはその可能な変換の可能なコンプリージョンの確率とに基づくものとすることができる。
【００２５】
次に、ブロック268で、ターゲット言語またはターゲット文字セットの1つまたは複数の予測変換を、ユーザに出力する。一実施形態では、予測変換の確率に基づくトップN(たとえば5)予測変換の組をユーザに出力する。もう1つの実施形態では、最高の確率を有する予測変換だけをユーザに出力する。ユーザに出力される予測変換の個数は、予測変換の確率に基づいて動的に決定することができる。たとえば、予測変換エンジンを、たとえば最も有望な予測変換が、所定の閾値より大きい確率および/または次に有望な予測変換の所定の倍数より大きい確率を有する場合に、最も有望な予測変換だけを出力するように構成することができる。判断ブロック270で、ユーザが、ユーザに出力された予測変換のうちの1つを選択する場合に、選択された予測変換を、ユーザの望みの変換として採用することができ、予測ユーザ入力変換のプロセス260は、完了する。しかし、判断ブロック270の判定で、ユーザがブロック268で出力された予測変換からの選択を行わない場合には、プロセス260は、ブロック272でさらなるユーザ入力の受け取りを継続し、その結果、追加ユーザ入力を、予測変換を実行するために予測ユーザ入力変換エンジンによって使用できるようにする。その後、プロセス260は、ブロック264に戻って、追加ユーザ入力を使用して予測変換を実行する。
【００２６】
上で注記したように、予測変換の確率は、有望コンプリージョンモジュールを使用して、予測変換エンジンによって計算することができる。いくつかの実施形態で、有望コンプリージョンのモジュールを、手動で生成するか、他の形で事前に決定することができる。より通常、有望コンプリージョンモジュールを、ユーザ入力および対応するコンプリートされた変換のデータベースを使用してトレーニングされる有望コンプリージョンモデルとすることができる。有望コンプリージョンのデータベースは、アプリケーションおよび/またはユーザに適当に調整することができる。たとえば、検索エンジンにテキストを入力するユーザについて、予測変換の確率を、全ユーザのクエリログ、あるいは、同一のもしくは類似する地理的位置および/または同一のもしくは類似する時間期間のユーザに関するクエリログを使用して計算することができる。もう1つの例として、予測変換エンジンを、ユーザ自身の入力または検索、たとえば、ユーザの現在の検索セッションまたはユーザの過去の検索セッションだけを使用することによって、パーソナライズすることができる。
【００２７】
図5は、予測ユーザ入力コンバータの有望コンプリージョンのモジュールを生成する例示的なプロセス280を示す流れ図である。ブロック282で、ターゲット言語またはターゲット文字セットのユーザ入力のログを、ユーザ入力データベースを構築するために維持することができる。注記したように、ユーザ入力データベースは、検索エンジンに関連するクエリログまたは検索ログとすることができる。このデータベースは、予測されたコンプリートされた変換の尤度を判定するのを容易にする。ブロック284で、ユーザデータベースまたはそのサブセットを使用して、有望コンプリージョンモジュールを生成することができる。具体的に言うと、特定の特性を有するモジュールを生成するために、たとえば、アプリケーションおよび/またはユーザに適当にモジュールを調整するために、ユーザデータベースのサブセットを選択することができる。たとえば、ユーザデータベースのサブセットを、特定の時間期間から収集された入力、特定の地理的位置のユーザから収集された入力、同一ユーザから収集された入力、特定のセッション内で同一ユーザから収集された入力、および/またはさまざまな他の適切な判断基準に基づいて選択することができる。ブロック286で、ブロック284で選択されたデータベースまたはそのサブセットに対して統計的分析を実行することによって、有望入力ストリングおよび有望コンプリージョン(たとえば、検索)のモジュールを生成する。有望コンプリージョンモジュールをトレーニングするプロセスは、データベースが更新される時に周期的に実行することができ、かつ/あるいは、アプリケーションおよび/またはユーザに適当に各モデルを調整するためにさまざまなモデルを生成するために繰り返すことができる。
【００２８】
注記したように、予測変換エンジンを、検索エンジンに一体化することができる。この一体化は、さまざまな形で達成することができる。たとえば、予測変換エンジンを、検索エンジンサーバの一部として実施することができ、その結果、ユーザは、プレフィックスまたは他の部分的クエリをたとえばローマ文字表現で入力するだけになり、サーバが、その部分的クエリをターゲット言語またはターゲット文字セットに変換し、変換の1つまたは複数の有望なコンプリージョンを生成する(あるいは、上で注記したように、部分的クエリの有望なコンプリージョンを生成し、その有望なコンプリージョンをターゲット言語またはターゲット文字セットに変換する)ようになる。次に、サーバは、最も有望なコンプリートされた変換のリスト、たとえば5個または10個の最も有望なコンプリートされた変換のリストを返すことができ、ユーザは、このリストから検索を実行することを選択することができる。その代わりにまたはそれに加えて、サーバは、最も有望なコンプリートされた変換に基づいて検索を実行し、検索結果をユーザに返すことができる。
【００２９】
サーバ側で予測変換エンジンを提供する代わりに、予測変換エンジンを、同様に、クライアント側のユーザのクライアントプログラム内で、たとえば、ウェブブラウザなどのインターフェースアプリケーション用のツールバー内で実施することができる。そのような構成では、ユーザは、ローマ文字のクエリなど、部分的入力の入力を開始することができ、クライアント側予測変換エンジンは、ユーザの入力を監視し、ユーザが十分な量の情報を供給した時に1つまたは複数の可能なコンプリートされた変換を予測計算することができる。代替案では、ユーザは、入力を入力し、手動でまたは他の形で予測変換エンジンに1つまたは複数の可能なコンプリートされた変換を予測計算させることができる。出力は、たとえば、ポップアップウィンドウ内またはドロップダウンリスト内で供給することができ、そこから、ユーザは、可能なコンプリートされた変換のうちの1つを選択することができる。
【００３０】
明白なとおり、予測変換エンジンまたは予測変換システムは、サーバ側またはクライアント側のどちらにインストールされる場合であっても、ユーザが非ターゲット言語で所望の入力の部分的表現だけを入力することを可能にすることによって、ユーザ入力を容易にする。言い換えると、ユーザは、所望の入力の始めのシーケンス、プレフィックス、または他の部分的表現を非ターゲット言語で入力するだけでよく、予測変換システムが、ターゲット言語への変換ならびに変換された部分的入力の予測コンプリージョンを実行する。
【００３１】
本発明の例示的実施形態を、本明細書で説明し、図示したが、これらが、単に例示的であることと、本発明の趣旨および範囲から逸脱せずに、これらの実施形態に対して変更を行えることを了解されたい。したがって、本発明の範囲は、修正される可能性がある添付の特許請求の範囲に関してのみ定義されることが意図されており、各請求項は、本発明の実施形態としてこの「発明を実施するための最良の形態」に明示的に組み込まれている。
【図面の簡単な説明】
【００３２】
【図１】予測ユーザ入力変換システムを実施できる例示的な情報検索システムを示すブロック図である。
【図２】例示的な予測ユーザ入力変換システムを実施する、図1に示されたクライアントまたはサーバなどの例示的なコンピューティングシステムまたはコンピューティングデバイスを示すブロック図である。
【図３】例示的な予測ユーザ入力変換システムをより詳細に示すブロック図である。
【図４】予測ユーザ入力変換を実行する例示的プロセスを示す流れ図である。
【図５】予測ユーザ入力コンバータの有望コンプリージョンモジュールをトレーニングする例示的プロセスを示す流れ図である。
【符号の説明】
【００３３】
100    情報検索システム
102    クライアントデバイス
104    サーバ
105    サーバ
106    ネットワーク
110    ブラウザ
112    検索エンジン
200    コンピューティングシステムまたはコンピューティングデバイス
202    プロセッサ
204    メモリ
206    ユーザインターフェース
207    入出力ポート
208    取外し可能記憶媒体
210    ネットワークインターフェース
212    バス
220    ネットワーク
229    予測ユーザ入力変換アプリケーション
230    ユーザ入力データベース
231    ターゲット言語へのソース言語のマッピングの辞書
232    文書データベースおよび対応するインデックス
233    クエリ検索エンジン
234    ユーザインターフェースアプリケーション
235    有望コンプリージョンのモジュール
250    予測ユーザ入力変換システム
260    プロセス
262    少なくとも部分的ユーザ入力を受け取るブロック
264    部分的ユーザ入力の可能な変換を生成するブロック
266    部分的ユーザ入力の可能な変換から可能な予測コンプリージョンを生成するブロック
268    たとえばトップ5の、予測変換をユーザに出力するブロック
270    ユーザが予測変換のうちの1つを選択するかどうかを判定するブロック
272    ユーザ入力の受け取りを継続するブロック
280    プロセス
282    ユーザ入力データベースを構築するために、ユーザ入力およびユーザによって選択された対応する予測変換を受け取るブロック
284    有望コンプリージョンのモデルをトレーニングするために、ユーザ入力データベースのすべてまたはサブセットを選択するブロック
286    変換された部分的ユーザ入力の最も有望なコンプリージョンを判定するために、データベースまたはそのサブセットに対して統計的分析を実行するブロック
【図１】
2008537260.tif 000003
【図２】
2008537260.tif 000004
【図３】
2008537260.tif 000005
【図４】
2008537260.tif 000006
【図５】
2008537260.tif 000007
【国際調査報告】
2008537260.tif 000008
2008537260.tif 000009
2008537260.tif 000010