(57)【要約】  入力方法の認識をパーソナル化するための改良したシステムと方法を提供する。トレーニング可能な手書きレコグナイザは、ユーザにより書かれたインクとユーザにより作成されたテキストを用いて、パーソナル化してもよい。本システムは、パーソナル化サービスエンジンと、レコグナイザをトレーニングするためのユーザのインクや作成された情報を収集、格納、アクセスするためのインターフェースを備えた枠組みとを含む。システムのトレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナと、ユーザにより供給されたインクデータを用いる汎用レコグナイザコンポーネントを調整するための形状トレーナとを含む。トレーナは、複数のトレーナクライアントをロードしてもよく、１つまたは複数の特定のレコグナイザをトレーニングすることができる。さらに、プラグ可能なトレーナをサポートするために、枠組みを提供する。どのトレーニング可能なレコグナイザも、ユーザにより作成された採集情報とユーザにより書かれたインクを用いて、動的にパーソナル化されてもよい。
2007509418.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより作成されたデータによって手書きレコグナイザをパーソナル化するためのインターフェースを有するコンポーネントと、
前記データによって手書きレコグナイザをトレーニングするためにコンポーネントに結合して操作可能なトレーナと
を備えたことを特徴とする手書き認識をパーソナル化するコンピュータシステム。
【請求項２】
ユーザにより作成された前記データを受取るための前記コンポーネントに結合して操作可能なアプリケーションをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記インターフェースは、永続的ストレージからインクを検索するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記インターフェースは、永続的ストレージにインクを格納するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項５】
前記インターフェースは、永続的ストレージからテキストを検索するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記インターフェースは、永続的ストレージにテキストを格納するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項７】
前記インターフェースは、永続的ストレージに格納されたインクを列挙するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項８】
是器インターフェースは、永続的ストレージに格納されたテキストを列挙するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項９】
前記インターフェースは、永続的ストレージからトレーニングされたデータをロードするインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記インターフェースは、データのトレーニングを要求するインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記インターフェースは、コンポーネントにデータを送るインターフェースを含むことを特徴とする請求項１に記載のシステム。
【請求項１２】
前記データは、インクを含むことを特徴とする請求項１に記載のシステム。
【請求項１３】
前記データは、テキストを含むことを特徴とする請求項１に記載のシステム。
【請求項１４】
前記コンポーネントは、インクを収集するエンジンを含むことを特徴とする請求項１に記載のシステム。
【請求項１５】
前記コンポーネントは、テキストを採集するエンジンを含むことを特徴とする請求項１に記載のシステム。
【請求項１６】
前記コンポーネントは、トレーニングされたデータを格納するエンジンを含むことを特徴とする請求項１に記載のシステム。
【請求項１７】
前記トレーナは、形状トレーナを含むことを特徴とする請求項１に記載のシステム。
【請求項１８】
前記トレーナは、テキストトレーナを含むことを特徴とする請求項１に記載のシステム。
【請求項１９】
前記アプリケーションは、パーソナル化ウィザードを含むことを特徴とする請求項２に記載のシステム。
【請求項２０】
前記アプリケーションは、インクビューアを含むことを特徴とする請求項２に記載のシステム。
【請求項２１】
前記アプリケーションは、テキストビューアを含むことを特徴とする請求項２に記載のシステム。
【請求項２２】
請求項１のシステムを備えたことを特徴とするコンピュータ実行可能コンポーネントを有するコンピュータ読取可能な媒体。
【請求項２３】
手書き認識パーソナル化のためにユーザによって作成されたデータを収集するステップと、
前記収集されたデータを永続的に格納するステップと、
前記格納されたデータを用いる手書きレコグナイザをトレーニングするステップと、
前記トレーニングされたデータを永続的に格納するステップと
を備えたことを特徴とする手書き認識をパーソナル化する方法。
【請求項２４】
前記トレーニングされたデータを用いて手書き文字を認識するステップをさらに備えたことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記データ収集ステップは、インクおよび翻訳テキストを収集するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項２６】
前記データを永続的に格納するステップは、インクを永続的に格納するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項２７】
前記データを永続的に格納するステップは、テキストと入力範囲とを格納するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項２８】
前記データを永続的に格納するステップは、ｅメールアドレスを永続的に格納するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項２９】
前記データを永続的に格納するステップは、ＵＲＬを永続的に格納するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項３０】
前記トレーニングのステップは、前記収集されたデータの言語をサポートする各々のトレーニング可能な手書きレコグナイザのためのトレーナを呼び出し、前記格納されたデータを用いるトレーニングを実行するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項３１】
前記トレーナを呼び出すステップは、前記トレーナをロードするステップをさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記トレーニングステップは、前記認識の間に手書きレコグナイザの言語モデルを更新するステップを含むことを特徴とする請求項２３に記載の方法。
【請求項３３】
前記格納されたデータを用いる手書きレコグナイザをトレーニングするステップは、前記格納されたデータを用いる複数の手書きレコグナイザをトレーニングするステップを含むことを特徴とする請求項２３に記載の方法。
【請求項３４】
請求項２３に記載の方法を実行するためのコンピュータで実行可能な命令を有するコンピュータ読取可能な媒体。
【請求項３５】
ユーザにより作成されたデータで複数のレコグナイザをパーソナル化するインターフェースを提供する手段と、
前記データでレコグナイザをトレーニングする手段と
を備えたことを特徴とする入力方法認識をパーソナル化するコンピュータシステム。
【請求項３６】
前記インターフェースを提供する手段は、ユーザによって作成されたデータを収集する手段を含むことを特徴とする請求項３５に記載のシステム。
【請求項３７】
前記インターフェースを提供する手段は、ユーザによって作成されたデータを格納する手段を含むことを特徴とする請求項３５に記載のシステム。
【請求項３８】
前記レコグナイザをトレーニングする手段は、ユーザによって作成され、格納されたデータを検索する手段を含むことを特徴とする請求項３５に記載のシステム。
【請求項３９】
前記レコグナイザをトレーニングする手段は、前記レコグナイザに前記ユーザが入力を提供するときに前記レコグナイザをトレーニングする手段を含むことを特徴とする請求項３５に記載のシステム。
【請求項４０】
前記レコグナイザをトレーニングする手段は、新しいレコグナイザをトレーニングするプラグ可能なトレーナをインストールする手段を含むことを特徴とする請求項３５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にコンピュータシステムに関するものであり、より詳細には手書き認識パーソナル化の改良されたシステムと方法に関するものである。
【背景技術】
【０００２】
手書き、発話および言語変換器（ＩＭＥｓ）などの高度な入力方法では、レコグナイザのトレーニングのために一般的入力サンプルを用いることがある。例えば、手書きレコグナイザは、無作為に選択したグループによって提供された筆記サンプルを収集することによってトレーニングすることがある。レコグナイザをトレーニングするこのような方法には、レコグナイザができる限り多くの人に使用できるように調整されるという点で有利である。レコグナイザは、種々人々から収集されたサンプルの数が多いほど、一般的な使用について、より頑健になる。
【０００３】
しかしながら、レコグナイザのトレーニングのためのかかる方法にはいくつかの欠点がある。レコグナイザは一般的筆記サンプルでトレーニングされるので、個別のユーザは認識エラーを感じることがあり、とくにそのユーザが一般的サンプルから考えた場合むしろ別の文字に似ていると考えられる文字を書く場合、エラーとなることがある。例えば、あるユーザは文字”ｕ”を一般的サンプルからの文字”ｎ”のように書くことがある。そのユーザが一般的サンプルでトレーニングされたレコグナイザに合わせるために自分の筆跡を変えることができない限り、ユーザはこのような認識エラーを修正することはできないだろう。ユーザは、例えば、テキスト翻訳を”ｙｏｎ”から”ｙｏｕ”に訂正して、誤りを含む個別の単語のテキスト翻訳を訂正することによってかかるエラーを訂正することができるだけである。しかしこれでは特定の入力文字の誤認識という根本的な認識エラーを修正することはできない。誤認識単語をいちいち訂正することは、とくに同じエラーが繰り替えされると、レコグナイザがこれらの訂正から個人の筆跡の形状の微妙な差異を学習しているとは思えず、ユーザの苦痛の種となる可能性がある。
【０００４】
高度な入力方法は、レコグナイザをトレーニングするのに用いられる一般言語モデルも提供することができる。この言語モデルはユーザ独特の語彙を使用しないこともある。加えて、ユーザが作ったｅメール、文書およびＵＲＬなどのユーザの語彙のいくつかのキーソースは、一般的言語モデルで表現されないこともある。例えば、ｅメールアドレスは特定の言語の言語規則または語彙に合致しない。例えば、単語の間にスペースを要求する英語の言語規則はｅメールアドレスには適用されない。同様に、ユニフォームリソースロケータ（ＵＲＬ）は特定の言語の言語規則または語彙に合致しない。結果として、一般言語モデルは、これらの種類の入力を正確に認識する能力が制限されることになる。したがって、ユーザは一般的言語モデルを使用すると、これらの種類の入力について低い認識精度になってしまい、不満足な経験を持つ場合がある。
【０００５】
入力の認識においてより高い精度が達成できるように、高度な入力方法について個別のユーザがどのように書き、個別のユーザが何を書くかを意識させる方法が必要とされる。加えて、かかるシステムでは、ユーザがシステムに書き込み、テキストを作成する際に、レコグナイザの動的適応をサポートするべきである。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明をまとめると、本発明は手書き認識パーソナル化の改善されたシステムと方法を提供するものである。このシステムと方法は、ユーザによって書かれたインクと、ユーザによって作成されたテキストを用いてトレーニング可能なレコグナイザをパーソナル化することができる。この目的のために、本発明は、レコグナイザのトレーニングのためのユーザのインクと作成された情報を収集、格納、およびアクセスするためのコンポーネントと、インターフェースを有する枠組み（ｆｒａｍｅｗｏｒｋ）とを提供する。提供されるコンポーネントの中には、各種のアプリケーションに結合して操作可能とされたパーソナル化サービスエンジン、データベースおよび記憶装置（ｓｔｏｒａｇｅ  ｆａｃｉｌｉｔｙ）、レコグナイザ、およびレコグナイザのためのトレーナを含めることができる。
【０００７】
パーソナル化サービスエンジンは、パーソナル化サービスインターフェース、インクサービスエンジン、採集（ｈａｒｖｅｓｔｉｎｇ）サービスエンジン、およびトレーニングされたデータエンジンを含むことができる。インクサービスエンジンはコレクタからインクを受け取り、収集されたインクをインクデータベースに格納する。採集サービスエンジンはユーザが作成したテキストを収集し、収集したテキストを採集サービスデータベース内に格納することができる。さらに、本発明によって提供された枠組みは、どのアプリケーションまたは実行可能なコードも認識精度を向上させるために、ユーザのインクまたは作成したテキストを供給することを可能にする。かかるアプリケーションはパーソナル化ウィザード、インクビューアおよびその他のアプリケーションを含むことがある。データベースと記憶装置には、ユーザのインクを格納するためのインクデータベース、レコグナイザによって使用されるトレーニングされたデータを格納するためのトレーニングされたデータデータベース、オペレーティングシステムとプログラム設定を格納するためのレジストリ、言語情報を格納するためのハーベストサービスデータベース、およびコンピュータシステムによって一般的に使用されるディスクストレージが含まれる。
【０００８】
トレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナおよびユーザによって供給されたインクデータを用いる一般的なレコグナイザのコンポーネントをチューニングするための形状トレーナを含むことができる点で有利である。トレーナの各々は、１つまたは複数の特定のレコグナイザをトレーニングすることができる複数のトレーナクライアントをロードすることができる。さらに、プラグ可能なトレーナをサポートする枠組みを提供することによって、トレーニング可能なレコグナイザはユーザによって作成された採集情報と、ユーザによって書かれたインクとを用いて動的にパーソナル化することができる。
【０００９】
本発明のアーキテクチュアは、パーソナル化サービスエンジンがユーザのインクと作成したテキストを自動的に収集して、認識をパーソナル化するためのユーザデータのレポジトリを生成することを可能にすることができる。さらに、アーキテクチュアは、ユーザがシステムに書き込み、テキストを作成する際に、トレーニング可能なレコグナイザの動的適応をサポートする。その他の利点は、付属の図面を参照して、下記の説明を読むことによって明らかになるだろう。
【発明を実施するための最良の形態】
【００１０】
（例示的運用環境）
図１に本発明を実施できる適切なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲を制限しようとするものではない。またコンピューティング環境１００は、例示的動作環境１００に図示されたコンポーネントのいずれかまたはその組み合わせに関する依存あるいは要求を有するものと解釈するものでもない。
【００１１】
本発明は、多数の他の汎用または専用のコンピューティングシステム環境または構成でも動作することができる。本発明の使用に適している周知のコンピューティングシステム、環境および／または構成の例は、それらに限定はしないが、パーソナルコンピュータ、サーバーコンピュータ、ハンドヘルドまたはラップトップデバイス、タブレットデバイス、ヘッドレスサーバー、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能なコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む。
【００１２】
本発明は、プログラムモジュールなど、コンピュータで実行することができるコンピュータ実行可能命令の一般的コンテキストで説明することができる。通常、プログラムモジュールはルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などであり、それらは特定のタスク、あるいは特定の抽象データ型を実行する。本発明は、通信ネットワークを介して接続した遠隔処理装置によってタスクが実行される分散コンピューティング環境で実施してもよい。分散コンピューティング環境において、プログラムモジュールはメモリストレージデバイスを含むローカルおよび／または遠隔コンピュータ記憶媒体の中に置いてもよい。
【００１３】
図１に示す通り、本発明を実施するための例示的システムはコンピュータ１１０の形式の汎用コンピューティングデバイスを含んでいる。コンピュータ１１０のコンポーネントは、処理ユニット１２０、システムメモリ１３０，およびシステムメモリを含む各種のシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１を含むが、それらに限定はしない。システムバス１２１は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および多種多様なバスアーキテクチャのいずれかを使用するローカルバスを含むバス構造の複数の種類のいずれかである。例として、かかるアーキテクチャに含まれるのはインダストリアルスタンダードアーキテクチャ（ＩＳＡ）バス、マイクロチャンネルアーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダーズアソシエーション（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られているペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスであるが、これに限定しない。
【００１４】
コンピュータ１１０は典型的には多種多様なコンピュータ読取可能な媒体を含んでいる。コンピュータ読取可能な媒体は、コンピュータ１１０がアクセスすることができる利用可能な媒体であり、揮発性および非揮発性の媒体、および取外し可能または固定な媒体を含んでいる。例として、コンピュータ読取可能な媒体はコンピュータ記憶媒体および通信媒体を含むが、これに限定しない。コンピュータ記憶媒体はコンピュータ読取可能な命令、データ構造、プログラムモジュールまたはその他のデータなどの情報記憶方法または技術によって実装された揮発性および非揮発性媒体、取外し可能および固定な媒体を含んでいる。コンピュータ記憶媒体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ装置、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）その他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク装置またはその他の磁気記憶装置、または所望の情報を格納するのに使用可能で、コンピュータ１１０がアクセスすることができるその他いっさいの媒体を含むが、それらに限定しない。通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波またはその他のトランスポート機構などの変調データ信号の形で典型的に具体化し、情報送達媒体を含んでいる。「変調データ信号」とは、情報を信号で符号化するようの方法で設定または変更された特性を1つまたは複数有する信号を意味する。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音声、ＲＦ、赤外線およびその他の無線媒体などの無線媒体を含むが、これに限定しない。上記のいずれかの組み合わせもコンピュータ読取可能な媒体の範囲に含まれる。
【００１５】
システムメモリ１３０は、リードオンリメモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。起動時などに、コンピュータ１１０内の要素の間で情報を伝達するのを助ける基本ルーチンを含んでいる基本入出力システム（ＢＩＯＳ）１３３は、典型的にはＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、即時アクセス可能な、および／または処理ユニット１２０によって現在操作されているデータおよび／またはプログラムモジュールを典型的に含んでいる。例としては、これに限定されるものではないが、図１はオペレーティングシステム１３４，アプリケーションプログラム１３５，その他のプログラムモジュール１３６およびプログラムデータ１３７を図示している。
【００１６】
コンピュータ１１０は、その他の取外し可能／固定、揮発性／不揮発性コンピュータ記憶媒体も含んでいることがある。例として、図１は固定の不揮発性磁気媒体から読取るか書き込むハードディスクドライブ１４１、取外し可能な不揮発性磁気ディスク１５２から読取るか書き込む磁気ディスクドライブ１５１、ＣＤ  ＲＯＭまたはその他の光媒体などの取外し可能な不揮発性光ディスク１５６から読取るか書き込む光ディスクドライブ１５５を図示している。例示的な運用環境で使用可能なその他の取外し可能／固定、揮発性／不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ、などが含まれるがそれらに限定されない。ハードディスクドライブ１４１は、インターフェース１４０などの固定メモリインターフェースを介してシステムバス１２１に典型的に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、インターフェース１５０などの、取外し可能メモリインターフェースによってシステムバス１２１に典型的に接続されている。
【００１７】
先に説明し、図１に図示したドライブ類とそれらに組み合わされたコンピュータ記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよびコンピュータ１１０のためのその他のデータのストレージを提供する。図１において、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４，アプリケーションプログラム１４５、その他のプログラムモジュール１４６およびプログラムデータ１４７を格納するものとして説明されている。なおこれらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６およびプログラムデータ１３７と同一でも異なっていてもよい。ここでオペレーティングシステム１４４，アプリケーションプログラム１４５、その他のプログラムモジュール１４６およびプログラムデータ１４７に別々の番号が付与されているのは、最低限、それらが異なるコピーであることを示すためである。ユーザはタブレット、または電子デジタイザ、１６４、マイクロフォン１６３、キーボード１６２、および広くマウスと称されるポインティングデバイス１６１、トラックボールまたはタッチパッドなどの入力装置を介して、コンピュータ１１０にコマンドまたは情報を入力してもよい。図１に図示されていないその他の入力装置は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、あるいはバイオメトリクスセンサ、環境センサ、位置センサ、またはその他の種類のセンサを内蔵した装置を含むその他の装置を含んでいることがある。これらおよびその他の入力装置は、システムバスに結合されたユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されていることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）などのその他のインターフェースまたはバス構造によって接続してもよい。モニタ１９１またはその他の種類のディスプレイ装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタ１９１はタッチスクリーンパネルなどを組み込んでもよい。なお、モニタおよび／またはタッチスクリーンパネルは、タブレット型パーソナルコンピュータ内などの、コンピューティングデバイス１１０が組み込まれた筐体に物理的に結合してもよい。加えて、コンピューティングデバイス１１０などのコンピュータは、スピーカ１９５およびプリンタ１９６などのその他の周辺出力装置を含んでいてもよく、それらは出力周辺インターフェース１９４などを介して接続してもよい。
【００１８】
コンピュータ１１０は、遠隔コンピュータ１８０などの、１つまたは複数の遠隔コンピュータへの論理接続を用いるネットワーク化された環境内で操作してもよい。遠隔コンピュータ１８０は、パーソナルコンピュータ、サーバー、ルータ、ネットワークＰＣ、ピアデバイスまたはその他の共通ネットワークノードとすることができるし、図１にはメモリ記憶装置１８１だけを図示したが、典型的にはコンピュータ１１０に関して先に述べた要素の多くまたは全てを含んでいる。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１とワイドエリアネットワーク（ＷＡＮ）１７３を含んでいるが、他のネットワークも含むこともある。かかるネットワーク化環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットとインターネットでは通常のことである。ＬＡＮネットワーク環境内で使用するとき、コンピュータ１１０はネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境内で使用するとき、コンピュータ１１０はインターネットなどの、ＷＡＮ１７３上での通信を確立させるためのモデム１７２またはその他の手段を典型的には含んでいる。内蔵または外部のモデム１７２は、ユーザ入力インターフェース１６０またはその他の適切なメカニズムを介してシステムバス１２１に接続してもよい。ネットワーク環境内で、コンピュータ１１０に関して説明したプログラムモジュール、またはその一部は、遠隔メモリ記憶装置内に格納してもよい。例としては、これに限定されるものではないが、図１は遠隔アプリケーションプログラム１８５がメモリデバイス１８１上に存在するものとして説明している。なお、図示されたネットワーク接続は例示的なものであり、コンピュータの間で通信リンクを成立させるその他の手段を用いてもよい。
【００１９】
（手書き認識パーソナル化）
本発明は、一般的に手書き認識パーソナル化（ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ）のためのシステムと方法を目的とする。システムと方法はユーザによって書かれたインクとユーザによって作成されたテキストを用いてトレーニング可能なレコグナイザをパーソナル化（ｐｅｒｓｏｎａｌｉｚｅ）してもよい。ユーザがどのように書き、ユーザが何を書くかについてレコグナイザを調整することによって、レコグナイザはユーザの手書き認識がより正確になることがある。この目的のために、本発明はユーザのインクとレコグナイザのトレーニングのために認証された情報を収集、格納、およびアクセスするためのインターフェースを備えたコンポーネントを提供する。本書において、インクは書かれた文字の形状または単語を一般的に意味する。トレーニング可能なレコグナイザは明示的に、または黙示的にパーソナル化される。本書において、黙示的パーソナル化は、ユーザが提供したテキストを用いずに、あるいはユーザのマシーンから自動的に収集されたテキストを用いて収集されたユーザのインクによって、レコグナイザをトレーニングすることを意味する。明示的パーソナル化は、ユーザが提供したテキストで収集されたユーザのインクでレコグナイザをトレーニングすることを意味する。
【００２０】
後述のとおり、本発明のアーキテクチュアは認識をパーソナル化するためのユーザデータのレポジトリを生成するために、パーソナル化サービスエンジンがユーザのインクと、作成されたテキストとを自動的に収集できるようにする。一般的に、本書において、ユーザデータとは、ユーザが作成したデータを意味し、ユーザが作成したテキスト、ユーザのインクおよび関連テキスト、または認識の結果またはユーザが提供したテキストを意味する場合もあり、インクを取込んだソースアプリケーション、訂正コンテキスト、文書名などのユーザが作成したデータに関するコンテキスト情報を含むユーザが通常作成したテキストが含まれる。本発明は、どのアプリケーションまたは実行可能なコードもユーザのインクまたは作成されたテキストを供給するためのインターフェースを備えた枠組みを提供し、認識精度を向上させる。さらに、対応するプラグ可能なトレーナを提供することによって、トレーニング可能なレコグナイザはユーザが作成した採集情報およびユーザが書いたインクを用いて動的にパーソナル化してもよい。理解されるように、本書に説明した各種のブロック図、フローチャートおよびシナリオは例に過ぎず、本発明が適用されるシナリオは他にも多数ある。
【００２１】
図面の図２に戻って、手書き認識のパーソナル化のためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図が示されている。当業者には自明のごとく、図内に図示されたブロック内で実装される機能は別個のコンポーネントとして実装してもよい、あるいはブロックのいくつかおよび全ての機能を単一のコンポーネント内で実装してもよい。一例として、パーソナル化サービスエンジン２１０内の採集（ｈａｒｖｅｓｔｉｎｇ）サービスエンジン２１６は、別個のコンポーネント内で実装してもよい。またはインクビューア２０６の機能は、パーソナル化コントロールパネル２０４内に含めてもよいし、またはパーソナル化コントロールパネル２０４の機能は、パーソナル化ウィザード２０２の中に含めてもよい。
【００２２】
図２に示したパーソナル化サービスエンジン２１０は、パーソナル化サービスインターフェース２１２、インクサービスエンジン２１４、採集サービスエンジン２１６、およびトレーナクライアントからのトレーニングされたデータを格納するためのトレーニングされたデータエンジン２１７を含むことがある。パーソナル化サービスエンジン２１０は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードとしてもよい。パーソナル化サービスインターフェース２１２は、アプリケーションプログラムインターフェース（ＡＰＩ）、オブジェクト、コントロールまたはその他の実行可能なコードとすることができる。パーソナル化サービスインターフェース２１２は、インクデータベース２２６からユーザのインクを検索するためのQueryInkおよびEnumerateInk、ユーザのインクをインクデータベース２２６に追加するAddInkなどの呼び出し可能なインターフェースを含めることによって、ユーザのインクおよび関連するデータの追加、削除またはクエリへのアクセスを提供してもよい。パーソナル化サービスインターフェース２１２は、SetおよびGetなどの呼び出し可能なインターフェースを含めることによって、レジストリ２３０にパーソナル化設定を設定するかレジストリ２３０から取得するアクセスを提供してもよい。パーソナル化サービスインターフェース２１２は、データのトレーニングのためのTrainおよびトレーニングされたデータデータベース２２８からトレーニングされたデータをロードするためのGetTrainedDataなどの呼び出し可能なインターフェースを含めることによって、トレーニングを行い、トレーニングされたデータのロードするためのアクセスを提供することもある。インクサービスエンジン２１４は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクト、などを含む、どの実行可能なソフトウェアコードとしてもよい。インクサービスエンジン２１４は、コレクタからインクを受取り、収集されたインクをインクデータベース２２６内に格納することができる。採集サービスエンジン２１６は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクト、などを含む、どの実行可能なソフトウェアコードとしてもよい。採集サービスエンジン２１６は、ユーザによって作成されたテキストを収集し、収集されたテキストを採集（ｈａｒｖｅｓｔｉｎｇ）サービスデータベース２３２内に格納してもよい。
【００２３】
パーソナル化サービスエンジン２１０は、各種のアプリケーション、データベースと記憶装置、レコグナイザ、およびレコグナイザのためのトレーナに結合して操作可能としてもよい。データベースと記憶手段内に含められるのは、ユーザのインクを格納するためのインクデータベース２２６、レコグナイザによって用いられたトレーニングされたデータを格納するためのトレーニングされたデータデータベース２２８，オペレーティングシステムとプログラム設定を格納するためのレジストリ２３０、言語情報を格納するためのハーベストサービスデータベース２３２、コンピュータシステムによって一般的に使用されるディスクストレージ２３６である。
【００２４】
トレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナ２１８およびユーザによって供給されたインクデータを用いる一般レコグナイザコンポーネントを調整するための形状トレーナ２２０を含むことができる。１つまたは複数のトレーニング可能なレコグナイザ２３４も存在することがある。レコグナイザは、インクとユーザによって作成されたテキストなどのユーザのデータで、トレーニングを受ける能力を有するときはトレーニング可能なレコグナイザとしてもよい。レコグナイザがトレーニング可能なレコグナイザであり、パーソナル化が有効であるとき、ユーザのインク入力の認識にパーソナル化されたレコグナイザを使用する。パーソナル化が無効であるとき、パーソナル化されていないレコグナイザを使用する。
【００２５】
各種のアプリケーションの中には、パーソナル化ウィザード２０２、パーソナル化コントロールパネル２０４、インクビューア２０６，およびその他のアプリケーション２０８もある。パーソナル化ウィザード２０２は、アプリケーション、コンポーネント、あるいはユーザからデータを明示的に収集し、ユーザがレコグナイザをトレーニングできるようにするためのグラフィカルユーザインターフェースを提供するようなその他の実行可能なコードとしてもよい。収集されたデータは、翻訳したテキストとともにユーザのインクのこともある。収集されたデータは、ユーザが作成したテキストからのユーザの単語のこともある。パーソナル化ウィザード２０２は、収集されたデータを格納のためにパーソナル化サービスエンジン２１０に提供することもできる。ユーザがパーソナル化ウィザード２０２の操作をやめると、このアプリケーションはレコグナイザのトレーニングのためにパーソナル化サービスエンジン２１０に要求してもよい。次に、パーソナル化サービスエンジン２１０が、収集されたデータの言語をサポートする各々のトレーニング可能なレコグナイザのトレーナを呼び出すことができる。
【００２６】
ユーザは、パーソナル化コントロールパネル２０４内のレコグナイザのトレーニングを明示的に要求してもよい。パーソナル化コントロールパネル２０４は、アプリケーション、コンポーネント、あるいはユーザがパーソナル化サービスエンジン２１０によって提供されたサービスの個別設定を有効または無効にすることができるようにするためのグラフィカルユーザインターフェースを提供するようなその他の実行可能なコードとしてもよい。例えば、パーソナル化コントロールパネル２０４は、ユーザによって作成されたテキストの採集、黙示的なパーソナル化、レコグナイザのトレーニング、およびパーソナル化された認識を有効または無効にすることができる。一実施形態において、レコグナイザのトレーニングを無効にすることで全ての現在および将来のレコグナイザのトレーニングが停止することがあるが、それでもインクとテキストの全ての収集を継続することができる。このことで、明示的に要求するまで、有利にレコグナイザのトレーニングを遅らせることができる。この実施形態において、ユーザはトレーニングが無効になるまで利用可能であったパーソナル化された認識を体感し続けることができる。トレーニングを再び有効にすることにより、この実施形態ではトレーニングが無効になる前の時点からトレーニングを継続することができる。
【００２７】
ユーザは、パーソナル化コントロールパネル２０４を用いるパーソナル化を無効にして、レコグナイザを使用しないことを選択してもよい。パーソナル化された認識を停止することによって、システムはパーソナル化の前のデフォルトレコグナイザに戻ることもある。一実施形態において、パーソナル化された認識が停止されている間に、インクまたはテキストの収集が継続することがある。この実施形態では、パーソナル化を再設定または無効にしないで、特定の認識タスクのために、ユーザがパーソナル化されていないレコグナイザを一時的に用いることができる。この実施形態において、パーソナル化された認識を再び有効にすることにより、パーソナル化の無効の間に、収集された全てのデータでトレーニングしたパーソナル化されたレコグナイザを用いるパーソナル化された認識をユーザが経験することもできる。さらに別の実施形態において、パーソナル化を無効にすることにより、テキストの採集、明示的および黙示的なパーソナル化、レコグナイザのトレーニング、およびパーソナル化されたレコグナイザの使用を完全に無効にしてもよい。この実施形態において、システムはパーソナル化の前のデフォルトレコグナイザに戻ることがある。収集されトレーニングされたユーザデータも、この実施形態においては廃棄されることがある。パーソナル化を再び有効にすることにより、ユーザがデフォルトレコグナイザの状態からパーソナル化を始めることもできる。
【００２８】
インクビューア２０６も、パーソナル化サービスエンジン２１０に結合された各種のアプリケーションの中に含めてもよい。インクビューア２０６は、別個のアプリケーションあるいはパーソナル化コントロールパネル２０４のコンポーネントのことがある。インクビューア２０６は、ユーザがパーソナル化のために格納されたインクおよびそれに関連する翻訳テキストを管理、閲覧、検索および編集するためのグラフィカルユーザインターフェースを提供することができる。インクビューア２０６は、インクデータベース２２６内に格納されたユーザのインクおよび関連するデータのクエリ、追加または削除のためにパーソナル化サービスインターフェース２１２を呼び出すことがある。インクビューアは、それによって明示的パーソナル化を提供することがある。パーソナル化サービスエンジン２１０に結合されたその他のアプリケーション２０８は、ユーザのインクが認識されたときはいつでも、ユーザのインクを黙示的に収集することがある。タブレット入力パネル（ＴＩＰ）は、かかるアプリケーションの１つの例である。ユーザはＴＩＰに手書き文字を入力してもよい。次にＴＩＰがそれをレコグナイザ２３４に送り、またそれをパーソナル化サービスエンジン２１０に送ることもできる。ユーザのインクについて追加情報を提供するために、追加情報もパーソナル化サービスエンジン２１０に送られることがある。例えば、追加情報は、収集タイムスタンプ、認識されたテキスト、訂正されたテキスト、言語、代案が選択されたか、ターゲットフィールドがテキストフィールドであったか否か、ユーザが認識されたテキストを見て、その送信の前にこのインクについてテキストを訂正するオプションを有するか否か、インクを格納したときのタイムスタンプなどを含めることができる。当業者には自明のごとく、ユーザのインクはその他のかかる追加情報を含むことができ、手書き文字を入力として受け入れるその他のかかるアプリケーションによって、暗黙の内に収集することができる。
【００２９】
図３は、手書き認識パーソナル化のためのインクを収集するためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。当業者には自明のごとく、図示されたブロック内で実装された機能は、別個のコンポーネントとして実装してもよい、あるいはいくつかまたは全てのブロックの機能は、単一のコンポーネント内で実装されることもある。例えば、インクビューア２０６の機能は、パーソナル化ウィザード２０２内に含めてもよい。
【００３０】
インクサービスエンジン２１４は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードであってもよい。一般的に、インクサービスエンジン２１４は、さまざまなコレクタからインクを受取り、収集したインクをインクデータベース２２６内に格納することがある。インクサービスエンジン２１４は、インクと関連するデータをインクデータベース２２６内に追加するためのＡｄｄＩｎｋなどのパーソナル化サービスインターフェース２１２にアクセスすることがある。インクサービスエンジン２１４は、スケジューラ３０２を含んでいることがある。インクサービスエンジンのスケジューラ３０２は、収集されたインクのレコグナイザのトレーニングを予定することがある。スケジューラは、特定量の新しいインクが収集されたときはいつでも、特定数の訂正が発生したときはいつでも、タイマーを用いて、あるいはその他の仕方で、定期的にトレーニングを予定することがある。タイマーを用いる場合、タイマーのための設定は、どれくらい頻繁にトレーニングが発生すべきかを指示するためのトレーナのセットアップ時に、レジストリ内に作成されることがある。
【００３１】
インクはパーソナル化ウィザード２０２によって明示的に、あるいは手書き文字を入力として受け入れるアプリケーション２０８によって黙示的に、などのようにさまざまなアプリケーションから収集されることがある。インクビューア２０６は、インクデータベース２２６内に格納されたインクとその関連テキストを編集することによって、明示的パーソナル化をさらに提供することがある。パーソナル化ウィザード２０２は、予め定義された文字分布に合致する数行のテキスト（スクリプト）を書き込むようにユーザに促して、ユーザの文字の形状またはインクを収集することがある。ユーザがしばしば使用することがある単語のインク、および通常言語の単語ではない単語（すなわち、人名、製品名、社名、頭字語、および略語）のインクも、パーソナル化ウィザード２０２によってユーザから明示的に収集されることがある。インクデータベースは、認識されたもとの返却テキスト、訂正テキスト（入手可能なとき）、フィールド入力種別（テキストフィールド、ドローイングフィールド）、ガイド、アプリケーション種別、収集された日付と時間、言語種別、訂正するオプションがあったか否か、ユーザが確認されたか否か、などの追加情報をインクと共に格納することもある。かかる追加情報は、レコグナイザのトレーニングに、とくに翻訳テキストなしに収集されたインクにとって有益な場合がある。
【００３２】
レコグナイザのパーソナル化は、ユーザから収集したインクを用いるトレーニングプロセスによって実行されることがある。レコグナイザをパーソナル化するトレーニングプロセスは、通常個別のレコグナイザに特有のものであり、トレーニングプロセスは異なるレコグナイザについて同一であってもなくてもよい。例えば、１つのレコグナイザが異なる文字セットを持つこともあれば、あるいは別のレコグナイザからの異なるトレーニングコードを持つこともある。一般的には、特定のトレーナは、それぞれのレコグナイザにプラグ可能なトレーナクライアント３０６として提供することができる。レジストリ２３０は、レコグナイザをそのトレーナクライアント３０６で割り付ける（ｍａｐ）パーソナル化設定を有することができる。
【００３３】
形状トレーナ２２０は、レコグナイザ内の一般レコグナイザコンポーネントを、ユーザによって供給されたインクデータに合わせる。このことは、ユーザがどのように書くかの認識においてレコグナイザをもっと正確にすることができる。形状トレーナ２２０は、トレーナマネージャ３０４と１つまたは複数のプラグ可能なトレーナクライアント３０６を含む場合がある。形状トレーナ２２０は、レコグナイザのトレーニングを要求するために呼び出されることがあるトレインインターフェース（Train interface）を露出させることがある。トレインインターフェースは、現在の入力言語についてユーザのマシーンで利用可能な全てのトレーニング可能なレコグナイザを列挙することができ、またその言語をサポートする見つけられた各々のトレーニング可能なレコグナイザのトレーナクライアント３０６を呼び出すことができる。
【００３４】
１つのトレーナマネージャ３０４しかないこともある。トレーナマネージャ３０４は、各々のレコグナイザのトレーナクライアントとインクサービスエンジン２１４の間に、薄いインターフェースレイヤーを提供することがある。トレーナマネージャ３０４は、インクを列挙して結果を保存するために、それを通じてトレーナクライアント３０６がインクサービスエンジン２１４（またはパーソナル化サービスエンジン２１０）と話をすることができる接続チャンネルを設定することができる。
【００３５】
システム上に設置された各々のレコグナイザは、動的にリンクされたライブラリまたはその他の実行可能なコードとすることができるプラグ可能なトレーナクライアント３０６を提供することができる。トレーニング可能なレコグナイザのセットアップの間に、トレーナクライアントはシステムと共に登録することがあり、レコグナイザをそのトレーナクライアント３０６とともに割り付ける設定は、レジストリ２３０内に保存することができる。それを介してトレーナクライアント３０６が会話をすることができるような接続チャンネルをトレーナマネージャ３０４が確立させた後、トレーナクライアント３０６はインクデータベース２２６と直接通信してもよいし、全ての利用可能なインクを介して列挙し、インクの操作を実行してもよいし、またトレーニングされたデータデータベース２２８内に結果を保存してもよい。結果の内部構造は、トレーナクライアントとその対応するレコグナイザには通常秘密である。一実施形態において、トレーナクライアント３０６はその独自のプロセス空間内で実行されて、起こり得るいっさいの有害な挙動が隔離され、クリーンアップが容易に制御することができるようになる。
【００３６】
トレーナクライアント３０６は、呼び出されると利用可能なデータに基づいてトレーニングするか否かを決定してもよい。トレーナクライアント３０６は、十分なデータが利用できないとき、あるいは利用可能なデータがトレーニングに要求される特定の基準を満たしていないとき、トレーニングしないと決定することができる。トレーニングが実行されると、トレーナクライアント３０６はトレーニングされたデータデータベース２２８の中にトレーニングの結果を格納することができる。
【００３７】
トレーニング中にユーザがシステムを停止するかログオフしたとき、パーソナル化サービスエンジン２１０はトレーニングが行われていることを示す通知をユーザに送ることがある、またトレーニングを継続するか、あるいはトレーニングを停止するかをユーザに提案することができる。ユーザがトレーニングを停止すると、一時的にトレーニングされたデータが削除される場合がある。次回ユーザがログオンしたとき、ユーザがパーソナル化コントロールパネルからトレーニングを再開することを示唆するトレーニング通知をユーザに表示することができる。
【００３８】
図４は、手書き認識パーソナル化のためのテキストを採集するためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。当業者には自明のごとく、この図に図示されたブロック内で実装された機能は別個のコンポーネントとして実装されることがある、あるいはいくつかまたは複数のブロックの機能は単一のコンポーネント内で実装されることがある。例として、レジストリ監視モジュール（ｒｅｇｉｓｔｒｙ  ｗａｔｃｈｅｒ）４０２の機能とディスクスキャナ４０４の機能は、同一のコンポーネント内で実装してもよい。一般的に、採集サービスエンジン２１６は、ユーザのマシーン上で利用可能なユーザが書いた単語を収集し、これらの単語でレコグナイザの辞書を補強する。言語モデルをこのようにユーザに合わせることによって、レコグナイザはユーザが書いたものの認識がもっと正確になることがある。したがって、取り込まれた文書がユーザによって作成されることが重要である。
【００３９】
採集サービスエンジン２１６は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードとしてもよい。採集サービスエンジン２１６は、アプリケーションあるいはコンポーネントによって取り込まれたテキストについての更新メッセージの更新メッセージキューを管理することがあり、更新によって採集サービスデータベース２３２を更新することがある。またそのとき変更を採集クライアント４１８に通知することがある。採集サービスエンジン２１６は、レジストリ監視モジュール４０２、ディスクスキャナ４０４、アプリケーション採集モジュール４０６、およびクライアントハンドラ４０８を含むことがある。クライアントハンドラ４０８は、動的にリンクしたライブラリまたはその他の実行可能なコードとして実装してもよいし、また採集サービスデータベース２３２の最近の変更とアクセスの両方を登録採集クライアントに送るのに用いてもよい。レジストリ監視モジュール４０２は、オブジェクトとして実行されることがあり、レジストリ２３０内の各種のリストへの変更を監視する責任がある。例えば、レジストリ２３０内に保管されたオペレーティングシステムシェルとインターネットブラウザによって用いられた、ユニフォームリソースロケータ（ＵＲＬｓ）のリストまたはｅメールアドレスのリストなどの、リストが存在することがある。一実施形態において、別個のコンポーネントがインターネットブラウザから直接ＵＲＬｓを採集することがある。レジストリ監視モジュール４０２は、かかるリストに対する変更があれば検出することがあり、そして採集サービスデータベース２３２を更新するために、採集サービスエンジン２１６にこれらの変更を提供することがある。ディスクスキャナ４０４は、オブジェクトとして実装することが可能であり、ディスク２３６内に格納された文書の採集に責任がある。一実施形態において、ディスクスキャナ４０４は、ディスク上の文書の更新に注意するためにReadDirectoryChangesWのようなファイルシステムＡＰＩなどのインターフェースを用いることがある。この実施形態において、システム上の固定ディスクドライブあたり１つのスレッドが存在することがあり、リスニングスレッドはディスク上のファイルの変更を通知されるそれぞれの固定ドライブについて、ルートディレクトリ上のReadDirectoryChangesWを呼び出すことがある。ディスク上のファイルの変更を通知されたとき、リスニングスレッドは更新メッセージキューに更新メッセージを追加し、ついでリスニングに復帰してもよい。アプリケーション採集モジュール４０６は、オブジェクト、動的にリンクしたライブラリまたはその他の実行可能なコードとして実装してもよく、アプリケーション採集モジュール４０６に更新情報を送信するためのIHarvestインターフェースなどのインターフェースを呼び出すアプリケーションから送られたテキスト更新に関する更新メッセージを受取ることがある。IHarvestインターフェースは、アプリケーションプログラムインターフェース（ＡＰＩ）、オブジェクト、コントロールまたはアプリケーション採集モジュール（ｈａｒｖｅｓｔｅｒ）４０６によって利用��能になったその他の実行可能なコードとしてもよい。例として、ＴＩＰアプリケーションは、IHarvestインターフェースを呼び出すことによって、アプリケーション採集モジュール４０６に認識されたテキストの訂正などのテキスト更新情報を直接送ることがある。この実施形態は、かかる情報をローカルに格納しないことがあるｅメールなどのアプリケーションにおいて特に有益である。
【００４０】
文書の採集は、ユーザ指定または自動とすることができる点が有利である。自動採集は周期的に実行され、ディスク全体２３６が走査されるまで継続することができる。ユーザ指定された採集は、そこから採集するディレクトリの配列を入力として取るＡＰＩなどのインターフェースを用いて実施されることもある。インターフェースは、ユーザによって指定されたディレクトリの採集を開始するスレッドを作成してもよい。インターフェースはスレッドの作成に成功したらすぐに呼び出し側に復帰する場合があリ、採集は要求とは非同期に実行することができる。
【００４１】
採集サービスデータベース２３２は、テキストデータベース４１０、非テキストデータベース４１２、およびディスクドキュメントデータベース４１４を含んでもよい。ディスクドキュメントデータベース４１４は、最近採集したドキュメントおよびその情報を格納することもできる。ここで、このドキュメントおよび情報を入力範囲と称する。入力範囲とは、ドキュメントの名前、格納した場所のパス、採集したアプリケーション、言語、採集した日付、採集した時間、ドキュメントへのアクセス数の計数、ドキュメントのテキストの列挙などである。ドキュメントのテキストの列挙は、可変長データである可能性、および、非常に大きくなる可能性があることを考慮し、別個のファイルに格納してもよい。一実施形態では、採集したドキュメントのうちごく最近使用した特定数を格納する。新規ドキュメントを採集し、ドキュメントの数がこの特定数を超えるのであれば、最も古いドキュメントをテキストデータベース４１０に移動させ、この新規ドキュメントをディスクドキュメントデータベース４１４に入れる。テキストデータベース４１０は、採集した全ドキュメントおよび列挙されたテキストを含む各ドキュメントの入力範囲情報を格納するレポジトリであってもよい。一実施形態では、テキストデータベース４１０は、一組のレコードであってよい。このレコードは、テキストデータの長さ、そのテキストデータを採集した日付、および、テキスト項目用のテキストデータを含む。非テキストデータデータベース４１２はテキストでない全てのデータのレポジトリとしてもよい。例えば、ある非テキスト項目は、ＵＲＬまたは電子メールアドレスであってもよい。一実施形態において、非テキストデータベース４１２は、一組のレコードであってよい。このレコードは、採集した非テキスト項目、前回発生した日付、および発生数を含む。この実施形態では、最新の更新レコードを含むある特定のサイズの小さなファイルが存在してもよく、また、採集した非テキスト項目の全レコード用のレポジトリファイルがあってもよい。定期的な更新のみ行うように、この小さなファイルが一杯になったときに、ファイルのレコードとともにレポジトリを更新する。
【００４２】
採集サービスエンジン２１６は、テキストトレーナ２１８および採集クライアントマネージャ４１６と通信することができる。テキストトレーナ２１８については、オブジェクト、アプリケーション、動的リンクライブラリ、または他の実行可能なコードとして実装してもよい。また、レコグナイザ用辞書を補強するために採集サービスデータベース２３２へ採集して格納したテキストコンテンツを利用してもよい。採集クライアントマネージャ４１６は、オブジェクト、アプリケーション、動的リンクライブラリ、または他の実行可能なコードとして実装されてもよい。また、採集サービスエンジン２１６と採集クライアント４１８との間にインターフェースを提供することもできる。一実施形態では、採集クライアントマネージャ４１６は、動的リンクライブラリとして実装した採集クライアント４１８をロードすることができる。また、通信チャンネルをセットアップすることもできる。このチャンネルを介して採集クライアント４１８は、採集した情報を列挙し、トレーニング済みデータデータベースに単語数などの結果を保存するために、採集サービスエンジン２１６（またはクライアントハンドラ４０８）と通信することができる。一般的に、採集クライアント４１８とは、採集サービスデータベース２３２から取り込まれた情報をあるレコグナイザがその言語モデルを増やすために利用可能とすることによって、レコグナイザを支援するコードであってよい。しかし、当業者は、ある採集クライアントを利用して、話法、自然言語などといった他のアプリケーションの言語モデルを増加させてもよいことを理解できるであろう。採集クライアント４１８は、IharvesterDatabase等のインターフェースを利用して、採集した情報を列挙する。この情報は、採集クライアント４１８が所望する可能性があるものである。採集クライアント４１８は、IlanguageEnum等のインターフェースを利用し、ある特定の言語型用の採集情報を取得することもできる。
【００４３】
図５は、本システムが手書き認識をパーソナル化するために行うステップ例を全体的に示すフローチャートである。ステップ５０２で、ユーザがどのように書くかについて、また、ユーザが何を書くかについてのデータを収集する。パーソナル化サービスエンジン２１０は、ユーザのインクおよび変換テキスト、ならびにユーザが作成したテキスト項目および非テキスト項目を収集することもできる。特に、インクサービスエンジンは、何らかのパーソナル化ウィザードまたはその他のアプリケーションからユーザのインクとテキスト変換を収集することもできる。また、インクサービスエンジンは、手書き文字を受け付けるアプリケーションからユーザのインクを収集することもできる。採集サービスエンジンはシステムレジストリ、ディスクストレージまたはアプリケーションから採集したテキスト情報を収集することができる。ステップ５０４で収集したデータを格納する。パーソナル化サービスエンジン２１０は、ユーザのインクをインクデータベース２２６に、採集したテキストを採集サービスデータベース２３２に格納することができる。特に、インクサービスエンジンは、収集したインクをインクデータベース２２６に格納することができ、採集サービスエンジン２１６は、採集した情報を採集サービスデータベース２３２に格納することができる。
【００４４】
ステップ５０６で、レコグナイザをトレーニングする。パーソナル化サービスエンジン２１０は、収集したデータの言語をサポートするトレーニング可能な各レコグナイザのトレーナを呼び出して、トレーニングを実行することもできる。レコグナイザは、テキスト変換なしで収集したユーザのインクを用いてトレーニングされてもよい。あるいは、テキスト変換とともに収集したユーザのインクを用いてトレーニングされてもよい。収集および格納してあった採集情報を用いてレコグナイザをトレーニングしてもよい。特に、収集および格納したインクを用いるレコグナイザをトレーニングするために、形状トレーナを呼び出してもよく、また、収集および格納した採集情報を用いるレコグナイザの言語モデルをトレーニングするために、テキストトレーナを呼び出してもよい。ステップ５０８では、トレーナからのデータを格納することができ、また、レコグナイザにとって利用可能とすることもできる。ステップ５１０では、パーソナル化設定が効いているときはいつでも、ユーザのデータを用いてトレーニングしたパーソナル化したレコグナイザを手書き文字のために用いることもできる。
【００４５】
本発明のシステムおよび方法は、ユーザが書いたインクとユーザが作成したテキストを用いることによって、トレーニング可能なレコグナイザをパーソナル化することもできる点で有利である。ユーザがどのように書き、何を書くのかに合わせてレコグナイザを調整することによって、レコグナイザがユーザの手書き認識についてさらに正確とすることが可能である。本発明のシステムおよび方法は、対応するプラグ可能なトレーナを伴ったトレーニング可能などのレコグナイザにも拡張可能である。また、本発明のアーキテクチャは、ユーザがシステムに書込こんだり、テキストを作成するのに伴うトレーニング可能なレコグナイザの動的適応をサポートする。なお、手書きレコグナイザの実施形態についてこのアーキテクチャを説明したが、形状レコグナイザおよびジェスチャーレコグナイザのような他の種類のレコグナイザに用いてもよい。
【００４６】
前述した詳細な説明から理解できるように、本発明は、手書き認識のパーソナル化を提供するために改良したシステムおよび方法を提供する。本発明のアーキテクチャは、レコグナイザをトレーニングするためのユーザインクおよびユーザ作成情報を収集および格納し、アクセスするためのインターフェースを備えたコンポーネントおよび枠組みを提供する。このシステムと枠組みは、拡張可能であり、ユーザによって作成された外部ソースを含むいっさいのソースからのユーザデータを受け入れることもできる。また、プラグ可能なトレーナを提供するトレーニング可能なすべてのレコグナイザとともに用いることもできる。ここで理解されるように、本発明のシステムと方法は現代のコンピューティングに必要な多くの利点および利益を提供する。
【００４７】
本発明は、さまざまな変更構造および代替構造が可能であり、いくつかの具体例を図面に示し、詳細に上述した。しかし、本発明を開示した特定の形態に限定する意図はなく、反対に、本発明の精神と範囲内の全ての変更構造、代替構造、およびその等価物を対象とする意図を理解されるべきである。
【図面の簡単な説明】
【００４８】
【図１】本発明を組み込むことができるコンピュータシステムを一般的に表すブロック図である。
【図２】本発明の１つの態様にかかる手書き認識パーソナル化のためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。
【図３】本発明の１つの態様にかかる手書き認識パーソナル化のためにインクを収集するシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。
【図４】本発明の１つの態様にかかる手書き認識パーソナル化のためにテキストを取り入れるシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。
【図５】本発明の１つの態様にかかる手書き認識パーソナル化のためのシステムによって行われた実施形態のステップを一般的に表すフローチャートである。
【図１】
2007509418.tif 000003
【図２】
2007509418.tif 000004
【図３】
2007509418.tif 000005
【図４】
2007509418.tif 000006
【図５】
2007509418.tif 000007
【国際調査報告】
2007509418.tif 000008