JP2007509418A - 手書き認識をパーソナル化するシステムと方法 - Google Patents

手書き認識をパーソナル化するシステムと方法 Download PDF

Info

Publication number
JP2007509418A
JP2007509418A JP2006536583A JP2006536583A JP2007509418A JP 2007509418 A JP2007509418 A JP 2007509418A JP 2006536583 A JP2006536583 A JP 2006536583A JP 2006536583 A JP2006536583 A JP 2006536583A JP 2007509418 A JP2007509418 A JP 2007509418A
Authority
JP
Japan
Prior art keywords
data
user
recognizer
ink
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006536583A
Other languages
English (en)
Inventor
ハルプトク パトリック
ナザニエル ルエンゲン ロス
ジェイ.ジュリオン ビノイト
リボウ マイケル
ケーン セイラー リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007509418A publication Critical patent/JP2007509418A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

入力方法の認識をパーソナル化するための改良したシステムと方法を提供する。トレーニング可能な手書きレコグナイザは、ユーザにより書かれたインクとユーザにより作成されたテキストを用いて、パーソナル化してもよい。本システムは、パーソナル化サービスエンジンと、レコグナイザをトレーニングするためのユーザのインクや作成された情報を収集、格納、アクセスするためのインターフェースを備えた枠組みとを含む。システムのトレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナと、ユーザにより供給されたインクデータを用いる汎用レコグナイザコンポーネントを調整するための形状トレーナとを含む。トレーナは、複数のトレーナクライアントをロードしてもよく、1つまたは複数の特定のレコグナイザをトレーニングすることができる。さらに、プラグ可能なトレーナをサポートするために、枠組みを提供する。どのトレーニング可能なレコグナイザも、ユーザにより作成された採集情報とユーザにより書かれたインクを用いて、動的にパーソナル化されてもよい。

Description

