(57)【特許請求の範囲】
【請求項１】
記憶媒体に記憶されている制御プログラムを実行することによりパターン認識に用いるための分類木を作成するように情報処理装置を制御するための情報処理方法であって、
複数の学習用パターンそれぞれから学習用サブパターンを取り出す取り出しステップと、
前記取り出しステップで取り出した各学習用サブパターンについて、当該学習用サブパターンの特徴を所定の縮退ルールにしたがって段階的に縮退することにより、各学習用サブパターンの階層データ構造を作成する階層化処理ステップと、
前記階層化処理ステップで作成された各サブパターンの階層データ構造と各学習用サブパターンのカテゴリーとに基づいて、前記分類木のノードに対応付けされた前記縮退された特徴のうち最も分類効率が高くなる少なくとも１つの特徴を選択し、当該選択された特徴を複数の特徴に展開し、当該展開された複数の特徴それぞれに対応する学習用サブパターンのカテゴリーの数に基づき該ノードから下位のノードまたは葉へ伸びる枝を決定することによって、認識対象パターンから取り出した各サブパターンを分類するための前記分類木を上位のノードから順に作成する分類木作成ステップと
を有することを特徴とする情報処理方法。
【請求項２】
前記学習用サブパターンは、前記学習用パターンを分割した部分パターンであることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
前記パターンはビットマップデータであることを特徴とする請求項１に記載の情報処理方法。
【請求項４】
前記パターンはストロークデータであることを特徴とする請求項１に記載の情報処理方法。
【請求項５】
前記パターンは音声データであることを特徴とする請求項１に記載の情報処理方法。
【請求項６】
認識対象パターンについて、認識対象サブパターンを取り出し、当該取り出した認識対象サブパターンの特徴を前記所定の縮退ルールにしたがって段階的に縮退することにより各認識対象サブパターンの階層データ構造を作成し、当該作成された各認識対象サブパターンの階層データ構造と請求項１に記載の前記分類木作成ステップで作成した分類木とを用いて、各認識対象サブパターンを認識する認識ステップを有することを特徴とする情報処理方法。
【請求項７】
複数の学習用パターンそれぞれからサブパターンを取り出す取り出し手段と、
前記取り出し手段で取り出した各学習用サブパターンについて、当該学習用サブパターンの特徴を所定の縮退ルールにしたがって段階的に縮退することにより、各学習用サブパターンの階層データ構造を作成する階層化処理手段と、
前記階層化処理手段で作成された各サブパターンの階層データ構造と各学習用サブパターンのカテゴリーとに基づいて、前記分類木のノードに対応付けされた前記縮退された特徴のうち最も分類効率が高くなる少なくとも１つの特徴を選択し、当該選択された特徴を複数の特徴に展開し、当該展開された複数の特徴それぞれに対応する学習用サブパターンのカテゴリの数に基づき該ノードから下位のノードまたは葉へ伸びる枝を決定することによって、認識対象パターンから取り出した各サブパターンを分類するための前記分類木を上位のノードから順に作成する分類木作成手段と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像、文字、音声等のパターンを認識する際に使用する分類木を作成、或いは認識する情報処理方法及び装置に関するものである。
【０００２】
【従来の技術】
従来、特願平６−２６５０５４号公報にあるように、パターンを段階的に縮退化した前処理を経て、分類木を作成する方法が存在した。この方法によれば、パターンの巨視的な形から微視的な形にわたったバランスのよい分類木が作成でき、人間の認識能力に限りなく近い認識性能が期待できるようになる。
【０００３】
【発明が解決しようとしている課題】
しかしながら、この方法では学習用パターンの多さでパターンの変形を吸収するため、学習用パターンが膨大に必要になるという欠点があった。
【０００４】
この様子を図６を使って説明する。
【０００５】
「０」から「９」までの数字ビットマップを認識するための分類木を上述の従来の方法で作成したとする。
【０００６】
例えば、この方法で作成した分類木は、図６のような形になり、図６の右から５番目の枝には、「４」「５」「６」の３種類のカテゴリーの学習用パターンが存在することになる。
【０００７】
このことは、逆にいうと、巨視的に視て図６の右から５番目の枝の形をした学習用パターンは「４」「５」「６」の３種類のカテゴリー以外は存在しないことを意味する。
【０００８】
このようにして作成された分類木を使って、全く新しいビットマップパターンを認識することを考える。図２２にある（ａ）から（ｅ）のビットマップは全て巨視的に見ると、図６の右から５番目の枝の形になる。つまりこの上記説明した分類木でこれらのビットマップを認識しようとすると、必ず「４」「５」「６」のカテゴリーに分類されてしまう。結果的に（ａ）（ｂ）（ｃ）は正解で、（ｄ）はリジェクトすべきところを認識してしまい、（ｅ）にいたっては明らかな誤認識をしてしまう。
【０００９】
この不具合の原因は、学習用パターンに図２２の（ｅ）のような形をしたカテゴリー「２」のパターンが存在しなかったことが原因であるが、これはとりも直さず、従来の方法が“全ての変動を包含した膨大な学習用パターンを必要とする”ということを意味しているのである。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明の情報処理方法は、記憶媒体に記憶されている制御プログラムを実行することによりパターン認識に用いるための分類木を作成するように情報処理装置を制御するための情報処理方法であって、複数の学習用パターンそれぞれから学習用サブパターンを取り出す取り出しステップと、前記取り出しステップで取り出した各学習用サブパターンについて、当該学習用サブパターンの特徴を所定の縮退ルールにしたがって段階的に縮退することにより、各学習用サブパターンの階層データ構造を作成する階層化処理ステップと、前記階層化処理ステップで作成された各サブパターンの階層データ構造と各学習用サブパターンのカテゴリーとに基づいて、前記分類木のノードに対応付けされた前記縮退された特徴のうち最も分類効率が高くなる少なくとも１つの特徴を選択し、当該選択された特徴を複数の特徴に展開し、当該展開された複数の特徴それぞれに対応する学習用サブパターンのカテゴリーの数に基づき該ノードから下位のノードまたは葉へ伸びる枝を決定することによって、認識対象パターンから取り出した各サブパターンを分類するための前記分類木を上位のノードから順に作成する分類木作成ステップとを有することを特徴とする。
【００１１】
上記課題を解決するために、本発明の情報処理装置は、複数の学習用パターンそれぞれからサブパターンを取り出す取り出し手段と、前記取り出し手段で取り出した各学習用サブパターンについて、当該学習用サブパターンの特徴を所定の縮退ルールにしたがって段階的に縮退することにより、各学習用サブパターンの階層データ構造を作成する階層化処理手段と、前記階層化処理手段で作成された各サブパターンの階層データ構造と各学習用サブパターンのカテゴリーとに基づいて、前記分類木のノードに対応付けされた前記縮退された特徴のうち最も分類効率が高くなる少なくとも１つの特徴を選択し、当該選択された特徴を複数の特徴に展開し、当該展開された複数の特徴それぞれに対応する学習用サブパターンのカテゴリの数に基づき該ノードから下位のノードまたは葉へ伸びる枝を決定することによって、認識対象パターンから取り出した各サブパターンを分類するための前記分類木を上位のノードから順に作成する分類木作成手段とを有することを特徴とする。
【００１９】
【発明の実施の形態】
以下、図面に基づいて本発明の好適な実施例を説明する。
【００２０】
〈実施の形態１〉
図２は本発明に関わる以下の全ての実施の形態に係わる情報処理装置の構成を示すブロック図である。
【００２１】
装置は、パターン入力装置２０１、表示装置２０２、中央処理装置（ＣＰＵ）２０３、メモリ２０４から構成される。
【００２２】
パターン入力装置２０１は、例えばオンライン文字認識ならば、デジタイザとペンを有し、デジタイザの上にペンによって入力された文字や図形の座標データをＣＰＵ２０３に渡す。このパターン入力装置は、これから認識しようとするパターンが入力できるものならば、画像を光学的に読み取るスキャナーでも音声を入力するマイクでもまた、それらの入力手段から入力したパターンを通信手段を介して入力しても何でもよい。表示装置２０２はパターン入力手段２０１に入力された生のパターンデータやＣＰＵ２０３が認識した結果を表示するものであり、ＣＲＴや液晶表示器等で良い。ＣＰＵ２０３は入力されたパターン認識を行ったり、すべての装置の制御を行ったりする。メモリ２０４はＣＰＵ２０３が使用する認識プログラムや辞書を記憶したり、入力されたパターンデータ、認識プログラムの使用する変数等を一時的に記憶する。
【００２３】
図１は、本実施の形態の機能的構成を最もよく表す図画であり、１０１は「生の学習用パターン」、１０２は「生の学習用パターン」をサブパターン毎に切り出す「サブパターン取り出し手段」、１０３は「学習用サブパターン」をピラミッドに通す「階層化前処理手段」、１０４はピラミッドで処理された後の「階層化された学習用サブパターン」、１０５は「階層化された学習用サブパターン」を元に分類木を作成する「分類木作成手段」、１０６は「分類木作成手段」が分類木を作成する過程で使用する「展開変数判別手段」、１０７は「分類木作成手段」の結果得られた「分類木」である。本発明におけるインプットは“生の学習用パターン”で、アウトプットは“分類木”となる。
【００２４】
図８は、本実施の形態のオンライン手書き文字認識方法が適用される情報処理装置における主にメモリ内の構造を示すものである。８０１は図２にも２０３として示したＣＰＵであり、後述するメモリ８０２に格納されている制御プログラムに従って、本実施の形態において説明する各処理を実行するものである。後述するフローチャートの処理も、実行の為の制御プログラムがメモリ８０２に格納され、ＣＰＵ８０１により実行されるのは同様である。
【００２５】
メモリ８０２は、ＣＰＵ８０１が各処理を実行する為の制御プログラムを格納するプログラム部８０２−１と、各種パラメータやデータを格納するデータ部８０２−２とを有する。プログラム部は、例えば図７のフローチャートの個々の部品がサブルーチンプログラムとして格納される。このサブルーチンプログラムは、注目ノードの状態を判別するＳ７０１の処理プログラムであり、ノードを削除するＳ７０２の処理プログラムであり、リーフノードとしてのＳ７０５の処理プログラムであり、適切な黒ビットを選択するＳ７０６の処理プログラムであり、黒ビットの組みの枝を生成するＳ７０７の処理プログラムであり、作成された分類木を利用して入力パターンを認識するプログラムであり、各処理についてのサブルーチンがプログラム部８０２−１に格納される。後述する各処理の実行時には、必要に応じてメモリ８０２の制御プログラムを読み出し、ＣＰＵ８０１が実行する。データ部８０２−２には、個々の学習パターンを暫定的に保持する学習パターンバッファと、各学習パターンのピラミッド展開したパターンを保持するエリアと、作成途中の分類木を保持する分類木バッファを有する。
【００２６】
ＨＤＤ（ハードディスクドライブ）８０３は、全学習パターンを保持し、本実施の形態で説明する方法により、作成された分類木のデータを保持し、この分類木のデータにより図９のような分類木が示すルートをたどることができる。
【００２７】
ここで、メモリ２は、格納のＲＯＭ，ＲＡＭ，ＨＤ等とし、予めプログラム及びデータを格納しておいても良いし、或いは装置本体に着脱可能なＦＤやＣＤ−ＲＯＭ等の記憶媒体から処理に先立ってプログラムやデータを読み込むようにしても良い。また、公衆回線やＬＡＮ等の通信手段を介して他の装置からプログラムやデータを読み込むようにしても良い。
【００２８】
入力装置８０４はＨＤＤ８０３に格納された分類木を用いて認識を行うパターンを入力する為の入力装置であり、光学的に入力した学習用画像パターンから生成された分類木を用いて画像パターンを認識する場合はスキャナを用いる。また、同様にペンにより入力されるストロークデータを認識する場合はペンとデジタイザやタッチパネル、或いは音声データを認識する場合はマイクロフォンを用いる。
【００２９】
また、これらの認識用のデータは、これらの各入力手段から直接入力する他に、公衆回線やＬＡＮ等を介して他の装置の有する上記各入力手段により入力されたデータを取り込むようにしても良いことはもちろんである。
【００３０】
以下、図３から図８に基づいて、本発明の動きを詳細に述べる。
【００３１】
まず、入力パターンとしては、８×８のメッシュ上に書かれた「０」から「９」までの１０個の数字（カテゴリー）を想定する。「０」の１入力パターンを図５の下に示す。
【００３２】
辞書作成用の学習パターンは「０」から「９」までそれぞれのカテゴリーについて１００個存在すると仮定する。つまり、カテゴリー総数が１０個あるので、学習パターンの総数は１０００個になる。なお、これらを、ＬＴｉ，ｊ（＝Ｌｅａｒｎｉｎｇ  Ｔｅｍｐｌａｔｅ  ｉ，ｊ）（ｉは「０」から「９」のカテゴリーを表すサフィックスで、０＜＝ｉ＜＝９の範囲の値をとる。ｊは学習パターンナンバーを示すサフィックスで、１＜＝ｊ＜＝１００の範囲の値をとる。）とする。
【００３３】
本件に係わるパターン認識用辞書作成方式はサブパターン取り出しフェーズ、ピラミッド展開フェーズ、分類木作成フェーズの３段階の手段を経て実施される。以下、順に説明する（図３のフローチャート参照）。
【００３４】
（１）サブパターン取り出しフェーズ（３０１）
サブパターン取り出しフェーズ３０１では、図４に示すように、生の学習用パターン４００を部分的パターンに分割したサブパターンとして取り出す。図４においては、「Ａ」と書かれている学習用パターン４００が３×３のマトリクスの合計９個のサブパターンに分けて取り出した例を示す。サブパターンの取り出し方は、図４のように互いのサブパターンが重なるように行ってもよいし、全く重ならないように行ってもよい。このサブパターンの取り出しは、メモリ８０２に格納されているサブパターン取り出しルールに従って行う。
【００３５】
図５にこのサブパターン取り出しフェーズの詳しい様子を示す。図５では、「０」と書かれている学習用パターンの真ん中の部分を取り出している様子を示している。この真ん中の部分は、図４の上に書かれている３×３個のサブパターンの真ん中のサブパターン４０１と同じと考えてよい。
【００３６】
結局、図５において、生の学習用パターン５０１は８×８のビットマップとして表現されていて、そこから４×４のビットマップとして表現されるサブパターンが３×３の９個取り出されることになる。
【００３７】
（２）ピラミッド展開フェーズ（３０２）
サブパターン取り出しフェーズ３０２において、取り出された９個のサブパターンの各々は、図５に示すような５０２〜５０４の３階層のピラミッドワークが構成されていることになる。図５の３階層はそれぞれ上からパターン５０４は１×１、パターン５０３は２×２、パターン５０２は４×４個のニューロン群からできている。
【００３８】
まず、取り出された学習用サブパターンは図５の最下層の４×４個のニューロンに入力される。この時、入力パターン（ＬＴｉ，ｊ）５０１の各ビットの状態が白の部分はニューロンがＯＦＦで、黒の部分はニューロンがＯＮとなると仮定する（以下の説明において、「黒」と「ニューロンのＯＮ」／「白」と「ニューロンのＯＦＦ」同一視する。）。
【００３９】
ピラミッドの構造は極めて単純である。つまり、下の層の２×２のニューロンの中で、ＯＮとなっているものが１つでもあれば、一つ上位の層の１つのニューロンはＯＮとなる。図５において、サブパターン５０２におけるニューロン５０５〜５０８のうち、５０７と５０８がＯＮなので、これらのニューロンに対応するニューロン５０９もＯＮになる。このようなルールで入力パターンを上に向かって処理していく。なお、このピラミッドの構造＝ルールはこれに限ったものではなく、黒のニューロンを１としてカウントし、平均値がしきい値を超えた場合に、上位ニューロンをＯＮにする等、下位の複数ニューロンの状態に従って上位ニューロンの状態を決めるルールであれば良い。
【００４０】
これらの下位ニューロンから上位ニューロンを決定する処理を、サブパターンを構成する全てのニューロンについて行い、更に全てのサブパターンについても行う。
【００４１】
（３）分類木作成フェーズ（３０３）
ピラミッド展開フェーズ３０３によって、学習用パターン（ＬＴｉ，ｊ）の全てが、図５のピラミッドに展開される。分類木の作成はこのピラミッドの展開３０２とは逆に、上位から下位へ行われる。
【００４２】
ルートのノードは、図５の最上位の層（１×１）のニューロンから始まる。
【００４３】
学習用サブパターン（ＬＴｉ，ｊ）をピラミッドに展開した結果、図５の２番目の層のパターン５０３（２×２）のどれかはＯＮとなっている（本実施の形態で用いているルールによれば、真っ白い学習用サブパターンが存在しない限り２番目の層（２×２）は全てＯＦＦにはならない）。よって、全ての学習用サブパターン（ＬＴｉ，ｊ）に対して、最上位の層（１×１）のニューロンの活動はＯＮとなっている。
【００４４】
２番目の層（２×２）の状態は２の４乗＝１６個存在するので（正確には、上記説明のように、全てＯＦＦの状態はないので、１５個）、ルートノードから１６本の枝が伸びることとなる（図６参照）。
【００４５】
図６の枝の状態は、図５の第２層のニューロン群の発火状況を図示することによって、示してある（黒はＯＮで、白はＯＦＦを表す）。
【００４６】
存在するカテゴリーの種類の欄が「×」となっている枝は、上記１．学習用サブパターン（ＬＴｉ，ｊ）が１つも存在しない場合に相当し、削除される（なお、厳密には、一番左の枝はルートからは出ていない）。
【００４７】
左から８番目の枝は「１」のカテゴリーの学習用サブパターンしか存在しない。これは、上記２．学習用サブパターン（ＬＴｉ，ｊ）の中で、あるカテゴリー（例えば「１」のサブパターンのみ存在する場合に相当し、葉となる。
【００４８】
例えば、右から５番目の枝には「４」「５」「６」のカテゴリーの学習用サブパターンが存在し、上記３．上記１、２以外の場合＝複数カテゴリーのサブパターンが混合して存在する場合に相当し、ノードとなる。
【００４９】
分類木を作成する処理をフローチャートとして表現した図が図７である。以下、図１０に示したような分類木の生成手順を説明する。
【００５０】
まず、ステップＳ７００では、注目ノードをルートノードとする。
【００５１】
ステップＳ１００１では、設定された注目ノードに関して、以下の３条件、即ち、
１．学習用パターンが存在しない。
２．単一カテゴリー学習パターンのみが存在する。
３．複数のカテゴリーの学習パターンが存在する。
のどれに当てはまるかチェックして、１．の条件を満たせば、ステップＳ７０２へ進む。また、２．の条件を満たせば、ステップＳ７０５へ進む。また、３．の条件を満たせば、ステップＳ７０６へ進む。
【００５２】
ステップＳ７０２では、分類木からそのノードを削除する。
【００５３】
ステップＳ７０３では、他の全ノードは、全てリーフノードになったかどうかチェックして、イエスであれば、処理を終了する。また、ノーであれば、ステップＳ７０４に進み、注目ノードとして次のノードを選ぶ。そして、ステップＳ７０１に戻り、同様の処理を繰り返す。
【００５４】
ステップＳ７０５では、このノードをリーフノードとして、そのカテゴリー番号をアサインする。そして、ステップＳ７０３に進む。
【００５５】
ステップＳ７０６では、そのノードに含まれるニューロンの中から、上述のエントロピー基準に基づいて、そのニューロン中の１つのニューロンを選択する。
【００５６】
ステップＳ７０７では、選択されたニューロンの下位階層のベクトルの組の枝を生成する。
【００５７】
図９は、このステップでの処理を説明するための図であり、左上のニューロンが選択された場合の下位階層のニューロンの組の例を示す。
【００５８】
図９を参照すると、９００が、ステップＳ７０６で選択されたニューロンが左上であるとする。このニューロンに対応する下位層での組は、１５通りの組み合わせ、即ち、下位として示した１５種のパターンが存在する。そして、これらの組み合わせの各々を新しいノードとする各枝を生成する。
【００５９】
以上、ステップＳ７０７での処理を示した。
【００６０】
次に、ステップＳ７０８へ進み、生成された枝のノードの１つを次の注目ノードとする。そして、Ｓ７０８で注目ノードを移してステップＳ７０１へ戻り、同様の処理を繰り返す。
【００６１】
以上説明した手順によって、図１０に示すような分類木を生成することにより、特徴量の多いパターンの大局的分類を維持しながら、類似のカテゴリー間の細かい特徴の違いを反映した分類木を生成でき、この分類木を探索することで、高速かつ高認識率の文字認識が可能になる。
【００６２】
次に、このノードから枝を作成する方法について述べる。先の説明では、左上のニューロンが選ばれた場合について説明したが、このノードから枝を作成する際に、最も効率の良い枝の作成を行いたい。最も効率が良いとは、結局、枝を展開したときに、最も多くカテゴリーに関する情報が得られるニューロンを選択するということである。
【００６３】
このような要請の元に枝を展開する方法は、一般に非常に多く存在し、そのどれを採用してよいかは、なかなか決定できない。従来この問題が原因で、認識用の分類木がうまく作成できないでいた。
【００６４】
しかし、仮にこのノードから展開する枝を、このノードにおいて、ＯＮとなっているニューロンを下の層に展開した枝に限ってみる。例えば、図６の右から５番目の枝の場合、図５の第２層における左上、左下、右下の３つのニューロンの中から１つ選び、そのニューロンの下、つまり図５の第３層の下４つのニューロンの状態に関する枝の展開を行う。
【００６５】
こうすることによって、枝の展開に要する計算時間を大幅に削減できるし、このような制限をしても、本質的に分類木の分類性能に大きなダメージは与えない。
【００６６】
では次に、このノードにおいて、ＯＮとなっているニューロンの内で、展開したときに最も効率の良くなるニューロンを選ぶ方法を説明する。
【００６７】
あるノードに存在する学習用サブパターン（ＬＴｉ，ｊ）の中で、カテゴリー番号ｉの数をＮｉで表す。このノードに存在する学習用パターンの総数をＮとすると、このノードにおけるそれぞれのカテゴリーの存在確率ｐｉはｐｉ＝Ｎｉ／Ｎで表される。なお、
【００６８】
【外１】
0003630837.tif 000002
よって、このノードの情報が得られたときのエントロピーは、以下の式で表される。
【００６９】
【外２】
0003630837.tif 000003
【００７０】
次に、このノードにおいて、ＯＮとなっているニューロンの１つを選択して、そこから枝を展開したときのエントロピーの減少量を計算する。
【００７１】
上述の通り、１つのニューロンを下の層に向かって展開したときの枝の数は１６本である。この１６本の枝に学習用サブパターン（ＬＴｉ，ｊ）がどのように分布するかを、展開したときの枝に存在する学習用サブパターン（ＬＴｉ，ｊ）の数＝Ｎｉ，ｂで表す。Ｎｉ，ｂのｉはカテゴリー番号を示し、ｂは枝（ｂｒａｎｃｈ）の番号を示す。
【００７２】
この時、それぞれの枝の情報が得られたときのエントロピーは、上の議論と同じく、
【００７３】
【外３】
0003630837.tif 000004
この式で、
【００７４】
【外４】
0003630837.tif 000005
は枝に存在する学習用サブパターン（ＴＰｉ，ｊ）の総数を表わす。
【００７５】
それぞれの枝にいく確率は
【００７６】
【外５】
0003630837.tif 000006
（Ｎは（１）式のＮと同じ）なので、結局、枝を展開したときの平均エントロピーは
【００７７】
【外６】
0003630837.tif 000007
となる。
【００７８】
結局、エントロピーの平均減少値は、
【００７９】
【外７】
0003630837.tif 000008
となる。
【００８０】
そして、この値を枝の数の対数で割った値
【００８１】
【外８】
0003630837.tif 000009
が、枝を展開したときの分類効率を表すことになる。
【００８２】
この値が最高となるニューロンを選び、枝を展開していく。
【００８３】
なお、１つのニューロンのみを展開するのではなく、複数のニューロンのグループに関して枝を展開してもよい。
【００８４】
この場合、（５）式のＢｒａｎｃｈＮｕｍｂｅｒは、ニューロンの数×１６となる（厳密には展開する下の層のニューロンが全てＯＦＦということは有り得ないので、ＢｒａｎｃｈＮｕｍｂｅｒは、ニューロンの数×１５が正しい。）。
【００８５】
また、本実施例においては、（５）式で表される値を枝を展開したときの分類効率を表す値として採用したが、例えば文献「Ｃｌａｓｓｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｇｒｅｓｓｉｏｎ  Ｔｒｅｅｓ」に記載されている“Ｇｉｎｉ  ｃｒｉｔｅｒｉｏｎ”等の枝の展開効率を表す関数ならば（５）式に限らず何でもよい。
【００８６】
以上、展開するニューロン、またはニューロンの組みが決定されれば、それに従って、枝を展開し、葉及びノードを作成していく。
【００８７】
そして、最後、全部、葉になったところで、分類木作成を完了する。
【００８８】
図１０は、分類木作成フェーズ３０３により作成され、ＨＤＤ８０３に格納された分類木の例である。
【００８９】
図１０において、Ｓ７０２により削除された枝は省いてある。また図１０の○で囲ってある枝はＳ７０５でリーフノードとしてカテゴリーの番号がふられた葉であることを示す。
【００９０】
葉以外の全ての枝はノードとなるので、更に深く枝の展開が行われるわけであるが、図１０においては右から３番目のノードのみ、更なる枝の展開結果を図示した。
【００９１】
右から３番目のノードは、「１」「７」「９」の３種類のカテゴリーが共存しており、枝の展開が必要となっている。ここで、第１層のどのニューロンを展開すべきかについて、「展開変数判別手段」が第１層の右上のニューロンという答えを出したとする。すると、右上のニューロンの状態に関して、図７と同様に２４  ＝１６本の枝が展開され、ある枝は削除され、ある枝は葉となり、ある枝はノードとなる。ノードとなった枝は更に枝を展開しなければならなく、最終的に全ての枝の端末は葉となる。
【００９２】
図１０では、右から３番目のノードの展開結果を、簡単のため、第１層と第２層を重ね書きすることによって示してある。実際は、図３に示したピラミッドの第１層の４つのニューロンと第２層の右上４つのニューロンに、これらの状態が表現されている。
【００９３】
図１１は、先に説明した方法により作成した分類木を用いて生の入力パターンを認識する流れを表す図画であり、１０１は「生の入力パターン」、１０２は「生の入力パターン」、１０２は「生の入力パターン」をサブパターン毎に切り出す「サブパターン取り出し手段」、１０３は「入力サブパターン」をピラミッドに通す「階層化前処理手段」、１０４はピラミッドで処理された後の「階層化された入力サブパターン」、１０５は「分類木」、１０６は「階層化された入力サブパターン」と「分類木」を元にカテゴリーの判別確率を求める「カテゴリー判別手段」、１０７は「カテゴリー判別手段」の結果得られた各カテゴリーの判別確率を統合する「判別確率統合手段」である。本発明におけるインプットは“生の入力パターン”で、アウトプットは“認識候補”となる。
【００９４】
上記の「分類木」の内容は、実施例１の方法で作成しうる「分類木」であることが望ましい。
【００９５】
１００１「生の入力パターン」は、「生の学習用パターン」１０１に対応するもので、入力装置１１０４から入力されるが実質的なデータの構成としては何等変わりない。１００２「サブパターン取り出し手段」、１００３「階層化前処理手段」の２つの手段は図１のそれぞれ対応する手段と全く同じものである。１００４「階層化された入力サブパターン」は、図１の場合は学習パターンの数だけ存在したが、本実施例においては、入力されたパターンから導き出された１つのみである。
【００９６】
１００６「カテゴリー判別手段」は、１００４「階層化された入力サブパターン」に基づき、図１０の分類木をたぐって葉に到達した時点で、その葉に存在するカテゴリーを認識結果として表示器やプリンタより出力する。
【００９７】
また、葉に到達しなかった場合は、最後に通過したノードに含まれるカテゴリー確率を結果として出力する。
【００９８】
１００７「判別確率統合手段」は、１００６「カテゴリー判別手段」のサブパターン毎の結果を相加平均、または相乗平均等の平均処理を行う。
【００９９】
〈実施の形態２〉
本実施の形態では、学習用データ及び認識対象として入力されるデータが、ペン等の座標入力手段により入力されるストロークデータであり、先の実施の形態１で扱っていたデータがビットマップデータであったのに対し、入力ストロークを分割してベクトル量子化して処理を行う点に特徴があるが、全体的な流れは実施の形態１の処理に準ずる。
【０１００】
図１２は、本実施の形態における分類木作成処理流れを表す図画であり、１２０１は「学習用ストローク」、１２０２は前記「学習用ストローク」を分割する「ストローク分割手段」、１２０３は前記「ストローク分割手段」において分割されたストローク切片をベクトル量子化する「ベクトル化手段」、１２０４は、前記「ベクトル化手段」の結果得られたベクトル系列を部分的にサブベクトルとして取り出す「サブベクトル取り出し手段」、１２０５は前記「サブベクトル取り出し手段」の結果得られたベクトル系列を階層的に処理する「階層化前処理手段」、１２０６は前記で「階層化前処理手段」で処理された後の「階層化されたサブベクトル系列」、１２０７は前記「階層化されたベクトル系列」を元に分類木を作成する「分類木作成手段」、１２０８は前記「分類木作成手段」が分類木を作成する過程で使用する「展開ベクトル判別手段」、１２０９は「分類木作成手段」の結果得られた「分類木」である。
【０１０１】
本実施例におけるインプットは“学習用ストローク”で、アウトプットは“分類木”となる。
【０１０２】
以下、図１２から図１７に基づいて、本実施の形態の動きを詳細に述べる。
【０１０３】
まず、認識対象とするカテゴリーとしては、１画で書かれた「く」「し」「つ」の３種類の文字を想定する。
【０１０４】
次に辞書作成用の学習パターンは「く」「し」「つ」それぞれ１００個存在すると仮定する。なお、これらを、ＴＰｉ，ｊ（＝Ｔｒａｉｎｉｎｇ  Ｐａｔｔｅｒｎ  ｉ，ｊ）（ｉはカテゴリーを表すサフィックスで、０＜＝ｉ＜＝２の範囲の値をとる。ｊは学習パターンナンバーを示すサフィックスで、１＜＝ｊ＜＝１００の範囲の値をとる。）と名前付ける。
【０１０５】
本件に係わるオンライン手書き文字認識用辞書作成方法は、図１３のフローチャートに示すように、ベクトル生成フェーズ、サブベクトル取り出しフェーズ、階層化前処理フェーズ、分類木作成フェーズの４段階の手段を経て実行される。
【０１０６】
（１）ベクトル生成フェーズ（１３０１）
図１４に基づいて、ベクトル生成フェーズ１３０１の様子を詳しく述べる。
【０１０７】
まず、学習用ストロークはｎ分割（図１４ではｎ＝８となっている）される。図１４では、このｎ分割は、ストローク距離に関するｎ等分となっているが、本実施例はこれを制限しない。
【０１０８】
例えば始点終点付近のストロークの状態が不安定なストローク入力装置であれば、始点終点付近のストロークをいくら詳しくベクトル化してもあまり意味がなくなってくる。このような場合は、ｎ分割における最初と最後の分割は、その他の分割に比べて長くとっても構わない。次に、ｎ分割されたそれぞれの切片がベクトル量子化される。
【０１０９】
図１４においては、番号０から番号１１までの１２方向の基本ベクトル量子化している。この基本ベクトルの方向は、３６０度の中で等間隔に並んでいるが、これもストローク分割手段と同様、制限するものではない。
【０１１０】
例えば、図１４の１２方向の基本ベクトルの中で、実際左上方向の（例えば番号１０や番号１１）基本ベクトルは筆記ストロークの中にはあまり出てこない。よって、これらの部分はもっと角度の間隔の開いた基本ベクトルのセットを用いてもよい。
【０１１１】
以上、ベクトル生成フェーズにおいて、図１２の１２０２ストローク分割手段と１２０３ベクトル化手段が学習用ストローク全てに施される。
【０１１２】
図１４の例でいうと、「〜」ストロークが基本ベクトル系列「１２４５５４２１」に変換されている。
【０１１３】
（２）サブベクトル取り出しフェーズ（１３０２）
図１５に基づいて、サブベクトル取り出しフェーズ１３０２の様子を詳しく述べる。
【０１１４】
図１５において、ストロークは１６等分され「５４２１１２４５５４２１１２４５」のベクトルに変換されている。
【０１１５】
この１６個のベクトルで構成されているベクトル系列を部分的に取り出し（８個のベクトル系列×３個）のサブベクトル系列群を作成する。
【０１１６】
この取り出し方法は、図１５のように重なるように行ってもよいし、また、全く重ならないように行ってもよい。
【０１１７】
また、サブベクトル系列のベクトル個数が図１５では８個となっているが、これも限定しない。
【０１１８】
（３）階層化前処理フェーズ（１３０３）
次に、取り出された学習用サブストロークはピラミッド状に階層化前処理を施される。
【０１１９】
図１６にその１例を示す。図１６においては、ベクトル化手段の結果得られたベクトル系列の隣り合う２個のベクトルの平均ベクトルを上の階層に出力することによって、ベクトル情報が順次半分になっている（縮退している）。結局、図１６において８個の基本ベクトルで表されたストロークを、順次４個、２個、１個のベクトルに変換していることになる。
【０１２０】
この隣り合う２個のベクトルを平均する１方法を、図１７に基づいて詳しく述べる。
【０１２１】
なお、図１４においては、基本ベクトルを１２方向としたが、図１７では８方向とする。このように、基本ベクトルの総数や個々の基本ベクトルの方向を変化させても本質は変わらない。
【０１２２】
また基本ベクトルは８方向であるという前提で、以下、実施例を記述する。
【０１２３】
隣り合う２個のベクトルの最初の番号をｐｒｅ、後の番号をｐｏｓｔで示す。この時、２個のベクトルの平均は単純には（ｐｒｅ＋ｐｏｓｔ）／２となるが、これが基本ベクトルにならない場合が存在する。
【０１２４】
一般的に、８方向の等分割ベクトルと８方向の等分割ベクトルの平均ベクトルは１６方向存在するので、これを８方向にしなくてはいけない。
【０１２５】
図１７はこの方法を示している。図１７の大きな→は上の階層で右向き（番号２）のベクトルが存在することを意味し、その下に書かれた８組みのベクトルは、下の階層で存在しうるベクトルを意味する。
【０１２６】
つまり、上の階層で番号２のベクトルになる（ｐｅｒ，ｐｏｓｔ）の組みを（２，２）（１，３）（３，１）（０，４）（２，３）（３，２）（１，４）（４，１）の８組にしていることになる（これは、ｐｅｒとｐｏｓｔの値の平均（ｐｒｅ＋ｐｏｓｔ）／２が１．５より大、かつ２．５以下という条件である）。
【０１２７】
上の階層のベクトルの番号が番号２以外の場合は、図１７のベクトル組み合わせを全て４５度ずつ回転して得られるベクトル組み合わせを用いる。
【０１２８】
なお、この上の階層のベクトルと下の階層の２個のベクトルの組み合わせは図１７に限ったものではなく、上の階層のベクトルが下の階層の２個の平均ベクトルと見なせうる組み合わせであれば、何でもよい。
【０１２９】
（４）分類木作成フェーズ（１３０４）
階層化前処理フェーズ１３０３を経て、学習用サブストローク（ＴＰｉ，ｊ）の全てが、図１６に示すようなベクトルのピラミッドに下から上へ展開される。分類木の作成はこのベクトルのピラミッド化とは逆に、上から下へ行われる。この処理について、図１９のフローチャートに従って以下に説明する。
【０１３０】
なお、以下説明において、基本ベクトルは図１７にある番号０から番号７までの８方向（個）であると仮定する（よって、ベクトルのピラミッド上にあるベクトルも全てこの基本ベクトルのどれかである。）。
【０１３１】
最上位の層のベクトルの状態は８個存在するので、ルートノードから８本の枝が伸びることとなる。
【０１３２】
この時、枝に存在する学習用ストローク（ＴＰｉ，ｊ）の数を数える。この結果によって、以後の処理が３つにわかれる。
【０１３３】
１．学習用ストローク（ＴＰｉ，ｊ）が１つも存在しない場合
この場合は、その枝を削除する。
【０１３４】
２．学習用ストローク（ＴＰｉ，ｊ）の中で、あるカテゴリー（例えば「つ」）のストロークのみ存在する場合
この場合は、この枝を葉とし、カテゴリーの番号（例えば「つ」）を割り振る。
【０１３５】
３．上記１、２以外の場合＝複数カテゴリーのストロークが混合して存在する場合
この場合、この枝をノードとして、更に分類木作成を続ける。
【０１３６】
図１８にこの処理の結果を示す。枝の状態は、図１６の最上位の層＝第１層のベクトルの状況を図示することによって、示してある。
【０１３７】
存在するカテゴリーの種類の欄が「×」となっている枝は、上記１．学習用ストローク（ＴＰｉ，ｊ）が１つも存在しない場合に相当し、削除される。
【０１３８】
左から３番目の枝は「つ」のカテゴリーの学習用ストロークしか存在しない。これは、上記２．学習用ストローク（ＴＰｉ，ｊ）の中で、あるカテゴリー（例えば「つ」）のストロークのみ存在する場合に相当し、葉となる。
【０１３９】
例えば、左から４番目と５番目の枝には「く」「し」「つ」のカテゴリーの学習用ストロークが存在し、上記３．１、２以外の場合＝複数カテゴリーのストロークが混合して存在する場合に相当し、ノードとなる。
【０１４０】
以上説明した処理をフローチャートとして表現した図が図１９である。以下、図１８に示したような分類木の生成手順を説明する。
【０１４１】
まず、ステップＳ１０００では、注目ノードをルートノードとする。
【０１４２】
ステップＳ１００１では、設定された注目ノードに関して、以下の３条件、即ち、
１．学習用パターンが存在しない。
２．単一カテゴリー学習パターンのみが存在する。
３．複数のカテゴリーの学習パターンが存在する。
のどれに当てはまるかチェックして、１．の条件を満たせば、ステップＳ１００２へ進む。また、２．の条件を満たせば、ステップＳ１００５へ進む。また、３．の条件を満たせば、ステップＳ１００６へ進む。
【０１４３】
ステップＳ１００２では、分類木からそのノードを削除する。
【０１４４】
ステップＳ１００３では、他の全ノードは、全てリーフノードになったかどうかチェックして、イエスであれば、処理を終了する。また、ノーであれば、ステップＳ１００４に進み、注目ノードとして次のノードを選ぶ。そして、ステップＳ１００１に戻り、同様の処理を繰り返す。
【０１４５】
ステップＳ１００５では、そのノードをリーフノードとして、そのカテゴリー番号をアサインする。そして、ステップＳ１００３に進む。
【０１４６】
ステップＳ１００６では、そのノードに含まれるベクトル列の中から、上述のエントロピー基準に基づいて、そのベクトル列中の１つのベクトルを選択する。
【０１４７】
ステップＳ１００７では、選択されたベクトルの下位階層のベクトルの組の枝を生成する。
【０１４８】
図１１は、このステップでの処理を説明するための図であり、下位階層のベクトルの組の例を示す。
【０１４９】
図１１を参照して、５０００が、ステップＳ１００６で選択された方向“２”を有するベクトルであるとする。このベクトルに対応する下位層でのベクトルの組は、８通りの組み合わせベクトル、即ち、５００１、５００２、５００３、５００４、５００５、５００６、５００７、５００８が存在する。そして、これらの組み合わせベクトルの各々を新しいノードとする各枝を生成する。
【０１５０】
以上、ステップＳ１００７での処理の具体例を示した。
【０１５１】
次に、ステップＳ１００８へ進み、生成された枝のノードの１つを次の注目ノードとする。そして、ステップＳ１００１へ戻り、同様の処理を繰り返す。
【０１５２】
以上説明した手順によって、図９に示すような分類木を生成することにより、特徴量の多いストロークパターンの大局的分類を維持しながら、類似のカテゴリー間の細かい特徴の違いを反映した分類木を生成でき、この分類木を探索することで、高速かつ高認識率の文字認識が可能になる。
【０１５３】
ここで、Ｓ１９０７でノードから枝を作成する際に、最も効率の良い枝の作成を行いたい。最も効率が良いとは、結局、枝を展開したときに、最も多くカテゴリーに関する情報が得られるベクトルをＳ１９０６において選択するということである。
【０１５４】
以下、展開したときに最も効率の良くなるベクトルを選ぶ方法を説明する。
【０１５５】
あるノードに存在する学習用ストローク（ＴＰｉ，ｊ）の中で、カテゴリー番号ｉの数をＮｉで表す。このノードに存在する学習用ストロークの総数をＮとすると、このノードにおけるそれぞれのカテゴリーの存在確率ｐｉはｐｉ＝Ｎｉ／Ｎで表される。なお、
【０１５６】
【外９】
0003630837.tif 000010
よって、このノードの情報が得られたときのエントロピーは、以下の式で表される。
【０１５７】
【外１０】
0003630837.tif 000011
【０１５８】
次に、このノードにおいて、あるベクトルを選択して、そこから枝を展開したときのエントロピーの減少量を計算する。
【０１５９】
上述の通り、１つのベクトルを下の層に向かって展開したときの枝の数は８本である。この８本の枝に学習用ストローク（ＴＰｉ，ｊ）がどのように分布するかを、展開したときの枝に存在する学習用ストローク（ＴＰｉ，ｊ）の数＝Ｎｉ，ｂで表す。Ｎｉ，ｂのｉはカテゴリー番号を示し、ｂは枝（ｂｒａｎｃｈ）の番号を示す。この時、それぞれの枝の情報が得られたときのエントロピーは、上の議論と同じく、
【０１６０】
【外１１】
0003630837.tif 000012
この式で、
【０１６１】
【外１２】
0003630837.tif 000013
は枝に存在する学習用ストローク（ＴＰｉ，ｊ）の総数を表わす。
【０１６２】
それぞれの枝にいく確率は
【０１６３】
【外１３】
0003630837.tif 000014
（Ｎは（１）式のＮと同じ）なので、結局、枝を展開したときの平均エントロピーは
【０１６４】
【外１４】
0003630837.tif 000015
となる。
【０１６５】
結局、エントロピーの平均減少値は、
【０１６６】
【外１５】
0003630837.tif 000016
となる。
【０１６７】
そして、この値を枝の数の対数で割った値
【０１６８】
【外１６】
0003630837.tif 000017
が、枝を展開したときの分類効率を表すことになる。この値が最高となるベクトルを選び、枝を展開していく。
【０１６９】
なお、１つのベクトルのみを展開するのではなく、複数のベクトルのグループに関して枝を展開してもよい。この場合、（５）式のＢｒａｎｃｈＮｕｍｂｅｒは、（選択されたベクトルの数）×８となる。
【０１７０】
また、本実施例においては、（５）式で表される値を枝を展開したときの分類効率を表す値として採用したが、例えば文献「Ｃｌａｓｓｆｉｃａｔｉｏｎ  ａｎｄ  Ｒｅｇｒｅｓｓｉｏｎ  Ｔｒｅｅｓ」に記載されている“Ｇｉｎｉ  ｃｒｉｔｅｒｉｏｎ”等の枝の展開効率を表す関数ならば（５）式に限らず何でもよい。
【０１７１】
以上、展開するベクトル、またはベクトルの組みが決定されれば、それに従って、枝を展開し、葉及びノードを作成していく。そして、最後、全部、葉になったところで、分類木作成を完了する。
【０１７２】
以上、本実施例では、学習ストロークが１本という前提で、本発明に係わるオンライン手書き文字認識用の辞書作成方法を述べてきたが、実際には何本のストロークが入力文字として切り出されるシステムであっても、それぞれのストロークを本実施例と同様に処理することによって対応できる。
【０１７３】
図２０は、分類木作成フェーズによって作成され、ＨＤＤ８０３に格納される分類木データであって、手書き文字認識用辞書として利用されるデータを示す図である。
【０１７４】
図２０は図１８を更に下の階層まで表示した図で、削除された枝は省いてある。図２０の□で囲ってある枝は葉であることを示す。
【０１７５】
葉以外の全ての枝はノードとなるので、更に深く枝の展開が行われるわけであるが、図２０においては左から２番目のノードのみ、更なる枝の展開結果を図示した。
【０１７６】
左から２番目のノードは、「く」「し」「つ」の３種類のカテゴリーが共存しており、枝の展開が必要となっている。
【０１７７】
このノードの状態を表現するベクトルは１つしか存在しない（○の中に表示されているベクトル）ので、展開するべきベクトルは一意的に決定する。この時の展開するベクトルの組み合わせは図１５に記載されているベクトルの組みに準ずる。つまり、上の階層のベクトルが右下の方向（番号３）のベクトルでありうる下の階層の２個のベクトルの８つの組み合わせに相当する枝の展開が行われる。この状況は図１６において、ベクトルの展開が第２層まで進んだことを意味する。
【０１７８】
更に展開した左から２番目の枝のノードには「し」「く」の２つのカテゴリーが存在する。よって、更なる枝の展開が必要になる。ここで、ノードを表現する２個のベクトルのうち、どのベクトルを展開すべきかについて、「展開ベクトル判別手段」が最初のベクトルという答えを出したとする。すると、最初のベクトルの状態に関して、上の階層と同様に８本の枝が展開され、ある枝は削除され、ある枝は葉となり、ある枝はノードとなる。ノードとなって枝は更に枝を展開しなければならなく、最終的に全ての枝の端末は葉となる。
【０１７９】
図２１は、本実施の形態におけるオンライン手書き文字認識処理を表す図画であり、２１０１はユーザが入力した「筆記ストローク」、２１０２は前記「筆記ストローク」を分割する「ストローク分割手段」、２１０３は前記「ストローク分割手段」において分割されたストローク切片をベクトル量子化する「ベクトル化手段」、２１０４は前記「ベクトル化手段」の結果得られたベクトル系列から部分的なベクトルを取り出す「サブベクトル取り出し手段」、２１０５は前記「サブベクトル取り出し手段」の結果得られたベクトル系列を階層的に処理する「階層化前処理手段」、２１０６は前記で「階層化前処理手段」で処理された後の「階層化されたサブベクトル系列」、２１０７はカテゴリー分類に必要な情報にまとめた「分類木」、２１０８は前記「階層化されたベクトル系列」を元に前記「分類木」の分類内容に従って前記「筆記ストローク」のカテゴリーを決定する「カテゴリー判別手段」、２１０９は前記「カテゴリー判別手段」の結果得られた各カテゴリーの判別確率を統合する「判別確率統合手段」である。本発明におけるインプットは“筆記パターン”でアウトプットは“認識候補”である。上記の「分類木」の内容は、実施の形態１の方法で作成しうる「分類木」であることが望ましい。
【０１８０】
２１０１「筆記ストローク」は、実施例４の１００１「学習用ストローク」対応するもので、実質的には何等変わりない。２１０２「ストローク分割手段」、２１０３「ベクトル化手段」、２１０４「サブベクトル取り出し手段」、２１０５「階層化前処理手段」の４つの手段は実施例４のそれぞれ対応する手段と全く同じものである。２１０６「階層化されたサブベクトル系列」は、図１２の１２０６の場合は学習パターンの数だけ存在したが、ここでは、筆記されたストロークから導き出された１つのみである。
【０１８１】
２１０７「カテゴリー判別手段」は、２１０６「階層化されたベクトル系列」に基づき、図１８の分類木をたぐって葉に到達した時点で、その葉に存在するカテゴリーを認識結果として出力する。また、葉に到達しなかった場合は、最後に通過したノードに含まれるカテゴリー確率を結果として出力する。
【０１８２】
２１０８「判別確率統合手段」は、２１０７「カテゴリー判別手段」のサブパターン毎の結果を相加平均、または相乗平均等の平均処理を行う。
【０１８３】
〈実施の形態３〉
先の実施の形態で説明した分類木の作成方法、及び認識方法を利用して、音声を認識することも可能である。
【０１８４】
音声データは時系列データとして表現されるが、このデータをフーリエ変換し、その包絡線をとると図２３のようになる。図２３は「あしたいく」と発声された音声データをフーリエ変換した結果である。この状態では、図２３を見ても分かるように、２値のビットマップデータと異なり、アナログ値の強度を持ち、山脈のような起伏を持った３次元形状データとなっている。
【０１８５】
よって、この３次元データを何らかの定めた軸で切断し、Ｎ枚の２次元ビットマップデータに変換すれば、先の実施の形態で説明したビットマップデータの分類木作成方法で分類木が作成でき、また、入力音声についても同様のフーリエ変換と軸での切断によりビットマップデータで表せ、よって認識が可能となる。
【０１８６】
図２４は強度と周波数を軸にして図２３のデータを切断した図であり、図２５は周波数と時間を軸にして図２３のデータを切断した図である。
【０１８７】
尚、図２３のような３次元形状全体の認識結果としては、上記のようなＮ枚の２次元ビットマップの認識結果の相加平均等の平均操作を施すことによって得られる。
【０１８８】
【発明の効果】
以上説明したように、本発明によれば、少量の学習パターンでも高認識率が実現できる。
【０１８９】
以上説明したように、本発明によれば、高速で高い認識率の認識処理を可能とする。
【０１９０】
以上説明したように、本発明によれば、認識能率の良い分類木（辞書データ）を作成することができる。
【０１９１】
以上説明したように、本発明によれば、サブパターンを容易に抽出できる。
【０１９２】
以上説明したように、本発明によれば、スキャナ等で入力される画像データや、ペン等により入力される軌跡データ、マイクロフォン等により入力される音声データ、などについて、認識能率の良い分類木（辞書データ）を作成し、高速で高い認識率の認識処理を可能とする。
【図面の簡単な説明】
【図１】実施の形態１の分類木作成処理を示す図である。
【図２】本発明に係る情報処理装置のハード構成を示すブロック図である。
【図３】実施の形態１の情報処理装置の処理の流れを示すフローチャートである。
【図４】実施の形態１におけるサブパターン取り出しを説明する図である。
【図５】実施の形態１におけるピラミッドの構造図である。
【図６】作成途中の分類木の様子を示す図である。
【図７】実施の形態１における分類木作成過程を示すフローチャートである。
【図８】本発明に係る情報処理装置の構成図である。
【図９】選択されたニューロンから作成される下の階層パターンの例を示す図である。
【図１０】実施の形態１により作成された分類木の例を示す図である。
【図１１】実施の形態１の認識処理を示す図である。
【図１２】実施の形態２の分類木作成処理を示す図である。
【図１３】実施の形態２の情報処理装置の処理の流れを示すフローチャートである。
【図１４】ストローク生成フェーズの動きを示す図である。
【図１５】サブベクトル取り出し手段を示す図である。
【図１６】ベクトル系列の階層化処理を示す図である。
【図１７】ベクトル平均化を示す図である。
【図１８】作成途中の分類木の様子を示す図である。
【図１９】分類木作成過程を示すフローチャートである。
【図２０】実施の形態２により作成された分類木の例である。
【図２１】実施の形態２の認識処理を示す図である。
【図２２】従来例を示す図である。
【図２３】音声パターンをフーリエ変換した結果の包絡線の図である。
【図２４】強度と周波数を軸にした音声パターンの図である。
【図２５】周波数と時間を軸にした音声パターンの図である。
【図１】
0003630837.tif 000018
【図２】
0003630837.tif 000019
【図３】
0003630837.tif 000020
【図４】
0003630837.tif 000021
【図５】
0003630837.tif 000022
【図６】
0003630837.tif 000023
【図７】
0003630837.tif 000024
【図８】
0003630837.tif 000025
【図９】
0003630837.tif 000026
【図１０】
0003630837.tif 000027
【図１１】
0003630837.tif 000028
【図１２】
0003630837.tif 000029
【図１３】
0003630837.tif 000030
【図１４】
0003630837.tif 000031
【図１５】
0003630837.tif 000032
【図１６】
0003630837.tif 000033
【図１７】
0003630837.tif 000034
【図１８】
0003630837.tif 000035
【図１９】
0003630837.tif 000036
【図２０】
0003630837.tif 000037
【図２１】
0003630837.tif 000038
【図２２】
0003630837.tif 000039
【図２３】
0003630837.tif 000040
【図２４】
0003630837.tif 000041
【図２５】
0003630837.tif 000042