(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つ以上の文字を自動的に大文字にする手段と、
1つ以上の句読点記号を自動的に追加する手段と、
1つ以上の区切り文字を自動的に追加する手段、
のいずれか1つ以上をさらに有する、請求項２２に記載のデータ処理システム。
【請求項２６】
当該複数の単語候補の選択によって、前記パターン認識において、1つ以上の単語候補の次の確率指標が調整される、請求項２２に記載のデータ処理システム。
【請求項２７】
データ処理システムにおいてユーザによる言語入力を処理する方法であって、
複数の単語構成要素に対応する複数の認識結果を受け取るステップであって、当該複数の認識結果の少なくとも1つが、複数の単語構成要素候補と、複数の確率指標と、を有し、当該複数の確率指標が、当該複数の単語構成要素が当該ユーザ入力の一部に合致する確率を示す、当該ステップと、
当該複数の認識結果を使用し、かつ、一連の単語の使用確率を示すデータを使用して、当該ユーザ入力を予測する1つ以上の単語候補を決定するステップと、
を有する、方法。
【請求項２８】
当該単語構成要素候補が、
手書き文字認識またはキーパッド入力からのストロークと、
手書き文字認識またはキーパッド入力からの文字と、
音声認識からの音素と、
手書き文字認識またはキーパッド入力からの音節またはその他の音声表現、
のいずれか1つ以上を有する、請求項２７に記載の方法。
【請求項２９】
当該言語が、アルファベット言語および表意言語のいずれかである、請求項２７に記載の方法。
【請求項３０】
1つ以上の単語候補を決定する当該ステップが、
当該複数の認識結果の単語構成要素候補の複数の組合せを削除するステップ、
をさらに含んでいる、請求項２７に記載の方法。
【請求項３１】
1つ以上の単語候補を決定する当該ステップが、
前記言語の一連の単語から複数の単語候補を選択するステップであって、当該複数の単語候補が当該複数の認識結果の単語構成要素候補の組合せを含んでいる、当該ステップ、
をさらに含んでいる、請求項３０に記載の方法。
【請求項３２】
当該ユーザ入力に合致する相対的な可能性を示す、当該1つ以上の単語候補の1つ以上の確率指標を、当該複数の認識結果と、一連の単語の使用確率を示す当該データの両方を使用して決定するステップ、
をさらに含んでいる、請求項３１に記載の方法。
【請求項３３】
当該1つ以上の単語候補を当該1つ以上の確率指標に従って並べ替えるステップ、
をさらに含んでいる、請求項３２に記載の方法。
【請求項３４】
当該1つ以上の単語候補から1つの単語を自動的に選択するステップ、
をさらに含んでいる、請求項３３に記載の方法。
【請求項３５】
自動的に選択する当該ステップが、
句と、
単語対と、
単語トライグラムと、
熟語、
のいずれか1つ以上に関するデータを使用する、請求項３４に記載の方法。
【請求項３６】
自動的に選択する当該ステップが、
言語の形態音素規則と、
前記言語の文法規則、
のいずれか1つ以上の使用を有する、請求項３４に記載の方法。
【請求項３７】
自動的に選択する当該ステップが、当該ユーザ入力の文脈の使用を有する、請求項３４に記載の方法。
【請求項３８】
当該ユーザ入力の次の単語の予測に基づいて複数の単語候補を予測するステップであって、当該予測が、当該次の単語の当該使用からの入力の前に生成される、当該ステップ、
をさらに含んでいる、請求項３４に記載の方法。
【請求項３９】
当該1つ以上の単語候補をユーザによる選択のために提示するステップと、
当該1つ以上の単語候補からのユーザによる選択を受け取るステップと、
をさらに含んでいる。請求項３３に記載の方法。
【請求項４０】
当該複数の単語候補が、当該ユーザ入力に一致する確率の降順に提示される、請求項３９に記載の方法。
【請求項４１】
次の単語のユーザ入力の予測において、少なくとも1つの当該ユーザによる選択を使用して複数の単語候補を予測するステップ、
をさらに含んでいる、請求項３９に記載の方法。
【請求項４２】
単語構成要素に対する当該複数の認識結果の1つが、一連の単語構成要素候補の任意の1つが、当該ユーザ入力の一部に合致する等しい確率を有することの標示を有する、請求項２７に記載の方法。
【請求項４３】
前記一連の単語の使用確率を示す当該データが、
前記言語における単語の使用頻度と、
ユーザによる単語の使用頻度と、
ドキュメントにおける単語の使用頻度、
のうちの少なくとも2つを有する、請求項２７に記載の方法。
【請求項４４】
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つ以上の使用を有する、請求項５２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デスクトップコンピュータ、ハンドヘルドコンピュータ、携帯情報端末などにおける手書き文字認識およびボイス認識など、データ処理システムを使用しての自然言語の入力の認識に関する。
【背景技術】
【０００２】
小型のデバイスにおけるテキスト入力には、メモリの制約、形態に起因する厳しいサイズ制限、テキストを入力／訂正するためのコントロール類（ボタン、メニューなど）における厳しい制限のため、問題がある。テキスト入力を受け入れる今日のハンドヘルドコンピューティングデバイスは、ますます小型化が進んでいる。ポータブルコンピュータ、ハンドヘルドコンピュータ、携帯情報端末から、双方向ページング、携帯電話、その他の携帯型無線技術への最近の進歩によって、双方向メッセージングシステム、特に電子メール（Eメール）あるいは短いメッセージの送信および受信の両方を行うことのできるシステムのユーザインタフェースとして、テキスト入力を受け入れてドキュメントおよびメッセージを作成するための小型でポータブル、かつユーザフレンドリーなユーザインタフェースの需要が生まれている。
【０００３】
ポータブルコンピュータは、長年の間にますます小型化が進んだ。より小型のポータブルコンピュータを提供しようとするときにサイズを制約するコンポーネントの1つは、キーボードである。標準のタイプライタサイズのキーが使用される場合、そのポータブルコンピュータは、必然的に少なくともキーボードの大きさになる。ポータブルコンピュータでは小型キーボードが使用されているが、小型キーボードのキーは、ユーザが容易に、あるいは速く、かつ十分な精度で操作するには小さすぎることが判明している。ポータブルコンピュータに標準サイズのキーボードを組み込むことは、このようなコンピュータの本来の携帯的な使用も妨げる。ほとんどのポータブルコンピュータは、ユーザが両手でタイプ入力するためには平たい作業面に置かないと動作することができない。ユーザは、立った状態あるいは移動しながらポータブルコンピュータを容易に使用することはできない。
【０００４】
手書き文字認識は、小型のデバイスにおいてテキスト入力の問題を解決するために採られてきた1つの方法であり、デバイスは、指またはスタイラスの動きを検出する電子的感知画面(electronically sensitive screen)またはパッドを有する。携帯情報端末（PDA）と称されている小型ポータブルコンピュータの最新の世代においては、メーカーは、PDAに手書き文字認識ソフトウェアを組み込むことにより、この問題の取り組みを試みてきた。ユーザは、タッチパネルまたはディスプレイスクリーン上で書くことによって、テキストを直接入力することができる。次いで、手書きされたテキストが認識ソフトウェアによってデジタルデータに変換される。一般には、ユーザが一度に1文字を書き込み、PDAが一度に1文字を認識する。タッチパネルまたはディスプレイスクリーンに書き込むと、タッチポイントを示すデータ入力ストリームが生成される。手書き文字認識ソフトウェアは、データ入力ストリームの幾何学的特性を分析し、ユーザが書いている内容と合致しうる文字を決定する。手書き文字認識ソフトウェアは、一般には、幾何学的パターン認識を実行して手書き文字を決定する。
【０００５】
しかしながら、手書き文字認識ソフトウェアの精度は、現在のところ満足なものではない。手書き文字認識の現在の解決策には多くの問題があり、例えば、手書き文字認識システムは、たとえ強力なパーソナルコンピュータにおいても精度が非常に高いわけではなく、小型のデバイスにおいてはメモリの制限によって手書き文字認識の精度がさらに制限され、また、手書き文字ソフトウェアをトレーニングするために使用されるスタイルと、個人の手書きスタイルとが異なる。これらの理由のため、多くの手書き文字あるいは「グラフィティ(graffiti)」製品では、ユーザは、個々の文字の非常に固有な一連のストローク(stroke)を学習することが要求される。これらの固有の一連のストロークは、システムの幾何学的パターン認識プロセスが単純化されて認識率が高まるように設計されている。これらのストロークは、文字を自然に書くときのストロークとは非常に異なることがしばしばある。これらの問題の結果として、これらの製品が採用されることは極めて少ない。
【０００６】
ボイス認識は、テキスト入力の問題を解決するために採られてきた別の方法である。ボイス認識システムは、一般には、ボイス入力を検出して記録するマイクロフォンを含んでいる。ボイス入力がデジタル化されて分析され、ボイスパターンが取り出される。一般に、ボイス認識には、ボイス入力を処理するための強力なシステムが要求される。携帯電話などの小型のデバイスには、ボイスによって動作を制御するための能力の限られたボイス認識システムが実施されている。ボイスによって動作を制御するためには、デバイスは数個のコマンドを認識するのみでよい。そのような限られた範囲のボイス認識においても、小型のデバイスにおけるボイス認識の精度は一般には満足なものではなく、なぜなら、ボイスパターンは、異なるユーザごと、および異なる環境下において変化するためである。
【０００７】
自然に書かれた手書き文字用の手書き文字認識システム、あるいは自然に話されたボイス入力用のボイス認識システムなど、自然言語の入力を処理するためのより実用的なシステムであって、精度が向上しており、計算要件が軽減されており（メモリ要件および処理パワー要件が軽減されているなど）、かつユーザフレンドリーなシステムを開発することは有利であろう。
【発明の開示】
【課題を解決するための手段】
【０００８】
本文書には、データ処理システムにおける手書き文字認識およびボイス認識を改良するための複合型の方法が説明されている。一実施例においては、ストローク、文字、音節、および／または音素を認識するためにフロントエンドが使用される。フロントエンドは、入力に合致する候補と、相対的または絶対的な確率とを戻す。バックエンドは、入力されている単語の言語（例:アルファベット言語、表意言語）の言語特性、例えば、単語および句の使用頻度、入力された単語の音声の可能性の高い部分(likely part of speech of the word entered)、言語の形態音素規則(morphology)、あるいは単語が入力された文脈などに基づいて、既知の単語に合致させるために単語の入力からフロントエンドによって決定された候補と、そのような単語が現在の文脈において使用される確率とを組み合わせる。バックエンドは、ユーザを支援するために、ワイルドカードを使用して単語候補を選択する、言語特性を使用して、完成形の単語または次の単語を予測する、単語候補をユーザによる選択のために提示する、および／または、追加される出力を提供する（例:文字のアクセント記号を自動的に付す、自動的に大文字に変換する、句読点および区切り文字を自動的に追加する）ことができる。一実施例においては、複数の入力モード（例:音声認識、手書き文字認識、およびキーボード入力）に対して、1つの言語バックエンドが同時に使用される。
【０００９】
本発明の一実施例は、データ処理システムにおいて言語入力を処理する方法であって、ある言語の単語のユーザ入力を処理するために、複数の単語構成要素それぞれに対する複数の認識結果を受け取るステップと、前記複数の認識結果からと、一連の単語の使用確率を示すデータから、前記単語の前記ユーザ入力に対する1つ以上の単語候補を決定するステップと、を含んでいる、方法、を有する。前記複数の認識結果の少なくとも1つは、複数の単語構成要素候補と、複数の確率指標とを有する。前記複数の確率指標は、前記複数の単語構成要素が前記ユーザ入力の一部に互いに合致する確率の程度を示す。
【００１０】
一実施例においては、前記単語構成要素候補は、手書き文字認識からの1つのストロークと、手書き文字認識からの1つの文字と、音声認識からの1つの音素とを有する。前記言語は、アルファベット言語または表意言語とすることができる。
【００１１】
一実施例においては、1つ以上の単語候補を決定する前記ステップは、前記複数の認識結果の単語構成要素候補の複数の組合せを削除するステップと、前記言語の一連の単語から複数の単語候補を選択するステップであって、前記複数の単語候補が前記複数の認識結果の単語構成要素候補の組合せを含んでいる、前記ステップと、前記単語の前記ユーザ入力に合致する相対的な可能性を示す、前記1つ以上の単語候補の1つ以上の確率指標を、前記複数の認識結果からと、一連の単語の使用確率を示すデータから決定するステップ、または、前記1つ以上の単語候補を前記1つ以上の確率指標に従って並べ替えるステップと、を含んでいる。
【００１２】
一実施例においては、1つの候補が、前記1つ以上の単語候補から自動的に選択され、前記ユーザに提示される。前記自動的な選択は、前記言語における句、前記言語における単語対(word pair)、前記言語における単語トライグラムのいずれか1つ以上に従って実行することができる。自動的な選択は、前記言語の形態音素規則と前記言語の文法規則のいずれか1つ以上に従って実行することもできる。自動的な選択は、前記単語の前記ユーザ入力が受け取られた文脈に従って実行することもできる。
【００１３】
一実施例においては、前記方法は、次の単語のユーザ入力の予測において、前記自動的に選択される単語に基づいて複数の単語候補を予測するステップ、をさらに含んでいる。
【００１４】
一実施例においては、前記方法は、前記1つ以上の単語候補をユーザによる選択のために提示するステップと、前記複数の単語候補から1つを選択するユーザ入力を受け取るステップと、を含んでいる。前記複数の単語候補は、前記1つ以上の確率指標に従った順序にて提示される。
【００１５】
一実施例においては、次の単語のユーザ入力の予測において、前記選択される単語に基づいて複数の単語候補がさらに提示される。
【００１６】
一実施例においては、単語構成要素に対する前記複数の認識結果の1つは、一連の単語構成要素候補の任意の1つが、前記単語の前記ユーザ入力の一部に合致する等しい確率を有することの標示(indication)を有する。前記一連の単語の使用確率を示す前記データは、前記言語における単語の使用頻度と、ユーザによる単語の使用頻度と、ドキュメントにおける単語の使用頻度、のいずれか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つのみの候補を選択する代わりに、複数の異なる候補を戻して、バックエンドによってさらに処理することができる。バックエンドは、既知の単語に合致するために単語の入力からフロントエンドによって決定された候補と、そのような単語が現在の文脈において使用される確率とを組み合わせる。本発明は、フロントエンドとバックエンドとを組み合わせることによって、認識率が向上しておりかつさらにユーザフレンドリーなシステムを提供する。これにより、手書き文字認識入力およびボイス認識入力用の、メモリ/CPU要件の小さい効率的な実施形態が可能となる。
【００３１】
本発明においては、「単語」は、単語、語幹、接頭辞または接尾辞、音節、句、省略形、スラング、顔文字、ユーザID、URL、または表意文字シーケンスを形成する、1つ以上の文字または記号の文字列など、任意の言語オブジェクトを意味する。
【００３２】
本発明の一実施例においては、手書き文字入力、音声入力などの言語入力に対してパターン認識を実行するために、フロントエンドが使用されている。入力を複数のターゲットパターン（手書きにおけるストロークおよび文字、ボイス入力における音素など）に合致させる目的には、多くの異なる手法が使用される。一般には、入力は複数のターゲットパターンとさまざまな程度だけ合致する。例えば、手書きされた文字が、文字「a」または「c」、「o」または「e」のように見えることがある。現在利用できるパターン認識手法では、手書きされた文字がこれらの文字のいずれかである確率を求めることができる。しかしながら、認識システムは、一般には1つのみの合致を報告するようにされている。従って、一般には、合致する可能性が最も高い文字が、認識結果として報告される。本発明の一実施例においては、1つの合致（正しくないこともあり得る）を取得するためにそれ以外の候補を早期に排除する代わりに、複数の候補を可能な選択肢としてバックエンドに伝え、従って、バックエンドは、文脈を使用して、言語入力に対して全体としてより可能性の高い候補の組合せ（単語、句、単語対、単語トライグラム、あるいは例えば文法的な制約に従って文脈に適合する単語など）を決定することができる。例えば、ユーザが入力しようとしている単語の文字に対する複数の異なる候補の組合せから、複数の異なる単語候補を決定することができる。バックエンドは、その言語における単語の使用頻度と、文字候補が合致する相対的または絶対的な可能性とから、ユーザが入力している単語として最も可能性の高い単語を決定することができる。これは、個々に決定された最も可能性の高い文字のセット（意味のある単語を形成しないことさえある）を提供する従来の方法とは対照的である。
【００３３】
従って、本発明は、あいまいさを解決する(disambiguating)単語探索ソフトウェアと、手書き文字認識（HR）エンジンまたは音声認識（SR）エンジンとを組み合わせて、携帯情報端末、電話、あるいは産業界においてテキストおよびデータをフィールドに入力するために使用される数多くの専用デバイスなど、小型の電子デバイスにおいてテキストおよび音声を入力するときの長期にわたり未解決である問題に対する強力な解決策を提供する。
【００３４】
さらに、本発明では、いくつかの入力モード（QWERTYキーボード、手書き文字、ボイス）を、メモリおよびプロセッサの要件の小さい1つのバックエンドエンジンを使用して効果的に処理する。
【００３５】
図1は、本発明による、データ処理システムにおいてユーザ入力を認識するシステムの図を示している。言語の入力101（例:手書き文字またはボイス）が、パターン認識エンジン103において受け取られた後、パターン認識エンジン103は、その入力を処理して、入力の対応する部分に合致する単語構成要素候補（例:文字、音素、またはストローク）および確率105を提供する。例えば、1つの文字の入力が一連の文字候補に合致することがあり、これによりあいまいさが生じる。一実施例においては、あいまいさはフロントエンドレベルにおいては許容され、あいまいさを解決する言語バックエンドに伝えられてさらに処理される。
【００３６】
例えば、単語ベースのあいまいさ解決エンジン107は、文字の可能な組合せを単語リスト109に照らして調べ、単語候補と、それらがユーザ入力111に合致する関連付けられている確率とを生成する。使用頻度の小さい単語あるいは未知の単語（例:単語リスト109にない単語）はユーザ入力に合致する可能性が小さいため、そのような単語候補は、たとえパターン認識エンジン105の結果に基づいたときに合致確率が相対的に高くても、より小さな合致確率を持つように降格することができる。単語ベースのあいまいさ解決エンジン107は、ユーザに膨大な選択肢リストが提示されないように、可能性の低い単語候補のいくつかを削除することができる。これに代えて、単語ベースのあいまいさ解決エンジン107は、単語候補から最も可能性の高い単語を選択することができる。
【００３７】
一実施例においては、単語ベースのあいまいさ解決エンジン107の出力にあいまいさが存在する場合、句ベースのあいまいさ解決エンジン113が、結果を句リスト115（バイグラム(bi-gram)、単語トライグラム(trigram)などを含んでいることができる）に照らしてさらに調べる。それ以前に認識された1つ以上の単語を現在の単語と組み合わせて、句リスト115における句に合致させることができる。句の使用頻度を使用して、単語候補の合致確率を修正し、句候補と、それらの関連付けられている合致確率117とを生成することができる。あいまいさが存在しない場合であっても、句ベースのあいまいさ解決エンジンを使用して、それ以前に認識された単語と句リスト115とに基づいて次の単語を予測することができる。
【００３８】
一実施例においては、句ベースのあいまいさ解決エンジン113の出力にあいまいさが存在する場合、文脈分析および／または文法分析119を実行して、可能性の低い単語/句を削除する。この自動化されている言語あいまいさ解決プロセスによってあいまいさを解決できない場合、ユーザが選択する（121）ための選択肢をユーザに提示することができる。ユーザが選択した後、単語リスト109および句リスト115を更新して、ユーザによって選択された単語/句を昇格させる、および／または、新しい単語/句をリストに追加することができる。
【００３９】
図2は、本発明による、ユーザ入力を認識するデータ処理システムのブロック図である。図2には一例のデータ処理システムのさまざまなコンポーネントを示してあるが、本発明の一実施例によるデータ処理システムは、一般には、図2に示されているより多くの、またはより少ないコンポーネントを含んでいることができることが理解されるであろう。例えば、システムによっては、ボイス認識能力を備えていなくてもよく、サウンドを処理するコンポーネントを不要とすることができる。システムによっては、携帯電話の実施例における通信回路など、図2に示されていない別の機能を備えていることができる。図2は、本発明の少なくともいくつかの機能に密接に関連するさまざまなコンポーネントを示している。この説明において、当業者には、本発明によるデータ処理システムの配置構成が、図2に示されている特定のアーキテクチャには制限されないことが理解されるであろう。
【００４０】
ディスプレイ203は、適切なインタフェース回路によってプロセッサ201に結合されている。プロセッサ201には、手書き文字入力デバイス202（タッチスクリーン、マウス、またはデジタルペンなど）が結合されており、手書き文字認識におけるユーザ入力、および／またはその他のユーザ入力を受け取る。プロセッサ201には、ボイス入力デバイス204（マイクロフォンなど）が結合されており、ボイス認識におけるユーザ入力、および／またはその他のサウンド入力を受け取る。オプションとして、サウンド出力デバイス205（スピーカーなど）もプロセッサに結合されている。
【００４１】
プロセッサ201は、入力デバイス（例:手書き文字入力デバイス202またはボイス入力デバイス204）からの入力を受け取り、ディスプレイおよびスピーカーへの出力を管理する。プロセッサ201は、メモリ210に結合されている。メモリは、一時的な記憶媒体（RAM（ランダムアクセスメモリ）など）と、永久的な記憶媒体（ROM（読み取り専用メモリ）、フロッピーディスク（登録商標）、ハードディスク、またはCD-ROMなど）との組合せを含んでいる。メモリ210は、システムの動作を管理するうえで必要なすべてのソフトウェアルーチンおよびデータを含んでいる。メモリは、一般には、オペレーティングシステム211とアプリケーションプログラム220とを含んでいる。アプリケーションプログラムの例として、ワードプロセッサ、ソフトウェア辞書、外国語翻訳システムが挙げられる。音声合成ソフトウェアも、アプリケーションプログラムとして提供することができる。
【００４２】
メモリは、手書き文字入力におけるストローク/文字を認識するストローク/文字認識エンジン212、および／または、ボイス入力における音素を認識する音素認識エンジン213をさらに含んでいることが好ましい。音素認識エンジンおよびストローク/文字認識エンジンは、この分野において公知である任意の手法を使用して、各入力に対する一連の候補と、ストローク、文字、または音素が合致する関連付けられている確率とを提供することができる。なお、フロントエンドエンジン（例:ストローク/文字認識エンジン212または音素認識エンジン213）においてパターン認識に使用されている特定の手法の詳細については、本発明の範囲外であることが理解されるであろう。
【００４３】
本発明の一実施例においては、メモリ210は、あいまいさ解決言語バックエンドをさらに含んでおり、このバックエンドは、1つ以上の単語ベースのあいまいさ解決エンジン216と、句ベースの認識あいまいさ解決エンジン217と、文脈ベースのあいまいさ解決エンジン218と、選択モジュール219と、その他（単語リスト214、句リスト215など）とを含んでいることができる。この実施例においていは、文脈ベースのあいまいさ解決エンジンは、入力の曖昧さを解決するため、ユーザの操作の状況的な面を適用する。例えば、選択されたユーザ位置（ユーザは仕事中か在宅中か、時刻（例:勤務時間または自由時間）、受信相手など）に基づいて、語彙を選択することができる。
【００４４】
本発明の一実施例においては、あいまいさ解決バックエンドのコンポーネントの大部分は、複数の異なる入力モード（例:手書き文字認識、音声認識）の間で共有される。単語リスト214は、言語における既知の単語のリストを有する。単語リスト214は、その言語における対応する単語の使用頻度の情報をさらに有することができる。一実施例においては、言語の単語リスト214の中にない単語は、頻度がゼロであるとみなされる。これに代えて、未知の単語に、非常に小さな使用頻度を割り当てることができる。未知の単語の想定上の使用頻度を使用することにより、既知の単語と未知の単語とを実質的に同じ方式において処理することができる。単語リスト214は、単語ベースのあいまいさ解決エンジン216と一緒に使用して、パターン認識フロントエンド（例:ストローク/文字認識エンジン212または音素認識エンジン213）の結果に基づいて決定された単語候補を順位付けする、削除する、および／または選択することができ、また、完成形の単語をユーザ入力の一部に基づいて予測することができる。同様に、句リスト215は、2つ以上の単語を含んでいる句のリストと、使用頻度情報とを有することができ、句ベースのあいまいさ解決エンジン217は、これらの句および情報を使用して、句を完成させるための単語を予測することができる。
【００４５】
本発明の一実施例においては、各入力シーケンスは、1つ以上の語彙モジュールを参照しながら処理され、語彙モジュールのそれぞれは、1つ以上の単語と、各単語に関する情報（単語の文字数、同じ長さの他の単語に対するその単語の相対的な出現頻度など）とを含んでいる。これに代えて、各単語と一緒に、その単語が属している1つ以上の語彙モジュールに関する情報を格納しておく、あるいは、モジュールが言語パターンに基づいて単語を修正または生成する（特定の音節に発音区別記号を付すなど）、あるいは、現在の入力シーケンスおよび／または周囲の文脈を解釈するための任意の他のアルゴリズムに基づいて単語候補を生成する、もしくはフィルタリングすることができる。一実施例においては、各入力シーケンスは、パターン認識フロントエンドによって処理され、一連の候補（例:ストローク、文字、音節、音素など）のシーケンスが提供される。候補の複数の異なる組合せから、複数の異なる単語候補が生まれる。あいまいさ解決バックエンドは、候補の合致確率と単語候補の頻度情報とを組み合わせて、1つまたは複数の単語を順位付けする、削除する、あるいはユーザが選択するための選択肢として選択する。使用頻度が高い単語は、可能性の高い候補である。未知の単語または使用頻度の低い単語は、可能性の低い候補である。選択モジュール219は、ユーザがそこから選択することのできる複数の可能性の高い単語を選択的に提示する。本発明の別の実施例においては、単語の使用頻度は、そのユーザによる使用、または特定の文脈（例:ユーザが作成しているメッセージまたは文章）におけるその単語の使用に基づく。従って、頻繁に使用される単語は、より可能性の高い単語となる。
【００４６】
別の実施例においては、各語彙モジュールの中の単語は、同じ長さの単語から成るクラスタまたはファイルに単語がグループ化されるように格納されている。各入力シーケンスの処理は、最初に、入力シーケンスにおける入力の数と同じ長さの単語のグループを検索し、合致基準評点が最高の候補単語を識別することによって行われる。入力シーケンスと同じ長さの識別された候補単語の数がしきい値より少ない場合、システムは、N個の入力の入力シーケンスを、長さN+1の単語のグループ中の各単語の最初のN個の文字と比較する。このプロセスは、しきい値の数だけ候補単語が識別されるまで続行され、すなわち、漸次長い単語のグループを検索し、N個の入力の入力シーケンスを各グループ中の各単語の最初のN個の文字と比較する。入力シーケンスより長さの大きい有望な候補単語は、入力シーケンスの可能な解釈（単語の完全形を示す）としてユーザに提示することができる。
【００４７】
インストール段階時、あるいはテキストメッセージまたはその他のデータを受け取ったときには継続的に、辞書に追加される単語について情報ファイルが走査される。そのような情報ファイルを走査する方法は、この分野において公知である。走査時に新しい単語が見つかると、それらは頻度の低い単語として語彙モジュールに加えられ、関連付けられている単語リストの最後にそのような単語として置かれる。特定の新しい単語が走査中に検出される回数に応じて、関連付けられているリスト内でその単語を昇格させることによって、その単語には相対的に次第に高い優先順位が割り当てられ、従って、情報の入力時に単語選択肢リストにその単語が現れる可能性が増す。
【００４８】
本発明の一実施例においては、語彙モジュールは、各入力シーケンスに対して、確率が最も高い単語構成要素候補を識別して単語構成要素候補のシーケンスから成る単語を組み立てることによって、単語候補を構築する。次いで、この「タイプ入力したまま」の単語は、単語候補リストに含められ、オプションとして、専用に指定されたフィールドに提示される。単語の辞書は、受入れ可能な特性の類似する単語と対にされている好ましくない単語(offensive word)の付録を有し、好ましくない単語が入力されると、たとえタイプ入力したままの文字によって好ましくない単語が形成される場合にも、タイプ入力したままフィールドには関連付けられている受入れ可能な単語のみが表示され、条件が満たされれば、単語選択肢リストに候補として提示される。意図した文字の正確な位置においてキーボードにタッチすることにあまり注意を払わなければより速くタイプ入力できることをユーザが認識すれば、この機能により、ユーザの意図に反して選択肢リストに現れうる好ましくない単語の出現を排除することができる。従って、単語選択肢リストを表示するソフトウェアルーチンは、タイプ入力したままの単語の文字列を表示する前に、この技術分野において周知である手法を使用して、現在のタイプ入力したままの文字列を好ましくない単語の付録と比較し、合致が見つかれば、表示文字列を関連付けられている受入れ可能な単語に置き換える。合致が見つからない場合、好ましくない単語が極めて頻度の低い単語として扱われていても、その単語の文字のそれぞれが直接タッチされたときには、その好ましくない単語がタイプ入力したままの単語として表示される。これは、標準のキーボードにおいて好ましくない単語を偶然にタイプ入力することに似ているが、本発明においては、ユーザは低い精度でタイプ入力することができる。この機能は、ユーザが例えばシステムメニューの選択を通じて有効または無効にすることができる。
【００４９】
当業者には、例えば、法律用語、医学用語、別の言語を含む語彙モジュールなど、付加的な語彙モジュールをコンピュータ内で使用可能にできることも認識されるであろう。さらに、インド系言語などのいくつかの言語においては、語彙モジュールは、先行する入力と、考慮されている単語候補とが与えられたときに、どの単語構成要素候補が可能であるかまたは可能性が高いかを判断するための、有効な単語構成要素のシーケンスの「テンプレート」を採用することができる。ユーザは、付加的な語彙の単語が、可能な単語のリスト中の最初あるいは最後に、例えば特別な色あるいは強調表示によって表示されるように、システムメニューを通じてシステムを設定することができ、あるいは、選択された直前の1つ以上の単語がどの語彙モジュールによって供給されたかに基づいて、システムが単語の順序を自動的に切り替えることができる。従って、添付の請求項の範囲内において、本文書に具体的に記載されている以外の方法で本発明を実施できることが理解されるであろう。
【００５０】
本発明の別の観点によると、ユーザがシステムを使用している間、辞書は昇格アルゴリズムによって自動的に修正され、昇格アルゴリズムは、単語がユーザによって選択されるたびに、その単語に関連付けられている相対頻度を少しずつ増加させることにより、辞書内でその単語を昇格させる。一実施例においては、昇格アルゴリズムは、選択された単語に関連付けられている頻度の値を相対的に大きな増分だけ増加させる一方で、選択されなかった単語の頻度値を非常に小さな減分だけ減少させる。単語がリスト中に現れる順序によって相対頻度情報が示される語彙モジュールの場合、昇格は、選択された単語を、リストの先頭からの距離のある割合だけ上方へ移動させることによって行われる。昇格アルゴリズムは、最も一般に使用される単語、および非常に使用頻度の低い単語が、それらの元の位置から極端に大きく移動することを回避することが好ましい。例えば、リストの中央の範囲にある単語は、各選択に伴って最大の割合だけ昇格される。選択された単語の、辞書における昇格前の位置と昇格後の位置との間にある単語は、値1だけ降格される。単語リストの質量の保存が維持され、すなわち、リストに必要とされる記憶域が増大することなく、リスト中の単語の相対頻度に関する情報が維持および更新される。
【００５１】
昇格アルゴリズムは、選択された単語の頻度を増加させ、かつ適切な場合、選択されない単語の頻度を減少させるように動作する。例えば、リスト中に単語が現れる順序によって相対頻度情報が示される辞書においては、リスト中のポジションIDXに現れている選択された単語は、ポジション（IDX/2）に移動される。これに対応して、リスト中のポジション（IDX/2）から（IDX+1）までの単語は、リストにおける1つ下のポジションに移動される。タッチポイントのシーケンスが処理され、計算された合致基準値に基づいて単語選択肢リストが生成されたとき、リストの中に、ユーザによって選択された単語より上位に1つ以上の単語がある場合、それらの単語はリスト中で降格される。選択肢リストにおいてより上位に現れているが選択されない単語は、不当に高い頻度を割り当てられている（すなわち、リスト中で高すぎる位置に現れている）と推定することができる。最初にポジションIDXに現れていたこのような単語は、例えば、それをポジション（IDX*2+1）に移動させることによって降格される。従って、選択される頻度が高いとみなされる単語ほど、より少ない数のポジションだけ移動される、すなわち降格が小さい。
【００５２】
昇格および降格のプロセスは、ユーザによる操作に応答することによってのみ実施することができ、あるいは、ユーザの入力に応じて異なる方式で実行することができる。例えば、選択肢リストにおいてユーザが意図した単語より高い位置に現れている単語は、ユーザがスタイラスまたはマウスを使用して意図した単語をクリックし、単語選択肢リストにおける第一位の位置までドラッグすることによって選択したときのみに、降格される。これに代えて、選択肢リストにおけるより高いポジションまで手操作によりドラッグされた選択された単語を、通常の係数より大きく昇格させることができる。例えば、昇格される単語は、ポジションIDXからポジション（IDX/3）に移動される。この分野における通常の技術を有する者には、多くのこのような変形形態が明らかであろう。
【００５３】
本発明の別の観点によると、フロントエンドは、系統的誤差を検出し、バックエンドからのフィードバックに基づいてその認識を適合化できるようにすることができる。ユーザが入力と単語選択肢リストからの単語の選択を繰り返していくときに、単語構成要素候補の順位と、選択された単語のそれぞれに含まれている意図された単語構成要素との間の差異を使用して、フロントエンドによって生成される確率を変更することができる。これに代えて、バックエンドは、フロントエンドから受け取られる1つ以上のストローク、文字、音節、または音素に対する独立した調整値を維持することができる。
【００５４】
図3Aおよび図3Bは、本発明による、手書き文字認識ソフトウェアの出力のあいまいさを解決する例を示している。本発明の一実施例においては、手書き文字認識エンジンと、手書き文字エンジンからの、ユーザによって入力された各文字に関連付けられる可能な合致すべてを考慮するモジュールとを組み合わせ、これらの確率と、その言語における単語の確率とを組み合わせて、ユーザが入力しようとしている最も可能性の高い1つ以上の単語をユーザのために予測する。可能な合致と、関連付けられる合致確率とを求める目的には、この分野において公知の任意の手法を使用することができる。例えば、ユーザが、5文字の単語「often」を入力する試みにおいて5つの文字を入力するとする。このユーザ入力は、図3Aにおける301~305に示されているようであるとする。手書き文字認識ソフトウェアは、ストロークに対して以下の文字および文字の確率を出力する。
【００５５】
ストローク1 （301）: 「o」 60%、「a」 24%、「c」 12%、「e」 4%
ストローク2 （302）: 「t」 40%、「f」 34%、「i」 20%、「i」 6%
ストローク3 （303）: 「t」 50%、「f」 42%、「i」 4%、「i」 4%
ストローク4 （304）: 「c」 40%、「e」 32%、「s」 15%、「a」 13%
ストローク5 （305）: 「n」 42%、「r」 30%、「m」 16%、「h」 12%
例えば、ストローク301は、「o」である確率が60%であり、ストローク302は、「t」である確率が40%であり、ストローク303は、「t」である確率が50%であり、ストローク304は、「c」である確率が40%であり、ストローク305は、「n」である確率が42%である。手書き文字ソフトウェアは、ユーザのストロークに合致する可能性が最も高いと判断された文字を結合し、文字列「ottcn」をユーザに提示し、これはユーザが入力しようとした単語ではない。これは、英語における単語でもない。
【００５６】
本発明の一実施例においては、あいまいさを解決する単語探索モジュールを使用し、これらの文字と、文字に関連付けられている合致確率と、英語における単語の使用頻度とに基づいて、最良の予測を見つける。本発明の一実施例においては、組み合わされた手書き文字モジュールおよびあいまいさ解決モジュールによって、最も可能性の高い単語が「often」であると予測され、これはユーザが入力しようとした単語である。
【００５７】
例えば、図3Bに示されているように、バックエンドツールは、すべての候補を受け入れて、可能な一連の単語として、ottcn、attcn、oftcn、aftcn、otfcn、atfcn、offcn、affcn、otten、atten、often、aften、otfen、atfen、offen、affen、ottcr、attcr、oftcr、aftcr、otfcr、atfcr、offcr、affcr、otter、atter、ofter、after、otfer、atfer、offer、afferなどが含まれると判断する。これらの可能な単語は、フロントエンドによって求められた合致確率が最高の文字から合致確率が低い文字へと順に選択することによって構築することができる。可能性の高い1つ以上の単語が見つかると、それより確率の低い文字は使用しなくてもよい。説明を単純にする目的で、図3Aにおいては、未知の単語は使用頻度が0であり、既知の単語（例:often、after、offer）は使用頻度が1であると想定する。図3Aにおいて、使用頻度と、単語に使われている文字候補の合致確率との積から、単語候補の合致の指標が計算される。例えば、図3Aにおいて、文字「o」、「f」、「t」、「e」、「n」との合致確率は、それぞれ、0.6、0.34、0.5、0.32、0.42であり、単語「often」の使用頻度は1である。従って、単語「often」の合致指標は、0.0137と求められる。同様に、単語「after」および「offer」の指標は、それぞれ、0.0039、0.0082である。バックエンドツールによって最も可能性の高い単語が選択されるとき、「often」が選択される。なお、単語の「指標」を正規化して、単語候補を順位付けることができる。
【００５８】
本発明の一実施例においては、1つ以上の入力は明示的（explicit）である、すなわち、1つのストローク、文字、音節、または音素が関連付けられ、従って、各文字などの合致確率は100%に等しい。本発明の別の実施例においては、1つの明示的な入力の結果として、認識フロントエンドからの特殊な一連の値(special set of values)が得られ、あいまいさ解決バックエンドは、これらの値から、各単語候補の対応するポジションにおける例えば正確な文字のみを合致させる。本発明の別の実施例においては、単語の中および単語の間の数字および句読点、適切な発音区別記号、アクセント記号、および／またはその他の区切り文字に対して、明示的な入力が確保されている。
【００５９】
図4A〜図4Cは、本発明による、ユーザインタフェースにおける手書き文字認識の流れの概要を示している。図4Aに示されているように、デバイス401は、ユーザが手書き文字入力407を書き込むための領域405を含んでいる。領域403は、例えば、Webブラウザ、メモソフトウェアプログラム、電子メールプログラムなどにおいてユーザが入力しているメッセージまたは文章を表示するために設けられている。このデバイスは、ユーザが書き込むためのタッチスクリーン領域を含んでいる。
【００６０】
デバイスは、図4Bに示されているように、ユーザの手書き文字入力407を処理した後、ユーザが選択するための単語候補のリストを領域409に提供する。単語候補は、合致する確率の順序にて並べられている。デバイスは、最も可能性の高い最初の数個の単語候補を提示するように選択することができる。ユーザは、従来の方法、例えば、タッチスクリーン上でスタイラスを使用してリストの単語をタップする、あるいは単語のポジションに対応する数字キーを使用するなどの方法を使用して、リストから1つの単語を選択することができる。これに代えて、ユーザは、ボイスコマンドを使用して、例えば、選択される単語、あるいはリストにおける単語のポジションに対応する番号を発声することによって、単語を選択することができる。好ましい実施例においては、最も可能性の高い単語が自動的に選択され、領域403に表示される。従って、ユーザが例えば次の単語を書き出すことによって候補を受け入れるならば、選択する必要はない。ユーザが別の単語を選択する場合、デバイスは、自動的に選択された候補を、ユーザによって選択された候補に置き換える。別の実施例においては、最も可能性の高い単語が初期値として強調表示され、強調表示されている単語は、ユーザによる現在選択中の単語として、次の操作時にその単語が出力されるかまたは拡張されることを示しており、指定の入力を行うと別の単語候補が強調表示される。別の実施例においては、指定の入力を行うと、入力された、あるいは予測された、複数の音節のシーケンスまたは複数の単語による句から、訂正または再入力するための1つの音節または単語が選択される。
【００６１】
図4Cは、文脈の分析および／または文法の分析によって、あいまいさの解決がさらに支援される状況を示している。例えば、図4Cにおいては、ユーザは、複数の単語「It is an」をすでに入力している。デバイスは、文法的な分析から、次の単語として名詞を予測する。従って、デバイスは、単語候補の順位をさらに調整して、名詞である単語候補を昇格させる。従って、最も可能性の高い単語は、「often」ではなく「offer」となる。しかしながら、名詞と単語「an」の間には形容詞も可能性があるため、デバイスは、ユーザが選択するための「often」、「after」など別の選択肢も依然として提示する。
【００６２】
図5は、本発明による、ユーザ入力の処理を示している流れ図である。ステップ501において、システムは、単語の手書き入力を受け取る。その後、ステップ503において、手書きされた単語の文字のそれぞれに対する一連の文字候補および合致確率を生成する。ステップ505において、一連の文字候補から一連の単語候補を決定する。ステップ507において、単語候補の頻度指標と文字候補の合致確率とを組み合わせて、単語候補の合致確率を求める。ステップ509において、単語候補の合致確率に基づいて、単語候補のいくつかを排除する。ステップ511において、1つ以上の単語候補をユーザによる選択のために提示する。
【００６３】
図5は、手書き文字入力の処理の流れ図を示しているが、この説明から、ボイス入力も類似する方式において処理することができ、その場合、ボイス認識モジュールが、単語の音素のそれぞれに対する音素候補を生成することが理解されるであろう。
【００６４】
小型のデバイスにおいてテキストおよびコマンドを入力するための音声認識技術では、メモリおよびコンピュータ処理上の問題はさらに大きい。加えて、現在の音声認識システムは、誤り率が高いことと、訂正を行うための処理量が多いため、採用率が非常に低い。本発明の一実施例においては、音声認識エンジンから戻される一連の候補の音素およびそれらの関連付けられている確率と、バックエンドとを組み合わせて使用し、バックエンドは、これらの入力と、これらの音素によって形成できる単語の既知の確率とを使用する。システムは、音声認識出力を自動的に訂正する。
【００６５】
本発明の一実施例においては、各入力が受け取られると、入力シーケンスに合致する候補単語が、ディスプレイ上の単語選択肢リストにおいてユーザに提示される。単語候補は、各候補単語について計算される合致確率によって決まる順序にて提示され、従って、合致基準に基づいて最も可能性が高いと判断される単語がリストの最初に表示される。入力シーケンスに対して提案された解釈のうちの1つが選択されると入力シーケンスが終了し、従って、次の入力によって新しい入力シーケンスが開始される。
【００６６】
本発明の別の実施例においては、1つの単語候補のみが、ディスプレイに、好ましくは生成されているテキストの挿入ポイントに表示される。表示される単語候補は、合致基準に従って最も可能性が高いと判断される単語である。ユーザは、専用に指定されている選択入力を繰り返し作動させることによって、表示されている単語を、合致確率によって決まる順序にて提示されている別の単語候補に置き換えることができる。指定の選択入力を1回以上作動させて、シーケンスに対する提案された解釈のうちの1つのみを選択してシステムによって出力させた場合にも、入力シーケンスが終了し、次の入力によって新しい入力シーケンスが開始される。
【００６７】
本発明による複合型システムは、最初に、構成要素（例:ストローク、文字、音節、音素など）レベルにおいて、パターン認識（例:手書き文字認識、音声認識など）を実行し、あいまいさおよび関連付けられる合致の可能性が含まれる結果を生成し、次いで、構成要素間レベル（例:単語、句、単語対、単語トライグラムなど）においてあいまいさ解決処理を実行する。あいまいさを解決するためにシステムによって使用される言語の特性としては、その言語における単語の使用頻度、個々のユーザによる単語の使用頻度、入力された単語の音声の可能性の高い部分、言語の形態音素規則、単語が入力された文脈、バイグラムあるいは単語トライグラムのほか、あいまいさを解決するために使用できるその他の任意の言語情報または文脈情報、のいずれか1つ以上とすることができる。
【００６８】
本発明は、アルファベット言語（英語、スペイン語など）において使用することができ、その場合、手書き文字認識フロントエンドの出力は、文字またはストロークおよびそれらの関連付けられる確率である。アルファベット言語の手書き文字に対するあいまいさ解決処理は、単語レベル（一般に各単語は複数の文字を含んでいる）において実行することができる。
【００６９】
本発明は、表意言語（中国語、日本語など）において使用することもでき、その場合、手書き文字認識フロントエンドの出力は、ストロークおよびそれらの関連付けられる確率である。表意言語の手書き文字に対するあいまいさ解決処理は、語根/構成要素または文字のレベル（一般に手書きされた各文字は複数のストロークを含んでいる）において実行することができる。あいまいさ解決処理は、より高いレベル（例:句、バイグラム、単語トライグラムなど）においてさらに実行することができる。さらに、あいまいさ解決処理において言語の文法的な構造を使用して、全体として最良の、入力に対する合致を選択することもできる。
【００７０】
本発明は、表意言語の音声表現またはアルファベット表現において使用することもできる。あいまいさ解決処理は、音節、表意文字、単語、および／または句レベルにおいて実行することができる。
【００７１】
同様に、本発明は、音声認識に適用することもでき、その場合、音声認識フロントエンドの出力は、音素およびそれらの関連付けられる合致確率とを有する。音素候補を組み合わせて、単語、句、バイグラム、単語トライグラム、または熟語の最良の合致を選択することができる。
【００７２】
さらに、本発明の一実施例においては、ユーザが数個のみのストロークを入力した時点で、単語の完成形を予測する。例えば、単語の最初の数個の文字を高い確率で認識できた時点で、システムのバックエンドは、最初の数個の文字が、合致した文字と同じである単語のリストを提供することができる。ユーザはリストから1つの単語を選択して入力を完成させることができる。これに代えて、リスト内の特定の単語の近くの標示によって、その単語に基づく完成形を、指定の入力をリスト入力に適用することによって表示できることをユーザに知らせることができる。この場合、次のポップアップ単語リストには、その単語が含まれている単語のみが示され、そのリストにおいて、さらなる完成形があることを知らせることができる。最初の数個の文字のそれぞれに対して高い確率の候補が1つのみ決まることがあり、最初の数個の文字には高い確率の候補が1つのみ対応し、この候補を使用して、完成形の単語のリストが選択される。あるいは、最初の数個の文字のうちの1つ以上があいまいさを含んでいることがあり、従って、最初の数個の文字の高い確率の複数の組合せを使用して、完成形の単語(words for completion)のリストを選択することができる。完成形の単語のリストは、単語が、ユーザが入力しようとしている単語である確率に従って、順位付けて表示することができる。完成形の単語は、単語の入力のあいまいさを解決する場合と類似する方式において順位付けすることができる。例えば、完成形の単語は、例えばその言語における、またはユーザによる、またはユーザが作成している文章における、または特定の状況（例:ダイアログボックスなど）における、その単語の使用頻度、および／または、句、バイグラム、単語トライグラム、熟語などにおけるその単語の出現頻度に従って順位付けることができる。処理されている単語の直前に先行している1つ以上の単語が、句、バイグラム、単語トライグラム、または熟語などに属しているときには、これらの句、バイグラム、単語トライグラム、または熟語の出現頻度をその単語の頻度とさらに組み合わせて、完成形の単語の順位を求めることができる。その時点で既知である句、バイグラム、単語トライグラム、熟語などのいずれにも属していない単語は、出現頻度の極めて低い未知の句に属していると想定される。同様に、既知の単語リストの中にない単語は、出現頻度の極めて低い未知の句であると想定される。このように、任意の単語、または単語の最初の部分の入力を処理して、最も可能性の高い入力を決定することができる。
【００７３】
本発明の一実施例においては、バックエンドは、パターン認識フロントエンドによって認識された、文字、ストローク、または音素のそれぞれの候補リストを継続的に取得し、そのリストと、完成形の単語の順位とを更新する。ユーザがさらなる入力を提供すると、可能性の低い完成形の単語が削除される。提供される完成形の単語のリストは、あいまいさが存在しなくなるまで、またはユーザがリストから単語を選択するまで、ユーザがさらなる入力を提供するにつれてサイズが減少していく。
【００７４】
さらに、パターン認識フロントエンドが次の単語の最初の入力に対する一連の候補を提供する前に、バックエンドは、1つ以上の直前の単語からと、既知の句、バイグラム、単語トライグラム、熟語などから、完成形の単語を決定し、句、バイグラム、単語トライグラム、熟語などを完成させるための一連の単語を求める。従って、本発明は、ユーザによって入力された最後の単語に基づいて次の単語も予測する。
【００７５】
本発明の一実施例においては、バックエンドは、確率の等しい任意のストローク、文字、音節、または音素を表すワイルドカードを使用する。単語の入力の一部に基づく完成形の単語のリストは、ユーザによって入力される、またはパターン認識フロントエンドから受け取られる1つ以上のストローク、文字、または音素に対するワイルドカードの使用例と考えることができる。
【００７６】
本発明の一実施例においては、フロントエンドは、ストローク、文字、または音素を認識できないことがある。フロントエンドは、入力処理を停止してユーザにもう一度入力させる代わりに、結果を受け入れてワイルドカードをバックエンドに送ることができる。バックエンドは、ユーザにもう一度入力させることなく、高いレベルにおいてあいまいさを解決することができる。これによって、システムの使いやすさが大きく向上する。
【００７７】
本発明の一実施例においては、バックエンドは、フロントエンドからの1つ以上の入力を自動的にワイルドカードに置き換える。例えば、既知の単語のリストから可能性のある単語が見つからないとき、バックエンドは、最もあいまいな入力をワイルドカードに置き換えて、候補の組合せを拡張する。例えば、一連の多数の候補の確率が低い場合、ワイルドカードに置き換えることができる。一実施例においては、フロントエンドは、入力と一連の候補の1つとが合致する確率がしきい値以上であるように、候補のリストを提供する。従って、あいまいな入力には、確率の低い多数の候補が生じる。別の実施例においては、フロントエンドは、候補のそれぞれが入力に合致する確率がしきい値以上であるように候補のリストを提供する。従って、あいまいな入力では、入力が候補の1つに合致する確率は低い。このようにして、ワイルドカードが使用されなければ可能性のある単語が見つからない場合に対処するため、システムは、すべての文字に等しい確率を与えるワイルドカード（例:任意の文字を表すストローク）を使用する。
【００７８】
本発明の一実施例においては、バックエンドは、パターン認識フロントエンドによって提供される、ストローク、文字、または音素の候補の組合せから、複数の異なる単語候補を構築する。例えば、文字入力のそれぞれに対する文字候補を、入力に合致する確率に従って順位付けすることができる。単語候補の構築は、合致確率が最も高い文字から開始し、より合致確率の低い文字へと行われる。既知の単語リストに複数の単語候補が見つかるときには、合致確率の小さい候補は、さらなる単語候補を構築するために使用しなくてもよい。
【００７９】
一実施例においては、システムは、最も可能性の高い単語、あるいは、計算された確率の順序における候補単語すべてのリストを表示する。システムは、ユーザを支援するための出力を自動的に追加することができる。この出力としては、例えば、文字のアクセント記号を自動的に付す、自動的に大文字に変換する、句読点および区切り文字を自動的に追加することが挙げられる。
【００８０】
本発明の一実施例においては、複数の入力モード（例:音声認識、手書き文字認識、標準のキーまたはタッチスクリーンにおけるキーボード入力）に対して、1つの言語バックエンドが同時に使用される。本発明の別の実施例においては、単語候補のあいまいさを解決するために言語バックエンドが使用される。バックエンドコンポーネントが、フロントエンドからの入力候補を組み合わせて単語候補およびそれらの合致確率を求めた後、言語バックエンドによって、単語候補が言語特性に従って順位付けされる。例えば、言語バックエンドは、例えば、その言語における、またはユーザによって使用される、またはユーザが作成している文章における、または入力が要求されている状況における、その単語の使用頻度と、バックエンドコンポーネントからの単語候補およびそれらの合致確率とをさらに組み合わせて、単語候補のあいまいさを解決する。言語バックエンドは、単語バイグラム、単語トライグラム、句などに基づいて、あいまいさ解決処理を実行することもできる。さらに、言語バックエンドは、文脈、文法構造などに基づいて、あいまいさ解決処理を実行することができる。言語バックエンドによって実行されるタスクは、さまざまな入力方法（例:音声認識、手書き文字認識、標準のキーまたはタッチスクリーンを使用してのキーボード入力）に対して同じであるため、複数の入力モードの間で言語バックエンドを共有することができる。本発明の一実施例においては、言語バックエンドは、複数の入力モードを同時に処理し、従って、ユーザが複数の異なる入力モードを組み合わせて入力を行うとき、そのような複合入力モードをサポートするのに必要な言語バックエンドは1つのみである。本発明の別の実施例においては、特定のフロントエンドからの各入力は、100%の合致確率として記録されている明示的な単語構成要素候補、あるいは明示的なストローク、文字、または音節として扱われ、バックエンドは、対応するポジションにこれらが含まれている単語のみを合致させる。
【００８１】
本発明は、1つ以上の認識システムからの一連の候補および関連付けられている確率を使用して、一連の候補におけるあいまいさをその言語の特定の既知の特性を使用することによって解決する複合型システム、も有する。手書き文字/音声認識からのあいまいさを解決することによって、システムの認識率が高まって使いやすさが向上する。
【００８２】
本発明は、本文書においては好ましい実施例を参照しながら説明されているが、当業者には、本発明の精神および範囲から逸脱することなく、本文書に記載されている用途を別の用途に置き換えることができることが容易に理解されるであろう。従って、本発明は、添付の請求項によってのみ限定されるものとする。
【図面の簡単な説明】
【００８３】
【図１】本発明による、データ処理システムにおいてユーザ入力を認識するシステムを示している。
【図２】本発明による、ユーザ入力を認識するデータ処理システムのブロック図である。
【図３Ａ】本発明による、手書き文字認識ソフトウェアの出力のあいまいさを解決する例を示している。
【図３Ｂ】本発明による、手書き文字認識ソフトウェアの出力のあいまいさを解決する例を示している。
【図４Ａ】本発明による、ユーザインタフェースにおける手書き文字認識の流れの概要を示している。
【図４Ｂ】本発明による、ユーザインタフェースにおける手書き文字認識の流れの概要を示している。
【図４Ｃ】本発明による、ユーザインタフェースにおける手書き文字認識の流れの概要を示している。
【図５】本発明による、ユーザ入力の処理の流れ図である。
【符号の説明】
【００８４】
101  言語の入力
103  パターン認識エンジン
105  単語構成要素候補および確率
107  単語ベースのあいまいさ解決エンジン
109  単語リスト
111  単語候補および確率
113  句ベースのあいまいさ解決エンジン
115  句リスト
117  句候補および確率
119  文脈分析および／または文法分析
121  選択
201  プロセッサ
202  手書き文字入力デバイス
203  ディスプレイ
204  ボイス入力デバイス
205  出力デバイス
210  メモリ
211  オペレーティングシステム
212  ストローク/文字認識エンジン
213  音声メッセージ認識エンジン
214  単語リスト
215  句リスト
216  単語ベースのあいまいさ解決エンジン
217  句ベースのあいまいさ解決エンジン
218  文脈ベースのあいまいさ解決エンジン
219  選択:マウス
220  アプリケーションプログラム
401  デバイス
403，405，409  領域
407  手書き文字入力
【図１】
2007524949.tif 000002
【図２】
2007524949.tif 000003
【図３Ａ】
2007524949.tif 000004
【図３Ｂ】
2007524949.tif 000005
【図４Ａ】
2007524949.tif 000006
【図４Ｂ】
2007524949.tif 000007
【図４Ｃ】
2007524949.tif 000008
【図５】
2007524949.tif 000009
【国際調査報告】
2007524949.tif 000010