(57)【要約】【課題】  既存のニューラル・ネットワークから、手書き認識のための新しいニューラル・ネットワークを構築することを可能にする。【解決手段】  所望の目標言語に基づいて、開始言語に既存のニューラル・ネットワークを選択する。ニューラル・ネットワークを修正して、目標言語の文字を認識するために用いることができるようにし、更に修正したニューラル・ネットワークを、目標言語の手書き認識装置に用いる。修正は、既存のニューラル・ネットワークの一次出力の１つ以上をコピーすることを含む。所望の目標言語に基づいて、しかるべき開始言語を選択することができる。加えて、多数の異なる言語から文字を認識するように構成されている比較的大型のニューラル・ネットワークである「スーパー・ネットワーク」を提供することができる。このようなスーパー・ネットワークを用いて、認識することを望む言語に必要でないスーパー・ネットワークからの出力を遮断するマスクをプログラミングすることによって、手書き認識装置をカスタム化することができる。【選択図】      図２
2009501965.tif 000002
【特許請求の範囲】
【請求項１】
手書き認識機能を設ける方法であって、
複数の一次出力を有し、その各々が第１言語の異なる文字に対応するニューラル・ネットワークを設けるステップと、
前記複数の一次出力から第１一次出力を選択するステップと、
前記第１一次出力の前記コピーを前記ニューラル・ネットワークに追加するステップと、
を備えた、方法。
【請求項２】
請求項１記載の方法において、前記ニューラル・ネットワークは複数の一次入力を有し、前記第１一次出力の前記コピーは、前記第１一次出力と同じやり方で、前記一次入力に応答する、方法。
【請求項３】
請求項１記載の方法であって、更に、前記追加するステップの後に、前記第１一次出力のコピーが、前記第１一次出力とは異なるやり方で前記第１入力に応答するように、前記ニューラル・ネットワークを訓練するステップを備えた、方法。
【請求項４】
請求項１記載の方法であって、更に、複数のニューラル・ネットワークから、前記ニューラル・ネットワークを選択するステップを含み、前記複数のニューラル・ネットの各々が異なる言語と関連付けられた、方法。
【請求項５】
請求項１記載の方法であって、更に、
前記第１言語を選択するステップと、
前記第１言語とは異なる第２言語を選択するステップと、
を備えており、前記第１一次出力を選択するステップは、前記第２言語に応じて、前記第１一次出力を選択するステップを含む、方法。
【請求項６】
請求項５記載の方法において、前記第１一次出力を選択するステップは、
前記第１言語の文字を前記第２言語の文字と比較するステップと、
前記第１言語の前記文字が前記第２言語の前記文字と視覚的に類似しているが同一ではない場合、前記第１一次出力をコピーするステップと、
を含む、方法。
【請求項７】
請求項５記載の方法であって、更に、前記第１一次出力の前記コピーを含む前記ニューラル・ネットワークと、前記第２言語の言語モデルとを含む手書き認識装置を設けるステップを含む、方法。
【請求項８】
請求項１記載の方法であって、更に、前記第１一次出力の前記コピーを含む前記ニューラル・ネットワークを利用する手書き認識装置を設けるステップを含む、方法。
【請求項９】
手書き認識機能を設けるためのコンピュータ実行可能命令を格納した少なくとも１つのコンピュータ読み取り可能媒体であって、前記コンピュータ実行可能命令が、
複数のネットワークから第１ネットワークを選択するステップであって、該第１ネットワークを第１言語と関連付け、前記第１ネットワークが複数の一次出力を有し、該一次出力の各々が前記第１言語の異なる文字を表す、ステップと、
前記第１ネットワークの前記複数の一次出力から第１一次出力を選択するステップであって、該一次出力を、前記第１言語の文字の１つと関連付けられた、ステップと、
を実行する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１０】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記コンピュータ実行可能命令が、更に、
第２言語を示す第１ユーザ入力を受け取るステップと、
前記第２言語に基づいて、前記第１言語を選択するステップと、
を含むステップを実行する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１１】
請求項１０記載の方法において、前記第１一次出力を選択するステップは、
前記第１言語の文字を前記第２言語の文字と比較するステップと、
前記第１言語の前記文字が前記第２言語の前記文字と視覚的に類似しているが同一ではない場合、前記第１一次出力をコピーするステップと、
を含む、方法。
【請求項１２】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記コンピュータ実行可能命令は、更に、前記第１一次出力のコピーを前記第１ネットワークに追加する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１３】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記第１ネットワークは複数の一次入力を有し、前記第１一次出力の前記コピーは、前記第１一次出力と同じやり方で前記一次入力に応答する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１４】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記第１一次出力を選択した後、前記第１ネットワークは、前記第１一次出力のコピーである一次出力を含み、前記第１ネットワークはニューラル・ネットワークであり、前記コンピュータ実行可能命令は、更に、
手書きインクを含む第２ユーザ入力を受け取るステップであって、前記手書きインクは、前記第１言語の一部ではない前記第２言語の文字の表現を含む、ステップと、
前記第２ユーザ入力に応答して、前記一次出力の前記コピーの応答を修正するように、前記第１ネットワークを訓練するステップと、
を含むステップを実行する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１５】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記少なくとも１つのコンピュータ読み取り可能媒体は、更に、前記複数のネットワークを格納する、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１６】
請求項９記載の少なくとも１つのコンピュータ読み取り可能媒体において、前記第１ネットワークはニューラル・ネットワークであり、前記複数のネットワークの各ネットワークはニューラル・ネットワークである、少なくとも１つのコンピュータ読み取り可能媒体。
【請求項１７】
手書認識装置であって、
各々第１言語の異なる文字を表す第１の複数の一次出力と、各々第２言語の異なる文字を表す第２の複数の一次出力とを有するネットワークと、
前記一次出力上の信号を解釈するように構成された後処理ユニットと、
前記一次出力の第１部分集合または第２部分集合の１つを選択的に、前記後処理ユニットによって解釈するのを阻止するように構成されたマスキング・ユニットと、
を備えた、手書き認識装置。
【請求項１８】
請求項１６記載の手書き認識装置において、前記ネットワーク、前記後処理ユニット、および前記マスキング・ユニットはソフトウェアを含む、手書き認識装置。
【請求項１９】
請求項１６記載の手書き認識装置において、前記第１部分集合は、前記一次出力の内、前記第１言語の文字を表すが前記第２言語の文字を表さないものを含み、前記第２部分集合は、前記一次出力の内、前記第２言語の文字を表すが前記第１言語の文字を表さないものを含む、手書き認識装置。
【請求項２０】
請求項１６記載の手書き認識装置において、前記ネットワークはニューラル・ネットワークである、手書き認識装置。
【発明の詳細な説明】
【背景技術】
【０００１】
近年、接触感応画面を有するユーザ入力モードを含み、その上にユーザがスタイラスを用いて書き込めるコンピュータが増々多くなっている。これによって、ユーザは手書きの電子インクを入力することができる。これは、多くの用途にとって、コンピュータと対話する最も便利な方法の１つであると、広く考えられている。このユーザ入力モードの信頼性を高めるために、ユーザの手書き入力を解釈するための手書き認識が開発されている。
【０００２】
技術が円熟したために、多くの手書き認識装置は今日ではニューラル・ネットワークを用いて、手書き入力の初期分析および分類を行っている。ニューラル・ネットワークの使用は、手書き認識において大きな改良であり、認識の精度は何倍にも向上した。高精度のニューラル・ネットワークを作成するためには、ニューラル・ネットワークを訓練しなければならない。即ち、これらには繰り返し手書き入力の実際のサンプルを供給し、ニューラル・ネットワークが手書き入力の解釈において正しく推察したか否かについてフィードバックを与える。また、有効な訓練は、手書き入力サンプルを大多数の異なる人から供給することも意味する。その理由は、ひとりひとりの書き方が異なるからである。ニューラル・ネットワークは、ユーザが最終的な成果に満足するならば、広範囲の書き方を認識できる程にロバストなはずである。
【０００３】
取り込まなければならない手書きサンプルの数が限定的であるため、そしてニューラル・ネットワークを適正に訓練するために膨大な量の時間を費やさなければならないため、ニューラル・ネットワークを最初から訓練するには、費用がかかり過ぎる。更に、訓練は１つの言語のみで行われるのが通例である。言い換えると、ニューラル・ネットワークは、英語または中国語の筆記を認識するために、特定的に訓練されることもある。世界には非常に多くの言語が存在するので、多くの言語には高品質のニューラル・ネットワークは存在しない。実際、知られていない方の言語の一部については、ニューラル・ネットワークは全く存在しない。単に、知られていない方の言語のためにニューラル・ネットワークを構築し訓練するためにばく大な資金を投資する金銭的動機が、コンピュータおよび／またはソフトウェアの会社には不十分なのである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ニューラル・ネットワークが利用できない、または十分な品質のニューラル・ネットワークが入手できない言語において、費用を抑えたおよび／または簡素化した手書き認識能力を設ける方法が求められている。多数の言語のために最初からニューラル・ネットワークを構築し訓練することは、費用および時間がかかり過ぎる。
【課題を解決するための手段】
【０００５】
したがって、この開示の形態は、既存のニューラル・ネットワークから、新しいニューラル・ネットワークを構築することを目的とする。所望の目標言語に基づいて、開始言語に既存のニューラル・ネットワークを選択する。ニューラル・ネットワークを修正して、目標言語の文字を認識するために用いることができるようにし、更に修正したニューラル・ネットワークを、目標言語の手書き認識装置に用いる。修正は、既存のニューラル・ネットワークの一次出力(primary output)の１つ以上をコピーすることを含む。
【０００６】
この開示の更に別の形態は、所望の目標言語に基づいてしかるべき開始言語を選択することを目的とする。これは、人が手作業で行うこと、および／またはコンピュータが自動的に行うことができる。しかるべき開始言語を選択するために、主観的(subjective)および／または客観的(objective)標準を用いることもできる。
【０００７】
この開示の更に別の形態は、目標言語の認識を向上させるために、修正したニューラル・ネットワークを訓練することを目的とする。即ち、コピーした一次出力を訓練して、これをコピーした元の一次出力とは多少異なる入力の組み合わせに用等するようにする。これによって、新たにコピーした一次出力が、開始および目的言語間における文字の微妙な相違に応答することが可能となる。勿論、訓練は、元のノードが応答する入力の組み合わせとは多少異なる以上の入力組み合わせに、コピーしたノードに応答させるために用いることもできる。
【０００８】
更に、種々の異なる開始言語に合わせた多数の異なる既存のニューラル・ネットワークを、しかるべき開始言語を選択し、既存のニューラル・ネットワークの１つを修正し、および／または修正したニューラル・ネットワークを更に訓練する際にユーザを補助するコンピュータ読み取り可能媒体上のソフトウェアと共に含むキットが販売されている。
【０００９】
この開示の更に別の形態によれば、多数の異なる言語から文字を認識するように構成されている比較的大型のニューラル・ネットワークである「スーパー・ネットワーク」を提供することができる。このスーパー・ネットワークは、１つの言語のみに専用の典型的なニューラル・ネットワークよりも大幅に大きいことを期待してもよい。このようなスーパー・ネットワークを用いて、認識することを望む言語に必要でないスーパー・ネットワークからの出力を遮断するマスクをプログラミングすることによって、手書き認識装置をカスタム化することができる。ここに記載するその他の形態は、スーパー・ネットワークを既存のネットワークのように用い、修正またはマスクすること、あるいは同じ実施形態において修正およびマスク双方を行うこともできる。
【００１０】
この開示のこれらおよびその他の形態は、以下の例示実施形態の詳細な説明を検討することにより明らかとなろう。
【発明を実施するための最良の形態】
【００１１】
以上の摘要、および以下の例示実施形態の詳細な説明は、添付図面と関連付けて読むと一層良く理解することができる。図面は、特許請求する発明に関して、限定ではなく、一例として含まれる。
【００１２】
図１は、手書き認識機能および／またはニューラル・ネットワーク作成、変更、および／または訓練を実施することができる、適した計算環境１００の一例を示す。計算システム環境１００は、適した計算機環境の一例に過ぎず、本発明の使用範囲や機能について限定を示唆する意図は全くない。また、計算機環境１００は、動作環境例１００に示す構成要素のいずれの１つまたは組み合わせに関しても、何らかの依存性や必須要件を有するという解釈は行わないこととする。
【００１３】
その他の汎用または特殊目的計算システム環境または構成も用いることができる。周知のコンピュータ・システム、環境、および／または構成の例には、パーソナル・コンピュータ（ＰＣ）、サーバ・コンピュータ、パーソナル・ディジタル・アシスタント（ＰＤＡ）のような携帯用およびハンド・ヘルド・コンピュータ、タブレットＰＣまたはラップトップＰＣ、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、前述のシステムまたはデバイスのいずれをも含む分散型計算機環境等が含まれる。
【００１４】
この開示は、コンピュータによって実行するプログラム・モジュールのような、コンピュータ実行可能命令に関して総合的に説明する。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象的データ・タイプを実現する。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスがタスクを実行する分散型計算機環境においても実用可能である。分散型計算環境では、プログラム・モジュールは、メモリ記憶装置を含むローカルおよびリモート・コンピュータ記憶媒体双方に配することができる。
【００１５】
図１を参照すると、本発明を実施するシステム例１００は、コンピュータ１００の形態とした汎用計算機を含む。コンピュータ１００の構成要素は、限定ではなく、演算装置１２０、システム・メモリ１３０、およびシステム・バス１２１を含むことができる。システム・バス１２１は、システム・メモリを含む種々のシステム構成要素を演算装置１２０に結合する。システム・バス１２１は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このような構造には、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、改良ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格連合（ＶＥＳＡ）ローカル・バス、先進グラフィックス・ポート（ＡＧＰ）、およびMezzanine バスとしても知られている周辺素子相互接続（ＰＣＩ）バスが含まれる。
【００１６】
コンピュータ１００は、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ１１０がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体から成ると考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスクＲＯＭ（ＣＤ−ＲＯＭ）、ディジタル・ビデオ・ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ１００がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、その特性集合の１つ以上が、情報を信号内にエンコードするようなやり方で、変化している信号を意味する。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、無線周波数（ＲＦ）（例えば、BLUETOOTH、WiFi、UWB）、光（例えば、赤外線）、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲に当然含まれるものとする。
【００１７】
システム・メモリ１３０は、ＲＯＭ１３１およびＲＡＭ１３２のような揮発性および／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。基本入出力システム（ＢＩＯＳ）１３３は、起動中のように、コンピュータ１００内のエレメント間におけるデータ転送を補助する基本的なルーチンを含み、通例ＲＯＭ１３１内に格納されている。ＲＡＭ１３２は、通例、演算装置１２０が直ちにアクセス可能であるデータおよび／またはプログラム・モジュール、または現在これによって処理されているデータおよび／またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図１は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７を示す。
【００１８】
また、コンピュータ１００は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図１は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ１４１、リムーバブル不揮発性磁気ディスク１５２からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ１５１、ならびにＣＤ  ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク１５６からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ１５５を示す。動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ１４１は、通例、インターフェース１４０のような非リムーバブル・メモリ・インターフェースを介してシステム・バス１２１に接続され、磁気ディスク・ドライバ１５１および光ディスク・ドライブ１５５は、通例、インターフェース１５０のようなリムーバブル・メモリ・インターフェースによって、システム・バス１２１に接続する。
【００１９】
先に論じ図１に示すドライブおよびそれらと関連するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ１００のその他のデータを格納する。図１では、例えば、ハード・ディスク・ドライブ１４１は、オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム１３４、アプリケーション・プログラム１３５、その他のプログラム・モジュール１３６、およびプログラム・データ１３７と同じでも異なっていても可能であることを記しておく。オペレーティング・システム１４４、アプリケーション・プログラム１４５、その他のプログラム・モジュール１４６、およびプログラム・データ１４７は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザは、キーボード１６２、タッチ・パッド１６５（ディジタイザ等）およびスタイラス１６６、ならびにポインティング・デバイス１６１（一般にマウス、トラックボールまたはタッチ・パッドと呼ばれている）によって、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース１６０を介して、演算装置１２０に接続されている。ユーザ入力インターフェース１６０は、システム・バス１２１に結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）、IEEE 1394シリアル・バス（FIREWIRE)のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ１９１またはその他の形式の表示装置も、ビデオ・インターフェース１９０のようなインターフェースを介して、システム・バス１２１に接続されている。ビデオ・インターフェース１９０は、それ自体の特殊プロセッサおよびメモリに加えて、先進の２Ｄまたは３Ｄグラフィクス処理能力も有することができる。また、コンピュータ１００は、スピーカ１９７およびプリンタ１９６のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース１９５を通じて接続することができる。
【００２０】
コンピュータ１００は、リモート・コンピュータ１８０のような１つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ１８０は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピュータ１００に関して先に説明したエレメントの多くまたは全てを含むが、図１にはメモリ記憶装置１８１のみを示す。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７１およびワイド・エリア・ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
【００２１】
ＬＡＮネットワーク環境で用いる場合、コンピュータ１００は、ネットワーク・インターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続する。ＷＡＮネットワーク環境で用いる場合、コンピュータ１００は、通例、モデム１７２、またはインターネットのようなＷＡＮ１７３を通じて通信を確立するその他の手段を含む。モデム１７２は、内蔵でも外付けでもよく、ユーザ入力インターフェース１６０またはその他の適切な機構を介してシステム・バス１２１に接続することができる。ネットワーク環境では、コンピュータ１００に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図１は、リモート・アプリケーション・プログラム１８２がメモリ素子１８１上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
手書き認識の全体像
コンピュータ１００は、ユーザによる手書き入力を認識するために、ソフトウェアでプログラムすること、および／またはハードウェアおよび／またはファームウェアで構成することもできる。「手書き認識」という用語は、本明細書および特許請求の範囲において用いる場合、手書き入力を、当該手書き入力に対応する文字集合に変換することを意味すると定義する。「手書き認識装置」は、手書き認識を実行する。手書き入力を「認識する」とは、手書き入力に対して手書き認識を実行することである。電子手書きインクは、パーソナル・ディジタル・アシスタント（ＰＤＡ）およびタブレット状パーソナル・コンピュータ（タブレットＰＣとしても広く知られている）のような、多くの従来からの計算機において広く用いられ、認識されている。電子インクは、従来のフォーマットまたは未だ定義されていないフォーマットのいずれにでも格納することができる。現在、数個のインク格納フォーマットが存在し、Microsoft WINDOWS（登録商標）系オペレーティング・システム、およびPalmSource PALM OS系オペレーティング・システムによって用いられているもの等がある。
【００２２】
「文字」(character)という用語は、本明細書および特許請求の範囲において用いる場合、言語（例えば、英語、ルーマニア語、中国語、ヘブライ語等）によって異なる意味を有する場合がある。筆記文字には本質的に３つの大きな分類、アルファベット、表音(syllabic)および表意(logographic)がある。アルファベット筆記言語は、一般に単語をどのように発音するか記述する、定義された文字の集合を用いる。しかしながら、発音する単語には、各文字と各音との間に１対１の対応がないのが一般である。アルファベット筆記言語の例には英語およびルーマニア語があり、双方共ラテン語のアルファベットに基づく。表音筆記文字は、各々発音する音節即ち音素を表す、定義したシンボルの集合（「音節文字表」）を用いる。発音する単語の各音節と各音との間には１対１の対応があるのが通例である。表音筆記文字の一例に日本語がある。表意筆記文字は、各々が対象(object)または抽象的考えを表す、定義したシンボルの集合を用いる。例えば、中国語は、表意筆記文字の集合を用いる。尚、多くの言語は純粋に１つまたは別の分類にはならないことを記しておく。例えば、筆記中国語は、発音を表すシンボルも一部に含み、英語は抽象的考えを表すシンボル（例えば、「＆」および「＄」、ならびに数値）を含む。
【００２３】
このように、各言語はそれ自体の定義された文字集合を有し、「文字」ということばの意味は、言及する言語によって異なる。しかしながら、一般に、「文字」ということばは、本明細書および特許請求の範囲において用いる場合、アルファベット文字、音節文字表、表語シンボル、文法表記、または問題の筆記言語によって用いられるその他の何らかのシンボルを意味する。手書き認識によって得られる文字は、コンピュータ１００によっていずれのデータ・フォーマットでも表すことができる。例えば、各文字、単語、または句は、標準的なAmerican Standard Code for Information Interchange (ASCII)またはユニコード・システム(Unicode system)によって定義されるように、一意の既定のコードによって表すことができる。
【００２４】
図２は、どのようにしてコンピュータ１００を手書き認識を実行するように機能的に構成することができるかを示す。種々の機能は、ソフトウェア、ハードウェア、および／またはファームウェアで実行することができ、オペレーティング・システム、ソフトウェア・アプリケーション、デバイス・ドライバ、および／またはその他のいずれの種類のコンピュータ実行可能コードの一部でもよい。図２に示す構成は、従来の手書き認識装置の典型である。この例に示すように、手書きユーザ入力は、電子インクの形態でタッチ・パッド１６５から収集することができる。次いで、コンピュータ１００はインクに対して特徴抽出２０１を実行することができる。特徴抽出(featuraization)とは、インク・データから、認識プロセスに有用と思われる特徴を抽出することを意味する。このような特徴は、例えば、幅、高さ、長さ（例えば、二次元または別個に計算したＸおよび／またはＹ方向において考えた、座標対の数、および／または座標空間を移動する距離）最大速度、Ｘおよび／またはＹ方向における方向逆転の回数、検出した尖頭ならびに方向性および／または位置（例えば、インク・サンプルまたは書き込み区域に対する垂直位置および／または水平位置）、検出したインクの交差および位置（同様に、尖頭として）、および／またはＸおよび／またはＹ方向におけるフーリエ変換周波数成分を含むことができる。
【００２５】
次に、特徴化２０１中に抽出された特徴は、ニューラル・ネットワーク２０２の一次入力集合に供給される。ニューラル・ネットワーク２０２は、従来から知られており、入力の特定の組み合わせを一次入力に関連付けるように訓練することができる。尚、ネットワーク２０２は、ニューラル・ネットワーク以外のネットワークでもよいことを記しておく。例えば、ネットワーク２０２は、ベーズ・ネットワーク(Bayesian network)、隠れマルコフ・マシン（ＨＭＭ）、サポート・ベクトル・マシン（ＳＶＭ：support vector machine)、テンプレート照合装置、および／またはダイナミック・タイム・ワーピング（ＤＴＷ：dynamic time warping)ユニットとすることもできる。
【００２６】
図３に示すように、ニューラル・ネットワーク２０２は、ｎ個の一次入力（Ｉ１、Ｉ２、Ｉ３、．．．Ｉｎ）、および一次出力（ａ、ｂ、ｃ、．．．０）の集合を有する。一次出力の全てを図示していないが、ニューラル・ネットワーク２０２は、この例では、各小文字および各大文字、各数値、ならびに英語のその他の各シンボル毎に、異なる一次出力を有する。一次出力は、隠れノード３０１のような、「隠れノード」のネットワークによって、一次入力に結合されている。隠れノードは、層状に編成することができ、各層の間に完全な相互接続がある（図示の通り）。しかしながら、隠れノードは、ほ乳類の脳において見られる生物神経と同様に、単純なコンピュータとして行動(act)することができる。このような隠れノードを用いるニューラル・ネットワークのアーキテクチャは、周知である。
【００２７】
隠れノード３０１の構成例を図４に示すが、従来より知られている。この図では、隠れノード３０１が複数の入力と、１つの出力とを有することが分かる。この例でぇあ、入力は一次入力の一部または全部である。しかしながら、ニューラル・ネットワーク２０２の位置に応じて、入力は、他の隠れノードからの出力であってもよい。図示の隠れノード３０１は、機能的に、加算部４０１、およびしきい値部４０２に分割されている。加算部４０１は、各入力の加重和を規定し、各入力Ｉｘには対応する重みｗｘが割り当てられている。加算の結果は、しきい値部４０２に供給され、加算の結果が、既定値を上回るというような、所定の判断基準または判断基準集合を満たすか否か判定を行う。１つまたは複数の判断基準を満たす場合、正の結果（例えば、論理１）を出力する。隠れノードをどのように構成すればよいかについては、多くの変形がある。例えば、しきい値部４０２がなくてもよく、またはしきい値部４０２が、二進値には限定されるのではなく、アナログ値を出力してもよい。ニューラル・ネットワーク２０２は、種々の隠れノードの閾位置部４０２において定義した重みｗおよび／または判断基準を調節する周知の技法を用いて、所望の結果が得られるように訓練することができる。
【００２８】
一旦ニューラル・ネットワーク２０２を訓練し終えたなら、次いで、この例では、しかるべき入力データ集合を一次入力に入力すると、その結果、該当する一次出力が選択される。一次出力は、種々の方法で選択することができると考えられる。例えば、一次出力の値が正の結果を表す場合、この一次出力が選択されると考えることができる。あるいは、一次出力の値が、可能な正の結果の範囲において、他の一次出力よりも正側の結果を表す場合、この一次出力が選択されると考えることができる。あるいは、一次出力の値が所定の判断基準または判断基準集合を満たす場合（例えば、しきい値を上回る）、この一次出力が選択されると考えることができる。
【００２９】
以上の論述を図示の実施形態に当てはめるために、以下のことを検討する。ニューラル・ネットワーク２０２の各一次入力は、特定のインク特徴またはインク特徴の集合に対応する。ニューラル・ネットワーク２０２の各一次出力は、同じ所与の言語とは異なる文字に対応する。この特定的な例では、言語は英語であると仮定する。コンピュータ１００はインクから、一次入力値の第１の組み合わせを規定するある種の特徴を、ニューラル・ネットワーク２０２に抽出すると仮定する（また、ニューラル・ネットワーク２０２は既に適正に訓練されていると仮定する）。応答して、ニューラル・ネットワーク２０２は、第１の一次出力（例えば、一次出力「Ｂ」）を選択する。これが意味するのは、ニューラル・ネットワーク２０２が、分析している特定のインクが手書き文字「Ｂ」に対応する可能性が最も高いと判断したということである。ここで、分析する次のインク片が、一次入力値の第２の異なる組み合わせをニューラル・ネットワーク２０２に供給すると仮定する。応答して、ニューラル・ネットワーク２０２は、異なる第２の一次出力（例えば、一次出力「３」）を選択する。これが意味するのは、ニューラル・ネットワーク２０２が、分析する特定のインクが手書き文字の数値「３」に対応する可能性が最も高いと判断したということである。
【００３０】
場合によっては、ニューラル・ネットワーク２０２は、一次入力値の所与の組み合わせに応答して、１つよりも多い一次出力を選択することもあり得る。例えば、最初の例では、ニューラル・ネットワーク２０２が一次出力「Ｂ」だけでなく、一次出力「８」も選択する可能性がある。これは、大文字の「Ｂ」および数字の「８」が、特に文字「Ｂ」を印刷するとき（即ち、筆記体で書かれていないとき）に、同様に見えることが多いので、あり得る場面である。また、手書きが筆記体の場合、ニューラル・ネットワーク２０２が、筆記体の「ｅ」手書き入力に応答して、一次出力「ｅ」および「ｏ」双方を選択することもあり得る。更に、これら２つの手書き文字が非常に似通って見えることもあり得る。この状況に対処する処理技法は知られている（例えば、単語全体を既知の辞書と比較することによる等によって、文字の前後関係を調べて、どの文字が書かれているか判断するのに役立てる）。
【００３１】
再度図２を参照すると、後処理機能２０５がニューラル・ネットワーク２０２からの一次出力を受け取り解釈することができる。理論上、ニューラル・ネットワーク２０２の生の一次出力自体は、手書き入力に対応して認識された文字を示すが、実際には、かなりの量の誤りがあると予期されることがあり得る。このような誤りは、多くの場合、個々の手書き各々における不完全や癖に起因する。つまり、各ユーザの手書きは異なり、各ユーザはその都度正確に同じように筆記しないためである。このため、後処理機能２０５を追加して、ニューラル・ネットワーク２０２の一次出力によって識別した認識文字を互いに前後関係に置くことによって誤りの多くを本質的に排除する。これは、言語モデル２０４を参照する探索エンジンを用いることによって行うことができる。後処理機能２０５および言語モデル２０４は、双方とも周知である。
【００３２】
言語モデル２０４は、予期される認識テキストに対して種々の規則および指針を定義する。このような規則は、関連する言語における既知の単語のリスト、文法規則集、特殊フォーマット集（例えば、日付、時間等）、バイ・グラム(bi-grams)および／またはトリ・グラム(tri-grams)を含むことができる。ニューラル・ネットワーク２０２が新しい文字を認識する毎に、後処理機能２０５は言語モデル２０４を調べて、新たに認識した文字が言語モデル規則のいずれかに当てはまるか否か調べる。これは繰り返しおよび動的プロセスである。新しい文字が認識される毎に、どの言語規則を適用すればよいか、仮定を行い伝える(drop)。ここでも、後処理機能は周知である。言語モデル規則に基づいて、最終的に認識されたテキストを、後処理機能２０５によって出力する。
既存のネットワークの再利用
既に述べたように、多くの手書き認識装置は、手書き入力を解釈するのに役立てるためにニューラル・ネットワークを用いている。ニューラル・ネットワークは、１つの言語の手書きを認識するように訓練するのが通例である。例えば、英語のニューラル・ネットワークが存在し、フランス語のニューラル・ネットワークが存在し、日本語のニューラル・ネットワークが存在すると考えられる。各ニューラル・ネットワークは、言語に応じて、それ自体に独特の文字集合を認識することができる。加えて、所与の言語について訓練したニューラル・ネットワークを用いた認識装置は、その所与の言語に一致する、特定の言語モデルも用いる。例えば、英語、フランス語、および日本語モデルが別個に存在すると考えられる。このように、既知の手書き認識装置は、所与の言語に合ったニューラル・ネットワーク、およびその所与の言語に合った言語モデルを用いる。
【００３３】
しかしながら、訓練された手書き認識ニューラル・ネットワークが存在しない、またはそこまで到達するのが容易でない多数の言語がある可能性がある。これは、既に論じたように、所与の言語についてニューラル・ネットワークを適正に訓練することは、非常に費用がかかる可能性があるためである。適正な訓練には、多くの場合、数千人の人々ではないにしても、数百人の人々から得た手書きサンプルを用いることが伴い、これらのサンプルの各々は多種多様の文字、単語、およびその他のシンボルの異なる組み合わせを含む可能性がある。
【００３４】
とは言え、未だに容認可能な手書き認識装置が入手できない種々の言語に、手書き認識機能を提供できるようにすることは望ましい。更に詳細に論ずるが、ニューラル・ネットワークを最初から訓練する代わりに、過去において行われたように、所与の言語の手書きを認識するために、既存の既に訓練済みのニューラル・ネットワークを再利用し修正して、以前に認識するようにニューラル・ネットワークを訓練しなかったその他の言語を認識させることができる。既存のニューラル・ネットワークの再利用により、新しいニューラル・ネットワークを最初から訓練する場合と比較して、並外れた量の時間および資金を節約することができる。
【００３５】
一般に、目標言語を認識するようにニューラル・ネットワークを再利用し修正するには、以下のようにすればよい。図１０を参照すると、ステップ１００１において、目標言語を選択する。ステップ１００２において、開始言語を選択する。これは目標言語に基づくことができる。選択した開始言語に対する既存のニューラル・ネットワークは、開始言語の手書き文字を認識するように、既に予め訓練しておくこともできる。開始言語は、様々な要因の中でも、目標言語に基づいて選択するとよい。ステップ１００３において、目標言語の文字および開始言語の文字を比較し、比較する２種類の文字の間にある視覚的類似性に基づいて、これらの間の対応を判定する。不十分な対応が判定された場合、ステップ１００４において、プロセスをステップ１００１に戻し、別の開始言語について訓練したニューラル・ネットワークを選択する。しかしながら、十分な対応がある場合、ステップ１００５において、ある一次出力をコピーし、これらのコピーを、開始言語において全く同一に存在しない、目標言語の文字を表すために指定する。この例示のプロセスの詳細については、以下の章で論ずる。
ネットワークの選択
既存のニューラル・ネットワークを再利用するために、最初に既存のニューラル・ネットワークの集合から、特定の既存のニューラル・ネットワークを選択する。例えば、図５に示すように、潜在的なニューラル・ネットワーク後方の集合（ネットワークＡ、ネットワークＢ、ネットワークＣ、およびネットワークＤ）がある。ネットワークＡは日本語の手書きについて訓練され、ネットワークＢはイタリア語の手書きについて訓練され、ネットワークＣは英語の手書きについて訓練され、ネットワークＤはヘブライ語の手書きについて訓練されていると仮定する。既存のニューラル・ネットワークの選択に影響を及ぼす要因には、各入手可能な既存のニューラル・ネットワークの言語（「開始言語」）、ニューラル・ネットワークの訓練の品質および精度、ならびにニューラル・ネットワークを望む言語（「目標言語」）を含むことができる。理由は説明を進めるにつれて明らかになるが、開始言語が目標言語に近い程、一般に良い結果が得られると期待することができる。例えば、目標言語がルーマニア語である場合、ネットワークＡ（即ち、日本語のネットワーク）を用いると、容認可能な結果が得られる可能性は低い。これは、全てではないにしても、殆どの日本語の文字が総じてルーマニア語の文字とは非常に異なって見えるからである。一方、妥当な開始言語はネットワークＣ（即ち、英語のネットワーク）とすることができる。その理由は、ルーマニア語の言語は英語渡橋通の文字が多くあるからであり、特に、双方共同じラテン語のアルファベットに基づくからである。ルーマニア語および英語のアルファベット間の主な相違は、例えば、ルーマニア語における音声区別マークの使用である。一般的に言うと、開始言語において、目標言語の異なる文字と１対１の同一の対応を有する文字が多い程良い。開始言語において、目標言語の異なる文字と外観が非常に似ている文字が多い程良い。
【００３６】
目標言語のルーマニア語を２つの潜在的な開始言語、英語およびヘブライ語と比較した場合を図６に示す。図６の表は、目標言語であるルーマニア語の文字を、ルーマニア語の各文字と似通って見える英語およびヘブライ語からの文字と照合する試みを示す。見て分かるように、ルーマニア語の全ての文字に対して一致する英語の文字を見出すのは比較的容易である。例えば、ルーマニア語の文字の多く（例えば、「Ａ」、「Ｂ」および「Ｃ」）は、英語の文字と同一である。その他のルーマニア語の文字は、英語の文字のいずれとも全く同一ではないが、非常に近い。例えば、ルーマニア語の文字
【００３７】
【表１】
2009501965.tif 000003
は、英語の文字「Ａ」と非常に似通って見える。更に、ルーマニア語の文字
【００３８】
【表２】
2009501965.tif 000004
は英語の文字「Ｔ」に似通って見える。一方、ヘブライ語の文字と似通って見えるルーマニア語の文字はさほど多くない。一部に一致度が高い文字もあるが（ヘブライ語の文字
【００３９】
【表３】
2009501965.tif 000005
と比較した場合のルーマニア語の文字「Ｔ」、およびヘブライ語の文字
【００４０】
【表４】
2009501965.tif 000006
と比較した場合のルーマニア語の文字「Ｘ」）、殆どの場合一致度は低い。例えば、ヘブライ語の文字
【００４１】
【表５】
2009501965.tif 000007
は、ルーマニア語の文字「Ｆ」および「Ｐ」との一致度は比較的低い。実際、ヘブライ語のいずれとも全く一致しない、「Ｍ」のような文字も、一部のルーマニア語にはある。妥当な結論を述べるとすれば、ヘブライ語は、目標言語がルーマニア語である場合、開始言語としては比較的拙劣な選択肢であり、英語の方が開始言語としては相応しい選択肢であるということになろう。尚、図６における比較は、ルーマニア語の大文字のアルファベットのみを示すことによって簡略化されていることを記しておく。しかしながら、このような比較は、望ましければ、数値、記号、および文法表記のような、目標言語のその他のいずれのまたは全ての文字に対しても行うことができる。
【００４２】
目標言語の開始言語候補との比較は、人および／またはコンピュータによって行うことができる。例えば、比較は、人が行う主観的比較を拠り所とすることもできる。代わりにまたは加えて、比較は、ユーザの目標言語の入力に基づいて、目標および開始言語における統計に基づく文字の比較を自動的に行い、１つ以上の最適な開始言語を示唆するコンピュータ・アルゴリズムを拠り所とすることもできる。加えて、比較は、人が主観的に行おうと、コンピュータによって自動的に行おうと、その結果、目標言語における文字の１つ以上の開始言語における文字との１対１の比較が示唆されればよい。例えば、このような比較は、人が主観的に行おうと、コンピュータによって自動的に行おうと、図６に示すような比較表が結果的に得られればよい。
【００４３】
次に論ずるように、目標言語の１つ以上の開始言語との比較の結果は、開始言語のニューラル・ネットワークをどのように修正するか決定するために用いることができ、最終的に目標言語に合った手書き認識装置に到達することができる。
ネットワークの修正
一旦どの開始言語を用いればよいか決定したならば、この開始言語について訓練したしかるべき既存のニューラル・ネットワークを選択する。図７を参照すると、このような既存のニューラル・ネットワーク７０１が示されている（修正も含むが、これについては以下で更に論ずる）。この例では、ニューラル・ネットワーク７０１は英語について訓練したニューラル・ネットワーク（例えば、図５におけるネットワークＣ）であり、訓練言語はルーマニア語である。図６に関して既に論じたように、英語およびルーマニア語の文字は互いに比較的似通っている。このため、ニューラル・ネットワーク７０１に適正にルーマニア語の文字を認識させるためには、比較的少量の修正をニューラル・ネットワーク７０１に行えば済む。ニューラル・ネットワーク７０１を修正するには、ニューラル・ネットワーク７０１のある一次出力のコピー（即ち、複製）７０２を作成する。言い換えると、冗長な出力ノードを作成する。
【００４４】
コピーは、ニューラル・ネットワーク７０１のいずれの一次出力からでも作ることができるが、この例では、ある一次出力のみをコピーする。即ち、ルーマニア語の文字に似通って見えるが正確に一致するのではない一次出力をコピーする。例えば、図８を参照すると、太い枠で囲まれている英語の文字は、対応するルーマニア語の文字に似通って見えるが正確には一致しない英語の文字を表す。これらの英語の文字は、「Ａ」、「Ｉ」、「Ｓ」、および「Ｔ」を含む。他にもあるが、図８では大文字のみを検討する。選択した一次出力をコピーする目的は、既存の開始言語のニューラル・ネットワークが現在サポートしていない目標言語の文字を表すために用いることができる新しい出力を作成することである。つまり、ルーマニア語の文字
【００４５】
【表６】
2009501965.tif 000008
をそれぞれ表すために、「Ａ」の一次出力のコピーを２つ作成し、ルーマニア語の文字
【００４６】
【表７】
2009501965.tif 000009
を表すために、「Ｉ」の一次出力のコピーを１つ作成し、ルーマニア語の文字
【００４７】
【表８】
2009501965.tif 000010
を表すために、「Ｓ」の一次出力のコピーを１つ作成し、ルーマニア語の文字
【００４８】
【表９】
2009501965.tif 000011
を表すために、「Ｔ」の一次出力のコピーを１つ作成する。このため、これらのコピー７０２を作成する際、修正したニューラル・ネットワークの一次出力の総数が増大する。
【００４９】
例えば、図７は、前述の新たにコピーした一次出力を示す。即ち、「Ａ」の一次出力を２回コピーして、２つの新しい一次出力を生成し、「Ｉ」の一次出力を１回コピーして１つの新しい一次出力を生成し、「Ｓ」の一次出力を１回コピーして１つの新しい一次出力を生成し、「Ｔ」の一次出力を１回コピーして新しい一次出力を生成する。以下で更に論ずるが、各一次出を必要に応じたある回数だけコピーし、類似しているが開始言語には含まれていない新しい文字に新しい一次出力を規定する。一次出力をコピーする際、その一次出力を定義する出力ノードの入力に割り当てる重み付け出力を既ピーする。コピーする重み出力に割り当てる重みもコピーする。このため、隠れノードは、乱されないまま残ることになるが、その内の１つ以上は、一次出力ノードに対する重み付け入力の新しいコピーに対処するために、追加の出力接続を有する。この概念は、図１２を参照する方が説明し易い。図１２は、ニューラル・ネットワークの隠れノード１２０１−１２０４を含む、複数の隠れノードを示す。また、ニューラル・ネットワークは、複数の一次出力も有し、その各々が、一次出力ノード１２０５および１２０６のような、異なる一次出力ノードに対応する。図１２に示すアーキテクチャは、単なる例示に過ぎず、簡略化のためにニューラル・ネットワークの一部のみを示す。この例では、一次出力ノード１２０６に対応する一次出力をコピーする。一次出力ノード１２０６は、重みがｗ１およびｗ２の、２つの入力を有する。したがって、同様に重みがｗ１およびｗ２の同じ２つの入力を有する新しい一次出力ノード１２０７も作成する。勿論、実際には、ニューラル・ネットワークは、図１２に示す入力よりも多いまたは少ない入力を、各一次出力ノードに供給することもできる。
【００５０】
当業者であれば、指令されれば、一次出力を容易にコピーすることができよう。それを行う際、コピーした一次出力は、一次入力の全ての組み合わせに対して、元の一次出力と全く同じように応答する。例えば、新しくコピーした「Ａ」一次出力は、一次入力の全ての組み合わせに対して、元の「Ａ」一次出力と全く同じように応答する。
【００５１】
このように、開始言語の文字と同一でない目標言語の文字毎に追加の一次出力を含むように、ニューラル・ネットワーク７０１を修正する。次に、筆記した目標言語を認識するように構成するためには、ニューラル・ネットワーク７０１の修正版をどのように手書き認識装置に実施すればよいかについて説明する。
認識装置における実施／修正したニューラル・ネットワークの訓練
ニューラル・ネットワーク７０１の修正版は、図２に示す手書き認識装置のような、手書き認識装置において用いることができる。このようにするためには、後処理機能２０５および言語モデル２０４を、新しく追加した一次出力を適正に解釈しこれらに応答するように構成するとよい。つまり、新しい一次出力コピー７０２を認識システムに結合する際、コピー７０２が目標言語のそれらそれぞれの新しい文字を表すことが分かるようにするとよい。この例では、新しいコピー７０２の各々は、後処理機能２０５によって、
【００５２】
【表１０】
2009501965.tif 000012
をそれぞれ表すように解釈される。図３におけると同様、簡略化のために、一次出力の一部のみを示す。しかしながら、実際には、修正したニューラル・ネットワークは、追加の文字毎に新しい一次出力を、所望通りにそして適宜、目標言語に追加することが予期される。
【００５３】
例えば、ルーマニア語の文字
【００５４】
【表１１】
2009501965.tif 000013
の手書き入力に応答して、
【００５５】
【表１２】
2009501965.tif 000014
が、修正したニューラル・ネットワーク７０１によって選択される。次いで、後処理機能２０５は、
【００５６】
【表１３】
2009501965.tif 000015
双方の可能性について、手書き入力を言語モデル２０４と相関付け、文脈がどちらの方が適しているかを示しているかチェックする。尚、この例では、言語モデル２０４はルーマニア語言語モデルと置き換えられ、例えば、ルーマニア語の単語および表記のディレクトリ・リストを含む。手書き認識装置は手書きの
【００５７】
【表１４】
2009501965.tif 000016
間で区別することができないので、更にルーマニア語の単語の中には、１つの文字
【００５８】
【表１５】
2009501965.tif 000017
だけで互いに異なる場合もあるので、これが完全な解となる場合も、ならない場合もあり得る。言い換えると、手書き認識装置は総合的に動作するが、
【００５９】
【表１６】
2009501965.tif 000018
のような、２つの類似する文字間で区別できる方が望ましいという状況もあり得る。
【００６０】
したがって、ある開始言語の文字と対応する目標言語の文字との間の相違を認識するように、修正したニューラル・ネットワーク７０１を更に訓練することが望ましい場合もある。これには、一旦元の対応する一次出力の同一コピーであった一次出力が、もはや同一コピーではなくなるように、修正したニューラル・ネットワーク７０１を訓練することを伴う。代わりに、コピーの対応する元の一次入力とは異なる一次入力の組み合わせに応答して、コピーを各々選択してもよい。例えば、周知の方法で、２つの文字間で区別できるように、修正したニューラル・ネットワーク７０１を、手書き文字
【００６１】
【表１７】
2009501965.tif 000019
を用いて訓練することもできる。訓練が完了した後、修正したネットワーク７０１は、手書き「Ｓ」に応答して「Ｓ」一次出力のみを選択し、手書き
【００６２】
【表１８】
2009501965.tif 000020
に応答して
【００６３】
【表１９】
2009501965.tif 000021
一次出力のみを選択すれば理想的である。この訓練は、コピーした一次出力のいずれにもそして全てに行うことができる。
【００６４】
既存のニューラル・ネットワーク７０１は、修正前に、既に介し言語について訓練されているので、目標言語に必要な追加の訓練は、目標言語についてニューラル・ネットワークを最初から訓練するよりも少なくて済むことが期待できる。
「スーパー・ネットワーク」
ここで図１１を参照すると、前述の方法論を用いて、またはその他のいずれかのプロセスを用いて、「スーパー・ネットワーク」１１０１を作成することができる。例えば、一連の異なる数個の言語に対して一次出力を繰り返しコピーすることによって、ニューラル・ネットワーク７０１を拡大することができる。異なる言語は、ラテン語のアルファベットに全て基づくというようにして、関係付けることができ、あるいは関係付けなくてもよい。どのように作成したかには関係なく、複数の異なる言語に対する文字を表す一次出力Ｏｌ：Ｏｍを含む、大型のニューラル・ネットワーク１１０１を作成することができる。例えば、ニューラル・ネットワーク１１０１は、英語文字集合およびルーマニア語の文字集合双方に対する一次出力を含むことができる。
【００６５】
この大型ニューラル・ネットワーク１１０１は、マスク１１０２と共に、手書き認識システムに実装すると、ニューラル・ネットワーク７０１を訓練した全ての言語の部分集合を認識するように、動的に構成することが可能になる。マスク１１０２は、機能的に、一次出力Ｏ１：Ｏｍの部分集合を遮断するように作用する。実際には、マスク１１０２は、選択的マスキング機能を実行する、交換ネットワークあるいはその他のいずれかのハードウェア、ソフトウェア、および／またはファームウェアとすることができる。マスク１１０２は、Ｐｒｏｇ信号の内容に応じて、出力Ｏｌ：Ｏｍの内どれをマスクすべきか判定することができる。例えば、Ｐｒｏｇ信号を０に設定すると、ルーマニア語の文字集合をマスクすることができ、１に設定すると英語の文字集合をマスクすることができる。尚、少なくとも本例では、英語およびルーマニア語の文字集合は交差しており、どの一次出力をマスクするか決定する際にこれを考慮にいれるべきことを記しておく。以上の例ではＰｒｏｇを二進値として呈示したが、Ｐｒｏｇはいずれのデータ・フォーマットでもよく、またはアナログ信号でもよい。Ｐｒｏｇは、ユーザが構成することができ、手書き認識中に動的に変更することもできる。
結論
以上のように、手書き認識機能を作成する新しい方法についてここでは説明した。既存のニューラル・ネットワークを再利用することにより、新たなニューラル・ネットワークを最初から構築し訓練する場合と比較して、並外れた量の時間および資金を節約することができる。ここに記載した方法および機能のいずれもが、ハードウェア、ソフトウェア、および／またはファームウェアで実施することができ、人が手作業で実行すること、および／またはコンピュータが自動的に実行することもできる。方法および機能をソフトウェアとして実施する場合、これらは、システム・メモリ１３０および／またはリムーバブル媒体１５２、１５６におけるような、１つ以上のコンピュータ読み取り可能媒体上にコンピュータ実行可能命令として格納することができる。
【００６６】
更に、ニューラル・ネットワーク以外にも、他の種類のネットワークもここでは用いることができ、ニューラル・ネットワークに関して説明したのと同様に修正することができる。例えば、ベーズ・ネットワーク(Bayesian network)、隠れマルコフ・マシン（ＨＭＭ）、サポート・ベクトル・マシン（ＳＶＭ：support vector machine)、テンプレート照合装置、および／またはダイナミック・タイム・ワーピング（ＤＴＷ：dynamic time warping)ユニットを、ここに説明したように再利用および修正して、適宜出力のコピーを供給することもできる。
【図面の簡単な説明】
【００６７】
【図１】図１は、例示の計算機環境の機能ブロック図である。
【図２】図２は、例示の手書き認識装置の機能ブロック図である。
【図３】図３は、図２の手書き認識装置において用いることができる例示のニューラル・ネットワークを示す。
【図４】図４は、図３のニューラル・ネットワークの一部をなすことができる例示の隠れノードを示す。
【図５】図５は、例示のニューラル・ネットワーク選択プロセスを示す。
【図６】図６は、開始言語を潜在的開始言語と比較する。
【図７】図７は、ニューラル・ネットワークの変更例を示す。
【図８】図８は、開始言語を潜在的開始言語と比較する。
【図９】図９は、ニューラル・ネットワークの変更例を示す。
【図１０】図１０は、例示の手書き認識装置作成プロセスのフロー・チャートである。
【図１１】図１１は、マスキングした例示の「スーパー・ネットワーク」を示す。
【図１２】図１２は、ニューラル・ネットワークの機能ブロック図であり、一次出力をどのようにしてコピーすることができるかを図で示す。
【図１】
2009501965.tif 000022
【図２】
2009501965.tif 000023
【図３】
2009501965.tif 000024
【図４】
2009501965.tif 000025
【図５】
2009501965.tif 000026
【図６】
2009501965.tif 000027
【図７】
2009501965.tif 000028
【図８】
2009501965.tif 000029
【図９】
2009501965.tif 000030
【図１０】
2009501965.tif 000031
【図１１】
2009501965.tif 000032
【図１２】
2009501965.tif 000033