本発明は一般的にコンピュータシステムに関するものであり、より詳細には手書き認識パーソナル化の改良されたシステムと方法に関するものである。
手書き、発話および言語変換器(IMEs)などの高度な入力方法では、レコグナイザのトレーニングのために一般的入力サンプルを用いることがある。例えば、手書きレコグナイザは、無作為に選択したグループによって提供された筆記サンプルを収集することによってトレーニングすることがある。レコグナイザをトレーニングするこのような方法には、レコグナイザができる限り多くの人に使用できるように調整されるという点で有利である。レコグナイザは、種々人々から収集されたサンプルの数が多いほど、一般的な使用について、より頑健になる。
しかしながら、レコグナイザのトレーニングのためのかかる方法にはいくつかの欠点がある。レコグナイザは一般的筆記サンプルでトレーニングされるので、個別のユーザは認識エラーを感じることがあり、とくにそのユーザが一般的サンプルから考えた場合むしろ別の文字に似ていると考えられる文字を書く場合、エラーとなることがある。例えば、あるユーザは文字”u”を一般的サンプルからの文字”n”のように書くことがある。そのユーザが一般的サンプルでトレーニングされたレコグナイザに合わせるために自分の筆跡を変えることができない限り、ユーザはこのような認識エラーを修正することはできないだろう。ユーザは、例えば、テキスト翻訳を”yon”から”you”に訂正して、誤りを含む個別の単語のテキスト翻訳を訂正することによってかかるエラーを訂正することができるだけである。しかしこれでは特定の入力文字の誤認識という根本的な認識エラーを修正することはできない。誤認識単語をいちいち訂正することは、とくに同じエラーが繰り替えされると、レコグナイザがこれらの訂正から個人の筆跡の形状の微妙な差異を学習しているとは思えず、ユーザの苦痛の種となる可能性がある。
高度な入力方法は、レコグナイザをトレーニングするのに用いられる一般言語モデルも提供することができる。この言語モデルはユーザ独特の語彙を使用しないこともある。加えて、ユーザが作ったeメール、文書およびURLなどのユーザの語彙のいくつかのキーソースは、一般的言語モデルで表現されないこともある。例えば、eメールアドレスは特定の言語の言語規則または語彙に合致しない。例えば、単語の間にスペースを要求する英語の言語規則はeメールアドレスには適用されない。同様に、ユニフォームリソースロケータ(URL)は特定の言語の言語規則または語彙に合致しない。結果として、一般言語モデルは、これらの種類の入力を正確に認識する能力が制限されることになる。したがって、ユーザは一般的言語モデルを使用すると、これらの種類の入力について低い認識精度になってしまい、不満足な経験を持つ場合がある。
入力の認識においてより高い精度が達成できるように、高度な入力方法について個別のユーザがどのように書き、個別のユーザが何を書くかを意識させる方法が必要とされる。加えて、かかるシステムでは、ユーザがシステムに書き込み、テキストを作成する際に、レコグナイザの動的適応をサポートするべきである。
本発明をまとめると、本発明は手書き認識パーソナル化の改善されたシステムと方法を提供するものである。このシステムと方法は、ユーザによって書かれたインクと、ユーザによって作成されたテキストを用いてトレーニング可能なレコグナイザをパーソナル化することができる。この目的のために、本発明は、レコグナイザのトレーニングのためのユーザのインクと作成された情報を収集、格納、およびアクセスするためのコンポーネントと、インターフェースを有する枠組み(framework)とを提供する。提供されるコンポーネントの中には、各種のアプリケーションに結合して操作可能とされたパーソナル化サービスエンジン、データベースおよび記憶装置(storage facility)、レコグナイザ、およびレコグナイザのためのトレーナを含めることができる。
パーソナル化サービスエンジンは、パーソナル化サービスインターフェース、インクサービスエンジン、採集(harvesting)サービスエンジン、およびトレーニングされたデータエンジンを含むことができる。インクサービスエンジンはコレクタからインクを受け取り、収集されたインクをインクデータベースに格納する。採集サービスエンジンはユーザが作成したテキストを収集し、収集したテキストを採集サービスデータベース内に格納することができる。さらに、本発明によって提供された枠組みは、どのアプリケーションまたは実行可能なコードも認識精度を向上させるために、ユーザのインクまたは作成したテキストを供給することを可能にする。かかるアプリケーションはパーソナル化ウィザード、インクビューアおよびその他のアプリケーションを含むことがある。データベースと記憶装置には、ユーザのインクを格納するためのインクデータベース、レコグナイザによって使用されるトレーニングされたデータを格納するためのトレーニングされたデータデータベース、オペレーティングシステムとプログラム設定を格納するためのレジストリ、言語情報を格納するためのハーベストサービスデータベース、およびコンピュータシステムによって一般的に使用されるディスクストレージが含まれる。
トレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナおよびユーザによって供給されたインクデータを用いる一般的なレコグナイザのコンポーネントをチューニングするための形状トレーナを含むことができる点で有利である。トレーナの各々は、1つまたは複数の特定のレコグナイザをトレーニングすることができる複数のトレーナクライアントをロードすることができる。さらに、プラグ可能なトレーナをサポートする枠組みを提供することによって、トレーニング可能なレコグナイザはユーザによって作成された採集情報と、ユーザによって書かれたインクとを用いて動的にパーソナル化することができる。
本発明のアーキテクチュアは、パーソナル化サービスエンジンがユーザのインクと作成したテキストを自動的に収集して、認識をパーソナル化するためのユーザデータのレポジトリを生成することを可能にすることができる。さらに、アーキテクチュアは、ユーザがシステムに書き込み、テキストを作成する際に、トレーニング可能なレコグナイザの動的適応をサポートする。その他の利点は、付属の図面を参照して、下記の説明を読むことによって明らかになるだろう。
(例示的運用環境)
図1に本発明を実施できる適切なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲を制限しようとするものではない。またコンピューティング環境100は、例示的動作環境100に図示されたコンポーネントのいずれかまたはその組み合わせに関する依存あるいは要求を有するものと解釈するものでもない。
本発明は、多数の他の汎用または専用のコンピューティングシステム環境または構成でも動作することができる。本発明の使用に適している周知のコンピューティングシステム、環境および/または構成の例は、それらに限定はしないが、パーソナルコンピュータ、サーバーコンピュータ、ハンドヘルドまたはラップトップデバイス、タブレットデバイス、ヘッドレスサーバー、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能なコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む。
本発明は、プログラムモジュールなど、コンピュータで実行することができるコンピュータ実行可能命令の一般的コンテキストで説明することができる。通常、プログラムモジュールはルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などであり、それらは特定のタスク、あるいは特定の抽象データ型を実行する。本発明は、通信ネットワークを介して接続した遠隔処理装置によってタスクが実行される分散コンピューティング環境で実施してもよい。分散コンピューティング環境において、プログラムモジュールはメモリストレージデバイスを含むローカルおよび/または遠隔コンピュータ記憶媒体の中に置いてもよい。
図1に示す通り、本発明を実施するための例示的システムはコンピュータ110の形式の汎用コンピューティングデバイスを含んでいる。コンピュータ110のコンポーネントは、処理ユニット120、システムメモリ130,およびシステムメモリを含む各種のシステムコンポーネントを処理ユニット120に結合するシステムバス121を含むが、それらに限定はしない。システムバス121は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および多種多様なバスアーキテクチャのいずれかを使用するローカルバスを含むバス構造の複数の種類のいずれかである。例として、かかるアーキテクチャに含まれるのはインダストリアルスタンダードアーキテクチャ(ISA)バス、マイクロチャンネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびメザニンバスとしても知られているペリフェラルコンポーネントインターコネクト(PCI)バスであるが、これに限定しない。
コンピュータ110は典型的には多種多様なコンピュータ読取可能な媒体を含んでいる。コンピュータ読取可能な媒体は、コンピュータ110がアクセスすることができる利用可能な媒体であり、揮発性および非揮発性の媒体、および取外し可能または固定な媒体を含んでいる。例として、コンピュータ読取可能な媒体はコンピュータ記憶媒体および通信媒体を含むが、これに限定しない。コンピュータ記憶媒体はコンピュータ読取可能な命令、データ構造、プログラムモジュールまたはその他のデータなどの情報記憶方法または技術によって実装された揮発性および非揮発性媒体、取外し可能および固定な媒体を含んでいる。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ装置、CD−ROM、デジタル多用途ディスク(DVD)その他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク装置またはその他の磁気記憶装置、または所望の情報を格納するのに使用可能で、コンピュータ110がアクセスすることができるその他いっさいの媒体を含むが、それらに限定しない。通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波またはその他のトランスポート機構などの変調データ信号の形で典型的に具体化し、情報送達媒体を含んでいる。「変調データ信号」とは、情報を信号で符号化するようの方法で設定または変更された特性を1つまたは複数有する信号を意味する。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音声、RF、赤外線およびその他の無線媒体などの無線媒体を含むが、これに限定しない。上記のいずれかの組み合わせもコンピュータ読取可能な媒体の範囲に含まれる。
システムメモリ130は、リードオンリメモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。起動時などに、コンピュータ110内の要素の間で情報を伝達するのを助ける基本ルーチンを含んでいる基本入出力システム(BIOS)133は、典型的にはROM131の中に格納される。RAM132は、即時アクセス可能な、および/または処理ユニット120によって現在操作されているデータおよび/またはプログラムモジュールを典型的に含んでいる。例としては、これに限定されるものではないが、図1はオペレーティングシステム134,アプリケーションプログラム135,その他のプログラムモジュール136およびプログラムデータ137を図示している。
コンピュータ110は、その他の取外し可能/固定、揮発性/不揮発性コンピュータ記憶媒体も含んでいることがある。例として、図1は固定の不揮発性磁気媒体から読取るか書き込むハードディスクドライブ141、取外し可能な不揮発性磁気ディスク152から読取るか書き込む磁気ディスクドライブ151、CD ROMまたはその他の光媒体などの取外し可能な不揮発性光ディスク156から読取るか書き込む光ディスクドライブ155を図示している。例示的な運用環境で使用可能なその他の取外し可能/固定、揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM、などが含まれるがそれらに限定されない。ハードディスクドライブ141は、インターフェース140などの固定メモリインターフェースを介してシステムバス121に典型的に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、インターフェース150などの、取外し可能メモリインターフェースによってシステムバス121に典型的に接続されている。
先に説明し、図1に図示したドライブ類とそれらに組み合わされたコンピュータ記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよびコンピュータ110のためのその他のデータのストレージを提供する。図1において、例えば、ハードディスクドライブ141は、オペレーティングシステム144,アプリケーションプログラム145、その他のプログラムモジュール146およびプログラムデータ147を格納するものとして説明されている。なおこれらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136およびプログラムデータ137と同一でも異なっていてもよい。ここでオペレーティングシステム144,アプリケーションプログラム145、その他のプログラムモジュール146およびプログラムデータ147に別々の番号が付与されているのは、最低限、それらが異なるコピーであることを示すためである。ユーザはタブレット、または電子デジタイザ、164、マイクロフォン163、キーボード162、および広くマウスと称されるポインティングデバイス161、トラックボールまたはタッチパッドなどの入力装置を介して、コンピュータ110にコマンドまたは情報を入力してもよい。図1に図示されていないその他の入力装置は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、あるいはバイオメトリクスセンサ、環境センサ、位置センサ、またはその他の種類のセンサを内蔵した装置を含むその他の装置を含んでいることがある。これらおよびその他の入力装置は、システムバスに結合されたユーザ入力インターフェース160を介して処理ユニット120に接続されていることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)などのその他のインターフェースまたはバス構造によって接続してもよい。モニタ191またはその他の種類のディスプレイ装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタ191はタッチスクリーンパネルなどを組み込んでもよい。なお、モニタおよび/またはタッチスクリーンパネルは、タブレット型パーソナルコンピュータ内などの、コンピューティングデバイス110が組み込まれた筐体に物理的に結合してもよい。加えて、コンピューティングデバイス110などのコンピュータは、スピーカ195およびプリンタ196などのその他の周辺出力装置を含んでいてもよく、それらは出力周辺インターフェース194などを介して接続してもよい。
コンピュータ110は、遠隔コンピュータ180などの、1つまたは複数の遠隔コンピュータへの論理接続を用いるネットワーク化された環境内で操作してもよい。遠隔コンピュータ180は、パーソナルコンピュータ、サーバー、ルータ、ネットワークPC、ピアデバイスまたはその他の共通ネットワークノードとすることができるし、図1にはメモリ記憶装置181だけを図示したが、典型的にはコンピュータ110に関して先に述べた要素の多くまたは全てを含んでいる。図1に示した論理接続は、ローカルエリアネットワーク(LAN)171とワイドエリアネットワーク(WAN)173を含んでいるが、他のネットワークも含むこともある。かかるネットワーク化環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットとインターネットでは通常のことである。LANネットワーク環境内で使用するとき、コンピュータ110はネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境内で使用するとき、コンピュータ110はインターネットなどの、WAN173上での通信を確立させるためのモデム172またはその他の手段を典型的には含んでいる。内蔵または外部のモデム172は、ユーザ入力インターフェース160またはその他の適切なメカニズムを介してシステムバス121に接続してもよい。ネットワーク環境内で、コンピュータ110に関して説明したプログラムモジュール、またはその一部は、遠隔メモリ記憶装置内に格納してもよい。例としては、これに限定されるものではないが、図1は遠隔アプリケーションプログラム185がメモリデバイス181上に存在するものとして説明している。なお、図示されたネットワーク接続は例示的なものであり、コンピュータの間で通信リンクを成立させるその他の手段を用いてもよい。
(手書き認識パーソナル化)
本発明は、一般的に手書き認識パーソナル化(personalization)のためのシステムと方法を目的とする。システムと方法はユーザによって書かれたインクとユーザによって作成されたテキストを用いてトレーニング可能なレコグナイザをパーソナル化(personalize)してもよい。ユーザがどのように書き、ユーザが何を書くかについてレコグナイザを調整することによって、レコグナイザはユーザの手書き認識がより正確になることがある。この目的のために、本発明はユーザのインクとレコグナイザのトレーニングのために認証された情報を収集、格納、およびアクセスするためのインターフェースを備えたコンポーネントを提供する。本書において、インクは書かれた文字の形状または単語を一般的に意味する。トレーニング可能なレコグナイザは明示的に、または黙示的にパーソナル化される。本書において、黙示的パーソナル化は、ユーザが提供したテキストを用いずに、あるいはユーザのマシーンから自動的に収集されたテキストを用いて収集されたユーザのインクによって、レコグナイザをトレーニングすることを意味する。明示的パーソナル化は、ユーザが提供したテキストで収集されたユーザのインクでレコグナイザをトレーニングすることを意味する。
後述のとおり、本発明のアーキテクチュアは認識をパーソナル化するためのユーザデータのレポジトリを生成するために、パーソナル化サービスエンジンがユーザのインクと、作成されたテキストとを自動的に収集できるようにする。一般的に、本書において、ユーザデータとは、ユーザが作成したデータを意味し、ユーザが作成したテキスト、ユーザのインクおよび関連テキスト、または認識の結果またはユーザが提供したテキストを意味する場合もあり、インクを取込んだソースアプリケーション、訂正コンテキスト、文書名などのユーザが作成したデータに関するコンテキスト情報を含むユーザが通常作成したテキストが含まれる。本発明は、どのアプリケーションまたは実行可能なコードもユーザのインクまたは作成されたテキストを供給するためのインターフェースを備えた枠組みを提供し、認識精度を向上させる。さらに、対応するプラグ可能なトレーナを提供することによって、トレーニング可能なレコグナイザはユーザが作成した採集情報およびユーザが書いたインクを用いて動的にパーソナル化してもよい。理解されるように、本書に説明した各種のブロック図、フローチャートおよびシナリオは例に過ぎず、本発明が適用されるシナリオは他にも多数ある。
図面の図2に戻って、手書き認識のパーソナル化のためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図が示されている。当業者には自明のごとく、図内に図示されたブロック内で実装される機能は別個のコンポーネントとして実装してもよい、あるいはブロックのいくつかおよび全ての機能を単一のコンポーネント内で実装してもよい。一例として、パーソナル化サービスエンジン210内の採集(harvesting)サービスエンジン216は、別個のコンポーネント内で実装してもよい。またはインクビューア206の機能は、パーソナル化コントロールパネル204内に含めてもよいし、またはパーソナル化コントロールパネル204の機能は、パーソナル化ウィザード202の中に含めてもよい。
図2に示したパーソナル化サービスエンジン210は、パーソナル化サービスインターフェース212、インクサービスエンジン214、採集サービスエンジン216、およびトレーナクライアントからのトレーニングされたデータを格納するためのトレーニングされたデータエンジン217を含むことがある。パーソナル化サービスエンジン210は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードとしてもよい。パーソナル化サービスインターフェース212は、アプリケーションプログラムインターフェース(API)、オブジェクト、コントロールまたはその他の実行可能なコードとすることができる。パーソナル化サービスインターフェース212は、インクデータベース226からユーザのインクを検索するためのQueryInkおよびEnumerateInk、ユーザのインクをインクデータベース226に追加するAddInkなどの呼び出し可能なインターフェースを含めることによって、ユーザのインクおよび関連するデータの追加、削除またはクエリへのアクセスを提供してもよい。パーソナル化サービスインターフェース212は、SetおよびGetなどの呼び出し可能なインターフェースを含めることによって、レジストリ230にパーソナル化設定を設定するかレジストリ230から取得するアクセスを提供してもよい。パーソナル化サービスインターフェース212は、データのトレーニングのためのTrainおよびトレーニングされたデータデータベース228からトレーニングされたデータをロードするためのGetTrainedDataなどの呼び出し可能なインターフェースを含めることによって、トレーニングを行い、トレーニングされたデータのロードするためのアクセスを提供することもある。インクサービスエンジン214は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクト、などを含む、どの実行可能なソフトウェアコードとしてもよい。インクサービスエンジン214は、コレクタからインクを受取り、収集されたインクをインクデータベース226内に格納することができる。採集サービスエンジン216は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクト、などを含む、どの実行可能なソフトウェアコードとしてもよい。採集サービスエンジン216は、ユーザによって作成されたテキストを収集し、収集されたテキストを採集(harvesting)サービスデータベース232内に格納してもよい。
パーソナル化サービスエンジン210は、各種のアプリケーション、データベースと記憶装置、レコグナイザ、およびレコグナイザのためのトレーナに結合して操作可能としてもよい。データベースと記憶手段内に含められるのは、ユーザのインクを格納するためのインクデータベース226、レコグナイザによって用いられたトレーニングされたデータを格納するためのトレーニングされたデータデータベース228,オペレーティングシステムとプログラム設定を格納するためのレジストリ230、言語情報を格納するためのハーベストサービスデータベース232、コンピュータシステムによって一般的に使用されるディスクストレージ236である。
トレーナは、テキストコンテンツを用いるレコグナイザの辞書を補強するためのテキストトレーナ218およびユーザによって供給されたインクデータを用いる一般レコグナイザコンポーネントを調整するための形状トレーナ220を含むことができる。1つまたは複数のトレーニング可能なレコグナイザ234も存在することがある。レコグナイザは、インクとユーザによって作成されたテキストなどのユーザのデータで、レーニングを受ける能力を有するときはトレーニング可能なレコグナイザとしてもよい。レコグナイザがトレーニング可能なレコグナイザであり、パーソナル化が有効であるとき、ユーザのインク入力の認識にパーソナル化されたレコグナイザを使用する。パーソナル化が無効であるとき、パーソナル化されていないレコグナイザを使用する。
各種のアプリケーションの中には、パーソナル化ウィザード202、パーソナル化コントロールパネル204、インクビューア206,およびその他のアプリケーション208もある。パーソナル化ウィザード202は、アプリケーション、コンポーネント、あるいはユーザからデータを明示的に収集し、ユーザがレコグナイザをトレーニングできるようにするためのグラフィカルユーザインターフェースを提供するようなその他の実行可能なコードとしてもよい。収集されたデータは、翻訳したテキストとともにユーザのインクのこともある。収集されたデータは、ユーザが作成したテキストからのユーザの単語のこともある。パーソナル化ウィザード202は、収集されたデータを格納のためにパーソナル化サービスエンジン210に提供することもできる。ユーザがパーソナル化ウィザード202の操作をやめると、このアプリケーションはレコグナイザのトレーニングのためにパーソナル化サービスエンジン210に要求してもよい。次に、パーソナル化サービスエンジン210が、収集されたデータの言語をサポートする各々のトレーニング可能なレコグナイザのトレーナを呼び出すことができる。
ユーザは、パーソナル化コントロールパネル204内のレコグナイザのトレーニングを明示的に要求してもよい。パーソナル化コントロールパネル204は、アプリケーション、コンポーネント、あるいはユーザがパーソナル化サービスエンジン210によって提供されたサービスの個別設定を有効または無効にすることができるようにするためのグラフィカルユーザインターフェースを提供するようなその他の実行可能なコードとしてもよい。例えば、パーソナル化コントロールパネル204は、ユーザによって作成されたテキストの採集、黙示的なパーソナル化、レコグナイザのトレーニング、およびパーソナル化された認識を有効または無効にすることができる。一実施形態において、レコグナイザのトレーニングを無効にすることで全ての現在および将来のレコグナイザのトレーニングが停止することがあるが、それでもインクとテキストの全ての収集を継続することができる。このことで、明示的に要求するまで、有利にレコグナイザのトレーニングを遅らせることができる。この実施形態において、ユーザはトレーニングが無効になるまで利用可能であったパーソナル化された認識を体感し続けることができる。トレーニングを再び有効にすることにより、この実施形態ではトレーニングが無効になる前の時点からトレーニングを継続することができる。
ユーザは、パーソナル化コントロールパネル204を用いるパーソナル化を無効にして、レコグナイザを使用しないことを選択してもよい。パーソナル化された認識を停止することによって、システムはパーソナル化の前のデフォルトレコグナイザに戻ることもある。一実施形態において、パーソナル化された認識が停止されている間に、インクまたはテキストの収集が継続することがある。この実施形態では、パーソナル化を再設定または無効にしないで、特定の認識タスクのために、ユーザがパーソナル化されていないレコグナイザを一時的に用いることができる。この実施形態において、パーソナル化された認識を再び有効にすることにより、パーソナル化の無効の間に、収集された全てのデータでトレーニングしたパーソナル化されたレコグナイザを用いるパーソナル化された認識をユーザが経験することもできる。さらに別の実施形態において、パーソナル化を無効にすることにより、テキストの採集、明示的および黙示的なパーソナル化、レコグナイザのトレーニング、およびパーソナル化されたレコグナイザの使用を完全に無効にしてもよい。この実施形態において、システムはパーソナル化の前のデフォルトレコグナイザに戻ることがある。収集されトレーニングされたユーザデータも、この実施形態においては廃棄されることがある。パーソナル化を再び有効にすることにより、ユーザがデフォルトレコグナイザの状態からパーソナル化を始めることもできる。
インクビューア206も、パーソナル化サービスエンジン210に結合された各種のアプリケーションの中に含めてもよい。インクビューア206は、別個のアプリケーションあるいはパーソナル化コントロールパネル204のコンポーネントのことがある。インクビューア206は、ユーザがパーソナル化のために格納されたインクおよびそれに関連する翻訳テキストを管理、閲覧、検索および編集するためのグラフィカルユーザインターフェースを提供することができる。インクビューア206は、インクデータベース226内に格納されたユーザのインクおよび関連するデータのクエリ、追加または削除のためにパーソナル化サービスインターフェース212を呼び出すことがある。インクビューアは、それによって明示的パーソナル化を提供することがある。パーソナル化サービスエンジン210に結合されたその他のアプリケーション208は、ユーザのインクが認識されたときはいつでも、ユーザのインクを黙示的に収集することがある。タブレット入力パネル(TIP)は、かかるアプリケーションの1つの例である。ユーザはTIPに手書き文字を入力してもよい。次にTIPがそれをレコグナイザ234に送り、またそれをパーソナル化サービスエンジン210に送ることもできる。ユーザのインクについて追加情報を提供するために、追加情報もパーソナル化サービスエンジン210に送られることがある。例えば、追加情報は、収集タイムスタンプ、認識されたテキスト、訂正されたテキスト、言語、代案が選択されたか、ターゲットフィールドがテキストフィールドであったか否か、ユーザが認識されたテキストを見て、その送信の前にこのインクについてテキストを訂正するオプションを有するか否か、インクを格納したときのタイムスタンプなどを含めることができる。当業者には自明のごとく、ユーザのインクはその他のかかる追加情報を含むことができ、手書き文字を入力として受け入れるその他のかかるアプリケーションによって、暗黙の内に収集することができる。
図3は、手書き認識パーソナル化のためのインクを収集するためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。当業者には自明のごとく、図示されたブロック内で実装された機能は、別個のコンポーネントとして実装してもよい、あるいはいくつかまたは全てのブロックの機能は、単一のコンポーネント内で実装されることもある。例えば、インクビューア206の機能は、パーソナル化ウィザード202内に含めてもよい。
インクサービスエンジン214は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードであってもよい。一般的に、インクサービスエンジン214は、さまざまなコレクタからインクを受取り、収集したインクをインクデータベース226内に格納することがある。インクサービスエンジン214は、インクと関連するデータをインクデータベース226内に追加するためのAddInkなどのパーソナル化サービスインターフェース212にアクセスすることがある。インクサービスエンジン214は、スケジューラ302を含んでいることがある。インクサービスエンジンのスケジューラ302は、収集されたインクのレコグナイザのトレーニングを予定することがある。スケジューラは、特定量の新しいインクが収集されたときはいつでも、特定数の訂正が発生したときはいつでも、タイマーを用いて、あるいはその他の仕方で、定期的にトレーニングを予定することがある。タイマーを用いる場合、タイマーのための設定は、どれくらい頻繁にトレーニングが発生すべきかを指示するためのトレーナのセットアップ時に、レジストリ内に作成されることがある。
インクはパーソナル化ウィザード202によって明示的に、あるいは手書き文字を入力として受け入れるアプリケーション208によって黙示的に、などのようにさまざまなアプリケーションから収集されることがある。インクビューア206は、インクデータベース226内に格納されたインクとその関連テキストを編集することによって、明示的パーソナル化をさらに提供することがある。パーソナル化ウィザード202は、予め定義された文字分布に合致する数行のテキスト(スクリプト)を書き込むようにユーザに促して、ユーザの文字の形状またはインクを収集することがある。ユーザがしばしば使用することがある単語のインク、および通常言語の単語ではない単語(すなわち、人名、製品名、社名、頭字語、および略語)のインクも、パーソナル化ウィザード202によってユーザから明示的に収集されることがある。インクデータベースは、認識されたもとの返却テキスト、訂正テキスト(入手可能なとき)、フィールド入力種別(テキストフィールド、ドローイングフィールド)、ガイド、アプリケーション種別、収集された日付と時間、言語種別、訂正するオプションがあったか否か、ユーザが確認されたか否か、などの追加情報をインクと共に格納することもある。かかる追加情報は、レコグナイザのトレーニングに、とくに翻訳テキストなしに収集されたインクにとって有益な場合がある。
レコグナイザのパーソナル化は、ユーザから収集したインクを用いるトレーニングプロセスによって実行されることがある。レコグナイザをパーソナル化するトレーニングプロセスは、通常個別のレコグナイザに特有のものであり、トレーニングプロセスは異なるレコグナイザについて同一であってもなくてもよい。例えば、1つのレコグナイザが異なる文字セットを持つこともあれば、あるいは別のレコグナイザからの異なるトレーニングコードを持つこともある。一般的には、特定のトレーナは、それぞれのレコグナイザにプラグ可能なトレーナクライアント306として提供することができる。レジストリ230は、レコグナイザをそのトレーナクライアント306で割り付ける(map)パーソナル化設定を有することができる。
形状トレーナ220は、レコグナイザ内の一般レコグナイザコンポーネントを、ユーザによって供給されたインクデータに合わせる。このことは、ユーザがどのように書くかの認識においてレコグナイザをもっと正確にすることができる。形状トレーナ220は、トレーナマネージャ304と1つまたは複数のプラグ可能なトレーナクライアント306を含む場合がある。形状トレーナ220は、レコグナイザのトレーニングを要求するために呼び出されることがあるトレインインターフェース(Train interface)を露出させることがある。トレインインターフェースは、現在の入力言語についてユーザのマシーンで利用可能な全てのトレーニング可能なレコグナイザを列挙することができ、またその言語をサポートする見つけられた各々のトレーニング可能なレコグナイザのトレーナクライアント306を呼び出すことができる。
1つのトレーナマネージャ304しかないこともある。トレーナマネージャ304は、各々のレコグナイザのトレーナクライアントとインクサービスエンジン214の間に、薄いインターフェースレイヤーを提供することがある。トレーナマネージャ304は、インクを列挙して結果を保存するために、それを通じてトレーナクライアント306がインクサービスエンジン214(またはパーソナル化サービスエンジン210)と話をすることができる接続チャンネルを設定することができる。
システム上に設置された各々のレコグナイザは、動的にリンクされたライブラリまたはその他の実行可能なコードとすることができるプラグ可能なトレーナクライアント306を提供することができる。トレーニング可能なレコグナイザのセットアップの間に、トレーナクライアントはシステムと共に登録することがあり、レコグナイザをそのトレーナクライアント306とともに割り付ける設定は、レジストリ230内に保存することができる。それを介してトレーナクライアント306が会話をすることができるような接続チャンネルをトレーナマネージャ304が確立させた後、トレーナクライアント306はインクデータベース226と直接通信してもよいし、全ての利用可能なインクを介して列挙し、インクの操作を実行してもよいし、またトレーニングされたデータデータベース228内に結果を保存してもよい。結果の内部構造は、トレーナクライアントとその対応するレコグナイザには通常秘密である。一実施形態において、トレーナクライアント306はその独自のプロセス空間内で実行されて、起こり得るいっさいの有害な挙動が隔離され、クリーンアップが容易に制御することができるようになる。
トレーナクライアント306は、呼び出されると利用可能なデータに基づいてトレーニングするか否かを決定してもよい。トレーナクライアント306は、十分なデータが利用できないとき、あるいは利用可能なデータがトレーニングに要求される特定の基準を満たしていないとき、トレーニングしないと決定することができる。トレーニングが実行されると、トレーナクライアント306はトレーニングされたデータデータベース228の中にトレーニングの結果を格納することができる。
トレーニング中にユーザがシステムを停止するかログオフしたとき、パーソナル化サービスエンジン210はトレーニングが行われていることを示す通知をユーザに送ることがある、またトレーニングを継続するか、あるいはトレーニングを停止するかをユーザに提案することができる。ユーザがトレーニングを停止すると、一時的にトレーニングされたデータが削除される場合がある。次回ユーザがログオンしたとき、ユーザがパーソナル化コントロールパネルからトレーニングを再開することを示唆するトレーニング通知をユーザに表示することができる。
図4は、手書き認識パーソナル化のためのテキストを採集するためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。当業者には自明のごとく、この図に図示されたブロック内で実装された機能は別個のコンポーネントとして実装されることがある、あるいはいくつかまたは複数のブロックの機能は単一のコンポーネント内で実装されることがある。例として、レジストリ監視モジュール(registry watcher)402の機能とディスクスキャナ404の機能は、同一のコンポーネント内で実装してもよい。一般的に、採集サービスエンジン216は、ユーザのマシーン上で利用可能なユーザが書いた単語を収集し、これらの単語でレコグナイザの辞書を補強する。言語モデルをこのようにユーザに合わせることによって、レコグナイザはユーザが書いたものの認識がもっと正確になることがある。したがって、取り込まれた文書がユーザによって作成されることが重要である。
採集サービスエンジン216は、カーネルコンポーネント、アプリケーションコンポーネント、リンクされたライブラリのコンポーネント、オブジェクトなどを含む実行可能なソフトウェアコードとしてもよい。採集サービスエンジン216は、アプリケーションあるいはコンポーネントによって取り込まれたテキストについての更新メッセージの更新メッセージキューを管理することがあり、更新によって採集サービスデータベース232を更新することがある。またそのとき変更を採集クライアント418に通知することがある。採集サービスエンジン216は、レジストリ監視モジュール402、ディスクスキャナ404、アプリケーション採集モジュール406、およびクライアントハンドラ408を含むことがある。クライアントハンドラ408は、動的にリンクしたライブラリまたはその他の実行可能なコードとして実装してもよいし、また採集サービスデータベース232の最近の変更とアクセスの両方を登録採集クライアントに送るのに用いてもよい。レジストリ監視モジュール402は、オブジェクトとして実行されることがあり、レジストリ230内の各種のリストへの変更を監視する責任がある。例えば、レジストリ230内に保管されたオペレーティングシステムシェルとインターネットブラウザによって用いられた、ユニフォームリソースロケータ(URLs)のリストまたはeメールアドレスのリストなどの、リストが存在することがある。一実施形態において、別個のコンポーネントがインターネットブラウザから直接URLsを採集することがある。レジストリ監視モジュール402は、かかるリストに対する変更があれば検出することがあり、そして採集サービスデータベース232を更新するために、採集サービスエンジン216にこれらの変更を提供することがある。ディスクスキャナ404は、オブジェクトとして実装することが可能であり、ディスク236内に格納された文書の採集に責任がある。一実施形態において、ディスクスキャナ404は、ディスク上の文書の更新に注意するためにReadDirectoryChangesWのようなファイルシステムAPIなどのインターフェースを用いることがある。この実施形態において、システム上の固定ディスクドライブあたり1つのスレッドが存在することがあり、リスニングスレッドはディスク上のファイルの変更を通知されるそれぞれの固定ドライブについて、ルートディレクトリ上のReadDirectoryChangesWを呼び出すことがある。ディスク上のファイルの変更を通知されたとき、リスニングスレッドは更新メッセージキューに更新メッセージを追加し、ついでリスニングに復帰してもよい。アプリケーション採集モジュール406は、オブジェクト、動的にリンクしたライブラリまたはその他の実行可能なコードとして実装してもよく、アプリケーション採集モジュール406に更新情報を送信するためのIHarvestインターフェースなどのインターフェースを呼び出すアプリケーションから送られたテキスト更新に関する更新メッセージを受取ることがある。IHarvestインターフェースは、アプリケーションプログラムインターフェース(API)、オブジェクト、コントロールまたはアプリケーション採集モジュール(harvester)406によって利用可能になったその他の実行可能なコードとしてもよい。例として、TIPアプリケーションは、IHarvestインターフェースを呼び出すことによって、アプリケーション採集モジュール406に認識されたテキストの訂正などのテキスト更新情報を直接送ることがある。この実施形態は、かかる情報をローカルに格納しないことがあるeメールなどのアプリケーションにおいて特に有益である。
文書の採集は、ユーザ指定または自動とすることができる点が有利である。自動採集は周期的に実行され、ディスク全体236が走査されるまで継続することができる。ユーザ指定された採集は、そこから採集するディレクトリの配列を入力として取るAPIなどのインターフェースを用いて実施されることもある。インターフェースは、ユーザによって指定されたディレクトリの採集を開始するスレッドを作成してもよい。インターフェースはスレッドの作成に成功したらすぐに呼び出し側に復帰する場合があリ、採集は要求とは非同期に実行することができる。
採集サービスデータベース232は、テキストデータベース410、非テキストデータベース412、およびディスクドキュメントデータベース414を含んでもよい。ディスクドキュメントデータベース414は、最近採集したドキュメントおよびその情報を格納することもできる。ここで、このドキュメントおよび情報を入力範囲と称する。入力範囲とは、ドキュメントの名前、格納した場所のパス、採集したアプリケーション、言語、採集した日付、採集した時間、ドキュメントへのアクセス数の計数、ドキュメントのテキストの列挙などである。ドキュメントのテキストの列挙は、可変長データである可能性、および、非常に大きくなる可能性があることを考慮し、別個のファイルに格納してもよい。一実施形態では、採集したドキュメントのうちごく最近使用した特定数を格納する。新規ドキュメントを採集し、ドキュメントの数がこの特定数を超えるのであれば、最も古いドキュメントをテキストデータベース410に移動させ、この新規ドキュメントをディスクドキュメントデータベース414に入れる。テキストデータベース410は、採集した全ドキュメントおよび列挙されたテキストを含む各ドキュメントの入力範囲情報を格納するレポジトリであってもよい。一実施形態では、テキストデータベース410は、一組のレコードであってよい。このレコードは、テキストデータの長さ、そのテキストデータを採集した日付、および、テキスト項目用のテキストデータを含む。非テキストデータデータベース412はテキストでない全てのデータのレポジトリとしてもよい。例えば、ある非テキスト項目は、URLまたは電子メールアドレスであってもよい。一実施形態において、非テキストデータベース412は、一組のレコードであってよい。このレコードは、採集した非テキスト項目、前回発生した日付、および発生数を含む。この実施形態では、最新の更新レコードを含むある特定のサイズの小さなファイルが存在してもよく、また、採集した非テキスト項目の全レコード用のレポジトリファイルがあってもよい。定期的な更新のみ行うように、この小さなファイルが一杯になったときに、ファイルのレコードとともにレポジトリを更新する。
採集サービスエンジン216は、テキストトレーナ218および採集クライアントマネージャ416と通信することができる。テキストトレーナ218については、オブジェクト、アプリケーション、動的リンクライブラリ、または他の実行可能なコードとして実装してもよい。また、レコグナイザ用辞書を補強するために採集サービスデータベース232へ採集して格納したテキストコンテンツを利用してもよい。採集クライアントマネージャ416は、オブジェクト、アプリケーション、動的リンクライブラリ、または他の実行可能なコードとして実装されてもよい。また、採集サービスエンジン216と採集クライアント418との間にインターフェースを提供することもできる。一実施形態では、採集クライアントマネージャ416は、動的リンクライブラリとして実装した採集クライアント418をロードすることができる。また、通信チャンネルをセットアップすることもできる。このチャンネルを介して採集クライアント418は、採集した情報を列挙し、トレーニング済みデータデータベースに単語数などの結果を保存するために、採集サービスエンジン216(またはクライアントハンドラ408)と通信することができる。一般的に、採集クライアント418とは、採集サービスデータベース232から取り込まれた情報をあるレコグナイザがその言語モデルを増やすために利用可能とすることによって、レコグナイザを支援するコードであってよい。しかし、当業者は、ある採集クライアントを利用して、話法、自然言語などといった他のアプリケーションの言語モデルを増加させてもよいことを理解できるであろう。採集クライアント418は、IharvesterDatabase等のインターフェースを利用して、採集した情報を列挙する。この情報は、採集クライアント418が所望する可能性があるものである。採集クライアント418は、IlanguageEnum等のインターフェースを利用し、ある特定の言語型用の採集情報を取得することもできる。
図5は、本システムが手書き認識をパーソナル化するために行うステップ例を全体的に示すフローチャートである。ステップ502で、ユーザがどのように書くかについて、また、ユーザが何を書くかについてのデータを収集する。パーソナル化サービスエンジン210は、ユーザのインクおよび変換テキスト、ならびにユーザが作成したテキスト項目および非テキスト項目を収集することもできる。特に、インクサービスエンジンは、何らかのパーソナル化ウィザードまたはその他のアプリケーションからユーザのインクとテキスト変換を収集することもできる。また、インクサービスエンジンは、手書き文字を受け付けるアプリケーションからユーザのインクを収集することもできる。採集サービスエンジンはシステムレジストリ、ディスクストレージまたはアプリケーションから採集したテキスト情報を収集することができる。ステップ504で収集したデータを格納する。パーソナル化サービスエンジン210は、ユーザのインクをインクデータベース226に、採集したテキストを採集サービスデータベース232に格納することができる。特に、インクサービスエンジンは、収集したインクをインクデータベース226に格納することができ、採集サービスエンジン216は、採集した情報を採集サービスデータベース232に格納することができる。
ステップ506で、レコグナイザをトレーニングする。パーソナル化サービスエンジン210は、収集したデータの言語をサポートするトレーニング可能な各レコグナイザのトレーナを呼び出して、トレーニングを実行することもできる。レコグナイザは、テキスト変換なしで収集したユーザのインクを用いてトレーニングされてもよい。あるいは、テキスト変換とともに収集したユーザのインクを用いてトレーニングされてもよい。収集および格納してあった採集情報を用いてレコグナイザをトレーニングしてもよい。特に、収集および格納したインクを用いるレコグナイザをトレーニングするために、形状トレーナを呼び出してもよく、また、収集および格納した採集情報を用いるレコグナイザの言語モデルをトレーニングするために、テキストトレーナを呼び出してもよい。ステップ508では、トレーナからのデータを格納することができ、また、レコグナイザにとって利用可能とすることもできる。ステップ510では、パーソナル化設定が効いているときはいつでも、ユーザのデータを用いてトレーニングしたパーソナル化したレコグナイザを手書き文字のために用いることもできる。
本発明のシステムおよび方法は、ユーザが書いたインクとユーザが作成したテキストを用いることによって、トレーニング可能なレコグナイザをパーソナル化することもできる点で有利である。ユーザがどのように書き、何を書くのかに合わせてレコグナイザを調整することによって、レコグナイザがユーザの手書き認識についてさらに正確とすることが可能である。本発明のシステムおよび方法は、対応するプラグ可能なトレーナを伴ったトレーニング可能などのレコグナイザにも拡張可能である。また、本発明のアーキテクチャは、ユーザがシステムに書込こんだり、テキストを作成するのに伴うトレーニング可能なレコグナイザの動的適応をサポートする。なお、手書きレコグナイザの実施形態についてこのアーキテクチャを説明したが、形状レコグナイザおよびジェスチャーレコグナイザのような他の種類のレコグナイザに用いてもよい。
前述した詳細な説明から理解できるように、本発明は、手書き認識のパーソナル化を提供するために改良したシステムおよび方法を提供する。本発明のアーキテクチャは、レコグナイザをトレーニングするためのユーザインクおよびユーザ作成情報を収集および格納し、アクセスするためのインターフェースを備えたコンポーネントおよび枠組みを提供する。このシステムと枠組みは、拡張可能であり、ユーザによって作成された外部ソースを含むいっさいのソースからのユーザデータを受け入れることもできる。また、プラグ可能なトレーナを提供するトレーニング可能なすべてのレコグナイザとともに用いることもできる。ここで理解されるように、本発明のシステムと方法は現代のコンピューティングに必要な多くの利点および利益を提供する。
本発明は、さまざまな変更構造および代替構造が可能であり、いくつかの具体例を図面に示し、詳細に上述した。しかし、本発明を開示した特定の形態に限定する意図はなく、反対に、本発明の精神と範囲内の全ての変更構造、代替構造、およびその等価物を対象とする意図を理解されるべきである。
本発明を組み込むことができるコンピュータシステムを一般的に表すブロック図である。 本発明の1つの態様にかかる手書き認識パーソナル化のためのシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。 本発明の1つの態様にかかる手書き認識パーソナル化のためにインクを収集するシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。 本発明の1つの態様にかかる手書き認識パーソナル化のためにテキストを取り入れるシステムコンポーネントの例示的アーキテクチュアを一般的に表すブロック図である。 本発明の1つの態様にかかる手書き認識パーソナル化のためのシステムによって行われた実施形態のステップを一般的に表すフローチャートである。

