(57)【特許請求の範囲】
【請求項１】
第1の書記体系における第1の書記素を受け取るステップと、
前記第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第1の形態素の前記第1の書記体系における第1のnグラム表現を識別し、前記第1のnグラム表現は、前記第1の書記素を含むステップと、
前記第1のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第1のノードを探し出し、前記形態素グラフの中から探し出されたそれぞれの第1のノードは、前記第2の書記体系における1つまたは複数の第1の語彙項目を表し、前記1つまたは複数の第1の語彙項目のそれぞれは、前記第1のnグラム表現によって表されるステップと、
前記1つまたは複数の第1の語彙項目のそれぞれに関連付けられた第1のスコアに基づいて、前記1つまたは複数の第1の語彙項目から或る第1の語彙項目を選択するステップと、
前記第1の語彙項目を、ユーザデバイス上で表示されるように供給するステップとを備えるコンピュータによって実施される方法。
【請求項２】
前記第1の書記素は、前記第2の書記体系における或る音節の一部分だけを表す請求項1に記載の方法。
【請求項３】
前記第1の書記体系における第2の書記素を受け取るステップと、
第1の書記体系における書記素の前記書記素グラフを使用して、前記第2の書記体系における第2の形態素の前記第1の書記体系における第2のnグラム表現を識別し、前記第2のnグラム表現は、前記第2の書記素を含むステップと、
前記第2のnグラム表現を使用して、前記形態素グラフの中から1つまたは複数の第2のノードを探し出し、前記形態素グラフの中から探し出されたそれぞれの第2のノードは、前記第2の書記体系における1つまたは複数の第2の語彙項目を表し、前記1つまたは複数の第2の語彙項目のそれぞれは、前記第2のnグラム表現によって表されるステップと、
第3の語彙項目と第4の語彙項目の1つまたは複数の置換を生成し、前記第3の語彙項目は、前記1つまたは複数の第1の語彙項目から選択され、さらに前記第4の語彙項目は、前記1つまたは複数の第2の語彙項目から選択されるステップと、
前記1つまたは複数の置換のそれぞれに関連する第2のスコアに基づき、前記1つまたは複数の置換から或る置換を選択し、前記選択された置換は、前記第3の語彙項目に続いて前記第4の語彙項目を含むステップと、
前記選択された第1の語彙項目の前記第1のスコアと前記選択された置換の前記第2のスコアを比較するステップと、
前記比較に基づいて、前記選択された第1の語彙項目、または前記選択された置換を、前記ユーザデバイス上で表示されるように供給するステップとをさらに備える請求項1に記載の方法。
【請求項４】
前記第1の書記素は、前記第2の書記素によって一部分だけ表した第4の形態素とは異なる第3の形態素の一部分だけを表す請求項3に記載の方法。
【請求項５】
前記書記素グラフは、複数のノードを含み、各ノードは、前記第1の書記体系における書記素を表し、さらに前記複数のノードの適切なサブセットの中の各ノードは、完全な音節に対応し、対応するそれぞれの完全な音節は、その音節に対応するノードの前記書記素と、前記対応するノードを子孫とするノードの前記書記素とを含む請求項1に記載の方法。
【請求項６】
前記第1のnグラム表現は、ノードの前記適切なサブセットの中の前記ノードの1つに対応する完全な音節を表す請求項5に記載の方法。
【請求項７】
前記形態素グラフは、複数のノードを含み、各ノードは、前記第2の書記体系における1つまたは複数の形態素を表し、さらに前記複数のノードの適切なサブセットの中の各ノードは、語彙項目に対応し、対応する各語彙項目は、その語彙項目に対応するノードの前記形態素と、前記対応するノードを子孫とするノードの前記形態素とを含む請求項1に記載の方法。
【請求項８】
前記形態素は、漢字に対応する請求項7に記載の方法。
【請求項９】
前記第1のnグラム表現は、完全なピンイン音節を表し、さらに前記1つまたは複数の語彙項目のそれぞれは、漢字用語である請求項1に記載の方法。
【請求項１０】
前記第1のnグラム表現を使用して形態素グラフの中から1つまたは複数のノードを探し出すステップは、
前記第1のnグラム表現に対応する前記書記素グラフの中の第1のノードの識別子を選択するステップと、
前記識別子に関連付けられた前記形態素グラフの中から第2のノードを探し出すステップとを含む請求項1に記載の方法。
【請求項１１】
第1のローマ字入力を受け取るステップと、
前記第1のローマ字入力を使用して、ピンイン入力グラフの中から第1のピンイン音節ノードを探し出し、前記ピンイン入力グラフは、複数のピンイン音節ノードを含み、各ピンイン音節ノードは、ローマ字に対応し、前記複数のピンイン音節ノードの適切なサブセットの中の各ピンイン音節ノードは、ピンイン音節に対応し、対応する各ピンイン音節は、そのピンイン音節に対応するピンイン音節ノードの前記ローマ字と、前記対応するピンイン音節ノードを子孫とするピンイン音節ノードの前記ローマ字とを含むステップと、
前記探し出されたピンイン音節ノードを使用して、ピンイン音節グラフの中から1つまたは複数の第1の漢字ノードを探し出し、前記ピンイン音節グラフは、複数の漢字ノードを含み、各漢字ノードは、ピンイン音節に対応し、前記複数の漢字ノードの適切なサブセットの中の各漢字ノードは、1つまたは複数の第1の漢字用語に対応し、対応するそれぞれの1つまたは複数の第1の漢字用語は、その漢字用語に対応する漢字ノードのピンイン音節に対応する漢字と、前記対応する漢字ノードを子孫とする漢字ノードのピンイン音節に対応する漢字とを含むステップと、
前記1つまたは複数の第1の漢字用語のそれぞれに関連付けられた第1のスコアに基づいて、前記1つまたは複数の漢字ノードの1つに対応する第1の漢字用語を、ユーザデバイスに出力されるように選択するステップとを備えるコンピュータによって実施される方法。
【請求項１２】
第2のローマ字入力を受け取るステップと、
前記第2のローマ字入力を使用して、前記ピンイン入力グラフの中から第2のピンイン音節ノードを探し出し、前記第2のピンイン音節ノードは、前記第2のローマ字入力を含むピンイン音節を表すステップと、
前記探し出された第2のピンイン音節ノードを使用して、前記ピンイン音節グラフの中から1つまたは複数の第2の漢字ノードを探し出し、それぞれの探し出された第2の漢字ノードは、1つまたは複数の第2の漢字用語に対応するステップと、
第3の漢字用語と第4の漢字用語の1つまたは複数の置換を生成し、前記第3の漢字用語は、前記1つまたは複数の第1の漢字用語から選択され、さらに前記第4の漢字用語は、前記1つまたは複数の第2の漢字用語から選択されるステップと、
前記1つまたは複数の置換に関連付けられた第2のスコアに基づいて、前記1つまたは複数の置換から或る置換を選択し、前記選択された置換は、前記第3の漢字用語に続き前記第4の漢字用語を含むステップと、
前記選択された第1の漢字用語の前記第1のスコアと前記選択された置換の前記第2のスコアを比較するステップと、
前記比較に基づいて、前記選択された第1の漢字用語または前記選択された置換を、前記ユーザデバイスに出力されるように供給するステップとをさらに備える請求項11に記載の方法。
【請求項１３】
前記探し出されたピンイン音節ノードを使用して、1つまたは複数の漢字ノードを探し出すステップは、
前記探し出されたピンイン音節ノードの識別子を選択するステップと、
前記識別子に関連付けられた前記ピンイン音節グラフの中から第1の漢字ノードを探し出すステップとを含む請求項11に記載の方法。
【請求項１４】
前記ピンイン音節グラフは、パトリシアトライである請求項11に記載の方法。
【請求項１５】
データ処理装置と、
第1の書記体系における書記素の書記素グラフが格納され、前記書記素グラフは、第1の複数のノードを含み、さらに前記第1の複数のノードの中の各ノードは、前記第1の書記体系における書記素を表し、さらに前記第1の複数のノードの適切なサブセットの中の各ノードは、完全な音節に対応し、対応するそれぞれの完全な音節は、前記第1の複数のノードの中のその音節に対応するノードの前記書記素と、前記第1の複数のノードの中の前記対応するノードを子孫とするノードの前記書記素とを含み、さらに第2の書記体系における形態素の形態素グラフが格納され、前記形態素グラフは、第2の複数のノードを含み、前記第2の複数のノードの中の各ノードは、前記第2の書記体系における1つまたは複数の形態素を表し、さらに第2の複数のノードの適切なサブセットの中の各ノードは、語彙項目に対応し、対応する各語彙項目は、前記第2の複数のノードの中のその語彙項目に対応するノードの前記形態素と、前記第2の複数のノードの中の前記対応するノードを子孫とするノードの前記形態素とを含むデータストアとを備えるシステム。
【請求項１６】
前記データストアは、前記語彙項目の1つまたは複数の項目の組合せにスコアを付ける言語モデルをさらに格納する請求項15に記載のシステム。
【請求項１７】
第1の書記体系における第1の書記素を受け取るステップと、
前記第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第1の形態素の前記第1の書記体系における第1のnグラム表現を識別し、前記第1のnグラム表現は、前記第1の書記素を含むステップと、
前記第1のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第1のノードを探し出し、前記形態素グラフの中から探し出されたそれぞれの第1のノードは、前記第2の書記体系における1つまたは複数の第1の語彙項目を表し、前記1つまたは複数の第1の語彙項目のそれぞれは、前記第1のnグラム表現によって表されるステップと、
前記1つまたは複数の第1の語彙項目のそれぞれに関連付けられた第1のスコアに基づいて、前記1つまたは複数の第1の語彙項目から或る第1の語彙項目を選択するステップと、
前記第1の語彙項目を、ユーザデバイス上で表示されるように供給するステップとを備える動作をデータ処理装置に実行させるように動作可能な、コンピュータ読み取り可能な記録媒体上に記録したコンピュータプログラム。
【請求項１８】
前記第1の書記体系における第2の書記素を受け取るステップと、
第1の書記体系における書記素の前記書記素グラフを使用して、前記第2の書記体系における第2の形態素の前記第1の書記体系における第2のnグラム表現を識別し、前記第2のnグラム表現は、前記第2の書記素を含むステップと、
前記第2のnグラム表現を使用して、前記形態素グラフの中から1つまたは複数の第2のノードを探し出し、前記形態素グラフの中から探し出されたそれぞれの第2のノードは、前記第2の書記体系における1つまたは複数の第2の語彙項目を表し、前記1つまたは複数の第2の語彙項目のそれぞれは、前記第2のnグラム表現によって表されるステップと、
第3の語彙項目と第4の語彙項目の1つまたは複数の置換を生成し、前記第3の語彙項目は、前記1つまたは複数の第1の語彙項目から選択され、さらに前記第4の語彙項目は、前記1つまたは複数の第2の語彙項目から選択されるステップと、
前記1つまたは複数の置換のそれぞれに関連する第2のスコアに基づき、前記1つまたは複数の置換から或る置換を選択し、前記選択された置換は、前記第3の語彙項目に続いて前記第4の語彙項目を含むステップと、
前記選択された第1の語彙項目の前記第1のスコアと前記選択された置換の前記第2のスコアを比較するステップと、
前記比較に基づいて、前記選択された第1の語彙項目、または前記選択された置換を、前記ユーザデバイス上で表示されるように供給するステップとをさらに備える動作をデータ処理装置に実行させるように動作可能な請求項17に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、入力方法に関する。
【背景技術】
【０００２】
書記体系は、記号(例えば、文字または書記素)を使用して、言語の音声を表す。書記体系における記号のコレクションは、筆記体と呼ばれることが可能である。例えば、1つまたは複数のローマ筆記体におけるローマ字のコレクションを含むラテン書記体系が、英語を表すのに使用されることが可能である。ラテン書記体系は、ブロック体ローマ字(例えば、大文字の文字「B」)、活字体ローマ字(装飾のない文字「b」)、および草書体ローマ字(例えば、草書体文字「b」)を含むことが可能である。文字「b」の各視覚的表現は、ラテン筆記体系における同一の書記素を表す。
【０００３】
別の例として、中国語は、1つまたは複数の書記体系によって表されることが可能である。例えば、中国語は、第1の書記体系、例えば、ピンイン(つまり、ローマ字表記された中国語)によって表されることが可能である。別の例として、中国語は、第2の書記体系、例えば、Bopomofoまたは注音字母(「注音」)を使用して表されることが可能である。さらに別の例として、中国語は、第3の書記体系、例えば、漢字を使用して表されることが可能である。特に、ピンインおよび注音は、漢字を表すための音声体系である。
【０００４】
一部の入力方法は、ユーザが、第1の書記体系でテキストを入力し、第2の書記体系で出力候補をもたらすことを可能にする。例えば、ピンイン入力法は、ユーザがピンイン文字列を入力することを許し、漢字で出力候補を生成することができる。ピンイン文字列は、1つまたは複数のピンイン音節を含むことが可能である。ピンイン音節は、第1の副音節(例えば、音節の一部分)に続いて第2の副音節を含むことが可能である。各ピンイン音節は、複数の漢字に対応し、さらに各副音節は、1つまたは複数のローマ字を含む。例えば、ピンイン音節「zhang」が、第1の副音節「zh」と第2の副音節「ang」に分けられることが可能である。さらに、副音節「zh」と副音節「ang」はともに、他の副音節と組み合わされて、他のピンイン音節が作られることも可能である。例えば、副音節「zh」と副音節「a」が組み合わされて、ピンイン音節「zha」が作られることが可能であり、さらに副音節「t」が副音節「ang」が組み合わされて、ピンイン音節「tang」が作られることが可能である。
【０００５】
出力候補を生成することは、例えば、入力テキストをセグメント化することによる、入力テキストの中の形態素(例えば、音節)の識別を要求することが可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本明細書は、入力方法と関係する技術を説明する。
【課題を解決するための手段】
【０００７】
一般に、本明細書で説明される主題の一態様は、第1の書記体系における第1の書記素を受け取るアクションと、第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第1の形態素の第1の書記体系における第1のnグラム表現を識別し、第1のnグラム表現は、第1の書記素を含むアクションと、第1のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第1のノードを探し出し、ただし、形態素グラフの中から探し出されたそれぞれの第1のノードは、第2の書記体系における1つまたは複数の第1の語彙項目を表し、1つまたは複数の第1の語彙項目のそれぞれは、第1のnグラム表現によって表されるアクションと、1つまたは複数の第1の語彙項目のそれぞれに関連付けられた第1のスコアに基づいて、1つまたは複数の第1の語彙項目から或る第1の語彙項目を選択するアクションと、その第1の語彙項目を、ユーザデバイス上で表示されるように供給するアクションとを含む方法として実現されることが可能である。この態様の他の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【０００８】
これら、およびその他の実施形態は、オプションとして、以下の特徴の1つまたは複数を含むことが可能である。第1の書記素は、第2の書記体系における或る音節の一部分だけを表す。この方法は、第1の書記体系における第2の書記素を受け取ること、第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第2の形態素の第1の書記体系における第2のnグラム表現を識別し、ただし、第2のnグラム表現は、第2の書記素を含むこと、第2のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第2のノードを探し出し、ただし、形態素グラフの中から探し出されたそれぞれの第2のノードは、第2の書記体系における1つまたは複数の第2の語彙項目を表し、1つまたは複数の第2の語彙項目のそれぞれは、第2のnグラム表現によって表されること、第3の語彙項目と第4の語彙項目の1つまたは複数の置換を生成し、第3の語彙項目は、1つまたは複数の第1の語彙項目から選択され、さらに第4の語彙項目は、1つまたは複数の第2の語彙項目から選択されること、1つまたは複数の置換のそれぞれに関連する第2のスコアに基づき、1つまたは複数の置換から或る置換を選択し、ただし、選択された置換は、第3の語彙項目に続いて第4の語彙項目を含むこと、選択された第1の語彙項目の第1のスコアと選択された置換の第2のスコアを比較すること、およびこの比較に基づいて、選択された第1の語彙項目、または選択された置換を、ユーザデバイス上で表示されるように供給することをさらに含むことが可能である。
【０００９】
第1の書記素は、第2の書記素によって一部分だけ表した第4の形態素とは異なる第3の形態素の一部分だけを表す。書記素グラフは、複数のノードを含み、各ノードは、第1の書記体系における書記素を表し、さらに複数のノードの適切なサブセットの中の各ノードは、完全な音節に対応し、対応するそれぞれの完全な音節は、その音節に対応するノードの書記素と、その対応するノードを子孫とするノードの書記素とを含む。第1のnグラム表現は、ノードの適切なサブセットの中のノードの1つに対応する完全な音節を表す。形態素グラフは、複数のノードを含み、各ノードは、第2の書記体系における1つまたは複数の形態素を表し、さらに複数のノードの適切なサブセットの中の各ノードは、語彙項目に対応し、対応する各語彙項目は、その語彙項目に対応するノードの形態素と、その対応するノードを子孫とするノードの形態素とを含む。
【００１０】
形態素は、漢字に対応する。第1のnグラム表現は、完全なピンイン音節を表し、さらに1つまたは複数の語彙項目のそれぞれは、漢字用語である。第1のnグラム表現を使用して形態素グラフの中から1つまたは複数のノードを探し出すことは、第1のnグラム表現に対応する書記素グラフの中の第1のノードの識別子を選択すること、およびその識別子に関連付けられた形態素グラフの中から第2のノードを探し出すことを含む。
【００１１】
一般に、本明細書で説明される主題の別の態様は、第1のローマ字入力を受け取るアクションと、第1のローマ字入力を使用して、ピンイン入力グラフの中から第1のピンイン音節ノードを探し出し、ピンイン入力グラフは、複数のピンイン音節ノードを含み、各ピンイン音節ノードは、ローマ字に対応し、ただし、複数のピンイン音節ノードの適切なサブセットの中の各ピンイン音節ノードは、ピンイン音節に対応し、対応する各ピンイン音節は、そのピンイン音節に対応するピンイン音節ノードのローマ字と、その対応するピンイン音節ノードを子孫とするピンイン音節ノードのローマ字とを含むアクションと、探し出されたピンイン音節ノードを使用して、ピンイン音節グラフの中から1つまたは複数の第1の漢字ノードを探し出し、ピンイン音節グラフは、複数の漢字ノードを含み、各漢字ノードは、ピンイン音節に対応し、ただし、複数の漢字ノードの適切なサブセットの中の各漢字ノードは、1つまたは複数の第1の漢字用語に対応し、対応するそれぞれの1つまたは複数の第1の漢字用語は、その漢字用語に対応する漢字ノードのピンイン音節に対応する漢字と、対応する漢字ノードを子孫とする漢字ノードのピンイン音節に対応する漢字とを含むアクションと、1つまたは複数の第1の漢字用語のそれぞれに関連付けられた第1のスコアに基づいて、1つまたは複数の漢字ノードの1つに対応する第1の漢字用語を、ユーザデバイスに出力されるように選択するアクションとを含む方法として実現されることが可能である。この態様の他の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【００１２】
これら、およびその他の実施形態は、オプションとして、以下の特徴の1つまたは複数を含むことが可能である。この方法は、第2のローマ字入力を受け取ること、第2のローマ字入力を使用して、ピンイン入力グラフの中から第2のピンイン音節ノードを探し出し、ただし、第2のピンイン音節ノードは、第2のローマ字入力を含むピンイン音節を表すこと、探し出された第2のピンイン音節ノードを使用して、ピンイン音節グラフの中から1つまたは複数の第2の漢字ノードを探し出し、それぞれの探し出された第2の漢字ノードは、1つまたは複数の第2の漢字用語に対応すること、および第3の漢字用語と第4の漢字用語の1つまたは複数の置換を生成し、ただし、第3の漢字用語は、1つまたは複数の第1の漢字用語から選択され、さらに第4の漢字用語は、1つまたは複数の第2の漢字用語から選択されること、1つまたは複数の置換に関連付けられた第2のスコアに基づいて、1つまたは複数の置換から或る置換を選択し、ただし、選択された置換は、第3の漢字用語に続き第4の漢字用語を含むこと、選択された第1の漢字用語の第1のスコアと選択された置換の第2のスコアを比較すること、およびこの比較に基づいて、選択された第1の漢字用語または選択された置換、をユーザデバイスに出力されるように供給することをさらに含むことが可能である。
【００１３】
探し出されたピンイン音節ノードを使用して、1つまたは複数の漢字ノードを探し出すことは、探し出されたピンイン音節ノードの識別子を選択すること、およびその識別子に関連付けられたピンイン音節グラフの中から第1の漢字ノードを探し出すことを含む。このピンイン音節グラフは、パトリシアトライである。
【００１４】
一般に、本明細書で説明される主題の別の態様は、データ処理装置と、第1の書記体系における書記素の書記素グラフが格納され、書記素グラフは、第1の複数のノードを含み、第1の複数のノードの中の各ノードは、第1の書記体系における書記素を表し、さらに第1の複数のノードの適切なサブセットの中の各ノードは、完全な音節に対応し、対応するそれぞれの完全な音節は、第1の複数のノードの中のその音節に対応するノードの書記素と、第1の複数のノードの中のその対応するノードを子孫とするノードの書記素とを含み、さらに第2の書記体系における形態素の形態素グラフが格納され、形態素グラフは、第2の複数のノードを含み、第2の複数のノードの中の各ノードは、第2の書記体系における1つまたは複数の形態素を表し、さらに第2の複数のノードの適切なサブセットの中の各ノードは、語彙項目に対応し、対応する各語彙項目は、第2の複数のノードの中のその語彙項目に対応するノードの形態素と、第2の複数のノードの中のその対応するノードを子孫とするノードの形態素とを含むデータストアとを含むシステムとして実現されることが可能である。この態様の他の実施形態は、対応する方法、装置、およびコンピュータプログラム製品を含む。
【００１５】
これら、およびその他の実施形態は、オプションとして、以下の特徴の1つまたは複数を含むことが可能である。このデータストアは、語彙項目の1つまたは複数の項目の組合せにスコアを付ける言語モデルをさらに格納する。
【００１６】
本明細書で説明される主題の特定の実施形態は、以下の利点の1つまたは複数を実現するように実施されることが可能である。書記素グラフおよび形態素グラフを使用して第1の書記体系における入力を解析して、第2の書記体系における対応する語彙項目を識別することは、可能な語彙項目の探索空間を拡大し、その結果、候補語彙項目の数を増加させるとともに、精度および想起を向上させる。さらに、書記素グラフおよび形態素グラフを使用して第1の書記体系における入力を解析して、第2の書記体系における対応する語彙項目を識別することは、候補語彙項目を識別するのに必要とされる入力のトークン(例えば、文字)の数を低減し、その結果、入力方法の利便性および効率を高めるとともに、ユーザ体験を向上させる。
【００１７】
候補語彙項目を識別するのに必要とされる入力のトークンの数を減らすことは、より小さいキーパッド、または予測キーボードを含む移動デバイス(例えば、移動電話機)上で特に有用であり得る。さらに、すべての入力テキスト(例えば、ピンイン入力文字列全体)を解析することができるインプットメソッドエディタが、入力テキストに関する出力候補をもたらすのに必要とされるユーザ入力およびユーザ対話の量を減らし、その結果、入力方法の利便性および効率を高めるとともに、ユーザ体験を向上させる。例えば、ユーザは、各ピンイン音節を入力して、各ピンイン音節に関する出力候補を別々に選択しなくてもよい。
【００１８】
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付の図面、および後段の説明において示される。主題の他の特徴、態様、および利点は、その説明、図面、および特許請求の範囲から明白となろう。
【図面の簡単な説明】
【００１９】
【図１Ａ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図１Ｂ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図１Ｃ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図１Ｄ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図１Ｅ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図１Ｆ】第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む図である。
【図２】テキスト入力の見られるシーケンス、およびテキスト入力の見られるシーケンスによって表される音節の潜在的なシーケンスを示すブロック図である。
【図３】例示的な書記素グラフを示す図である。
【図４】例示的な形態素グラフを示す図である。
【図５】書記素グラフおよび形態素グラフの例示的な使用のステップを示す図である。
【図６】第1の書記体系におけるテキスト入力に基づいて、第2の書記体系における出力テキスト候補を生成するための例示的なシステムを示すブロック図である。
【図７Ａ】第1の書記体系におけるテキスト入力に基づいて、第2の書記体系における出力テキスト候補を生成するための例示的なプロセスを示す流れ図である。
【図７Ｂ】第1の書記体系におけるテキスト入力に基づいて、第2の書記体系における出力テキスト候補を生成するための別の例示的なプロセスを示す流れ図である。
【図８】本明細書で説明されるシステムおよび方法を実施するのに利用され得る例示的なシステムを示すブロック図である。
【図９】インプットメソッドエディタを示すブロック図である。
【発明を実施するための形態】
【００２０】
様々な図面における同様の参照符号および名称は、同様の要素を示す。
【００２１】
図1A〜図1Fは、第1の書記体系における例示的なテキスト入力、および第2の書記体系における例示的な出力テキスト候補を含む。図1A〜図1Fは、第1の書記体系、例えば、ピンインにおける例示的なテキスト入力を含む。図1C、図1D、および図1Fは、第2の書記体系、例えば、漢字における例示的な出力テキスト候補も含む。図1A〜図1Fに含まれる例示的なテキスト入力、および例示的な出力テキスト候補は、ローマ字と漢字のいくつかの間に区切り記号(例えば、スペース)を含む。これらの区切り記号を含めることは、これらの例をより理解し易くし、区切り記号は、実際には、例えば、ローマ字の入力中、実際には含められないことが可能であり、ユーザは、スペースを使用してローマ字を分離しない可能性がある。
【００２２】
例として、ユーザが、IME(インプットメソッドエディタ)にローマ字を入力することによって、中国語の文
【００２３】
【数１】
0005362095.tif 000002
【００２４】
(すなわち、英語で「We are going to America」)を入力することを所望する可能性がある。ユーザによって入力される入力ローマ字は、第1の書記体系であるピンインを表すのに使用されることが可能である。このユーザは、IMEが、第2の書記体系である漢字で出力をもたらすことを所望する可能性がある。中国語の文
【００２５】
【数２】
0005362095.tif 000003
【００２６】
の完全なピンイン表現は、
【００２７】
【数３】
0005362095.tif 000004
【００２８】
である。ユーザが、例えば、特に移動デバイス(例えば、移動電話機)上で、完全なピンイン表現を入力するのは面倒である可能性がある。
【００２９】
したがって、ユーザは、完全なピンイン表現未満の数の文字(例えば、省略)を入力することを所望する可能性がある。図1Aは、ローマ字、「w」、「m」、「q」、「m」、および「g」を含む例示的な入力テキストを示す。図1Aにおける例示的な入力テキストに対応する潜在的な漢字を識別するため、インプットメソッドエディタは、この例示的な入力テキストを潜在的な完全なピンイン表現にマップすることができる。理想的には、インプットメソッドエディタは、この例示的な入力テキスト「w m q m g」を完全なピンイン表現「wo men qu mei guo」にマップする。
【００３０】
完全なピンイン表現を識別するタスクは、2つの初期の問題をもたらす。図1A〜図1D、および図1Fに示されるとおり、ローマ字のピンイン音節へのセグメント化が知られているものと想定して、1つの問題は、ユーザが、ローマ字のセグメント化されたグループが表すことを意図したピンイン音節を特定することである。この問題は、図1B〜図1Dを参照して示されることが可能である。図1Bは、ローマ字「w」、「o」、「m」、「q」、「u」、「m」、「e」「i」、「g」、「u」、「o」を含む例示的な入力テキストを示す。図1Bにおける例示的な入力テキスト「wo m qu mei guo」は、図1Aの場合と比べて、完全なピンイン表現「wo men qu mei guo」と合致する、より多くの文字を含む(順に)ものの、「wo m qu mei guo」はそれでも、図1Cおよび図1Dに示されるとおり、2つ以上の完全なピンイン表現を表す可能性がある。
【００３１】
図1Cは、中国語の文
【００３２】
【数４】
0005362095.tif 000005
【００３３】
の完全なピンイン表現を示し、さらに図1Dは、中国語の文
【００３４】
【数５】
0005362095.tif 000006
【００３５】
(すなわち、英語で「I’ve never went to America」)の完全なピンイン表現を示す。図1Cおよび図1Dにおいて、「wo」は、
【００３６】
【数６】
0005362095.tif 000007
【００３７】
に対応し、「qu」は、
【００３８】
【数７】
0005362095.tif 000008
【００３９】
に対応し、「mei」は、
【００４０】
【数８】
0005362095.tif 000009
【００４１】
に対応し、「guo」は、
【００４２】
【数９】
0005362095.tif 000010
【００４３】
に対応する。図1Cおよび図1Dは、ユーザが、文字「m」の最初の出現(文字「wo」の後の)が、
【００４４】
【数１０】
0005362095.tif 000011
【００４５】
に対応することが可能なピンイン音節「men」、または
【００４６】
【数１１】
0005362095.tif 000012
【００４７】
に対応することが可能なピンイン音節「mei」を表すことを意図していた可能性があることを示すのに使用され得る。
【００４８】
別の問題は、各ローマ字入力が、異なるピンイン音節(または漢字)を表すか否かを判定することである。前述したとおり、各ピンイン音節(例えば、完全なピンイン音節)は、漢字に対応する。この問題は、図1D〜図1Fを使用して示されることが可能である。この場合も、図1Dは、「wo」、「mei」、「qu」、「mei」、「guo」がそれぞれピンイン音節を表すように例示的な入力テキストがセグメント化されるものと想定する。図1Eは、図1Dの場合と同様に例示的な入力テキストの同一のシーケンスを示すが、セグメント化されていない。
【００４９】
図1Eの例示的な入力テキスト「w o m e i q u m e i g u o」は、図1Dに示されるピンイン音節のシーケンス、または図1Fにおけるピンイン音節のシーケンスを表すことが可能である。詳細には、文字のシーケンス「g」、「u」、および「o」が、図1Dに示される単一のピンイン音節「guo」、または図1Fに示される2つのピンイン音節「gu」および「o」を表すことが可能である。第2の例において、「gu」は、第1のピンイン音節を表し、さらに「o」は、第2のピンイン音節を表す。図1Fは、ユーザが、文
【００５０】
【数１２】
0005362095.tif 000013
【００５１】
(すなわち、英語で「My young sister will go to Plum Valley」)を入力することを意図していた可能性があることを示す。さらに、図1Fは、「mei」が
【００５２】
【数１３】
0005362095.tif 000014
【００５３】
や
【００５４】
【数１４】
0005362095.tif 000015
【００５５】
などの他の漢字に対応する可能性があることを示す。
【００５６】
図2は、テキスト入力の見られるシーケンス、およびテキスト入力の見られるシーケンスによって表される音節の潜在的なシーケンス(例えば、マルコフモデルにおける隠れたシーケンス)を示すブロック図200である。詳細には、図2は、図1Cおよび図1Dに示される音節の潜在的なシーケンスを示す。テキスト入力の見られるシーケンス「w m q m g」は、「wo men qu mei guo」を表すことも、「wo mei qu mei guo」を表すことも可能である。音節の他の潜在的なシーケンスも可能である(図示せず)。例えば、図1Fを参照して示されるとおり、テキスト入力の見られるシーケンス「w m q m g」は、「wo men qu mei gu o」を表すことも可能である。
【００５７】
テキスト入力が第1の書記体系(例えば、ピンイン)において受け取られると、前述した2つの初期の問題は、(i)第1の書記体系におけるテキスト入力に基づいて、第1の書記体系(例えば、ピンイン音節)におけるnグラム表現を識別すること、および(ii)識別されたnグラム表現に基づいて、第2の書記体系における形態素(例えば、漢字)および語彙項目(例えば、漢字用語)を識別することによって対処されることが可能である。理想的には、ユーザによって所望される入力を表す最も可能性の高い形態素が識別される。
【００５８】
例示的な書記素グラフ
書記素グラフは、第1の書記体系における入力テキストによって表される第1の書記体系におけるnグラム表現を識別するのに使用され得る。
【００５９】
nグラムは、n個の連続するトークン、例えば、文字または語のシーケンスである。nグラムは、nグラムの中のトークンの数であるオーダを有する。例えば、1グラム(またはユニグラム)は、1つのトークンを含み、2グラム(またはバイグラム)は、2つのトークンを含む。例として、「wo」は、第2の書記体系における形態素(例えば、
【００６０】
【数１５】
0005362095.tif 000016
【００６１】
)と発音される
【００６２】
【数１６】
0005362095.tif 000017
【００６３】
、
【００６４】
【数１７】
0005362095.tif 000018
【００６５】
)と発音される
【００６６】
【数１８】
0005362095.tif 000019
【００６７】
)の第1の書記体系(例えば、ピンイン音節)における2グラム表現であることが可能である。別の例として、「m」は、第2の書記体系における形態素(例えば、「men」と発音される
【００６８】
【数１９】
0005362095.tif 000020
【００６９】
、
【００７０】
【数２０】
0005362095.tif 000021
【００７１】
と発音される
【００７２】
【数２１】
0005362095.tif 000022
【００７３】
)の第1の書記体系における1グラム表現であることが可能である。これらの例において、第1の書記体系は、ピンインであり、第2の書記体系は、漢字である。
【００７４】
図1Cの例に一時的に戻ると、中国語の文
【００７５】
【数２２】
0005362095.tif 000023
【００７６】
が、ユニグラム、例えば、語
【００７７】
【数２３】
0005362095.tif 000024
【００７８】
(すなわち、英語で「we」)、
【００７９】
【数２４】
0005362095.tif 000025
【００８０】
(すなわち、英語で「went」)、および
【００８１】
【数２５】
0005362095.tif 000026
【００８２】
(英語で「America」)という語にセグメント化されることが可能である。例示的なバイグラムは、
【００８３】
【数２６】
0005362095.tif 000027
【００８４】
および
【００８５】
【数２７】
0005362095.tif 000028
【００８６】
である。この例において、バイグラムの中のトークンは、カンマによって分けられる。
【００８７】
図3は、例示的な書記素グラフ300を示す。詳細には、書記素グラフ300(例えば、ピンイン入力グラフ)は、1つまたは複数のノード(例えば、ピンイン音節ノード)、例えば、ルートノード302、および1つまたは複数の子ノードを含むトライである。各ノードは、ルートノードを除き、第1の書記体系(例えば、ピンイン)における書記素(例えば、ローマ字)を表す。これらのノードは、複数のレベルに分類されることが可能である。例えば、ルートレベルが、ルートノード302を含むことが可能である。第1のレベルが、ルートノード302の直の子ノード、例えば、ノード310、312、および314を含むことが可能である。第1のレベルにおけるノード310、312、および314のそれぞれは、第1の副音節(例えば、接頭辞)である書記素を表す。例えば、ノード310、312、および314は、ピンイン音節を開始する第1のローマ字を表す。書記素グラフ300が、ルートノード302からノード302の子ノードまで走査されて、第2の書記体系(例えば、漢字)における形態素の第1の書記体系(例えば、ピンイン音節)におけるnグラム表現が識別されることが可能である。
【００８８】
また、書記素グラフ300の中の各ノードは、対応するノードの書記素と、その対応するノードを子孫とするノードの書記素とを含むnグラム表現にも対応する。例えば、ノード310は、nグラム表現「a」に対応する。ノード324は、nグラム表現「be」に対応し、さらにノード330は、nグラム表現「ang」に対応する。
【００８９】
さらに、書記素グラフ300の中のノードの適切なサブセットが、第2の書記体系における或る形態素に対応する完全な音節(例えば、ピンイン音節)に対応する。詳細には、ノード310(「a」)、ノード320(「ai」)、ノード321(「an」)、ノード322(「ao」)、ノード323(「ba」)、ノード325(「zu」)、ノード330(「ang」)が、完全な音節に対応する。この適切なサブセットは、陰影付きノードによって書記素グラフ300の視覚的表現の中で示される。代替として、陰影の付いていないノードは、音節の一部分だけに対応する。例えば、ノード312(「b」)、ノード314(「z」)、およびノード334(「be」)が、ピンイン音節(例えば、副音節)の一部分だけに対応する。陰影の付いていないノードは、ピンイン音節の一部分だけに対応するため、これらのノードは、第2の書記体系における形態素には対応しない。
【００９０】
また、ノードの適切なサブセット(例えば、陰影付きのノード)の中の各ノードは、識別子に関連付けられる。例えば、ノード310は、識別子「I」に関連付けられ、ノード320は、識別子「2」に関連付けられ、ノード321は、識別子「3」に関連付けられ、ノード322は、識別子「5」に関連付けられ、ノード323は、識別子「6」に関連付けられ、ノード325は、識別子「418」に関連付けられ、さらにノード330は、識別子「4」に関連付けられる。識別子は、数、あるいは文字の他の任意の組合せ(例えば、英数字文字列)であることが可能である。
【００９１】
各識別子は、後段でさらに詳細に説明されるとおり、形態素グラフの中からノードを探し出すのに使用され得る。図4を一時的に参照すると、簡単な概略として、形態素グラフ400は、第2の書記体系(例えば、漢字)における1つまたは複数の形態素にそれぞれが対応するノードを含む。形態素グラフ400の中の1つまたは複数のノードの適切なサブセットが、第2の書記体系における語彙用語(例えば、漢字用語)に対応する。書記素グラフ300から選択された識別子が、例えば、その識別子に関連付けられた形態素グラフ400の中からノードを探し出すことによって、形態素グラフ400を走査するのに使用されることが可能である。例えば、ノード410が、識別子「1」にも関連しており、ノード412が、識別子「2」にも関連しており、ノード414が、識別子「3」にも関連しており、さらにノード416が、識別子「418」にも関連している。図4において、識別子は、第1のレベルにおけるノードに関してだけ例示されているが、実際には、識別子は、それぞれの陰影付きのノードに関連付けられる。
【００９２】
図3を参照すると、各書記素(例えば、ローマ字)がインプットメソッドエディタによって受け取られるにつれ、書記素グラフ300が、第1の書記体系における可能なnグラム表現を識別するのに使用されることが可能である。例えば、ローマ字「b」が受け取られた場合、ノード312が探し出されることが可能である。別の例として、ローマ字「a」が、「b」の後に受け取られることが可能である。つまり、入力シーケンスは、「ba」であることが可能である。このため、ノード323が、「ba」に関して探し出されることが可能であり、さらにノード310、320、321、322、および330が、「a」で始まる残りのピンイン音節に関して探し出されることが可能である。詳細には、入力シーケンス「ba」は、ピンイン音節「ba」、「ba」で始まるピンイン音節、または「b」で始まるピンイン音節と「a」で始まるピンイン音節を表すことが可能である。
【００９３】
一部の実施形態において、入力シーケンスによって表される陰影付きノードを探し出すことによって可能なnグラム表現が識別された後、探し出された陰影付きノードの関連付けられた識別子が戻されることが可能である。前述したとおり、これらの識別子は、形態素グラフの中からノードを探し出して語彙項目を識別するのに使用され得る。
【００９４】
他の実施形態も可能である。例えば、書記素グラフ300は、パトリシアトライであるが、書記素グラフ300は、他のタイプのデータ構造(例えば、ハッシュテーブル、平衡トライ)として実施されることも可能である。さらに、一部の実施形態において、nグラム表現が、識別子の代わりに、または識別子と組合せで戻される。さらに、書記素グラフ300は、書記体系の異なる組合せを表すように実施されることも可能である。例えば、第1の書記体系は、Bopomofoであることが可能であり、第2の書記体系は、漢字であることが可能である。別の例として、第1の書記体系は、ローマ字(例えば、日本語のローマ字表記)であることが可能であり、第2の書記体系は、漢字の日本語であることが可能である。
【００９５】
例示的な形態素グラフ
図4は、例示的な形態素グラフ400を示す。詳細には、形態素グラフ400(例えば、ピンイン音節グラフ)は、1つまたは複数のノード(例えば、漢字ノード)、例えば、ルートノード402、および1つまたは複数の子ノードを含むトライである。これらのノードは、複数のレベルに分類されることが可能である。例えば、ルートレベルが、ルートノード402を含むことが可能である。第1のレベルが、ルートノード402の直の子ノード、例えば、ノード410、412、414、および416を含むことが可能である。第1のレベルにおけるノード410、412、414、および416は、語彙項目の接頭辞を表す。例えば、第1のレベルにおけるノード410、412、414、および416は、或る漢字用語(例えば、語または句)を始める第1の漢字を表す。形態素グラフ400が、ルートノード402から子ノードまで走査されて、書記素グラフ300を使用して識別されたnグラム表現に基づいて第2の書記体系における語彙項目が識別されることが可能である。
【００９６】
形態素グラフ400の中の各ノードは、第2の書記体系における1つまたは複数の形態素を表す。例えば、ノード410は、複数の形態(例えば、
【００９７】
【数２８】
0005362095.tif 000029
【００９８】
)でそれぞれ発音され得る形態素
【００９９】
【数２９】
0005362095.tif 000030
【０１００】
、
【０１０１】
【数３０】
0005362095.tif 000031
【０１０２】
、および
【０１０３】
【数３１】
0005362095.tif 000032
【０１０４】
を表す。別の例として、ノード421が、
【０１０５】
【数３２】
0005362095.tif 000033
【０１０６】
(図示せず)を表すことが可能である。さらに、形態素グラフ400の中のノードの適切なサブセットが、語彙項目(例えば、漢字用語)に対応する。例えば、ノード410、412、414、416、420、422、423、424、425、および440が、語彙項目に対応する。この適切なサブセットは、陰影付きのノードによって形態素グラフ400の視覚的表現の中で示される。代替として、陰影の付いていないノードは、或る語彙項目の一部分だけに対応する。例えば、ノード421および430が、或る語彙項目の一部分だけに対応する。詳細には、ノード421は、或る語彙項目の一部分(例えば、ノード440に対応する中国語慣用句
【０１０７】
【数３３】
0005362095.tif 000034
【０１０８】
の一部分)だけである
【０１０９】
【数３４】
0005362095.tif 000035
【０１１０】
に対応することが可能である。
【０１１１】
それぞれの対応する語彙項目は、その語彙項目に対応するノードの形態素と、その対応するノードを子孫とするノードの形態素とを含む。例えば、ノード420は、ノード410の子孫である。ノード420は、語彙項目
【０１１２】
【数３５】
0005362095.tif 000036
【０１１３】
および
【０１１４】
【数３６】
0005362095.tif 000037
【０１１５】
に対応する。
【０１１６】
【数３７】
0005362095.tif 000038
【０１１７】
および
【０１１８】
【数３８】
0005362095.tif 000039
【０１１９】
は、ピンイン音節「yi」に対応する形態素であり、さらに
【０１２０】
【数３９】
0005362095.tif 000040
【０１２１】
は、ノード410に対応する。
【０１２２】
形態素グラフ400の中のノードには、第1の書記体系におけるnグラム表現でラベルが付けられる(例えば、ノード410には、「a」というラベルが付けられ、ノード430には、「ji」というラベルが付けられる)ものの、実際には、これらのノードは、識別子(例えば、書記素グラフ300からの同一の識別子)に関連付けられる。例えば、前述したとおり、ノード410は、識別子「1」に関連付けられ、ノード416には、識別子「418」というラベルが付けられる。さらに、形態素グラフの中のノードも、対応する語彙項目を識別する語彙項目識別子(例えば、ノード425における
【０１２３】
【数４０】
0005362095.tif 000041
【０１２４】
に対する「32778」)に関連付けられる。
【０１２５】
一部の実施形態において、語彙項目(例えば、漢字用語)は、形態素グラフ400とは別個であるデータ構造の中に格納される。これら、およびその他の実施形態において、形態素グラフの各ノードは、書記素グラフからの識別子、および語彙項目識別子だけに関連付けられる。例えば、語彙項目は、語彙項目識別子によって索引付けされた辞書の中に格納されることが可能である。形態素グラフの中から探し出されたノード(例えば、陰影付きノード)は、辞書の中の語彙項目を識別するのに使用され得る語彙項目識別子を提供する。
【０１２６】
書記素グラフ300を使用して識別された第1の書記体系における入力シーケンスのnグラム表現の置換が、図5の例において示されるとおり、形態素グラフを走査するのに使用されて、可能な語彙項目が識別される。
【０１２７】
図5は、書記素グラフおよび形態素グラフの例示的な使用のステップを示す。ステップ0で、入力は、全く受け取られておらず、書記素グラフおよび形態素グラフの中の子ノードは、全く探し出されていない。
【０１２８】
ステップ1で、ローマ字「w」が、インプットメソッドエディタによって受け取られる。これに応答して、インプットメソッドエディタは、書記素グラフの第1のレベルで「w」を表すノードを探し出す。また、インプットメソッドエディタは、「w」を表すノードの子孫であり、さらに或る完全な音節に対応する(例えば、第2の書記体系における或る形態素に対応する)書記素グラフの中のノードの適切なサブセットに入っているすべてのノードも探し出す。探し出されたノードに関連する識別子は、漢字を表す形態素グラフの中からノードを探し出すのに使用されることが可能である。例えば、「w」は、ピンイン音節「wu」、「wo」、および「wei」の第1の副音節である。図5のステップ1を参照すると、
【０１２９】
【数４１】
0005362095.tif 000042
【０１３０】
が
【０１３１】
【数４２】
0005362095.tif 000043
【０１３２】
に対応し、
【０１３３】
【数４３】
0005362095.tif 000044
【０１３４】
が
【０１３５】
【数４４】
0005362095.tif 000045
【０１３６】
に対応し、さらに
【０１３７】
【数４５】
0005362095.tif 000046
【０１３８】
が
【０１３９】
【数４６】
0005362095.tif 000047
【０１４０】
に対応する。ステップ1で、3つだけのピンイン文字が、この例において示され、例えば、
【０１４１】
【数４７】
0005362095.tif 000048
【０１４２】
、
【０１４３】
【数４８】
0005362095.tif 000049
【０１４４】
、および
【０１４５】
【数４９】
0005362095.tif 000050
【０１４６】
が、「w」に関する最も可能性の高い候補であることが可能である。同様に、ステップ2が、ローマ字「w」および「o」を受け取ったことに応答して処理される可能な候補のいくつかだけを示す。図5は、実際に処理されるすべての可能な候補を示すわけではない。
【０１４７】
ステップ2で、ローマ字「o」が、ローマ字「w」が受け取られた後にインプットメソッドエディタによって受け取られる。書記素グラフの第1のレベルにおいて「w」を表すノードを探し出すことに加えて、インプットメソッドエディタは、書記素グラフの第1のレベルにおいて「o」を表すノードも探し出す。前述したとおり、「w」が、或る完全なピンイン音節の第1の副音節であることが可能であり、「o」が、その完全なピンイン音節の第1の副音節であることが可能であり、あるいは「wo」が、或る完全なピンイン音節であることが可能である。また、インプットメソッドエディタは、或る完全なピンイン音節に対応する書記素グラフの中のノードの適切なサブセットに入っている、「w」および「o」を表すノードの子孫であるすべてのノードも探し出す。探し出されたノードに関連する識別子は、その完全な音節を表す漢字を表す形態素グラフの中からノードを探し出すのに使用され得る。例えば、「w」は、ピンイン音節「wo」の第1の副音節である。図5のステップ2を参照すると、
【０１４８】
【数５０】
0005362095.tif 000051
【０１４９】
が、
【０１５０】
【数５１】
0005362095.tif 000052
【０１５１】
に対応し、さらに
【０１５２】
【数５２】
0005362095.tif 000053
【０１５３】
が
【０１５４】
【数５３】
0005362095.tif 000054
【０１５５】
に対応する。別の例として、「o」は、或る完全なピンイン音節であり、
【０１５６】
【数５４】
0005362095.tif 000055
【０１５７】
が
【０１５８】
【数５５】
0005362095.tif 000056
【０１５９】
に対応する。
【０１６０】
スコア付け
入力テキストによって表される語彙項目の可能な置換が、前述したとおり、書記素グラフおよび形態素グラフを使用して識別される。例えば、図5を参照すると、ステップ1は、ローマ字「w」によって表されることが可能な第1の語彙項目
【０１６１】
【数５６】
0005362095.tif 000057
【０１６２】
、
【０１６３】
【数５７】
0005362095.tif 000058
【０１６４】
、および
【０１６５】
【数５８】
0005362095.tif 000059
【０１６６】
を示す。第1の書記素(例えば、「w」)だけを受け取った後、第1の語彙項目、例えば、
【０１６７】
【数５９】
0005362095.tif 000060
【０１６８】
、
【０１６９】
【数６０】
0005362095.tif 000061
【０１７０】
、および
【０１７１】
【数６１】
0005362095.tif 000062
【０１７２】
のうち1つが、第1の語彙項目のそれぞれに関連付けられたスコアに基づいて選択されることが可能である。例えば、出現する可能性が最も高い語彙項目が選択される(さらに表示される)ことが可能である。
【０１７３】
前述したとおり、さらなる書記素が入力(例えば、第2の書記素)として受け取られると、第1の書記素と第2の書記素は、1つまたは複数の第1の語彙項目のうち1つを表すことが可能であり、あるいは第1の書記素と第2の書記素はそれぞれ、異なる語彙項目を表すことが可能であり、例えば、第2の書記素が、1つまたは複数の第2の語彙項目のグループからの或る語彙項目を表すことが可能である。これらの事例に対処するのに、第3の語彙項目、および第4の語彙項目の置換が生成され、格納されることが可能である。第3の語彙項目は、1つまたは複数の第1の語彙項目から選択されることが可能であり、さらに第4の語彙項目は、1つまたは複数の第2の語彙項目から選択されることが可能である。第1の語彙項目のスコアと置換のスコアが比較されて、最も可能性の高い語彙項目がもたらされることが可能である。
【０１７４】
例えば、図5で、第1の語彙項目
【０１７５】
【数６２】
0005362095.tif 000063
【０１７６】
、
【０１７７】
【数６３】
0005362095.tif 000064
【０１７８】
、および
【０１７９】
【数６４】
0005362095.tif 000065
【０１８０】
に関するスコアが識別される、または計算されることが可能である。さらに、置換
【０１８１】
【数６５】
0005362095.tif 000066
【０１８２】
、
【０１８３】
【数６６】
0005362095.tif 000067
【０１８４】
、および
【０１８５】
【数６７】
0005362095.tif 000068
【０１８６】
に関するスコアが識別されることが可能である。この場合も、この例は、実際に処理されるすべての可能な第1の語彙項目および置換を示すわけではない。識別されるスコアは、例えば、最高のスコアを有する語彙項目または置換を表示のために供給するように比較されることが可能である。
【０１８７】
一部の実施形態において、可能な置換が、それらの置換が出現する尤度を計算するようにnグラム言語モデルに送られ、さらに1つまたは複数の置換が、1つまたは複数の基準に基づいて選択されることが可能である。例えば、出現する可能性が最も高い置換が選択されることが可能である。
【０１８８】
或る特定の文字列(例えば、語彙項目の置換)が出現することのnグラム言語モデルによる確率が、連鎖規則を使用して算出されることが可能である。連鎖規則は、文字列の確率を個々の確率の積として算出する。このため、所与の文字列「e1,e2,...,ek」に関して、その文字列に関する確率、
p(e1,e2,...,ek)は、
【０１８９】
【数６８】
0005362095.tif 000069
【０１９０】
である。
【０１９１】
nグラム言語モデルは、或る特定の最大サイズnグラムに制限されること、例えば、1グラム、2グラム、3グラムなどに制限されることが可能である。例えば、最大のnグラムオーダが3グラムに制限される、所与の文字列「NASA officials say they hope」に関して、この文字列に関する確率は、以下のとおり、条件付き確率の積として算出されることが可能である。すなわち、p(NASA officials say they hope)=p(NASA)・p(officials|NASA)・p(say|NASA officials)・p(they|officials say)・p(hope|say they)である。このことは、
【０１９２】
【数６９】
0005362095.tif 000070
【０１９３】
に一般化されることが可能であり、ただし、nは、この言語モデルにおいて許される最大nグラムのオーダである。
【０１９４】
これらの条件付き確率は、一般に、訓練データの文書における相対頻度により、経験的に算出される。例えば、前述の例において、「NASA officials」という文脈を所与として、「say」という語の確率は、
【０１９５】
【数７０】
0005362095.tif 000071
【０１９６】
によって与えられ、ただし、f(NASA officials say)は、訓練データの文書において文字列「NASA officials say」が出現する頻度またはカウントである。nグラム言語モデルにおける最大nグラムオーダ内の文字列の条件付き確率は、nグラムに関する言語モデルの中に格納された確率に対応し、例えば、p(say|NASA officials)が、3グラムエントリ「NASA officials say」に関して言語モデルの中に格納された条件付き確率である。
【０１９７】
同様に、条件付き確率は、他の書記体系に関して計算されることも可能である。図1Cの例に一時的に戻ると、
【０１９８】
【数７１】
0005362095.tif 000072
【０１９９】
が、2グラムエントリ
【０２００】
【数７２】
0005362095.tif 000073
【０２０１】
に関して言語モデルの中に格納された条件付き確率であり、さらに
【０２０２】
【数７３】
0005362095.tif 000074
【０２０３】
が、3グラムエントリ
【０２０４】
【数７４】
0005362095.tif 000075
【０２０５】
に関して言語モデルの中に格納された条件付き確率である。この例において、nグラムの中のトークンは、カンマによって分けられる。
【０２０６】
一部の実施形態において、それらの置換の各置換のスコアが比較され、出現する可能性が最も高い置換が、ユーザに(例えば、ユーザデバイス上で)提示される。一部の実施形態において、ユーザに提示された置換が正しくない場合、ユーザは、提示された置換の先頭から正しい形態素を識別する(例えば、選択する)ことができ、さらにインプットメソッドエディタが、表示のために別の置換を生成することができる。例えば、図1B〜図1Dに戻ると、ユーザは、入力として「wo m qu mei guo」を与えることが可能である。インプットメソッドエディタは、最も可能性の高い置換として、
【０２０７】
【数７５】
0005362095.tif 000076
【０２０８】
を表示することができる。しかし、ユーザは、
【０２０９】
【数７６】
0005362095.tif 000077
【０２１０】
を入力することを意図した可能性もある。ユーザが、
【０２１１】
【数７７】
0005362095.tif 000078
【０２１２】
だけを選択することが可能である。これに応答して、インプットメソッドエディタは、書記素グラフおよび形態素グラフにおいて「wo」から
【０２１３】
【数７８】
0005362095.tif 000079
【０２１４】
が識別されたことを特定することができ、さらに部分的文字列「m qu mei guo」に基づいて、書記素グラフおよび形態素グラフを使用して以前に識別されているさらなる候補を表示することができる。例えば、インプットメソッドエディタは、
【０２１５】
【数７９】
0005362095.tif 000080
【０２１６】
(すなわち、英語で「never went to America」)および
【０２１７】
【数８０】
0005362095.tif 000081
【０２１８】
(すなわち、英語で「mother is going to America」)を表示することができる。
【０２１９】
【数８１】
0005362095.tif 000082
【０２２０】
は、ピンイン音節
【０２２１】
【数８２】
0005362095.tif 000083
【０２２２】
に対応する。他の実施形態も可能である。例えば、ユーザは、提示される置換における形態素のいずれかを正しいものとして識別することができる。
【０２２３】
例示的なシステム
図6は、第1の書記体系におけるテキスト入力に基づいて第2の書記体系における出力テキスト候補を生成するための例示的なシステム600のブロック図である。システム600は、オフライン生成モデル610を含む。オフライン生成モデル610は、訓練データ(図示せず)から辞書612を生成することができる。訓練データの例には、ウェブページ、インスタントメッセージログ、ニュース、およびテキストのその他のソースが含まれる。辞書612は、漢字、関連するピンイン音節、および関連するスコア(訓練データの中で出現する漢字の頻度)を含むことが可能である。辞書612が、ピンイン音節と、関連するスコアとを含むピンインテーブル614を生成するように解析されることが可能である。辞書612が、辞書ビルダ616によって解析され、ピンインテーブル614が、ピンイントライビルダ618によって解析されて、ピンイン音節と、関連する漢字と、それぞれに関する識別子とを含む辞書モデル620が生成されることが可能である。
【０２２４】
辞書モデル620は、IME630によって、辞書トライ632(例えば、形態素グラフ400)およびピンイントライ634(例えば、書記素グラフ300)を生成するのに使用されることが可能である。入力640(例えば、ユーザ入力)が受け取られると、前出の図1〜図5を参照して説明されるとおり、ピンインパーサ636および辞書パーサ638が、辞書トライ632およびピンイントライ634を使用して、その入力を処理することができる。次に、IME630が、言語モデル639を使用して、語彙項目の最も可能性の高い置換を識別し、その最も可能性の高い置換を、ユーザデバイス上で表示するための出力650として供給することが可能である。
【０２２５】
システム600の構成要素は、互いの1つまたは複数に通信するように結合されることが可能である。以上に識別された構成要素は、別々である、または別個であるものとして説明されるものの、これらの構成要素の1つまたは複数が組み合わされて、単一のプロセスまたはルーチンにされてもよい。別々の機能に関する責任の分離を含め、本明細書で与えられる機能上の説明は、例示的である。必要に応じて、または設計上の選好により、機能上の責任の他のグループ化または他の分割が行われることも可能である。例えば、単一のパーサが、ピンインパーサ636の機能と辞書パーサ638の機能を実行することも可能である。別の例として、辞書トライ632、ピンイントライ634、および言語モデル639は、IMEとは別個であることが可能である(例えば、図9に示されるとおり)。
【０２２６】
例示的なプロセス
図7Aは、第1の書記体系におけるテキスト入力に基づいて第2の書記体系における出力テキスト候補を生成するための例示的なプロセス700aを示す流れ図である。プロセス700aは、第1の書記体系における第1の書記素を受け取ることを含む(705)。例えば、IME630が、第1の書記素(例えば、入力640)を受け取ることが可能である。
【０２２７】
また、プロセス700aは、第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第1の形態素の第1の書記体系における第1のnグラム表現を識別することも含む(710)。第1のnグラム表現は、第1の書記素を含む。例えば、ピンインパーサ636が、書記素グラフ(例えば、ピンイントライ634)を使用して、第2の書記体系(例えば、漢字)における第1の形態素の第1の書記体系(例えば、ピンイン音節)における第1のnグラム表現を識別することが可能である。また、プロセス700aは、第1のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第1のノードを探し出すことも含む(715)。形態素グラフの中から探し出されたそれぞれの第1のノードは、第2の書記体系における1つまたは複数の第1の語彙項目を表し、さらに1つまたは複数の第1の語彙項目のそれぞれは、第1のnグラム表現によって表される。例えば、辞書パーサ638は、第1のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第1のノードを探し出すことができる(例えば、辞書トライ632)。
【０２２８】
また、プロセス700aは、1つまたは複数の第1の語彙項目に関連付けられた第1のスコアに基づいて、1つまたは複数の第1の語彙項目から或る第1の語彙項目を選択することも含む(720)。例えば、辞書パーサ638が、1つまたは複数の第1の語彙項目(例えば、言語モデル639を使用して識別された)のそれぞれに関連付けられた第1のスコアに基づいて、或る第1の語彙項目を選択することができる。
【０２２９】
また、プロセス700aは、その第1の語彙項目を、ユーザデバイス上で表示されるように供給することも含む(725)。例えば、IME630が、その第1の語彙項目を、ユーザデバイス(例えば、移動電話機)上で表示されるように供給することが可能である。
【０２３０】
図7Bは、第1の書記体系におけるテキスト入力に基づいて第2の書記体系における出力テキスト候補を生成するための例示的なプロセス700bを示す流れ図である。一部の実施形態において、プロセス700bは、プロセス700aの後に実行される。
【０２３１】
プロセス700bは、第1の書記体系における第2の書記素を受け取ることを含む(730)。例えば、IME630が、第2の書記素(例えば、入力640)を受け取ることが可能である。また、プロセス700bは、第1の書記体系における書記素の書記素グラフを使用して、第2の書記体系における第2の形態素の第1の書記体系における第2のnグラム表現を識別することも含む(735)。第2のnグラム表現は、第2の書記素を含む。例えば、ピンインパーサ636が、書記素グラフ(例えば、ピンイントライ634)を使用して、第1の書記体系における第2のnグラム表現を識別することが可能である。
【０２３２】
また、プロセス700bは、第2のnグラム表現を使用して、形態素グラフの中から1つまたは複数の第2のノードを探し出すことも含む(740)。形態素グラフの中から探し出されたそれぞれの第2のノードは、第2の書記体系における1つまたは複数の第2の語彙項目を表し、さらに1つまたは複数の第2の語彙項目のそれぞれが、第2のnグラム表現によって表される。例えば、辞書パーサ638が、第2のnグラム表現を使用して、形態素グラフ(例えば、辞書トライ632)の中から1つまたは複数の第2のノードを探し出すことが可能である。
【０２３３】
また、プロセス700bは、1つまたは複数の第1の語彙項目からの第3の語彙項目、および1つまたは複数の第2の語彙項目からの第4の語彙項目の1つまたは複数の置換を生成することも含む(745)。例えば、辞書パーサ638が、その1つまたは複数の置換(例えば、漢字用語の置換)を生成することが可能である。
【０２３４】
また、プロセス700bは、第3の語彙項目および第4の語彙項目の1つまたは複数の置換のそれぞれに関連付けられた第2のスコアに基づいて、第3の語彙項目および第4の語彙項目の1つまたは複数の置換から或る置換を選択することも含む(750)。選択された置換は、第3の語彙項目に続いて第4の語彙項目を含む。
【０２３５】
また、プロセス700bは、選択された第1の語彙項目の第1のスコアと、選択された置換の第2のスコアを比較すること(755)、およびこの比較に基づいて、選択された第1の語彙項目、または選択された置換を、ユーザデバイス上で表示されるように供給すること(760)も含む。例えば、辞書パーサ638が、第2のスコア(例えば、言語モデル639を使用して識別された)に基づいて置換を選択し、さらに第1のスコアと第2のスコアを比較することが可能である。さらに、IME630が、この比較に基づいて、選択された第1の語彙項目、または選択された置換を、ユーザデバイス上で表示されるように供給することが可能である。
【０２３６】
他の例示的なシステム
図8は、本明細書で説明されるシステムおよび方法を実施するのに利用され得る例示的なシステム800のブロック図である。例示的なシステム800は、例えば、パーソナルコンピュータデバイスなどのコンピュータデバイスにおいて、または移動電話機、移動通信デバイス、PDA(携帯情報端末)などの他の電子デバイスにおいて実施されることが可能である。
【０２３７】
例示的なシステム800は、処理デバイス802と、第1のデータストア804と、第2のデータストア806と、入力デバイス808と、出力デバイス810と、ネットワークインタフェース812とを含む。例えば、データバスおよびマザーボードを含むバスシステム814が、構成要素802、804、806、808、810、および812の間でデータ通信を確立し、制御するのに使用されることが可能である。他のシステムアーキテクチャが使用されることも可能である。
【０２３８】
処理デバイス802は、例えば、1つまたは複数のマイクロプロセッサを含むことが可能である。第1のデータストア804は、例えば、ダイナミックランダムアクセスメモリなどのランダムアクセスメモリストレージデバイス、あるいは他のタイプのコンピュータ可読媒体メモリデバイスを含むことが可能である。第2のデータストア806は、例えば、1つまたは複数のハードドライブ、フラッシュメモリ、および/または読み取り専用メモリ、あるいは他のタイプのコンピュータ可読媒体メモリデバイスを含むことが可能である。
【０２３９】
例示的な入力デバイス808は、キーボード、マウス、スタイラスなどを含むことが可能であり、さらに例示的な出力デバイス810は、ディスプレイデバイス、オーディオデバイスなどを含むことが可能である。ネットワークインタフェース812は、例えば、ネットワーク816にデータを通信するとともに、ネットワーク816からデータを通信するように動作可能な有線または無線のネットワークデバイスを含むことが可能である。ネットワーク816は、1つまたは複数のLAN(ローカルエリアネットワーク)、および/またはインターネットなどのWAN(ワイドエリアネットワーク)を含むことが可能である。
【０２４０】
一部の実施形態において、システム800は、データストア806などのデータストアからのIME(インプットメソッドエディタ)コード801を含むことが可能である。インプットメソッドエディタコード801は、実行されると、処理デバイス802にインプットメソッド編集機能を実行させる命令によって規定されることが可能である。インプットメソッドエディタコード801は、ウェブブラウザ環境において実行され得る、例えば、Java(登録商標)Script命令またはECMAScript命令などの、例えば、解釈される命令を備えることが可能である。他の実施形態、例えば、スタンドアロンのアプリケーション、アプレット、プラグインモジュールなどが使用されることも可能である。
【０２４１】
インプットメソッドエディタコード801の実行は、インプットメソッドエディタインスタンス803を生成する、または立ち上げる。インプットメソッドエディタインスタンス803は、システム800における1つまたは複数のインプットメソッドの処理を円滑にし、この処理中、システム800は、例えば、ピンインを表すローマ字などの文字または記号を受け取ることができる。例えば、ユーザは、入力デバイス808(欧米型のキーボードなどのキーボード、手書き認識エンジンと一緒に使用されるスタイラスなど)の1つまたは複数を使用して、漢字用語の認識のためのピンイン入力を入力することができる。一部の実施例において、漢字用語は、複数のピンイン入力から成ることが可能である。
【０２４２】
第1のデータストア804および/または第2のデータストア806は、入力の関連付けを格納することが可能である。ユーザ入力に基づいて、インプットメソッドエディタインスタンス803が、データストア804および/またはデータストア806の中の情報を使用して、その入力によって表される1つまたは複数の候補選択(例えば、語彙項目の置換)を識別することができる。一部の実施形態において、複数の候補選択が識別された場合、それらの候補選択が出力デバイス810上に表示される。入力デバイス808を使用して、ユーザは、それらの候補選択から、ユーザが入力することを所望する漢字用語を選択することができる。
【０２４３】
一部の実施形態において、システム800上のインプットメソッドエディタインスタンス803が、1つまたは複数のピンイン入力を受け取り、それらの入力を漢字用語に変換することが可能である。インプットメソッドエディタインスタンス803は、例えば、キーストロークから受け取られたピンイン音節(例えば、ローマ字)の構成を使用して、漢字用語を表すことができる。各ローマ字は、例えば、欧米型のキーボードにおけるキーに対応することが可能である。ピンインインプットメソッドエディタを使用して、ユーザは、漢字の音を表す1つまたは複数のピンイン音節を含む入力を使用することによって、漢字を入力することができる。しかし、他の言語に関する入力方法が円滑にされることも可能である。
【０２４４】
一部の実施形態において、システム800にアクセスを有する遠隔コンピューティングシステム818が、表語文字スクリプトを編集するのに使用されることも可能である。例えば、システム800は、ネットワーク816を介して表語文字スクリプト編集能力を提供するサーバであることが可能である。一実施例において、ユーザは、遠隔コンピューティングシステム、例えば、クライアントコンピュータを使用して、データストア804および/またはデータストア806の中に格納された表語文字スクリプトを編集することができる。システム800は、例えば、ネットワークインタフェース812を介して文字を選択し、ユーザから入力を受け取ることができる。処理デバイス802は、例えば、選択された文字に隣接する1つまたは複数の文字を識別することができ、さらに受け取られた入力、および隣接する文字に基づいて、1つまたは複数の候補選択を識別することができる。システム800は、それらの候補選択を含むデータ通信を遠隔コンピューティングシステムに送り返すことができる。
【０２４５】
図9は、例示的なインプットメソッドエディタシステム920のブロック図である。インプットメソッドエディタシステム920は、例えば、インプットメソッドエディタコード801、および関連するデータストア804および806を使用して実施されることが可能である。インプットメソッドエディタシステム920は、インプットメソッドエディタエンジン922と、書記素グラフ(例えば、書記素グラフ300)924と、形態素グラフ(例えば、形態素グラフ400)926と、言語モデルデータストア928とを含む。また、他のストレージアーキテクチャが使用されることも可能である。
【０２４６】
言語モデルデータストア928は、1つまたは複数の言語モデル、例えば、日本語モデル、中国語モデルなどを定義することが可能である。各言語モデルは、例えば、入力のセットを入力した際のユーザの考えられる意図を特定するのに使用され得る或る特定の規則セット、例えば、或る言語、句セット、準動詞などを定義することが可能である。また、各言語モデルは、特定のユーザのユーザ履歴、例えば、特定のユーザによってしばしば使用される語および句の辞書を含むことも可能である。
【０２４７】
例えば、中国語言語モデルは、中国語文法モデルを含むことが可能である。例示的な中国語文法モデルは、連続動詞構築モデル、完了相モデルおよび未完了相モデル、ならびにその他の文法モデルを含むことが可能である。
【０２４８】
入力、例えば、キーストロークに基づいて、一連のピンイン入力が、書記素グラフ924を使用して識別されることが可能である。次に、それらのピンイン入力が、形態素グラフ926を使用して、漢字を識別するのに利用されることが可能である。中国語文法モデルが、それらの漢字に適用されて、ユーザが中国語文脈で入力することを意図している尤度が算出されることが可能である。例えば、すべてが動詞である漢字をもたらす入力文字列には、非常に低いスコアが付けられるが、動詞と目的語を有するその結果をもたらす文字列には、より高いスコアが付けられるといった具合である。別の例として、「I love flowers」と書かれた中国語文字列をもたらす入力には、より高いスコアが付けられ、さらに「bed cow tv」と書かれた中国語文字列をもたらす入力には、より低いスコアが付けられる。
【０２４９】
他のプロセスが、このスコアを調整するのに使用されることが可能である。例えば、或る特定の言語の稀にしか使用されない語が、より低く見積もられることが可能である一方で、ユーザプロファイルによる定義により、しばしば使用される語または句は、より高く見積もられることが可能である。他の実施形態も可能である。
【０２５０】
本明細書で説明される主題の実施形態、および機能上の動作は、本明細書で開示される構造体、およびそれらの構造体の構造上の均等物、または以上の1つまたは複数の構造体の組合せを含む、デジタル電子回路において、あるいはコンピュータソフトウェア、コンピュータファームウェア、またはコンピュータハードウェアにおいて実施されることが可能である。本明細書で説明される主題の実施形態は、1つまたは複数のコンピュータプログラム製品として、すなわち、データ処理装置(例えば、処理デバイス802)によって実行されるように、またはデータ処理装置(例えば、処理デバイス802)の動作を制御するように実体のあるプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実施されることが可能である。実体のあるプログラムキャリアは、コンピュータ可読媒体であることが可能である。コンピュータ可読媒体は、マシン可読ストレージデバイス、マシン可読記憶基板、メモリデバイス、または以上のうち1つまたは複数の媒体の組合せであることが可能である。
【０２５１】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含め、データを処理するためのすべての装置、デバイス、およびマシンを包含する。この装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または以上のうちの1つまたは複数の組合せを構成するコードを含むことが可能である。
【０２５２】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルされる言語もしくは解釈される言語、または宣言型言語もしくは手続き型言語を含め、任意の形態のプログラミング言語で書かれることが可能であり、さらにコンピュータプログラムは、スタンドアロンのプログラムとして、またはモジュール、構成要素、サブルーチンとして、あるいはコンピューティング環境において使用するのに適した他のユニットとして展開されることを含め、任意の形態で展開されることが可能である。コンピュータプログラムは、必ずしもファイルシステムの中のファイルに対応しない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分(例えば、マークアップ言語文書の中に格納された1つまたは複数のスクリプト)の中に格納されること、当該のプログラムに専用の単一のファイルの中に格納されること、あるいは複数の調整されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードのいくつかの部分を格納するファイル)の中に格納されることが可能である。コンピュータプログラムは、1つのサイトに配置された1つのコンピュータ上、または複数のコンピュータ上で、あるいは複数のサイトにわたって分散され、通信ネットワークによって互いに接続された複数のコンピュータ上で実行されるように展開されることが可能である。
【０２５３】
本明細書で説明されるプロセスおよび論理フローは、入力データを操作し、出力を生成することによって機能を実行するように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行されることが可能である。これらのプロセスおよび論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることも可能であり、さらに装置が、そのような専用論理回路として実施されることも可能である。
【０２５４】
コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリから、あるいは読み取り専用メモリとランダムアクセスメモリの両方から命令およびデータを受け取る。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを格納するための1つまたは複数の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含む、またはそのようなストレージデバイスからデータを受け取る、またはそのようなストレージデバイスにデータを転送する、あるいはその両方を行うように動作上、結合される。しかし、コンピュータは、そのようなデバイスを有さなくてもよい。さらに、コンピュータは、別のデバイス、例えば、いくつかを挙げると、移動電話機、PDA(携帯情報端末)、移動体オーディオプレーヤもしくは移動体ビデオプレーヤ、ゲームコンソール、GPS(グローバルポジショニングシステム)受信機に組み込まれることが可能である。
【０２５５】
コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体には、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクもしくはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含め、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足される、または専用論理回路に組み込まれることが可能である。
【０２５６】
ユーザとの対話を可能にするのに、本明細書で説明される主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボード、およびポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピュータ上で実施されることが可能である。他の種類のデバイスが、ユーザとの対話を可能にするのに使用されることも可能であり、例えば、ユーザに供給されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、さらにユーザからの入力は、音響入力、音声入力、または触覚入力を含め、任意の形態で受け取られることが可能である。
【０２５７】
本明細書は、多くの特定の実施上の詳細を含むが、これらは、いずれの実施形態の範囲、または主張され得る対象の範囲に対する限定としても解釈されるべきではなく、むしろ、特定の実施例の特定の実施形態に固有であることが可能な特徴の説明として解釈されるべきである。別々の実施形態の文脈において本明細書で説明されるいくつかの特徴は、単一の実施形態において組合せで実施されることも可能である。逆に、単一の実施形態の文脈で説明される様々な特徴が、複数の実施形態において別々に、または任意の適切な部分的組合せで実施されることも可能である。さらに、特徴は、いくつかの組合せで作用するものとして前段で説明され、さらにそのように主張されさえするものの、主張される組合せからの1つまたは複数の特徴が、一部の事例において、組合せから削除されることも可能であり、さらに主張される組合せは、部分的組合せ、または部分的組合せの変種に向けられる可能性がある。
【０２５８】
同様に、動作は、図面において特定の順序で示されるが、このことは、そのような動作が、望ましい結果を実現するのに、示される順序で、または順次に実行されることを要求するものと理解されるべきではない。いくつかの状況において、マルチタスキングおよび並行処理が有利である可能性がある。さらに、前段で説明される実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものと理解されるべきではなく、説明されるプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合され得る、または複数のソフトウェア製品にパッケージ化され得るものと理解されたい。
【０２５９】
本明細書で説明される主題の特定の実施形態が説明されてきた。他の実施形態も、添付の特許請求の範囲内に含まれる。例えば、特許請求の範囲に記載されるアクションは、異なる順序で実行されて、それでも、望ましい結果を実現することが可能である。例として、添付の図で示されるプロセスは、望ましい結果を実現するのに、示される特定の順序、または順次の順序を必ずしも要求しない。一部の実施形態において、マルチタスキングおよび並行処理が有利である可能性がある。
【符号の説明】
【０２６０】
800  システム
802  処理デバイス
803  インプットメソッドエディタインスタンス
804、806  データストア
808  入力デバイス
810  出力デバイス
812  ネットワークインタフェース
814  バスシステム
816  ネットワーク
818  遠隔コンピューティングシステム
920  インプットメソッドエディタシステム
922  インプットメソッドエディタエンジン
924  書記素グラフ
926  形態素グラフ
928  言語モデルデータストア
【図１Ａ】
0005362095.tif 000084
【図１Ｂ】
0005362095.tif 000085
【図１Ｃ】
0005362095.tif 000086
【図１Ｄ】
0005362095.tif 000087
【図１Ｅ】
0005362095.tif 000088
【図１Ｆ】
0005362095.tif 000089
【図２】
0005362095.tif 000090
【図３】
0005362095.tif 000091
【図４】
0005362095.tif 000092
【図５】
0005362095.tif 000093
【図６】
0005362095.tif 000094
【図７Ａ】
0005362095.tif 000095
【図７Ｂ】
0005362095.tif 000096
【図８】
0005362095.tif 000097
【図９】
0005362095.tif 000098