(57)【要約】【課題】  表意言語の句を省略して入力することのできるシステムを提供すること。【解決手段】  コンピュータは、表意言語の複数文字の意図された句の不完全な入力をユーザ入力ツールを介して受け取る。不完全な入力は、少なくとも次の点、すなわち、不完全な入力が、意図された句の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つ以上の）文字のすべてより少ないストローク、またはその両方を供給することによってユーザが表意言語の句を省略して入力するための、コンピュータによって駆動されるシステムに関する。
【背景技術】
【０００２】
今日、デジタルデバイスは、広く普及している。人々は、デスクトップコンピュータ、ノートブックコンピュータ、携帯電話、携帯情報端末（PDA）、数多くのこのようなデバイスを普通に使用している。広義には、これらのデバイスの各々は、コンピュータの異なる実施形態である。これらのデバイスにおいては、コンピュータに入力を供給するための、信頼性があり使いやすく便利な方法を、ユーザに提供することが欠かせない。この理由により、技術者らは、驚くべきほどさまざまなキーボード、マウス、トラックボール、ジョイスティック、デジタイジング面(digitizing surface)、音声認識システム、視線追跡システム、その他を開発してきた。
【０００３】
ユーザによる表意言語の入力は、過去においてつねに特別な課題であった。中国語などの書記言語は、単語が26個の構成文字のアルファベットに分解される英語とは異なり、数千個の異なる文字を使用する。技術者らは、数多くの異なる技術を採用するソリューションを開発することによって、この課題に取り組んできた。いくつかの例として、膨大な文字をベースとするキーボード、通常のキーボードおよびマウスを用いて使用する複雑なコンピュータメニューシステム、スティック／ボタンの入力ツール、手書きデジタイザ、その他が挙げられる。
【０００４】
手書きデジタイザは、多くの人が選択するツールであり、便利かつ自然な感覚の手書き入力を提供する。しかしながら、中国語およびその他の表意言語の複雑さ（文字によっては20を超えるストロークを含んでいる）に起因する、公知の手書きデジタイザの遅い速度を克服することは、ほぼ不可能であった。さらには、様式のバリエーションおよび斜線によって課題が増し、コンピュータおよびモバイルデバイスにおける手書き文字認識は誤りが起こりやすいものとなっており、さらにいっそう明確かつ慎重に書くことがユーザに強要され、入力の速度がさらに低下する。
【０００５】
【特許文献１】米国特許第6,970,599号明細書
【発明の開示】
【課題を解決するための手段】
【０００６】
コンピュータは、表意言語の複数の文字による意図された句の不完全な入力をユーザ入力ツールを介して受け取る。この不完全な入力は、少なくとも次の点、すなわち、不完全な入力が、意図された句の1つ以上の文字の、すべてより少ないストロークを含んでいることにおいて、不完全である。コンピュータは、意図された句の中の意図された文字と、不完全に入力された句におけるスキップされる文字の順序を示している1つ以上の区切り子のユーザによる指定を受け取る。コンピュータは、受け取ったユーザ入力とスキップされた文字とによって表されている不完全に入力された句を、参照句(reference phrase)の所定の語彙と比較し、不完全に入力された句を、意図された文字の指定された順序において含んでいる参照句、を識別する。コンピュータは、識別された参照句の、人が読める出力をユーザに提示する。
【発明を実施するための最良の形態】
【０００７】
本発明の特徴、目的、および利点は、以下の詳細な説明を添付の図面を参照しながら検討することにより、当業者にさらに明らかになるであろう。
【０００８】
ハードウェアコンポーネントおよび相互接続
全体の構造
本開示の1つの観点は、表意言語の手書き文字入力／処理システムに関する。このシステムは、さまざまなハードウェアコンポーネントおよび相互接続によって具体化することができ、1つの例は、図1Aのシステム100によって示されている。
【０００９】
より詳細には、図1Aを参照し、システム100は、ディスプレイ102と、データ入力ツール104と、プロセッサ106と、記憶装置108とを含んでいる。1つの例においては、ディスプレイ102は、PDAの相対的に小型のLCDディスプレイを備えている。しかしながら、ディスプレイ102は、別のサイズまたは別の構成のLCDディスプレイ、CRT、プラズマディスプレイ、または、機械可読入力信号を受け取って人間が読める出力を提供する任意のその他のデバイス、によって実施することができる。1つの例においては、データ入力ツール104は、PDAの手書きデジタイジングコンポーネントを備えている。この観点において、ツール104は、手書きデジタイジング面、例えば、タッチスクリーン、デジタイジングパッド、または、スタイラス、ペン、鉛筆、指などによって供給されたユーザの手書き文字を受け取るように構成されている実質的に任意のその他のデジタイジング面を含んでいることができる。これに加えて、またはこれに代えて、ツール104は、さまざまなジェスチャ入力ツール、例えば、マウス、ローラーボールスタイラス(roller ball stylus)、トラックボール、マウス、ポインティングスティック、または、対象アプリケーションに適切なその他のメカニズムを含んでいることができる。さらに、ツール104は、上記のデバイスの組合せを含んでいることができる。1つの例において、ツール104が手書きデジタイジング面として実施される場合、デジタイジング面がディスプレイ102の上に重なるように、ディスプレイ102とツール104とを同一場所に配置することができる。
【００１０】
1つの例においては、記憶装置108は、PDAなどのコンパクトなアプリケーションにおいて使用されているタイプの極小サイズのフラッシュメモリを備えている。しかしながら、記憶装置108は、さまざまなハードウェア、例えば、磁気媒体（例：テープ記憶媒体、ディスク記憶媒体）、ファームウェア、不揮発性電子メモリ（例：ROMまたはEPROM、フラッシュPROMまたはフラッシュEPROM）、揮発性メモリ（例：RAM）、光記憶装置、および、本文書に記載されているアプリケーションに適合する機械可読データを格納するための実質的に任意の装置、によって実施することができる。データ構造に関しては、記憶装置108の構成要素は、リンクリスト、探索テーブル、リレーショナルデータベース、または任意のその他の有用なデータ構造を用いて実施することができる。
【００１１】
図示されているように、記憶装置108は、特定のサブコンポーネント、すなわち、句の語彙110と、文字の語彙111と、文字ストロークマップ112と、文字音声マップ113とを含んでいる。システム100は、1つまたは複数の表意文字セットを導入するように構成することができるが、説明を容易にするため、1つの文字セット（例：簡体字中国語）がインストールされているコンテキストにおいて説明されている。語彙110は、インストールされている文字セットにおける、表意文字の句のリストを含んでいる。このリストは、さまざまな公知の標準語彙から取得または導く、あるいはコーパスから抽出することができる。語彙110は、システム100の製造時に固定とする、または、インストール時、起動時、再構成時、あるいはその他の好適なタイミングにおいてダウンロードすることができる。語彙110は、ユーザの以前の入力、インターネット、ワイヤレスネットワーク、またはその他のデータ源を調べることによって、ときおり自動的に更新して新しい句を集めることができる。
【００１２】
図1Bにおいて、参照数字152a（あるいは参照数字152b）は、語彙110に属しうる2つの例示的な中国語の句を示している。152aの2つの句は、簡体字中国語の文字セットの例である。152bの2つの句は、繁体字中国語の文字セットの例である。1つの例において、簡体字中国語が、インストールされている文字セットである場合、語彙110は、152aの文字を含む。
【００１３】
文字の語彙111は、句の語彙110と同様に、インストールされている文字セットにおける、認識済みの表意文字のリストを含んでいる。1つの例において、簡体字中国語が、インストールされている文字セットである場合、語彙111は、152aの個々の文字を含んでいることができる。
【００１４】
オプションとして、語彙110, 111の一方または両方は、文字または句の使用頻度に関するデータを含んでいることができる。このデータは、語彙110, 111に含めることができ、または、それ以外の場所に、語彙110, 111の中の関連する文字および／または句への適切なリンクとともに記述することができる。1つの実施例においては、使用頻度は、言語モデル（図示していない）に記述されており、言語モデルは、広義には、文字（および／または句）の、別の文字（および／または句）に対する使用頻度、または、ユーザが次にその文字（または句）を選択しようとする確率を示している。頻度は、書記テキストまたは会話において文字が出現する回数によって、あるいは、周囲の文の文法によって、先行する1つ以上の文字に続くその文字の出現によって、システムが現在使用されているコンテキスト（例：名前を電話帳にタイプ入力している）によって、システムにおけるその文字の反復使用または最近の使用（ユーザ自身における頻度、何らかの別のテキスト源における頻度）によって、または、これらの任意の組合せによって、決定することができる。さらに、文字には、入力されたストロークシーケンスにおけるそのポイントにおける文字に合致が見つかる確率によって、優先度を与えることができる。別の実施例においては、使用頻度は、特定のユーザによる、または特定のコンテキスト（例：メッセージあるいは文章がユーザによって作成される）における、文字または句の使用に基づく。この例においては、頻繁に使用される文字または句は、より可能性の高い文字または句となる。
【００１５】
文字ストロークマップ112は、語彙111の中の文字の一部またはすべてについて、文字とその構成ストロークのリストとの間の相互参照を含んでいる。オプションとして、マップ112は、他のストロークに対するポジション情報と、形状（フォント）および順序に関する代替ストロークとを含んでいる。さらに、マップ112は、与えられた文字の1つまたは複数のストローク順序に対応することができる。
【００１６】
図1Bにおいて、参照数字154は、例示的な中国語の文字とその構成ストロークとを示している。この例において、154の文字は、文字の語彙111にリストされており、構成ストロークは、この文字に関連付けられるマップ112にリストされている。この例において、マップ112は、154のストロークを入力する順序を指定する1つ以上のストローク順序も含んでいることができる。
【００１７】
同様に、マップ113は、文字の各々と、音声表現、すなわち、音声記号、ルビ文字、または、認識されているシステム（例：Bopomofo、ピンイン）による、与えられた文字の発音を表すその他の書記記号、との間の相互参照を含んでいる。図示されている例においては、マップ113の音声表現は、（1つ以上の）音声記号に加えて、（1つ以上の）該当する声調を含んでいる。図1Bにおいて、参照数字156, 158は、繁体字中国語の一例の文字と、Bopomofo記号によるその表現（156）と、声調（158）表現とを示している。
【００１８】
配置構成100の代替形態として、十分に大きな記憶装置108を有するアプリケーションでは、文字の語彙111を省くことができる。この実施例においては、語彙110の中の句の各々は、構成ストローク（112）と音声情報（113）とに分解される。
【００１９】
図1Aを参照し、プロセッサ106の1つの例は、PDAにおいて使用されているタイプのデジタルデータ処理エンティティである。しかしながら、より一般的には、プロセッサ106の機能は、1つ以上のハードウェアデバイス、ソフトウェアデバイス、1つ以上のハードウェアデバイスまたはソフトウェアデバイスの一部、または制限されることのないこれらの組合せによって実施することができる。以下では、いくつかの説明上のサブコンポーネントの構成について、例示的なデジタルデータ処理装置と、論理回路と、信号担持媒体とに関連して、より詳細に説明されている。
【００２０】
例示的なデジタルデータ処理装置
上述されているように、プロセッサ106などのデータ処理エンティティは、さまざまな形態として実施することができる。1つの例は、図2のデジタルデータ処理装置200のハードウェアコンポーネントおよび相互接続によって例示されているデジタルデータ処理装置である。
【００２１】
装置200は、デジタルデータ記憶装置204に結合されているプロセッサ202、例えば、マイクロプロセッサ、パーソナルコンピュータ、ワークステーション、コントローラ、マイクロコントローラ、ステートマシン、または、その他の処理マシンを含んでいる。本例においては、記憶装置204は、高速アクセス記憶装置206と不揮発性記憶装置208とを含んでいる。高速アクセス記憶装置206は、ランダムアクセスメモリ（「RAM」）を備えていることができ、プロセッサ202によって実行されるプログラミング命令を格納するために使用することができる。不揮発性記憶装置208は、例えば、バッテリバックアップRAM、EEPROM、フラッシュPROM、1つ以上の磁気データ記憶ディスク（例：「ハードドライブ」、「テープドライブ」）、または任意のその他の適切な記憶装置を含んでいることができる。装置200は、入力／出力210、例えば、ライン、バス、ケーブル、電磁結合、または、プロセッサ202が装置200の外側の別のハードウェアとデータを交換するためのその他の手段、も含んでいる。
【００２２】
上記には具体的に説明してあるが、通常の技能を有する者（本開示の恩恵を有する者）には、上に説明されている装置を、本発明の範囲から逸脱することなく、異なる構造のマシンに実施できることが認識されるであろう。具体的な例として、コンポーネント206, 208の一方は、省略することができる。さらには、記憶装置204, 206, 208のうちの少なくとも1つは、プロセッサ202のボード上に設けることができ、場合によっては装置200の外側に設けることもできる。
【００２３】
信号担持媒体
本開示の別の観点は、上に説明されているデジタルデータ処理装置とは異なり、このようなデジタル処理装置によって実行可能な機械可読命令のプログラムを具体的に具体化している1つ以上の信号担持媒体に関する。1つの例においては、機械可読命令は、本開示に関連するさまざまな機能（例：後から詳しく説明されている動作）を実行するために実行することができる。別の例においては、命令が実行されると、ソフトウェアプログラムがコンピュータにインストールされ、この場合、このようなソフトウェアプログラムは、本開示に関連する別の機能（例：後から説明されている動作）を実行するために独立して実行することができる。
【００２４】
どのような場合にも、信号担持媒体は、さまざまな形態をとることができる。図2のコンテキストにおいては、このような信号担持媒体は、例えば、記憶装置204、または別の信号担持媒体、例えば、プロセッサ302によって直接的または間接的にアクセス可能である磁気データ記憶ディスク300（図3）を備えていることができる。命令は、記憶装置206、ディスク300、またはそれ以外の場所に含まれているかにかかわらず、機械可読のさまざまなデータ記憶媒体に格納することができる。いくつかの例として、直接アクセス記憶装置（例：従来の「ハードドライブ」、「RAID（安価ディスクの冗長アレイ）」、またはその他の直接アクセス記憶装置（「DASD」））、シリアルアクセス記憶装置（例：磁気テープまたは光テープ）、不揮発性電子メモリ（例：ROM、EPROM、フラッシュPROM、EEPROM）、バッテリバックアップRAM、光記憶装置（例：CD−ROM、WORM、DVD、デジタル光テープ）、またはその他の適切なコンピュータ可読媒体、が挙げられる。
【００２５】
論理回路
本開示の別の実施例では、上に説明されている信号担持媒体およびデジタルデータ処理装置とは異なり、プロセッサ106などのデータ処理エンティティを実施するために、コンピュータによって実行される命令の代わりに、論理回路を使用する。図4は、集積回路400の形式における論理回路の例を示している。
【００２６】
この論理は、速度、コスト、ツーリングコスト、その他の側面におけるアプリケーションの具体的な必要条件に応じて、数千個の小さな集積トランジスタを有する特定用途向け集積回路（ASIC）を構築することによって実施することができる。このようなASICは、CMOS、TTL、VLSI、またはその他の適切な構造によって実施することができる。それ以外の代替構造としては、デジタル信号処理チップ（DSP）、個別回路（例：レジスタ、キャパシタ、ダイオード、インダクタ、トランジスタ）、フィールドプログラマブルゲートアレイ（FPGA）、プログラマブルロジックアレイ（PLA）、プログラマブルロジックデバイス（PLD）、その他が挙げられる。
【００２７】
動作
ここまでは、本開示の構造的な特徴について説明されている。以下には、本開示の動作の観点について説明されている。
【００２８】
動作の全体的な手順
図5は、本開示の方法の観点の一例を示すための手順500を示している。説明を容易にするため、ただし何らの制限を意図することなく、図5の例は、上に説明されているシステム100のコンテキストにおいて説明されている。
【００２９】
広義には、この手順は、個々の単語または形態素を表すのに文字を使用する表意書記体系の句のユーザ入力を処理する役割を果たす。本文書における「表意」文字の概念は、制限なしに使用されており、中国の象形文字、中国の表意文字、中国の直説法、中国の音形複合文字(sound-shape compounds)（音韻文字(phonologograms)）、日本の文字（漢字）、韓国の文字（ハンジャ）などを含んでいる。さらに、システム100は、特定の標準（例：繁体字中国語の文字、簡体字中国語の文字、またはその他の標準）、あるいは、特定のフォント（例：中国語のSong）を対象として実施することができる。また、上記の例においては用語「表意」が使用されているが、この用語は、何らの意図された制限なしに使用されており、数多くのさまざまな表語(logographic)書記体系、表意書記体系、一字一語(lexigraphic)書記体系、形態・音節書記体系、または、個々の単語、概念、音節、形態素などを表すのに文字を使用するその他の書記体系を含むものとする。
【００３０】
ユーザ入力
ステップ502において、システム100は、ユーザ入力を受け取る。ユーザは、データ入力ツール104、より具体的には手書きデジタイジング面を介して入力し、システム100は、表意言語の複数の文字による意図された句の不完全な入力を受け取る。ユーザは、デジタイジング面104の上でストロークを手書きすることによって、句の文字を入力する。
【００３１】
オプションとして、ステップ502において、ユーザは、意図された句の文字の発音を記述する音声記号または声調など、補足的な音声情報を入力することができる。しかしながら、このステップはオプションであり、ルーチン500は、ストローク入力のみを使用して機能することができる。その一方で、ユーザは、ユーザの意図された文字の一部またはすべてについて、ストローク入力の代わりに音声入力を使用することができる。
【００３２】
ユーザの入力は、以下の点の一方または両方において不完全である。1つの例においては、入力は、意図された句の、すべてより少ない文字を含んでいる。例えば、5文字の句において、二番目の文字および四番目の文字がまったく含まれていないことがある。別の例においては、意図された句の中の1つ以上の文字について、すべてより少ないストロークを含んでおり、これらの文字が不完全に表されているという理由から、入力は不完全である。例えば、5文字の句において、ユーザの入力が、5文字の句の二番目、三番目、および四番目の文字の特定のストロークを含んでいないことがある。
【００３３】
さらに、ステップ502において、ユーザは、1つ以上の文字区切り子を指定し、システム100は、この情報を受け取る。広義には、区切り子は、1つの文字が終了して次の文字が始まる場所を指定する幅広い機能を実行する。従って、この幅広い機能を実施するのに、ユーザがシステム100に区切り子を指定する動作は、数多くの異なる方法において実行することができる。区切り子は、明示的または暗黙的とすることができる。明示的な区切り子では、それ以外の場合には必要ない何らかのアクションをユーザがとることが要求される。暗黙的な区切り子では、文字を入力するアクション自体の何らかの特徴に基づいて文字の境界を想定する。
【００３４】
明示的な区切り子の1つの例は、ユーザが、目的の文字のストロークの一部またはすべてを手書きし、次いで、ソフトキーまたはハードキー（例：「Enter」キー）、所定の数値キー（例：「4」）、文字キー、またはその他のキーを押すことである。明示的な区切り子の別の例は、ユーザが手書きデジタイジング面104の上でスタイラスをダブルタップする(double taps)、あるいはその他の識別可能なジェスチャを実行することである。
【００３５】
明示的な区切り子の別の例は、以下に説明されているとおりである。この例においては、プロセッサ106は、一連のボックスをディスプレイ102に連続的に表示させ、ボックスの各々は、意図された文字シーケンスの相異なる文字を（シーケンスの順序で）受け取る。文字の各々が入力された後、ボックスは、見えなくなる、色が変化する、削除される、またはそれ以外の方式で外観が変化し、新しい文字の受け取りを知らせる。このように、ボックスの各々は、1つの文字のユーザ入力を受け取る、またはその文字を「飛ばして」空白を供給するように設計されている。ボックスを提示する順序は、句の中の文字の順序に暗黙的に一致している。1つのボックスから次のボックスに進むためには、システム100は、明示的な区切り子、例えば、ユーザコマンド、特別なジェスチャ、メニューの入力、チェックボックスへの入力、スタイラスのタップ、または区切り子入力のその他の能動的なアクションを必要とする。句の最後を示すための最後の区切り子は、後から詳しく説明されているように、句の合致探索方式の詳細に応じて、入力する、または入力しないことができる。
【００３６】
暗黙的な区切り子の場合、プロセッサ106は、ユーザの文字入力を自動的にプロンプトする、促す、書式設定する、または制御するグラフィックを、ディスプレイ102に表示させることができる。従って、暗黙的な区切り子の1つの例は、プロセッサ106が、複数のボックスを含んでいる配置構造をディスプレイ102に表示させることである。図6は、5つのボックス604, 606, 608, 610, 612を含んでいる構造602の例を示している。ボックスの各々は、暗黙的に1つの文字に対応している。従って、ユーザがボックス604に文字のストロークを入力する場合、プロセッサ106は、これらのストロークが句の最初の文字に属しているものと想定する。ユーザがボックス606に文字のストロークを入力する場合、プロセッサ106は、これらのストロークが句の二番目の文字に属しているものと想定する。
【００３７】
この例においては、システム100は、意図された句の最後を判定するために明示的な区切り子を必要としない。すなわち、システム100がユーザの入力を解釈する以降のステップ（後から詳しく説明されている）において、これらのステップは、明確な区切り子の必要性がないように実行される。1つの場合においては、システム100は、意図された句の中の文字の数が、何らかのユーザ入力を有する最も右側のボックスによって示されているものと想定する。図示されている例においては、システム100は、2文字の句が意図されているものと想定し、なぜなら、ボックス605が、何らかのユーザ入力を含んでいる最も右側のボックスであるためである。別の場合においては、システム100は、ユーザ入力を有するボックスを、それらの文字から始まる句、それらの文字で終わる句、または句の中にそれらの文字を含んでいる句を検索するうえでのベースとみなす。さらに、後から説明されているように、システム100は、ユーザの入力に合致する可能性のある句の検索を絶えず修正することができる。この場合、ユーザは、提案される出力リストにシステム100が目的の句を提示するまで、ストロークおよび音声データを入力し続ける。いずれの場合も、明示的な区切り子は必要とされない。
【００３８】
図6の別の実施例においては、どの文字またはボックスが句の最後であるかをユーザが指定するために、最後の明示的な区切り子が要求される。この区切り子は、例えば、プルダウンメニューを使用する、最後のボックスに関連付けられる識別可能なジェスチャを実行する、GUIを動作させて最後の文字より後ろのボックスを削除するかまたは入力不能とする(mark-out)ことによって、あるいは、最後の区切り子を入力するために実行することのできる膨大な種類の能動的なアクションのいずれか1つによって、入力することができる。
【００３９】
図6の別の例においては、配置構造602のボックスはユーザに表示されず、ユーザは、先行するストローク群から十分な距離だけ離れた位置に次の文字ストロークを入力して、新しい文字が開始されたことを示す。必要な距離は、所定の距離とする、または入力されているストロークのサイズまたは領域に比例させることができる。この場合、文字の間の距離は、暗黙的な区切り子としての役割を果たす。より高度には、システム100は、ユーザが、次の文字を開始するためにマウスカーソルまたは（例えばタブレットPCにおいて使用される）スタイラスを現在の文字入力領域から隣の文字入力領域に動かしたこと、あるいは後から説明されているようにステップ820の準備段階においてマウスカーソルまたはスタイラスを句の選択リストに動かしたことを検出することができる。
【００４０】
暗黙的な区切り子の別の例として、システム100は、文字の声調情報のユーザ入力がその文字の区切り子となっているものと想定することができる。暗黙的な区切り子のさらなる例として、システム100は、ユーザが次の文字を開始する前に、ある時間長だけ間を置いたことを認識することができる。必要な時間長は、所定の長さとする、またはストロークの入力の速度に比例させることができる。
【００４１】
相対ポジションの決定
不完全な句とその区切り子のユーザ入力（ステップ502）の後、プロセッサ106は、区切り子を使用して、受け取った文字および文字間空白の、意図された句の中での相対ポジションと、意図された句の文字の総数とを決定する（ステップ504）。一例として、1つの所定の明示的な区切り子がスタイラスのタップであり、すべてのユーザ入力が手書きデジタイジング面104の1つの領域の中で行われるとする。この場合、システム100は、文字ストロークの最初のグループを受け取り、次いで、ダブルタップ、次いで、文字ストロークの二番目のグループ、次いで、3回の（トリプル）タップを受け取る。ステップ504において、プロセッサ106は、ユーザ入力を以下のように、すなわち、（1）最初の文字が、キーストロークの最初のグループに対応しており、（2）二番目の文字が空白であり、（3）三番目の文字が、キーストロークの二番目のグループに対応しており、（4）四番目の文字が空白であり、（5）五番目の文字が空白である、と解釈する。従って、ステップ504のこの例においては、プロセッサ106は、ユーザの意図された句の中に5つの文字が存在するものと判定する。この例の別のバリエーションにおいては、最後の3回のタップが省かれ、プロセッサ106は、少なくとも3文字長の単語および句を後から識別する（708）。
【００４２】
合致する参照句の探索
ステップ506において、プロセッサ106は、不完全な句を含んでいる参照句を識別するために、（受け取った文字と、空白と、文字の総数（既知である場合）とによって表されている）不完全な句を、句の語彙110の中の参照句と比較する。
【００４３】
図7に示されているように、手順700は、ステップ506を実行するための1つの例示的な手順を記述している。広義には、手順700は、ユーザによって供給された不完全な句と、格納されている語彙110の中の句の各々との間で、文字ごとの比較を実行する。より具体的には、ユーザの意図された句の中の最初の文字について、プロセッサ106は、ユーザの入力（例：ストローク入力および／または音声入力）とマップ112, 113との間の合致を見つけて、既知の文字111のうちのどの文字がユーザのアクションの完全形を表している可能性があるかを識別することを試みる。言い換えれば、ステップ702において、最初の文字のユーザの入力とマップ112, 113とを比較して、ユーザの入力を表している可能性のある文字を見つける（または表していない文字を除外する）。ユーザが特定の文字に対応するすべてのストロークを入力した場合、ステップ702の最良の合致の出力は、その1つの文字である。プロセッサ106は、ユーザが入力する句の中の文字の各々について、（702aによって示されているように）ステップ702を繰り返す。ユーザが文字をスキップする（「空白」を指定する）場合、マップ112, 113の中のすべての文字は、その文字のユーザの入力と合致する可能性がある。
【００４４】
ストローク順序の情報がマップ112に含まれている実施例の場合、ステップ702において、ストロークおよび音声データを評価することに加えて、このようなストローク順序の情報をさらに考慮する。例えば、ステップ702において、111からの文字のうち、ユーザによって守られるストローク順序が、マップ112に記録されている1つ以上のストローク順序のいずれとも一致していない文字を除外することができる。
【００４５】
ステップ704において、プロセッサ106は、ステップ702の結果としての合致を記録する。ステップ706において、プロセッサ106は、ステップ704の合致から形成できるすべての可能な文字シーケンスを生成する。一例として、「A」、「B」、および「C」は、説明の便宜上使用される表意文字の任意のアルファベット表現である。2文字のシーケンスの場合、最初の文字の合致が「A」および「B」であり、二番目の文字の最良の合致が「C」のみである場合、可能な文字シーケンス（706）としては、ACおよびBCが挙げられる。合致する複数の文字が存在し、かつ、（上述されているように）使用頻度に従って文字110を順序付けるためにオプションの言語モデルが利用される場合、ステップ706において、出力する選択肢を、使用頻度によって決まる順序に従って、優先度を付ける、順序付ける、順位付ける、または制限することができる。
【００４６】
ステップ708において、プロセッサ106は、ステップ706の文字シーケンスを、句の語彙と比較し（708）、合致が存在するかを調べる。このプロセスは、ステップ706からの可能な文字シーケンスの各々に対して繰り返される（708A）。ステップ708の1つの例として、ユーザの意図された文字シーケンスの比較を、語彙110の中の、同じ文字数の句に制限することができる。この例においては、ユーザが5文字のシーケンスを指定するときには、ステップ708の出力は、語彙110からの5文字のシーケンスのみである。別の例においては、プロセッサ106は、ユーザの意図された文字シーケンスから始まる（ただし、より多くの数の後に続く文字を含んでいる）句、または、ユーザの意図された文字シーケンスで終わる（ただし、より多くの数の先行する文字を含んでいる）句、または、ユーザの意図された文字シーケンスが句の中に含まれており、指定されていない先行する文字および後に続く文字を含んでいる句、のうちの1つ以上の句について、語彙110を検索する。
【００４７】
ステップ702〜708の代替ステップとして、これらのステップを組み合わせて、ユーザ入力を、句の語彙と、構成ストロークおよび／または音声データと句との間の関連付けられるマップ、と直接比較する1つの動作にすることができる。この実施例においては、文字の語彙111は省かれており、句の語彙110は、構成ストローク（112）と音声情報（113）とに分解される。
【００４８】
ステップ710において、プロセッサ106は、ステップ708の結果としての合致を、記録する、出力する、一時的に格納する、認識する、フラグを立てる、またはそれ以外の方法で識別しておく。
【００４９】
出力の提示
再び図5を参照し、ステップ710（図7）からの出力は、ステップ506において言及されている合致する参照句を提供する。次いで、ステップ508において、ステップ506からの（1つ以上の）句の出力を表示する。可能性のある意図された句が1つのみ存在する場合、この表示により、ユーザがその句を入力することを意図したことを確認する機会がユーザに提供される。複数の句が存在する場合には、システム100は、ステップ508において、例えば、データ入力ツール104を使用することによって句のリストから選択するための対話式の機会を、ユーザに提供する。
【００５０】
複数の句が存在する場合、110からの提案される句を、オプションの言語モデルを使用して、（上述されているように）使用頻度に従って順序付けることができ、次いで、ステップ508において、出力される選択肢をこのような順序に従って順序付けることができる。いずれの場合（すなわち1つの句または複数の句の場合）にも、システム100は、スタイラスをタップする、ボタンを押すなどのアクション、またはそれ以外の都合よく簡略化されたアクションを実行することによる、ユーザの句の確認または選択を受け取る。1つの実施例においては、句の1つがデフォルトで選択され、特定のユーザアクションが、デフォルトの句を確認するものとして解釈される。例えば、句読記号を選択する、あるいは図6のボックス604から始まる新しい句を書き始めることにより、デフォルトの句が確認される。
【００５１】
1つの実施例においては、ステップ504、506、508は、ユーザが、ステップ502の新しいストローク、音声情報、区切り子、またはその他のユーザ入力を供給するたびに、繰り返される。従って、システム100は、ユーザの入力に合致する可能性のある句の検索を絶えず修正する。このコンテキストにおいては、ユーザは、提案される出力リストにシステム100が意図された句を提示する（508）まで、ストロークおよび／または音声データを入力し続ける（502）ことができる。
【００５２】
具体的な例
図8は、実際に動作500をどのように実行できるかの例を示すための、より具体的な手順800を示している。ステップ802において、ユーザは、どの文字が入力されようとしているかの指定、すなわち、入力される句における文字の順序を入力する（およびシステム100が受信する）。この文字は、「現在の」文字と称される。1つの例においては、現在の文字のユーザの指定は、暗黙的なものとすることができる。例えば、プロセッサ106は、ユーザの最初のアクションが、入力される句の中の最初の文字に関連するものと想定することができる。別の例においては、ユーザは、プルダウンメニューまたはその他のGUI機能を使用して、入力される次の文字が最初の文字、三番目の文字、またはそれ以外の文字であることを示すことによって、ステップ802を満たす。
【００５３】
ステップ804においては、ユーザによって実行される、現在の文字を入力するアクションが行われ、このアクションは、文字のストローク入力、または、現在の文字の発音を記述している音声情報、またはこの両方の入力を含んでいる。ストローク入力は、手書きデジタイジングツール104の上にスタイラスによってストロークを手書きすることによって行われる。音声入力は、目的の音声入力を示すアルファベット文字、音声記号、ルビ文字、声調入力、またはその他の記号を手書きすることによって、行われる。声調入力は、プルダウンメニューまたはその他のGUIデバイスを使用して目的の声調入力を手書きすることによって、行われる。
【００５４】
後から詳しく説明されているように、ステップ804は、意図された句の中の文字の各々について繰り返される。句に関する入力の全体として、ストローク情報のみ、音声情報のみ、またはこれら2つの混合を含んでいることができる。さらに、ユーザは、1つ以上の文字を空白のままにすることができる。しかしながら、音声情報の使用はオプションであり、ルーチン800は、ストローク入力のみを使用して機能することができる。
【００５５】
上述されているように、ユーザ入力（804）は、連続的に提示される画面、（図6におけるような）同時入力スクリーン、またはその他の配置編成を介して行うことができる。同時入力型の実施例（図6）は、オプションとして、ストローク入力および音声入力を受け取るための1つのボックス、あるいは、異なる種類の文字入力に対する個別のボックスを含んでいることができる。
【００５６】
ステップ804（または後のステップ810）の一部として、プロセッサ106は、1つ以上の適切な手書き文字認識ルーチンをユーザ入力に適用する。例えば、プロセッサ106は、入力されたストローク入力または音声入力の各々が、マップ112, 113からの認識済みエントリの1つと合致する確率を別に計算することができる。表意言語文字に適用可能な手書き文字認識は、参照文献である
【特許文献１】にさらに詳しく説明されており、この文書は、本文書に参照文献として組み込まれている。
【００５７】
ステップ804の1つの例においては、ユーザは、ディスプレイ102に示されるボックス604、606、608、610、612のうちの1つに、中国語の文字を手書きする。このアクションは、ステップ804を満たすことに加えて、ステップ802の指定も暗黙的に満たし、なぜなら、入力された文字の句における順序はボックスの選択によって示されるためである。この例におけるユーザの手書き入力は、ディスプレイ102に重ねられているツール104の手書きデジタイジング機能によって検出される。
【００５８】
ステップ806において、ユーザは、文字入力（804）を完了した後、区切り子を入力する。上に詳しく説明されているように、区切り子の入力は、1つの文字が終わり次の文字が始まる場所を指定する幅広い機能を実行するのに適する、実質的に任意の手段によって行うことができる。従って、ステップ806の区切り子は、暗黙的または明示的なものとすることができる。
【００５９】
1つの実施例においては、ルーチン800は、ステップ806の後、ステップ810に進む。しかしながら、後から詳しく説明されているように、ステップ810を省略することができ、手順800は、ステップ812において再開される。図示されているステップ810においては、プロセッサ106は、合致探索動作を実行し、ステップ804, 806からのユーザ入力に一致しない、語彙111の中の文字を効率的に除外する。語彙111の中の残りの文字については、これらは、ステップ804においてユーザが入力した文字、またはユーザが入力しようとしていた文字を表しうる。上述されているように、詳細には、ステップ810には、ステップ804からのユーザのストローク入力とマップ112とを合致させるステップとが一般に含まれる。このステップは、ユーザが意図していた可能性のある既知の文字111を識別するために実行される。ステップ804においてユーザが音声情報を入力した場合、ステップ810において、ユーザの入力全体と1つ以上の文字111とを合致させるときに、マップ113を介してこの追加の入力を考慮する。例えば、マップ112にストローク順序情報が導入されている場合、ステップ810において、このような情報を考慮することもできる。ステップ810では、単一部首の文字および複数部首の文字を考慮し、例えば、ユーザが、単一部首のいくつかの文字およびその他の複数部首の文字の中に存在するストロークを入力する場合である。さらには、現在の文字が空白である、または入力されていない場合、語彙111の文字のすべてが、合致する可能性がある。
【００６０】
1つの実施例においては、ルーチン800は、ステップ810の後、「最後の」区切り子が入力されたかに応じて、ステップ804またはステップ812に進む。ルーチン800は、不完全な文字シーケンスを処理することを目的としているため、ユーザが句の入力をいつ終了したかは、つねに明らかであるとは限らない。従って、プロセッサ106は、ユーザが句の入力を終了したときを示すための1つ以上の所定の能動的または暗黙的なユーザ入力を認識することができる。最後の区切り子は、この目的を達成するための任意の適切な信号を備えていることができる。1つの例においては、区切り子は、各文字の後に入力され、最後の区切り子は、ユーザの句の入力全体を区切ることによって入力を完結させる、さらなる識別可能なユーザアクションを備えている。
【００６１】
具体的な例として、システム100が、ディスプレイ102の同じボックスまたはその他の領域を介して次々に入力される文字（隣り合う文字は、ユーザによって入力される所定のタップシーケンスによって区切られている）を受け取るとき、システム100は、最後の文字を示すための別の識別可能なタップシーケンスを認識することができる。これとは対照的に、図6の複数のボックスの実施例の場合、システム100は、チェックボックスのユーザ入力、プルダウンメニュー、識別可能なスタイラスのタップなどによって示される「すべて完了」信号を、認識することができる。
【００６２】
現在説明されている実施例においては、区切り子（806）が最後の区切り子ではない場合、ステップ810は、ステップ804に戻り（810a）、別の文字のユーザ入力を受け取る。最後の区切り子が受け取られると（810b）、ステップ810は、ステップ812に進む。
【００６３】
ステップ812において、ユーザの入力は、以下の点の一方または両方において不完全なことがある。1つの点においては、入力が、意図された句の、すべてより少ない文字を含んでいることがある。例えば、5文字の句において、二番目の文字と四番目の文字とが入力されていないことがある。別の点においては、入力が、意図された句の中の1つ以上の不完全な文字について、すべてより少ないストロークを含んでいるために不完全なことがある。例えば、ユーザの入力が、5文字の句の二番目、三番目、および四番目の文字の特定のストロークを含んでいないことがある。
【００６４】
ステップ812において、プロセッサ106は、区切り子を使用して、受け取った文字および文字間空白の、意図された句の中での相対ポジションと、意図された句の中の文字の総数とを決定する。この動作の例は、ステップ504のコンテキストにおいて上に説明されている。ステップ814において、プロセッサ106は、ステップ810の合致を使用し、かつステップ812の相対ポジション、順序、および文字数を守って形成することのできるすべての可能な文字シーケンスを生成する。この動作の例は、ステップ706のコンテキストにおいて上に詳しく説明されている。
【００６５】
ステップ814の後、プロセッサ106は、受け取った文字と、空白と、文字の総数とによって表されている（814からの）可能な文字シーケンスの各々を、句の語彙110の中の参照句と比較し、その可能な文字シーケンスを含んでいる参照句を識別する。言い換えれば、ステップ816において、ステップ814からの可能な文字シーケンスの各々を句の語彙110に照らして評価し、句の語彙110のエントリのうち、814からの生成された文字シーケンスを表している可能性のないエントリを除外する。この動作（816）の例は、ステップ506およびステップ群700のコンテキストにおいて上に示されている。
【００６６】
次いで、ステップ818において、ディスプレイ102は、ユーザの意図された句をユーザが確認および識別できるように、ステップ816からの結果としての参照句のすべての出力を提示する。このステップにより、システム100が出力する（1つ以上の）提案される句を見て確認する機会（ステップ820）がユーザに提供される。加えて、ステップ816の結果として、意図された可能性のある句が複数ある場合、ステップ820では、ユーザは実際に意図した句を選択することが可能である。ユーザは、スタイラスをタップする、ボタンを押す、またはその他の都合よく簡略化されたユーザアクションを行うことによって、目的の句を識別することができる（ステップ820）。
【００６７】
オプションとして、ルーチン800は、ここまでに入力された句を、例えば、ステップ820またはそれより前のステップにおいて、ユーザが編集することを容易にすることができる。この動作においては、プロセッサ106は、入力された不完全な文字句を、連続的に提示する、まとめて提示する、またはその他の方式で提示し、その後、1つ以上の入力された文字および／またはそれらの副構成要素について、ユーザが追加する、変更する、および／または削除することを容易にする。さらには、手順800の別の実施例では、ユーザ入力に応答して、1つの文字および2〜3文字の「単語」を合致させてそれらをまとめて結合することによって、より長い有効な句（たとえその句が句の語彙110に存在していない場合でも）を生成することができる。
【００６８】
別の実施例においては、手順800は、最後の区切り子810bを必要としないように実施することができる。この実施例においては、ユーザは、ステップ802から818まで進み、オプションとして、意図された句が818において表示されて自身が選択するまで、802に戻る（818a）。この実施例においては、ステップ810は、ステップ814に組み込む（または、句110とストローク／音声112／113との間のマッピングが記憶装置108に含まれている場合には完全に省略する）ことができる。
【００６９】
部首情報の高度な利用
オプションとして、上記のシステムは、表意言語文字の副構成要素、例えば、文字の、意味上の(semantic)副構成要素（「部首」と称される）および文字の音声構成要素（認識されているシステム（例：Bopomofo、ピンイン）による、与えられた文字の発音を表す、文字とは別の書記記号と混同しないこと）などが高度に利用されるように実施することができる。これは、ユーザの特定の自然な傾向（例：たとえすべてのストロークを入力しなくても完全な副構成要素を入力する傾向）を利用する。
【００７０】
この例示的なシステムにおいては、記憶装置108は、文字の語彙111が文字の副構成要素（例：部首）にさらに分解されるように構成されている。この例においては、ストロークマップ112は、文字の副構成要素の各々と、その構成ストロークのリストとの間の相互参照を含んでいる。同様に、マップ113は、文字の副構成要素の各々と、音声表現、すなわち、音声記号、ルビ文字、あるいは、認識されているシステム（例：Bopomofo、ピンイン）による、与えられた文字の発音を表すその他の書記記号、との間の相互参照を含んでいる。
【００７１】
オプションとして、文字の参照副構成要素を、例えば、その言語の表意文字における一般的な出現頻度、各部首を含んでいる文字の各々の使用頻度、手書き文字認識エンジンからのスコア、文字の副構成要素のユーザによる使用頻度などに従って、順位付けすることができる。
【００７２】
このコンテキストでは、表意言語文字の副構成要素のさらなる利用をサポートするシステム100の1つの例が提供される。1つの例示的な使用においては、操作者は、ステップ502と同様の明示的または暗黙的な区切り子を使用する。区切り子は、文字の副構成要素を示すためにも使用することができる。例えば、ボックス604〜612を、文字の代わりに、または文字に加えて、文字の副構成要素を受け取るために使用することができる。ボックス604〜612は、副構成要素を入力するためのガイド線またはその他の手掛かりによってさらに分割することができる。さらには、ステップ502において、ある文字のその時点までのユーザ入力に合致する少数の副構成要素を、（例えばポップアップリストなどに）表示することができ、これにより、ユーザは、副構成要素入力の特定の解釈を選択することができ、その選択アクションが明示的な区切り子の役割を果たす。次いで、ステップ504において、文字の副構成要素および空白の相対ポジションと、文字の副構成要素の総数とを決定する。文字の副構成要素の使用は、ユーザが入力した部首を含んでいない該当し得ない文字を早期に除外するように作用することによって、ステップ506、すなわち文字の合致（ステップ702）を迅速に処理するうえで役立つ。別の実施例においては、ステップ506において、合致した句のうち、部分的に入力されたポジションにおける文字が、その部分的な入力によって合致する可能な副構成要素の1つを含んでいる句に、大きな優先度を与える。
【００７３】
1つの例においては、ステップ818において、文字の副構成要素が指定された、認識された句をユーザに提示することができ、句の1つを選択する機会、あるいは、ここまでに認識された句を、例えば、文字ごと、または文字の副構成要素ごとに編集する機会を、ユーザに提供する。
【００７４】
その他の実施例
上記の開示は、複数の説明上の実施例を示しているが、これらの実施例には、請求項によって定義されている本発明の範囲から逸脱することなく、さまざまな変更および修正を行うことができることが、当業者には明らかであろう。従って、開示されている実施例は、本発明によって広義に意図されている主題の代表的な形態であり、本発明の範囲は、当業者に明らかになりうる別の実施例を完全に包含しており、従って、本発明の範囲は、請求項のみによって制限されるものとする。
【００７５】
上述されている実施例の要素と構造的および機能的に同等であり、この技術分野における通常の技能を有する者に既知である、または今後既知となる要素のすべては、参考とすることにより本文書に明示的に組み込まれており、請求項によって包含されるものとする。さらに、デバイスまたは方法は、本発明によって解決しようとしている個々の問題すべてに必ずしも対処していないが、これらは請求項によって包含されている。さらに、本開示におけるいずれの要素、コンポーネント、または方法ステップも、その要素、コンポーネント、または方法ステップが請求項に明示的に列挙されているかにかかわらず、一般に開放されることを意図するものではない。本文書における請求項のいずれの要素も、句「する手段」、または方法クレームの場合には句「するステップ」を使用して要素が明示的に列挙されていない限りは、35 U.S.C.第112条第6項の規定に該当するようには解釈されないものとする。
【００７６】
さらに、本発明の要素は、明細書および請求項において単数形にて記載されているが、単数形での要素の言及は、そのように明示的に記載されていない限りは、「ただ1つの」を意味するように意図されているのではなく、「1つ以上の」を意味するものとする。さらに、動作手順は、説明および請求項の策定を目的として、何らかの特定の順序に記載しなければならないが、本発明は、このような特定の順序からのさまざまな変更を意図していることが、通常の技能を有する者には認識されるであろう。
【００７７】
さらに、情報および信号は、さまざまな異なる技術および手法を使用して表現できることが、関連する技術分野における通常の技能を有する者には理解されるであろう。例えば、本文書において言及されているデータ、命令、コマンド、情報、信号、ビット、記号、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光電界または光子、その他の要素、またはこれらの組合せによって表現することができる。
【００７８】
さらには、本文書に記載されている説明上の論理ブロック、モジュール、回路、およびプロセスステップは、電子ハードウェア、コンピュータソフトウェア、またはこの両方の組合せとして実施できることが、通常の技能を有する者には理解されるであろう。ハードウェアとソフトウェアのこの相互交換性を明確に示すため、上では、さまざまな説明上のコンポーネント、ブロック、モジュール、回路、およびステップが、一般的にそれらの機能の観点において説明されている。このような機能がハードウェアとして実施されるかソフトウェアとして実施されるかは、特定のアプリケーションと、システム全体に課される設計上の制約とに依存する。当業者は、説明されている機能を、特定のアプリケーションの各々におけるさまざまな方法にて実施することができるが、このような実施に関する決定は、それに起因して本発明の範囲から逸脱するものとは解釈されないものとする。
【００７９】
本文書に開示されている実施例に関連して説明されているさまざまな説明上の論理ブロック、モジュール、および回路は、本文書に記載されている機能を実行するように設計されている汎用プロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）またはその他のプログラマブル論理デバイス、個別のゲートロジックまたはトランジスタロジック、個別のハードウェアコンポーネント、または、これらの任意の組合せによって実施または実行することができる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替形態においては、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることができる。プロセッサは、コンピューティングデバイスの組合せとして、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと連携する1つ以上のマイクロプロセッサ、または任意のその他のそのような構成として実施することもできる。
【００８０】
本文書に開示されている実施例に関連して説明されている方法またはアルゴリズムのステップは、ハードウェアに直接具体化する、プロセッサによって実行されるソフトウェアモジュールに具体化する、またはこの2つの組合せに具体化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、またはこの技術分野において公知のその他の形態の記憶媒体に含めることができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができ、かつ記憶媒体に情報を書き込むことができるように、プロセッサに結合されている。代替形態においては、記憶媒体は、プロセッサに統合することができる。
【００８１】
開示されている実施例のここまでの説明は、当業者が本発明を作製または利用することができるように提供されている。これらの実施例へのさまざまな変更は、当業者に容易に明らかであり、本文書に定義されている包括的な原理は、本発明の概念または範囲から逸脱することなく、別の実施例に適用することができる。従って、本発明は、本文書に示されている実施例に制限されるようには意図されておらず、本文書に開示されている原理および新規の特徴に矛盾しない最も広い範囲に一致するものとする。
【図面の簡単な説明】
【００８２】
【図１Ａ】表意言語の手書き文字入力／処理システムのハードウェアコンポーネントおよび相互接続のブロック図である。
【図１Ｂ】格納されているマップおよび語彙のさまざまな例を示している。
【図２】デジタルデータ処理マシンのブロック図である。
【図３】例示的な信号担持媒体を示している。
【図４】例示的な論理回路の斜視図である。
【図５】表意言語の不完全な句を受け取って処理する一般的な動作手順のフローチャートである。
【図６】さまざまな不完全な文字およびさまざまな区切り子を含んでいる、表意言語の例示的な不完全な句の図である。
【図７】意図された文字シーケンスを句の語彙とを比較して合致する参照句を識別する例示的な手順を示している図である。
【図８】表意言語の不完全な句を受け取って処理する、より具体的な動作手順を示しているフローチャートである。
【符号の説明】
【００８３】
100  システム
102  ディスプレイ
104  データ入力ツール
106  プロセッサ
108  記憶装置
110  句の語彙
111  文字の語彙
112  文字のストロークのマップ
113  文字の音声のマップ
200  デジタルデータ処理装置
202  プロセッサ
204  記憶装置
206  高速アクセス記憶装置
208  不揮発性記憶装置
210  入力／出力
300  磁気データ記憶ディスク
400  集積回路
【図１Ａ】
2008539477.tif 000002
【図１Ｂ】
2008539477.tif 000003
【図２】
2008539477.tif 000004
【図３】
2008539477.tif 000005
【図４】
2008539477.tif 000006
【図５】
2008539477.tif 000007
【図６】
2008539477.tif 000008
【図７】
2008539477.tif 000009
【図８】
2008539477.tif 000010
【国際調査報告】
2008539477.tif 000011