Claims (40)

  1. ユーザにより作成されたデータによって手書きレコグナイザをパーソナル化するためのインターフェースを有するコンポーネントと、
    前記データによって手書きレコグナイザをトレーニングするためにコンポーネントに結合して操作可能なトレーナと
    を備えたことを特徴とする手書き認識をパーソナル化するコンピュータシステム。
  2. ユーザにより作成された前記データを受取るための前記コンポーネントに結合して操作可能なアプリケーションをさらに備えたことを特徴とする請求項1に記載のシステム。
  3. 前記インターフェースは、永続的ストレージからインクを検索するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  4. 前記インターフェースは、永続的ストレージにインクを格納するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  5. 前記インターフェースは、永続的ストレージからテキストを検索するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  6. 前記インターフェースは、永続的ストレージにテキストを格納するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  7. 前記インターフェースは、永続的ストレージに格納されたインクを列挙するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  8. 是器インターフェースは、永続的ストレージに格納されたテキストを列挙するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  9. 前記インターフェースは、永続的ストレージからトレーニングされたデータをロードするインターフェースを含むことを特徴とする請求項1に記載のシステム。
  10. 前記インターフェースは、データのトレーニングを要求するインターフェースを含むことを特徴とする請求項1に記載のシステム。
  11. 前記インターフェースは、コンポーネントにデータを送るインターフェースを含むことを特徴とする請求項1に記載のシステム。
  12. 前記データは、インクを含むことを特徴とする請求項1に記載のシステム。
  13. 前記データは、テキストを含むことを特徴とする請求項1に記載のシステム。
  14. 前記コンポーネントは、インクを収集するエンジンを含むことを特徴とする請求項1に記載のシステム。
  15. 前記コンポーネントは、テキストを採集するエンジンを含むことを特徴とする請求項1に記載のシステム。
  16. 前記コンポーネントは、トレーニングされたデータを格納するエンジンを含むことを特徴とする請求項1に記載のシステム。
  17. 前記トレーナは、形状トレーナを含むことを特徴とする請求項1に記載のシステム。
  18. 前記トレーナは、テキストトレーナを含むことを特徴とする請求項1に記載のシステム。
  19. 前記アプリケーションは、パーソナル化ウィザードを含むことを特徴とする請求項2に記載のシステム。
  20. 前記アプリケーションは、インクビューアを含むことを特徴とする請求項2に記載のシステム。
  21. 前記アプリケーションは、テキストビューアを含むことを特徴とする請求項2に記載のシステム。
  22. 請求項1のシステムを備えたことを特徴とするコンピュータ実行可能コンポーネントを有するコンピュータ読取可能な媒体。
  23. 手書き認識パーソナル化のためにユーザによって作成されたデータを収集するステップと、
    前記収集されたデータを永続的に格納するステップと、
    前記格納されたデータを用いる手書きレコグナイザをトレーニングするステップと、
    前記トレーニングされたデータを永続的に格納するステップと
    を備えたことを特徴とする手書き認識をパーソナル化する方法。
  24. 前記トレーニングされたデータを用いて手書き文字を認識するステップをさらに備えたことを特徴とする請求項23に記載の方法。
  25. 前記データ収集ステップは、インクおよび翻訳テキストを収集するステップを含むことを特徴とする請求項23に記載の方法。
  26. 前記データを永続的に格納するステップは、インクを永続的に格納するステップを含むことを特徴とする請求項23に記載の方法。
  27. 前記データを永続的に格納するステップは、テキストと入力範囲とを格納するステップを含むことを特徴とする請求項23に記載の方法。
  28. 前記データを永続的に格納するステップは、eメールアドレスを永続的に格納するステップを含むことを特徴とする請求項23に記載の方法。
  29. 前記データを永続的に格納するステップは、URLを永続的に格納するステップを含むことを特徴とする請求項23に記載の方法。
  30. 前記トレーニングのステップは、前記収集されたデータの言語をサポートする各々のトレーニング可能な手書きレコグナイザのためのトレーナを呼び出し、前記格納されたデータを用いるトレーニングを実行するステップを含むことを特徴とする請求項23に記載の方法。
  31. 前記トレーナを呼び出すステップは、前記トレーナをロードするステップをさらに含むことを特徴とする請求項30に記載の方法。
  32. 前記トレーニングステップは、前記認識の間に手書きレコグナイザの言語モデルを更新するステップを含むことを特徴とする請求項23に記載の方法。
  33. 前記格納されたデータを用いる手書きレコグナイザをトレーニングするステップは、前記格納されたデータを用いる複数の手書きレコグナイザをトレーニングするステップを含むことを特徴とする請求項23に記載の方法。
  34. 請求項23に記載の方法を実行するためのコンピュータで実行可能な命令を有するコンピュータ読取可能な媒体。
  35. ユーザにより作成されたデータで複数のレコグナイザをパーソナル化するインターフェースを提供する手段と、
    前記データでレコグナイザをトレーニングする手段と
    を備えたことを特徴とする入力方法認識をパーソナル化するコンピュータシステム。
  36. 前記インターフェースを提供する手段は、ユーザによって作成されたデータを収集する手段を含むことを特徴とする請求項35に記載のシステム。
  37. 前記インターフェースを提供する手段は、ユーザによって作成されたデータを格納する手段を含むことを特徴とする請求項35に記載のシステム。
  38. 前記レコグナイザをトレーニングする手段は、ユーザによって作成され、格納されたデータを検索する手段を含むことを特徴とする請求項35に記載のシステム。
  39. 前記レコグナイザをトレーニングする手段は、前記レコグナイザに前記ユーザが入力を提供するときに前記レコグナイザをトレーニングする手段を含むことを特徴とする請求項35に記載のシステム。
  40. 前記レコグナイザをトレーニングする手段は、新しいレコグナイザをトレーニングするプラグ可能なトレーナをインストールする手段を含むことを特徴とする請求項35に記載のシステム。
