(57)【特許請求の範囲】
【請求項１】
方法であって、
前記方法は、
第１言語モードで入力メソッドエディタを動作させるステップを具備し、
前記第１言語モードは、前記入力メソッドエディタによって使用される第１辞書を画定し、
前記方法は、
第２言語モードを使用することを前記入力メソッドエディタに指示するように動作可能であるモード制御入力を受信するステップと、
前記モード制御入力の受信に基づいて、前記第２言語モードで入力メソッドエディタを動作させるステップとを具備し、
前記第２言語モードは、前記入力メソッドエディタによって使用される第２辞書を画定し、
前記方法は、
前記第２言語モードで動作する入力メソッドエディタにおけるコンポジション入力を受信するステップを具備し、
前記コンポジション入力は、キーボード入力装置からの１つまたは複数のキーストロークを有し、
前記方法は、
前記第２言語モードにおいて、前記コンポジション入力と前記第２辞書内のエントリとを比較するステップと、
前記第２言語モードにおいて、前記比較に基づいて候補単語を識別するステップと、
前記第２言語モードにおいて、前記候補単語を前記入力メソッドエディタのユーザに提示するステップと、
前記第２言語モードにおいて、前記ユーザからの単語選択を受信するステップと
を具備し、
前記単語選択は、前記候補単語の中から単語を選択し、
前記方法は、前記第２言語モードで前記ユーザからの単語選択の受信後、前記第１言語モードに戻るステップを具備することを特徴とする方法。
【請求項２】
前記第１言語モードは、中国語モードを有するとともに、
前記第２言語モードは、英語モードを有することを特徴とする請求項１に記載の方法。
【請求項３】
前記モード制御入力は、２つ以上のキーストロークの入力シーケンスを有することを特徴とする請求項１に記載の方法。
【請求項４】
前記コンポジション入力と英単語の接頭語とを比較するステップと、
前記比較に基づいて英語単語を識別するステップと
をさらに具備し、
前記英単語は、前記候補単語を有することを特徴とする請求項２に記載の方法。
【請求項５】
前記選択された単語を前記入力メソッドエディタによって編集されているテキスト内に挿入するステップをさらに具備し、
前記入力メソッドエディタによって編集されている前記テキストは、前記第１言語モードで生成されたテキストであることを特徴とする請求項１に記載の方法。
【請求項６】
前記選択された単語を前記テキストに挿入する前に、前記選択された単語を第１言語モードに関連付けられた言語に変換するステップをさらに具備することを特徴とする請求項５に記載の方法。
【請求項７】
前記入力メソッドエディタは、複数のモード制御入力に対して応答し、
前記複数のモード制御入力の各々は、別の第２言語モードに関連することを特徴とする請求項１に記載の方法。
【請求項８】
前記１つまたは複数の第２言語モードは、少なくとも英語モードを有することを特徴とすることを特徴とする請求項７に記載の方法。
【請求項９】
前記第１言語モードにおけるコンポジション入力を受信するステップと、
第１辞書に基づいて、前記第１言語モードにおける前記コンポジション入力を解釈するステップと
をさらに具備し、
前記第１辞書は、表語文字の辞書を具備することを特徴とする請求項１に記載の方法。
【請求項１０】
データ処理装置に動作を実行させるように動作可能な、有形のプログラムキャリア上でエンコードされた、コンピュータプログラムであって、
前記動作は、
第１言語モードで入力メソッドエディタを動作させるステップを具備し、
前記第１言語モードは、前記入力メソッドエディタのユーザから受信されたコンポジション入力の解釈に使用される第1辞書を識別し、
前記動作は、
第２言語モードにおける動作を前記入力メソッドエディタに指示するモード制御入力を受信するステップと、
前記第２言語モードで前記入力メソッドエディタを動作させるステップとを具備し、
前記第２言語モードは、前記入力メソッドエディタのユーザから受信されたコンポジション入力の解釈に使用される第２辞書を画定し、
前記動作は、
前記第２言語モードにおける候補単語リストを提示するステップを具備し、
前記候補単語リストは、前記コンポジション入力と前記第２辞書との比較に基づき、
前記コンピュータプログラムは、前記ユーザから単語選択を受信するステップを具備し、
前記単語選択は、前記候補単語リストから単語を選択し、
前記動作は、
前記第２言語モードで前記ユーザからの単語選択の受信後、前記第１言語モードに戻るステップを具備することを特徴とするコンピュータプログラム。
【請求項１１】
第２言語モードで動作させるステップは、
前記コンポジション入力と前記第２辞書内のエントリとを比較するステップと、
前記比較に基づいて候補単語を識別するステップと
を具備することを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記候補単語リストは、１つまたは複数の候補単語を有することを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１３】
１つまたは複数のプロセッサと前記１つまたは複数のプロセッサに動作を実行させるように動作可能な、１つまたは複数のコンピュータプログラムを保存する１つまたは複数のメモリ装置とを具備するシステムであって、
前記動作は、
第1言語モードにおける入力メソッドエディタコンポジション入力を処理するステップを具備し、
前記第１言語モードは、前記コンポジション入力を解釈するために使用され、かつ前記第1言語における単語の第１候補単語リストを提示する、第1言語に対する第1言語辞書を画定し、
前記動作は、
モード制御入力の処理に応答して、第２言語モードで、次の入力メソッドエディタコンポジション入力を処理するステップを具備し、
前記第２言語モードは、コンポジション入力を解釈するために使用され、かつ前記第２言語における単語の第２候補単語リストを提示する、第２言語に対する第２言語辞書を画定し、
前記動作は、
前記第1候補単語リスト、または前記第２候補単語リスト内の１つの単語に対する単語選択の受信に応答して、前記第1候補単語リスト、または前記第２候補単語リストの１つから単語を選択するステップと
前記第２言語モードで前記ユーザからの単語選択の受信後、前記第１言語モードに戻るステップとを具備することを特徴とするシステム。
【請求項１４】
前記第1言語モードは、中国語モードであるとともに、
前記第２言語モードは英語モードであることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記１つまたは複数のコンピュータプログラムは、前記１つまたは複数のプロセッサにさらなる動作を実行させるように動作可能であり、
前記さらなる動作は、
前記第２言語モードにおける入力メソッドエディタコンポジション入力が処理される場合、前記コンポジション入力と英単語の接頭語とを比較するステップと、
前記比較に基づいて、英単語を識別するステップと
を具備することを特徴とする請求項１４に記載のシステム。
【請求項１６】
システムであって、
前記システムは、
第1および第２言語の文字との関連づけを有するコンポジション入力テーブルと、
第1言語に対する第1言語モードと、第２言語に対する第２言語モードとを画定する言語モードテーブルと
を具備し、
前記第1言語モードは、前記第1言語に関連付けられた第1言語辞書に関連付けられ、
前記第２言語モードは、前記第２言語に関連付けられた第２言語辞書に関連付けられ、
前記システムは、
モード制御入力を受信し、かつ前記モード制御入力に応答して、前記第1言語モード、または前記第２言語モードの１つを選択し、前記選択された言語モードにおけるコンポジション入力を処理し、かつ前記選択された言語モードの言語における単語の候補単語リストを提示し、かつ単語選択の受信に応答して前記候補単語リストから単語を選択するとともに、前記第２言語モードで前記ユーザからの単語選択の受信後、前記第１言語モードに戻るように、構成された入力メソッドエディタエンジンを具備することを特徴とするシステム。
【請求項１７】
前記第1言語モードは、中国語モードであるとともに、
前記第２言語モードは、英語モードであることを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力メソッドに関する。
【背景技術】
【０００２】
本出願は、２００７年４月１１日に提出された米国仮特許出願第６０／９１１，２７７号、および２００７年４月１６日に提出された中国特許出願第２００７１０１０１８１５．９号の利益を主張するものであり、それらの全開示は、引用により本明細書に組み込まれる。
【０００３】
１つまたは２つの文字がおよそ１つの単語または意味に対応する表語文字法を使用する言語は、コンピュータのキーボード、または携帯装置のキーパッドのような標準入力装置上のキーよりも多くの文字を有している。たとえば、中国語は、基本となるぴん音要素および５つの声調によって画定される発音を有する何万個もの文字を含んでいる。多くの可能性の中から１つの関連付けへのマッピングは、入力装置上に見られない文字および記号の入力を容易にする、入力メソッドによって実施することができる。したがって、中国語の文字を入力するために、欧米式のキーボードを使用することができる。同様に、入力メソッドは、欧米式キーボードまたは他のいくつかの入力装置を使用して日本語、韓国語、および他の言語のような表意文字を含む他の多くの言語を入力するために、使用することができる。
【０００４】
入力メソッドエディタは、入力メソッドを実現するために使用することができる。たとえば、入力メソッドエディタは、言語モードの２つのモード、たとえば英語モードおよび中国語モードを有し得る。多くの場合、入力メソッドエディタを実装する装置のユーザは、言語モードのモード間で、たとえば中国語から英語に、または英語から中国語に切り替えることを望むことがある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書は、入力メソッドエディタに関する技術を説明する。いくつかの実施態様において、入力メソッドエディタは、モード制御入力を受信するとともに、モード制御入力に基づいて言語モードを決定する。コンポジション入力の受信時、入力メソッドエディタは、決定された言語モードに基づいてコンポジション入力を解釈する。
【０００６】
いくつかの実施態様において、有形のプログラムキャリア上でエンコードされたコンピュータプログラム製品は、以下の動作を実行させるように動作可能であり、前記動作は、データ処理装置に、第１言語モードにおける入力メソッドエディタを動作させるステップを具備し、第１言語モードは、入力メソッドエディタのユーザから受信されたコンポジション入力の解釈において使用される第1辞書を識別し、前記動作は、モード制御入力を受信するステップを具備し、モード制御入力は、第２言語モードにおいて動作する入力メソッドエディタを指示し、前記動作は、第２言語モードにおける入力メソッドエディタを動作させるステップを具備し、第２言語モードは、入力メソッドエディタのユーザから受信されたコンポジション入力の解釈において使用される、第２辞書を画定し、前記動作は、候補単語リストを提示するステップを具備し、候補単語リストは、コンポジション入力と第２辞書との比較に基づき前記動作は、ユーザからの単語選択を受信するステップを具備し、単語選択は、候補単語リストから単語を選択する。
【０００７】
いくつかの実施態様において、システムは、第1言語モードにおける入力メソッドエディタコンポジション入力を処理し、第1言語モードは、コンポジション入力を解釈するために使用される第1言語に対する第1言語辞書を画定する。システムは、第1言語における単語のうち第1候補単語リストを提示する。モード制御入力に応答して、システムは、第２言語モードにおける入力メソッドエディタコンポジション入力を処理し、第２言語モードは、コンポジション入力を解釈するために使用される第２言語に対する第２言語辞書を画定する。システムは、第２言語における単語のうち第２候補単語リストを提示する。システムは、前記単語から１つの単語選択の受信に応答して、第1候補単語リスト、または第２候補単語リストの１つから単語を選択する。
【０００８】
いくつかの実施態様において、システムは、コンポジション入力テーブル、言語モード入力テーブル、および入力メソッドエディタエンジンを含んでいる。コンポジション入力テーブルは、コンポジション入力と第1および第２言語に対する文字との関連づけを含んでいる。言語モードテーブルは、第1言語に対する第1言語モードと、第２言語に対する第２言語モードとを画定する。第1言語モードは、第1言語に関連づけられた第1言語辞書と関連付けられるとともに、第２言語モードは、第２言語に関連づけられた第２言語辞書と関連付けられる。入力メソッドエディタエンジンは、モード制御入力を受信しかつモード制御入力に応答して、第1言語モードまたは第２言語モードのオンを選択し、選択された言語モードにおけるコンポジション入力を処理しかつ選択された言語モードの言語における単語のうち候補単語リストを提示するとともに、単語選択の受信に応答して候補単語リストから単語を選択するように構成されている。
【０００９】
本明細書に記載する発明の主題の１つまたは複数の実施形態の詳細は、添付の図面および以下の記載において説明する。発明の主題における他の特徴、態様、および利点は、本明細書、添付の図面、および添付の特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１０】
【図１】本明細書で説明するシステムおよび方法を実施するために使用することができる例示的な装置のブロック図である。
【図２】例示的な入力メソッドエディタシステムのブロック図である。
【図３】言語モード値およびコンポジション入力に基づく候補セレクションの例示的なセットである。
【図４】第２言語モードを有する例示的な入力メソッドプロセスのフロー図である。
【図５】第２言語モードを有する別の例示的な入力メソッドプロセスのフロー図である。
【００１１】
様々な図面において同様の参照符号および表記は、同様のエレメントを示す。
【発明を実施するための形態】
【００１２】
図１は、本明細書で説明するシステムおよび方法を実施するために、使用することができる例示的な装置１００のブロック図である。例示的な装置１００は、たとえば、パーソナルコンピュータ装置のようなコンピュータ装置、または携帯電話、移動体通信装置、携帯情報端末（ＰＤＡ）などのような、他の電子装置であることが可能である。
【００１３】
例示的な装置１００は、処理装置１０２、第１データストア１０４、第２データストア１０６、入力装置１０８、出力装置１１０、およびネットワークインタフェース１１２を含んでいる。たとえば、データバスおよびマザーボードを含む、バスシステム１１４は、コンポーネント１０２，１０４，１０６，１０８，１１０，および１１２間のデータ通信を確立および制御するために使用することができる。他のシステムアーキテクチャも同様に使用することができる。
【００１４】
処理システム１０２は、たとえば、１つまたは複数のマイクロプロセッサを含むことができる。第１データストア１０４は、たとえば、ダイナミックランダムアクセスメモリのようなランダムアクセスメモリ記憶装置、または他の種類のコンピュータ可読媒体メモリ装置を含むことができる。第２データストア１０６は、たとえば、１つもしくは複数のハードドライブ、フラッシュメモリ、および／もしくはリードオンリメモリ、または他の種類のコンピュータ可読媒体メモリ装置を含むことができる。
【００１５】
例示的な入力装置１０８は、キーボード、マウス、スタイラスなどを含むことができるとともに、例示的な出力装置１１０は、ディスプレイ装置、オーディオ装置などを含むことができる。ネットワークインタフェース１１２は、たとえば、ネットワーク１１６と相互にデータを通信するように動作可能な有線または無線ネットワーク装置を含むことができる。ネットワーク１１６は、１つもしくは複数のローカルエリアネットワーク（ＬＡＮ）、および／またはインターネットのようなワイドエリアネットワーク（ＷＡＮ）を含むことができる。
【００１６】
いくつかの実施態様において、装置１００は、データストア１０６のようなデータストアからの入力メソッドエディタ（ＩＭＥ）コード１０１を含むことができる。入力メソッドエディタコード１０１は、実行時、処理装置１０２に入力メソッド編集ファンクションを実行させる命令を、含むことができる。入力メソッドエディタコード１０１は、たとえば、ウェブブラウザ環境において実行されるスクリプト命令（例として、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、またはＥＣＭＡＳｃｒｉｐｔ命令）のような、インタプリタ型命令を具備することができる。たとえば、スタンドアロンアプリケーション、アプレット、プラグインモジュールなど、他の実施態様も同様に使用することができる。
【００１７】
入力メソッドエディタコード１０１の実行は、入力メソッドエディタインスタンス１０３を生成または起動する。装置１００が、たとえば漢字のような、入力文字または記号に対するコンポジション（composition）入力を受信することができる間、入力メソッドエディタインスタンス１０３は、装置１００における１つまたは複数の入力メソッドの処理を容易にする。たとえば、ユーザは、漢字識別のためのコンポジション入力を入力するために、１つまたは複数の入力装置１０８（例として、欧米式キーボードのようなキーボード、手書き認識エンジンとともに使用されるスタイラスなど）を使用することができる。いくつかの実施例において、漢字は、複数のコンポジション入力から構成することができる。
【００１８】
第１データストア１０４および／または第２データストア１０６は、コンポジション入力と文字との関連づけを保存することができる。ユーザ入力に基づいて、入力メソッドエディタインスタンス１０３は、前記入力によって表される１つまたは複数の候補セレクション（たとえば、候補の単語）を識別するために、データストア１０４および／またはデータストア１０６内の情報を使用することができる。いくつかの実施態様において、複数の候補セレクションが識別された場合、候補セレクションは、出力装置１１０上に表示される。入力装置１０８を使用して、ユーザは、候補セレクションからユーザが入力したい漢字を選択することができる。
【００１９】
いくつかの実施態様において、装置１００における入力メソッドエディタインスタンス１０３は、１つまたは複数のぴん音コンポジション入力を受信するとともに、コンポジション入力を漢字に変換することができる。入力メソッドエディタインスタンス１０３は、たとえば、漢字を表すためのキーストロークから受信された、ぴん音または文字のコンポジションを使用することができる。各ぴん音の音節は、たとえば、欧米式のキーボードにおける１つまたは複数のキーストロークに対応することができる。ぴん音入力メソッドエディタを使用して、ユーザは、漢字の音を表す１つまたは複数のぴん音の音節を含む、コンポジション入力を使用することにより漢字を入力することができる。しかし、他の言語に対する入力メソッドについても同様に、容易にすることができる。
【００２０】
いくつかの実施態様において、システム１００に対するアクセスを有する遠隔コンピューティングシステム１１８も同様に、表語文字を編集するために、同様に使用することができる。たとえば、システム１００は、ネットワーク１１６を経由して表語文字編集機能（capability）を供給するサーバであってもよい。一実施例において、ユーザは、遠隔コンピューティングシステム、たとえばクライアントコンピュータを使用して、データストア１０４および／またはデータストア１０６に保存された表語文字を編集することができる。システム１００は、たとえば、文字を選択するとともに、ネットワークインタフェース１１２を通してユーザからのコンポジション入力を受信することができる。処理装置１０２は、たとえば、選択された文字に隣接する１つまたは複数の文字を識別するとともに、受信されたコンポジション入力および隣接する文字に基づいて、１つまたは複数の候補セレクションを識別することができる。システム１００は、候補セレクションを遠隔コンピューティングシステムに戻すことを含むデータ通信を行うことができる。
【００２１】
図２は、例示的な入力メソッドエディタシステム１２０のブロック図である。入力メソッドエディタシステム１２０は、たとえば、入力メソッドエディタコード１０１と、関連付けられたデータストア１０４および１０６とを使用して、実装することができる。入力メソッドエディタシステム１２０は、入力メソッドエディタ（ＩＭＥ）エンジン１２２、文字データストア１２４、コンポジション入力データストア１２６、および統合テーブル１２８を含んでいる。他の記憶アーキテクチャも同様に使用することができる。文字データストア１２４は、１つまたは複数の言語モデルで使用される表語文字法の文字、ならびにローマベースまたは欧米式のアルファベット、たとえば、英語、ドイツ語、スペイン語などにおける文字および単語を含むことができる。いくつかの実施態様において、文字データストア１２４は、同様に、文字間および／または単語間の関係に関する情報を含んでいる。たとえば、文字データストア１２４は、ある文字に隣接する文字または単語に依存してその文字または単語に割り当てられるスコアまたは確率値を含むことができる。他のコンテキスト関係データも同様に使用することができる。
【００２２】
コンポジション入力テーブル１２６は、コンポジション入力と文字データストア１２４内に保存された文字／単語との関連づけを含んでいる。いくつかの実施態様において、コンポジション入力テーブル１２６は、文字データストア１２４内の各文字／単語を、入力メソッドエディタエンジン１２２によって使用されるコンポジション入力にリンクすることができる。たとえば、入力メソッドエディタエンジン１２２は、文字データストア１２４内の１つまたは複数の文字または単語を、コンポジション入力データストア１２６内の１つまたは複数のコンポジション入力とともに、関連付ける、および／または識別するために、文字データストア１２４およびコンポジション入力テーブル１２６内の情報を使用することができる。
【００２３】
言語モードテーブル１２８は、１つまたは複数の言語モード、たとえば、英語モード、中国語モードなどを画定するとともに、ユーザから受信されたモード制御入力に基づいてモード間を切り替えることができる。各言語モードは、たとえば、画定することができ、例として、選択された言語モードの言語に関連付けられた特定の辞書と関連付けられる。いくつかの実施態様において、言語モードは、同様に、特定ユーザのユーザライブラリ履歴、たとえば、特定のユーザによって多くの場合使用される単語および熟語の辞書を含むことができる。
【００２４】
いくつかの実施態様において、入力メソッドエディタインスタンス(ＩＭＥＩ)１０３は、１つまたは複数のコンポジション入力および言語モード（ＬＭ）１０５に基づいて、候補セレクションを識別することができる。言語モード１０５は、たとえば、入力メソッドエディタインスタンス１０３によって支援される様々な言語を画定することができる（例として、英語モード１０５ａ、中国語モード１０５ｂ、韓国語モード１０５ｃなど）。たとえば、入力メソッドエディタインスタンス１０３は、コンポジション入力を英語のアルファベットにマッピングするために、コンポジション入力に対して英語モード１０５を適用することができる。同様に、入力メソッドエディタインスタンス１０３は、コンポジション入力を、たとえばぴん音入力などにマッピングするために、コンポジション入力に対して中国語モード１０５ｂを適用することができる。いくつかの実施態様において、言語モードの１つは、ドキュメントまたは他のテキストが書かれた第１言語モードを具備することができる。別の言語モードは、ユーザがある単語、または第１言語（例として、ネイティブな言語）における単語に対するコンポジション入力に対して不慣れである場合、別の言語における単語を入力するために使用することができる、第２言語モードを具備することができる。
【００２５】
いくつかの実施態様において、入力メソッドエディタエンジン１２２は、モード制御入力を受信するとともに、モード制御入力によって識別される言語モード１０５（たとえば、英語モード１０５ａ、中国語モード１０５ｂ、韓国語モード１０５ｃなど）に従って、コンポジション入力を解釈することができる。言語モードおよびコンポジション入力に基づいて、候補セレクションは、識別するとともに、選択のためユーザに対して提示することができる。候補セレクションは、たとえば、選択された言語モードにおけるコンポジション入力の解釈、および解釈されたコンポジション入力と、解釈されたコンポジション入力に合致する単語または文字との比較に基づいて、識別することができる。
【００２６】
たとえば、いくつかの実施態様において、英語モードには、モード制御入力を入力することによって入ることができる。モード制御入力は、入力された場合、入力メソッドエディタに対してモード制御入力に基づいて言語モードを切り替えさせる、キーまたは一連のキーであることが可能である。候補セレクションは、たとえば、コンポジション入力と英語単語の接頭語とを比較するとともに、前記比較に基づいて英語コンテキスト値を設定することによって、決定することができる。たとえば、コンポジション入力e-l-e-cは、単語「elect」、「electricity」、「electronic」などにおける文字列に合致する。いくつかの実施態様において、候補セレクションは、コンテキスト、使用統計に基づいて、（たとえば、ユーザプロファイル、または候補セレクションの全体的な使用に基づいて）重み付けすることができる。他の重み付けも、可能である。候補セレクションは、各選択に関連付けられた重みに基づいて再び順位付けられる。
【００２７】
入力メソッドエディタエンジン１２２は、候補セレクションの中からの単語の選択を受信することができる。単語は、たとえば、ユーザによって、ユーザがテキスト（例として、ドキュメント）に挿入することを意図する単語に最も密接に合致する単語に基づき選択することができる。いくつかの実施例において、１つの言語（たとえば、英語）における単語は、別の言語（たとえば、中国語）において等価なものを有さない場合がある。そのように単語は、いくつかの実施態様において英語におけるテキストに挿入することができる。他の実施例において、表語文字辞書は、単語、またはユーザがその単語を提示するための正確なぴん音文字を知らない場合があるように、非常に膨大であり得る。そのような実施例において、いくつかの実施態様は、ユーザが第２言語モードを使用して単語を入力メソッドエディタエンジン１２２に入力することを可能にすることができる。そのような実施態様において、単語が第２言語モードを使用して入力された場合、入力メソッドエディタエンジン１２２は、第２言語から第１言語に単語を変換することができる。そのような他の実施態様において、入力メソッドエディタエンジン１２２は、第１言語のテキスト内に第２言語における単語を含めることができる。他の実施態様において、単語が第２言語モードで入力された後入力メソッドエディタエンジン１２２は、第１言語モードに戻る。
【００２８】
図３は、第1コンポジション入力３０２および言語モード値に基づく候補セレクション３００（たとえば、候補単語）の例示的なセットを例示している。前記実施態様において、モード制御入力「v」は、残りのコンポジション入力が第２言語モード（たとえば、英語モード）に従って解釈されるべき入力メソッドエディタ、たとえば入力メソッドエディタインスタンス１０３を示す。コンポジション入力e-l-e-cは、入力メソッドエディタ、たとえば入力メソッドエディタインスタンス１０３によって受信することができるとともに、英語モード、たとえば英語モード１０５ａに従って解釈することができる。候補セレクション３０２（１〜４の番号が付された）は、たとえば、ユーザによって意図される英単語に合致する最も高い確率を有する英単語を画定することができるため、図示したように表示される。
【００２９】
いくつかの実施態様において、候補セレクション３０２は、辞書に含まれていない場合があるユーザ画定の単語（たとえば、略語、固有名詞、架空の単語など）を取得するために、ユーザによってタイプされた文字の識別を含むことができる。そのようなインスタンスの例のように、図３の第1候補選択は、「1. elec」がラベル付けされている。これらの文字は、選択された言語モードに対応する辞書内の単語ではない場合があるが、ユーザが単語を使用することを意図しているかもしれないため、すなわち、ユーザが文書「elec」を使用することを意図している場合があるため、前記文字は、それでもなお表示される場合がある。したがって、ある選択は、ユーザによって入力された正確な文字に対応することができる。他の実施態様における、候補セレクション３０２は、辞書内のエントリに合致する単語のみを具備することができる。そのような実施態様において、ユーザは、それら全体におけるユーザ画定の単語を入力するとともに、次の単語に移動するために、キー（たとえば、スペースバー）を押すことができる。
【００３０】
図４は、第２言語モードを有する例示的な入力メソッドプロセス４００のフロー図である。プロセス４００は、たとえば、図１の装置１００、および／または図２の入力メソッドエディタシステム１２０において、実施することができる。
【００３１】
プロセス４００は、モード制御入力を受信する（４０２）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、モード制御入力（たとえば、キーボードからのキーボード入力）を受信することができる。モード制御入力は、たとえば、図２の英語モード１０５ａのような、対応する言語モードにマッピングすることができる。
【００３２】
プロセス４００は、第２言語モードで入力メソッドエディタを動作させる（４０４）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、モード制御入力に応答して、言語モードを第２言語モード（たとえば、図２の英語モード１０５ａ）に変更することができる。第２言語モードは、いくつかの実施態様において、たとえば、第２言語モードに関連付けられた第２辞書に従って、入力メソッドエディタにコンポジション入力（たとえば、キーボードからのキーボード入力）を解釈させることができる。
【００３３】
プロセス４００は、コンポジション入力を受信する（４０６）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、コンポジション入力（たとえば、キーボードからのキーボード入力）を受信することができる。キーボード入力は、言語モードに従って、辞書（たとえば、文字データストア１２４）内のエントリにマッピングすることができる。前記マッピングは、たとえば、コンポジション入力テーブルを使用して（例として、図２のコンポジション入力テーブル１２６を使用して）、実行することができる。
【００３４】
プロセス４００は、候補単語を識別する（４０８）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、辞書（例として、図２の文字データストア１２４）に対するコンポジション入力のマッピングに基づいて、候補単語（例として、図３の候補セレクション３００）を識別することができる。
【００３５】
プロセス４００は、候補セレクションを提示することができる（４１０）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、コンポジション入力テーブル（例として、図２のコンポジション入力テーブル１２６）と、文字データストア（例として、図２の文字データストア１２４）とを使用して、候補単語の識別に基づいた候補単語（例として、図３の候補セレクション３００）を提示することができる。候補単語の提示は、入力メソッドエディタによって編集されているテキスト内への挿入のために、候補単語の１つを選択することを入力メソッドエディタのユーザに促すことができる。
【００３６】
図５は、第２言語モードを有する例示的な入力メソッドプロセス５００のフロー図である。プロセス５００は、たとえば、図１の装置１００、および／または図２の入力メソッドエディタシステム１２０において、実施することができる。
【００３７】
プロセス５００は、第１言語モードで入力メソッドエディタを動作させる（５０２）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、第２言語モード（例として、図２の中国語モード１０５ｂ）を使用して、入力メソッドエディタを動作させることができる。第１言語モードは、いくつかの実施態様において、たとえば、第１言語モードに関連付けられた第１辞書に従って、入力メソッドエディタに、コンポジション入力（例として、キーボードからのキーボード入力）を解釈させることができる。
【００３８】
プロセス５００は、モード制御入力を受信する（５０４）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、モード制御入力（たとえば、キーボードからのキーボード入力）を受信することができる。モード制御入力は、たとえば、図２の英語モード１０５ａのような、対応する言語モードにマッピングすることができる。
【００３９】
プロセス５００は、第２言語モードで入力メソッドエディタを動作させる（５０４）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、モード制御入力に応答して、言語モードを第２言語モード（たとえば、an図２の英語モード１０５ａ）に変更することができる。第２言語モードは、いくつかの実施態様において、たとえば、第２言語モードに関連付けられた第２辞書に従って、入力メソッドエディタにコンポジション入力（たとえば、キーボードからのキーボード入力）を解釈させることができる。
【００４０】
プロセス５００は、コンポジション入力を受信する（５０８）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、コンポジション入力（たとえば、キーボードからのキーボード入力）を受信することができる。キーボード入力は、言語モードに従って、辞書（たとえば、文字データストア１２４）内のエントリにマッピングすることができる。前記マッピングは、たとえば、コンポジション入力テーブルを使用して（例として、図２のコンポジション入力テーブル１２６を使用して）、実行することができる。
【００４１】
プロセス５００は、候補単語を識別するために、コンポジション入力と第２辞書内のエントリとを比較する（５１０）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、辞書（例として、図２の文字データストア１２４）に対するコンポジション入力のマッピングに基づいて、候補単語（例として、図３の候補セレクション３００）を識別することができる。マッピングは、たとえば、コンポジション入力テーブルを使用して（例として、図２のコンポジション入力テーブル１２６を使用して）実行することができる。
【００４２】
プロセス５００は、候補単語をユーザに提示することができる（５１２）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、コンポジション入力テーブル（例として、図２のコンポジション入力テーブル１２６）と、文字データストア（例として、図２の文字データストア１２４）とを使用して、候補単語の識別に基づいた候補単語（例として、図３の候補セレクション３００）を提示することができる。候補単語の提示は、入力メソッドエディタによって編集されているテキスト内への挿入のために、候補単語の１つを選択することを入力メソッドエディタのユーザに促すことができる。
【００４３】
プロセス５００は、ユーザから選択された単語を受信することができる（５１４）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、提示された候補単語（例として、図３の任意の候補セレクション３００）に基づいて、選択された単語を受信することができる。選択された単語の受信は、入力メソッドエディタに対して、選択された単語をテキストに挿入させることができる。
【００４４】
いくつかの実施態様において、プロセス５００は、選択された単語を変換することができる（５１６）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、選択された単語を変換することができる。変換された単語は、第２言語モードに関連付けられた第２言語から第１言語モードに関連付けられた第１言語に変換することができる。
【００４５】
いくつかの実施態様において、プロセス５００は、選択された単語をテキストの一部に挿入することができる（５１８）。たとえば、入力メソッドエディタを実装する図１の装置１００、および／または図２の入力メソッドエディタシステム１２０は、選択された単語を、テキストの一部（例として、入力メソッドエディタによって編集するために選択されたテキストの一部）に挿入することができる。いくつかの実施態様において、選択された単語は、第１言語におけるテキスト（例として、変換後）に挿入される。他の実施態様において、選択された単語は、第２言語モードに関連付けられた第２言語におけるテキストに挿入される。
【００４６】
特定の言語のコンテキストおよび入力メソッドの例において記載したが、本明細書に記載したシステムおよび方法は、表語文字法を用いる任意の言語に対して使用することができる。たとえば、本明細書に記載したシステムおよび方法は、日本語、韓国語、および他の言語のような表意文字を含む他の多くの言語に対して使用することができる。
【００４７】
本明細書に記載した発明の主題および機能的動作の実施形態は、本明細書に記載した構造、およびそれらの構造的等価物、またはそれらの１つもしくは複数の組み合わせを含む、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実施することができる。本明細書に記載された発明の主題の実施形態は、１つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置による実行のための、またはその動作を制御するための有形のプログラムキャリア上でエンコードされたコンピュータプログラム命令の１つまたは複数のモジュールとして、実施することができる。有形のプログラムキャリアは、伝播信号またはコンピュータ可読媒体であることが可能である。伝播信号は、コンピュータによる実行のため、適切な受信装置に送信する情報をエンコードするために生成される、人工的に生成された信号（例として、マシン生成の電気的、光学的または電磁気的信号）である。コンピュータ可読媒体は、マシン可読記憶装置、マシン可読記憶基板、メモリ装置、マシン可読伝播信号を生じさせる物の構成、またはそれらの１つもしくは複数の組み合わせであってもよい。
【００４８】
用語「データ処理装置」は、例示として、プログラマブルプロセッサ、コンピュータ、または多重プロセッサもしくはコンピュータを含む、データを処理するための、全ての装置、デバイス、およびマシンを包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの１つもしくは複数の組み合わせを構成するコードを含むことができる。
【００４９】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている）は、コンパイル型もしくはインタプリタ型言語、または宣言型もしくは手続型言語を含む、プログラム言語の任意の形式で記述することができるとともに、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境における使用に適した他のユニットとして含まれる任意の形式で、展開することができる。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応しない。プログラムは、他のプログラムまたはデータ（たとえば、マークアップ言語ドキュメントに保存された１つもしくは複数のスクリプト）を保持するファイルの一部に、当該プログラム専用の単一ファイル、または複数の組織（coordinated）ファイル（たとえば、１つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を保存するファイル）に保存することができる。コンピュータプログラムは、１つのコンピュータ上で、または１つのサイトに位置する、もしくは複数のサイトにわたって分散された多重コンピュータ上で実行されるとともに、通信ネットワークによって相互接続されるように展開することができる。
【００５０】
本明細書に記載したプロセスおよび論理フローは、入力データに対する動作、および出力の生成による機能を実施するように、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラマブルプロセッサによって実施することができる。プロセスおよび論理フローは、同様に、特別な目的の論理回路、たとえば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途集積回路）によって同様に実施することができるとともに、装置は、同様に、それらのものとして実装することができる。
【００５１】
コンピュータプログラムの実行に適したプロセッサは、例示として、一般的および特別な目的のマイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの１つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリメモリ、ランダムアクセスメモリ、またはその両方から命令およびデータを受信する。コンピュータの基本的なエレメントは、命令を実施するプロセッサと、命令およびデータを保存する１つまたは複数のメモリ装置である。一般的に、コンピュータは、同様に、データを保存する１つまたは複数の大容量記憶装置（例として、磁気、光磁気ディスク、または光ディスク）を含む、またはそれらからデータを受信する、それらにデータを送信する、またはその両方のために動作するよう接続されている。しかし、コンピュータは、そのような装置を有する必要はない。さらに、コンピュータは、別の装置、例を挙げると、たとえば、携帯電話、携帯情報端末（ＰＤＡ）、携帯オーディオ、または動画プレイヤ、ゲーム機、全方位測位システム（ＧＰＳ）受信機に組み込むことができる。
【００５２】
コンピュータプログラム命令およびデータの保存に適したコンピュータ可読媒体は、例示として、半導体メモリ装置（たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置）、磁気ディスク（たとえば、内蔵ハードディスクまたはリムーバブルディスク）、光磁気ディスク、ならびにＣＤ  ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む、不揮発性メモリ、媒体、およびメモリ装置の全ての形式を含む。プロセッサおよびメモリは、特別な目的の論理回路によって補完する、またはそれに組み込むことができる。
【００５３】
ユーザとの相互作用を提供するために、本明細書に記載した発明の主題の実施形態は、ユーザに対して情報を表示するディスプレイ装置、たとえばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタと、キーボードと、ユーザがコンピュータに入力を供給することができるポインティング装置、たとえばマウスまたはトラックボールとを有するコンピュータ上で実施することができる。ユーザとの相互作用を提供するために、他の種類の装置を同様に使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック（例として、視覚的フィードバック、聴覚的フィードバック、触覚的フィードバック）であることが可能であるとともに、ユーザからの入力は、音響、声、または接触入力を含む任意の形式で受信することができる。
【００５４】
本明細書に記載した発明の主題の実施形態は、たとえばデータサーバのようなバックエンドコンポーネントを含む、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含む、またはフロントエンドコンポーネント、たとえば、本明細書に記載した発明の主題の実施態様、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの１つもしくは複数の組み合わせを用いてユーザが相互作用することができる、グラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータを含む、コンピューティングシステム内で実施することができる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、たとえば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）と、ワイドエリアネットワーク（ＷＡＮ）、たとえばインターネットとを含む。
【００５５】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的に互いに遠隔であるとともに、典型的に、通信ネットワークを通して相互作用することができる。クライアントおよびサーバの関係は、各コンピュータ上で動作し、かつ互いにクライアント−サーバの関係を有するコンピュータプログラムによって生じる。
【００５６】
本明細書は、多くの特別な実施態様の詳細を含む一方で、それらは、本発明、または主張されるものの範囲を限定するものとしてではなく、むしろ特定の発明の特別な実施形態を特定し得る特徴の記載として解釈されるべきである。個別の実施形態と関連して本明細書に記載した特定の特徴は、同様に、単一の実施形態の組み合わせにおいて実施することができる。反対に、単一の実施形態に関連して記載した様々な特徴は、同様に、複数の各実施形態において、または適切なサブコンビネーションにおいて実施することができる。さらに、特徴は、特定の組み合わせにおいて実行されるものとして上述し、かつそのように最初に主張したが、主張される組み合わせからの１つまたは複数の特徴は、いくつかのケースにおいて、その組み合わせから削除されるとともに、主張される組み合わせは、サブコンビネーション、またはサブコンビネーションの組み合わせに指向され得る。
【００５７】
同様に、動作を特定の順番によって図面に表した一方で、所望の結果を達成するように、示された特定の順番でもしくは逐次の順番で実施されるそのような動作を、または実施される全ての例示動作を要求するものとして理解されるべきではない。特定の環境において、マルチタスキングおよび並列処理は、有効である。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、全ての実施形態におけるそのよう分離を要求するものとして理解されるべきではないとともに、記載したプログラムコンポーネントおよびシステムは、一般的に、単一のシステム製品に一緒に統合する、または複数のソフトウェア製品にパッケージすることができる。
【００５８】
本明細書に記載した発明の主題における特定の実施形態を記載した。他の実施形態も、添付の特許請求の範囲内である。たとえば、特許請求の範囲に記載した動作は、異なる順番で実施してもなお所望の結果を達成することができる。一例として、所望の結果を達成するために、添付の図面に表したプロセスは、必ずしも示された特定の順番、または逐次の順番を必ずしも要求しない。特定の実施態様において、マルチタスキングおよび並列処理は、有効である。
【符号の説明】
【００５９】
１０５ａ  英語モード
１０５ｂ  中国語モード
１０５ｃ  韓国語モード
１２０  入力メソッドエディタシステム
１２２  入力メソッドエディタエンジン
１２４  文字データストア
１２６  コンポジション入力データストア
１２８  統合テーブル
【図１】
0005634860.tif 000002
【図２】
0005634860.tif 000003
【図３】
0005634860.tif 000004
【図４】
0005634860.tif 000005
【図５】
0005634860.tif 000006