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