JP2006536583A 2003-10-24 2004-07-28 手書き認識をパーソナル化するシステムと方法 Pending JP2007509418A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,259 US7379596B2 (en) 2003-10-24 2003-10-24 System and method for personalization of handwriting recognition
PCT/US2004/024361 WO2005045578A2 (en) 2003-10-24 2004-07-28 System and method for personalization of handwriting recognition

Publications (1)

Publication Number Publication Date
JP2007509418A true JP2007509418A (ja) 2007-04-12

Family

ID=34522344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536583A Pending JP2007509418A (ja) 2003-10-24 2004-07-28 手書き認識をパーソナル化するシステムと方法

Country Status (6)

Country Link
US (1) US7379596B2 (ja)
EP (1) EP1676186A4 (ja)
JP (1) JP2007509418A (ja)
KR (1) KR101002486B1 (ja)
CN (1) CN100472560C (ja)
WO (1) WO2005045578A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886266B2 (en) * 2006-04-06 2011-02-08 Microsoft Corporation Robust personalization through biased regularization
CN100461205C (zh) * 2007-01-08 2009-02-11 中国民航大学 基于高维空间凸锥构造的手写体文字识别方法
CN101286154B (zh) * 2007-04-09 2016-08-10 谷歌股份有限公司 输入法编辑器用户档案
US20080294652A1 (en) * 2007-05-21 2008-11-27 Microsoft Corporation Personalized Identification Of System Resources
CN100595780C (zh) * 2007-12-13 2010-03-24 中国科学院合肥物质科学研究院 一种基于模块神经网络的手写体数字自动识别方法
US8266078B2 (en) 2009-02-06 2012-09-11 Microsoft Corporation Platform for learning based recognition research
CN101882228A (zh) * 2010-06-25 2010-11-10 宇龙计算机通信科技(深圳)有限公司 一种识别手写轨迹的方法、系统及移动终端
US10235358B2 (en) 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
KR102221223B1 (ko) * 2013-08-26 2021-03-03 삼성전자주식회사 필기 컨텐츠를 작성하는 사용자 기기 및 방법
WO2015030461A1 (en) 2013-08-26 2015-03-05 Samsung Electronics Co., Ltd. User device and method for creating handwriting content
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
CN110968246A (zh) * 2018-09-28 2020-04-07 北京搜狗科技发展有限公司 中文智能手写输入识别方法及装置
CN113887631A (zh) * 2021-09-30 2022-01-04 北京百度网讯科技有限公司 图像数据处理方法、目标模型的训练方法、装置和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6172377A (ja) * 1984-09-17 1986-04-14 Toshiba Corp パタ−ン認識装置
JPH06223220A (ja) * 1993-01-26 1994-08-12 Hitachi Ltd 手書き文字入力装置
JPH0757040A (ja) * 1993-08-16 1995-03-03 Fujitsu Ltd Ocr付きファイリング装置
US5710832A (en) * 1991-06-17 1998-01-20 Microsoft Corporation Method and system for displaying handwritten data and recognized symbols
US6256410B1 (en) * 1998-07-30 2001-07-03 International Business Machines Corp. Methods and apparatus for customizing handwriting models to individual writers
JP2001256436A (ja) * 2000-03-08 2001-09-21 Ricoh Co Ltd 文字認識装置、方法、及び記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319721A (en) * 1992-04-14 1994-06-07 International Business Machines Corporation Methods and apparatus for evolving a starter set of handwriting prototypes into a user-specific set
US5630168A (en) * 1992-10-27 1997-05-13 Pi Systems Corporation System for utilizing object oriented approach in a portable pen-based data acquisition system by passing digitized data by data type to hierarchically arranged program objects
US6556712B1 (en) * 1996-05-23 2003-04-29 Apple Computer, Inc. Methods and apparatus for handwriting recognition
JP4267081B2 (ja) * 1997-10-20 2009-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分散システムにおけるパターン認識登録
US6484136B1 (en) * 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6172377A (ja) * 1984-09-17 1986-04-14 Toshiba Corp パタ−ン認識装置
US5710832A (en) * 1991-06-17 1998-01-20 Microsoft Corporation Method and system for displaying handwritten data and recognized symbols
JPH06223220A (ja) * 1993-01-26 1994-08-12 Hitachi Ltd 手書き文字入力装置
JPH0757040A (ja) * 1993-08-16 1995-03-03 Fujitsu Ltd Ocr付きファイリング装置
US6256410B1 (en) * 1998-07-30 2001-07-03 International Business Machines Corp. Methods and apparatus for customizing handwriting models to individual writers
JP2001256436A (ja) * 2000-03-08 2001-09-21 Ricoh Co Ltd 文字認識装置、方法、及び記録媒体

Also Published As

Publication number Publication date
WO2005045578A2 (en) 2005-05-19
EP1676186A2 (en) 2006-07-05
WO2005045578A3 (en) 2006-03-30
KR20060114286A (ko) 2006-11-06
CN1802648A (zh) 2006-07-12
US7379596B2 (en) 2008-05-27
CN100472560C (zh) 2009-03-25
KR101002486B1 (ko) 2010-12-17
US20050089227A1 (en) 2005-04-28
EP1676186A4 (en) 2011-11-23

Similar Documents

Publication Publication Date Title
CN107111516B (zh) 数字个人助理内的无头任务完成
US8056070B2 (en) System and method for modifying and updating a speech recognition program
CA2618547C (en) Use of multiple speech recognition software instances
KR101777392B1 (ko) 중앙 서버 및 이에 의한 사용자 음성 처리 방법
US7634720B2 (en) System and method for providing context to an input method
RU2525440C2 (ru) Основанные на языке разметки выбор и использование распознавателей для обработки произнесения
US20130144618A1 (en) Methods and electronic devices for speech recognition
US20040010409A1 (en) Voice recognition system, device, voice recognition method and voice recognition program
US9442920B2 (en) Speech translation system, dictionary server, and program
US11216292B2 (en) Adapting client application of feature phone based on experiment parameters
MXPA05004356A (es) Localizacion de lenguaje utilizando tablas.
CN1934539A (zh) 用于监控应用程序中的事件的基于简档的捕捉组件
JP2021524065A (ja) 局所的なテキスト応答マップを利用する、ユーザの口頭発話への応答のレンダリング
JP2002132284A (ja) 処理能力の限られたデバイスに対する代替入力デバイスとして連続スピーチ認識を提供する技術
JP2007509418A (ja) 手書き認識をパーソナル化するシステムと方法
CN112652302B (zh) 语音控制方法、装置、终端及存储介质
CN110691160A (zh) 一种语音控制方法、装置及手机
US7584169B2 (en) Method and apparatus for identifying programming object attributes
US5946499A (en) Method and apparatus for processing text inputs from multiple input devices in a plurality of applications
CN114780615A (zh) 错误码管理方法及其装置
US7814092B2 (en) Distributed named entity recognition architecture
US20040073540A1 (en) Method and architecture for consolidated database search for input recognition systems
US7624099B2 (en) Client-server word-breaking framework
JP3450598B2 (ja) 専門用語辞書選択装置
EP3799658A1 (en) Systems and methods for crowdsourced actions and commands

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705