(57)【要約】【課題】学習パタンの作成に複雑な計算を行うことなく、学習信号から生成されるベクトルを単純に格納したデータベースを認識に用い、かつ入力信号に対して特別な前処理を行うことなく、高速なパタン認識かつ入力パタンにランダムに重畳するノイズに対してロバストなパタン認識を実現する。【解決手段】本発明のパタン認識装置は、信号入力部１１と、書誌情報格納部１３と、ベクトル生成部１５と、ベクトル圧縮部１６と、クラス情報生成部１７と、ベクトル格納部１８と、インデクス生成部１９と、ベクトル探索部２１と、クラス識別部２２と、クラス一時記憶部２４と、識別結果表示装置２３とから構成される。スイッチ１〜８を予め定めらた順序でＯＮ／ＯＦＦ状態とする。【選択図】        図２
2004341930.tif 000002
【特許請求の範囲】
【請求項１】
パタン認識に用いる信号を入力する信号入力手段と、
学習パタンに関連する書誌情報を入力する書誌情報入力手段と、
上記各手段により入力された信号から特徴量を抽出し、多次元ベクトルを生成するベクトル生成手段と、
複数の特徴ベクトルを圧縮するベクトル圧縮手段と、
前記書誌情報に基づいて、複数のベクトルからなる１つのクラスを定義するクラス生成手段と、
学習パタンのベクトルを１つの木構造に管理するインデクスを生成するインデクス生成手段と、
該インデクス生成手段により生成されるインデクスの情報に基づいて、ベクトルを管理するベクトル格納手段と、
識別用に入力された入力パタンから前記ベクトル生成手段により得られる複数のベクトルをキーとして用い、前記ベクトル格納手段により記録媒体へ格納されているベクトル中から、インデクス情報を参照してｋ−ＮＮ探索を行うベクトル探索手段と、
該ベクトル探索手段により得られた結果に基づき、前記入力パタンを学習パタンのいずれのクラスに所属するかを決定するクラス識別手段と、
該クラス識別手段により得られた結果を表示する識別結果表示手段とを有することを特徴とするパタン識別装置。
【請求項２】
請求項１に記載のパタン識別装置において、
前記クラス識別手段は、ｋ−ＮＮ探索により得られるｋ個のベクトルとキーとの距離を計算し、該距離の逆数に基づいて、識別クラス名からなる投票空間に対してその値を投票し、投票の結果に基づいて、初めの入力パタンを学習パタンのいずれかのクラスへ当て篏めることを特徴とするパタン認識装置。
【請求項３】
請求項１に記載のパタン識別装置において、
前記クラス識別手段は、閾値に基づいて、最終的に入力パタンが学習パタンのいずれにも当て篏まらないという判断がなされた場合に、該入力パタンを用いて、新たな学習パタンを定義することを特徴とするパタン認識装置。
【請求項４】
請求項１に記載のパタン識別装置において、
前記クラス識別手段は、時間的にＮ番目の投票空間において、最大値を取るクラスについて、前記最大値の値を正規化し、前記閾値と前記正規化された値とを比較し、Ｎ−１番目の投票空間から得られているクラス名を修正することを特徴とするパタン認識装置。
【請求項５】
システムとしてパタン認識を行うパタン認識方法において、信号入力手段を介して入力された学習用の信号からベクトル生成手段により複数の特徴ベクトルを生成し、該特徴ベクトルをベクトル圧縮手段により圧縮し、クラス生成手段により書誌情報入力手段により入力された書誌情報に基づき定義されるクラスへ関連付け、インデクス生成手段により、前記圧縮または非圧縮のベクトルを木構造に管理するインデクスを生成し、ベクトル格納手段により記録媒体へベクトルを格納し、次に、識別対象となる入力パタンから前記ベクトル生成手段により得られる複数の特徴ベクトルをキーとして、インデクス情報を参照しながらベクトル探索手段により記録媒体へ格納したベクトル中から類似するベクトルを探し出し、探し出されたベクトルのクラスに基づき、前記クラス識別手段により、初めの入力パタンを学習パタンのいずれかのクラスに当て嵌め、その結果を前記識別結果表示手段により表示することを特徴とするパタン識別方法。
【請求項６】
請求項５に記載のパタン識別方法において、
前記クラス識別手段において、ｋ−ＮＮ探索により得られるｋ個のベクトルとキーとの距離を計算し、該距離の逆数に基づいて、識別クラス名からなる投票空間に対してその値を投票し、投票の結果に基づいて、初めの入力パタンを学習パタンのいずれかのクラスへ当て篏めることを特徴とするパタン認識方法。
【請求項７】
請求項５に記載のパタン識別方法において、
前記クラス識別手段において、閾値に基づいて、最終的に入力パタンが学習パタンのいずれにも当て篏まらないという判断がなされた場合に、該入力パタンを用いて、新たな学習パタンを定義することを特徴とするパタン認識方法。
【請求項８】
請求項５に記載のパタン識別方法において、
前記クラス識別手段において、時間的にＮ番目の投票空間において、最大値を取るクラスについて、前記最大値の値を正規化し、前記閾値と前記正規化された値とを比較し、Ｎ−１番目の投票空間から得られているクラス名を修正することを特徴とするパタン認識方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号同士を比較することにより、入力された信号が学習されている信号のパタンに一致するか否かを判断するパタン認識方法および装置に関する。
【０００２】
【従来の技術】
本明細書においては、機械に予め物事を登録することを学習と呼び、識別のために予め準備しておく信号のパタンを学習パタンと呼び、識別対象となる信号のパタンを入力パタンと呼ぶことにする。また、入力された信号が学習されている信号のパタンに一致するか否かを判断することを、パタン認識と呼ぶ。
なお、上記『信号』の例としては、画像、動画像、および数値または文字列データの流れが含まれ、具体勢には、音声認識、画像認識、動画像中の物体の認識、話者認識、データ予測、データマイニング等に用いることができる。
【０００３】
従来より、パタン認識に関する研究は、幅広く行われている。基本的に、パタン認識とは、観測されたパタンを予め定められた複数の概念のうちの一つに対応させる処理である（『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ＩＳＢＮ４−２７４−１３１４９−１（非特許文献１参照）
この『概念』をクラスと呼ぶ。また、『予め概念を定める』とは、予め準備したベクトル（これを学習ベクトルと呼ぶ）を準備して、学習ベクトルから『学習パタン』と呼ばれる概念を作成することを指す。
通常、学習パタンの一つのクラスは、複数のベクトルの集合で表現される。このベクトルを、特徴ベクトルと呼び、特徴ベクトルによって張られる空間（特徴ベクトルを網羅的に含む空間）を特徴空間と呼ぶ。
【０００４】
高い精度でパタン認識を行うためには、２点の要素が重要である。
１点は、学習パタンの作り方であり、クラス間の分布が広くなるような学習パタン作り方、および特徴量の選び方が重要である。識別の対象となるパタンを良く表現するような学習パタンが準備できないと、いかなる方法によっても精度よくパタン認識を行うことはできない。学習パタンは、学習パタンを格納するために必要な主記憶容量を節約するために、学習用の信号から生成される特徴ベクトルを用いて確率モデル（学習モデルと呼ぶ）を生成する方法があり、これをパラメトリックな手法と呼ぶ。
【０００５】
一方、学習用の信号から生成されるベクトルをそのままサンプルとして用いる方法は、ノンパラメトリックな方法と呼ばれ、代表的なものにＮＮ法がある。近年の計算機における主記憶容量の飛躍的な進歩により、ベクトルをそのまま学習サンプルとして扱うＮＮ法が見直されつつある。ＮＮ法やｋ−ＮＮ法などのノンパラメトリックな手法は、パラメトリックな手法に比較して技術的に平易な方法ではあるが利点もある。特に、頻繁に学習サンプルデータの追加などが行われる場合には、一々確立密度関数を求めないＮＮ法が有利である。
ｋ−ＮＮ法（ｋ−ｔｈ  Ｎｅａｒｅｓｔ−Ｎｅｉｇｈｂｏｒ法）であって、ｋ番目最近傍のような意味を有している（例えば、図１における×印から近い順にｋ個の点を探すこと）。
【０００６】
他の１点は、入力パタンからのノイズ除去や正規化などの、前処理（ｐｒｅｐｒｏｃｅｓｓｉｎｇ）と呼ばれる処理である。高精度な認識処理のためには、入力パタンにノイズがある場合は、それを前処理により除去する必要がある。除去が難かしてノイズの例には、突発的に重畳する短時間のノイズがある。例えば、話者認識における、入力音声に混入する他人の会話、咳払い、紙をめくる音、入力しようとするマイクに触ることにより生じる音、などである。特に、話者インデキシングにおいては、多数の話者が交替しながら発話する状況に対して話者認識を適用するため、このような突発的に重畳するノイズは問題である。
【０００７】
ラインノイズのように、入力パタンに対して常に一定の周波数と音量で重畳するノイズは比較的簡単に除去できるが、突発的に、かつランダムに重畳するノイズへの対応は一般に困難であり、パタン認識精度の低下をもたらす原因の一つになっている。
また、入力パタン生成時と学習パタン生成時との環境が異なる場合、正規化が必要となる。例えば、画像の認識における画像のサイズや、音声の認識における音声のサンプリング周波数などについて、学習パタンと入力パタンとの正規化が必要である。
【０００８】
【非特許文献１】
『わかりやすいパターン認識』石井健一郎ほか、オーム社出版軍発行、ＩＳＢＮ４−２７４−１３１４９−１
【非特許文献２】
西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、ＳＰ２００２−１５７、ＮＬＣ２００２−８０（ＳＬＰ−４４−３７），２００２
【０００９】
【発明が解決しようとする課題】
前述のように、高精度なパタン認識のためには、時間の掛かる複雑な処理により確立密度関数（ＰＤＦ）などの学習パタンを作成し、かつ入力パタンに対しては前処理が必要である。しかし、頻繁に学習パタンが追加・更新されるケースでは、このような学習パタンの生成方法は不向きである上、多種類のノイズや環境の全てに対応した前処理を準備することは不可能である。
【００１０】
そこで、本発明の目的は、学習パタンの作成に複雑な計算を行うことなく、学習信号から生成されるベクトルを単純に格納したデータベースを認識に用い、かつ入力信号に対して特別な前処理を行うことなく、高速なパタン認識かつ入力パタンにランダムに重畳するノイズに対してロバストなパタン認識を実現することが可能なパタン認識方法および装置を提供することにある。
【００１１】
【課題を解決するための手段】
本発明のパタン認識装置は、信号入力手段と、書誌情報登録手段と、ベクトル生成手段と、ベクトル圧縮手段と、クラス生成手段と、ベクトル格納手段と、インデクス生成手段と、ベクトル探索手段と、クラス識別手段と、識別結果表示手段とから構成される。
本発明の信号入力手段は、パタン認識に用いる信号を入力する。信号とは、例えば、静止画像、動画像、音声、パケット等の単純なデータの流れ、株価・河川流量・騒音値などの時間的に変化する数値の流れ、天気・話題などの文字列の流れ、などがある。これらのデータを本発明では『信号』と呼ぶことにする。
【００１２】
書誌情報登録手段は、学習パタンを作るために入力された信号に対し、その書誌情報を入力する。書誌情報は、テキストの情報である。例えば、Ａという名前の話者の音声の学習パタンを生成するとき、入力する音声に対して『名前：Ａ』というテキストを登録し、音声と関連付ける。書誌情報は、自由に記入することができる。
ベクトル生成手段は、学習用の信号から、特徴ベクトルを生成する。特徴ベクトルは、例えば、色情報（ピクセルのＲＧＢ）、動きベクトル、線形予測係数、スペクトル密度、のように、入力される信号に応じて様々な特徴ベクトルがある。
【００１３】
ベクトル圧縮手段は、特徴ベクトルを圧縮する。
クラス生成手段は、学習用に入力された信号から生成される特徴ベクトルを、一つのクラスに関連付ける。
ベクトル格納手段は、生成された特徴ベクトルを記録媒体に格納する。
インデクス生成手段は、記録媒体に格納された全ての特徴ベクトルからインデクスを生成する。
【００１４】
ベクトル探索手段は、記録媒体に格納された特徴ベクトルから、キーとの距離が近いものを探索する。インデクスがある場合には、インデクス情報を参照して探索する。
クラス識別手段は、ベクトル探索手段により選ばれたベクトルの所属クラスに基づいて、入力信号のクラスを識別する。このとき、キーと近傍ベクトルの距離の逆数を用いる。
識別結果表示手段は、上記手段により識別されたクラスに基づいて、識別結果を表示する。
【００１５】
本発明によれば、入力信号に突発的に雑音が重畳しても、入力パタンを精度よく識別することができる。また、入力パタンに重畳する突発的なノイズを前処理により分離する必要はなく、そのまま入力パタンとして用いることができる。入力されたパタンは、予め準備された学習パタンと比較され、比較の結果、特定の学習パタンと同じであると判断がなされるか、あるいは、いずれの学習パタンにも相当しないものであるとの判断がなされる。後者の場合には、入力パタンを用いて新たに学習パタンが定義される。本発明は、特に、話者インデキシングのような、時々刻々と識別パタンが変化するような入力信号に対するパタン認識に最も適合する。
【００１６】
【発明の実施の形態】
以下、本発明の原理および実施例について、図面を参照しながら詳細に説明する。
（原理）
図１は、本発明の原理の説明図である。（ａ）は入力パタンの音声波形を示す図、（ｂ）は（ａ）で示す近傍ベクトルの空間を示す図である。
Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｆｅａｔｕｒｅ  Ｖｅｃｔｏｒ  Ｓｐａｃｅとは、図１の縦横の矢印で囲まれる空間のことで、多次元特徴ベクトル空間である。図１は平面であるから２次元の空間である。パタン識別の分野では、この次元数が１６次元など大きくなることがある。このような多次元を、Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌと表現するのが通例である。
本発明は、前述の課題を解決するために、ｋ−ＮＮ探索およびクラス空間への投票によるパタン認識手法を提案する。
この手法の特徴は、データベースおよびインデクスを利用しており、学習モデルの生成および入力モデルの識別の両方を短時間で行うことができる。また、突発的な雑音の重畳に対する前処理を行わず、ロバストな認識ができる、というものである。
このパタン認識方法は、時々刻々と入力パタンが変化するような入力信号に対するパタン認識に最も適する。勿論、一般のパタン認識に用いることも可能である。
本発明は、特に、話者インデキシング（西田昌史、秋田祐哉、河原達也『討論を対象とした話者モデル選択による話者インデキシングと自動書き起こし』電子情報通信学会研究報告、ＳＰ２００２−１５７、ＮＬＣ２００２−８０（ＳＬＰ−４４−３７），２００２（非特許文献２参照）のような、時々刻々と識別対象が変化する入力信号のパタンに対し、高速かつ高精度に認識することを実現する。
【００１７】
図１（ｂ）では、今、特徴空間に２種類の学習クラス（△と●）があり、入力パタンから生成されるキー（×）を用いて、入力パタンが学習クラスのどちらに所属するかを認識する、というケースを仮定し、キーの各々についてｋ＝４としてｋ最近傍探索を行う場合を示している。
図１（ａ）に示すように、入力パタンは音声であり、音声から連続する５つのキーベクトルｖ１〜ｖ５が生成され、それらの各々のｋ最近傍ベクトルを含有する空間（以下、これを超球と呼ぶ）を灰色の丸で表した。各々の灰色の丸には、ｋ＝４であるため４本のベクトルが含まれる。
【００１８】
普通のｋ−ＮＮ法によると、近傍ベクトルのクラス毎の個数は、Ｃｌａｓｓ１：Ｃｌａｓｓ２＝１０：１０となり、『入力パタンがどちらのクラスに所属するか不明である』識別結果を得る。しかしながら、特徴空間上におけるｖｉ（ｉ＝１〜５）の場所を見ると、ｖ２とｖ４は最近傍のベクトルにはクラス１を含むものの、クラス１の予測される境界領域より大幅に離れた位置にある。突発的な雑音により、このようなエラーが発生することがある（本来、Ｃｌａｓｓ２の領域に存在するべきベクトルが、突発的なノイズによってｖ２とｖ４のように離れた位置になることがある）。
【００１９】
一方、ｖ１とｖ２は、Ｃｌａｓｓ２の中心付近に存在する。このような場合、図１（ｂ）に示すような、クラスの分布を反映するような勾配を表現するＰＤＦ（確立密度関数）を用いれば、各クラスの分布の中心付近にあるキーの確立が高く扱われるので、エラーの影響を除去することができ、識別結果は明確にＣｌａｓｓ２となるであろうが、
・頻繁にデータの更新を行う
・学習サンプルの量が、パタンにより区々である
上記のようなケースでは、ＰＤＦを求める方法は不適であると言える。
【００２０】
ｋ−ＮＮ法では、Ｋ最近傍ベクトルを含有する超球内のベクトルの確立密度は一定とするのと等価であるので、クラスの密度を反映することができない。すなわち、突発的なノイズによってクラスの周辺または外側に生じるエラーの影響を受け易い。そこで、クラスの個数の加算の際に、各キーベクトルとそのｋ最近傍ベクトルとの距離の逆数を用いる方法を考案した。この方法によれば、クラスのベクトルが疎の部分（すなわち、ノイズによりベクトルが突発的に発生する部分）では、超球の半径が大きいために逆数は小さくなり、クラス個数の加算への反映が弱くなる。反対に、クラス個数が密である部分においては、超球半径が小さいために、クラス個数への加算に大きく寄与する。この方法によれば、ＰＤＦを求めるのに比較して大幅に単純な処理でありながら、ＰＤＦを用いるときと同様にベクトルの密度分布を識別に反映させることができる。
【００２１】
識別においては、クラス名からなる１次元の投票空間を準備し、そこへ逆数の値を加算して行く（この例では、ｖ１〜ｖ５まで加算）。最終的に、最大値を獲得したクラスを、識別結果とする。この方法に従えば、ｖ１〜ｖ５を明確にＣｌａｓｓ２であると識別できることは、図１（ｂ）から明らかである。
上記の処理を一般的な数式を用いて表現すれば、下記のようになる。
識別クラスの集合をＰ、Ｐに含まれる任意のクラスをＣｐ、キーベクトルをｖｊ（ｊ＝１，２，・・Ｎｆ）、ｋ−ＮＮ探索の結果得られるベクトルをｘｉ（ｉ＝１，２，・・ｋ）、ベクトルｖとｘとの距離をｄ（ｖ，ｘ）、ｘのクラス判別関数をＣ（ｘ）、クラスＣｐに対する得票をＶｃｐとすると、識別結果Ｐａｎｓは、次式で表すことができる。
【数１】
2004341930.tif 000003
以下、この原理を実装したパタン認識装置を実現するための、信号の入力や結果の表示部分などを含んだ網羅的な動作について述べる。
【００２２】
以下、本発明の実施例を説明する。
（実施例１）
本発明の動作は、『学習フェーズ』と『認識フェーズ』に分けることができる。
図２は、本発明の実施例１に係るパタン認識装置の構成図である。
図２のパタン認識装置は、入力部１１と書誌情報入力部１２と書誌情報格納部１３と特徴量抽出部１４とベクトル生成部１５とベクトル圧縮部１６とクラス情報生成部１７とベクトル格納部１８とインデクス生成部１９とインデクス格納部２０と検索部２１とクラス識別部２２と表示装置２３とから構成される。
その他に、スイッチ１〜スイッチ８が備えられる。
【００２３】
（学習フェーズ）
図３は、本発明の実施例１に係るパタン認識装置の学習フェーズの動作フローチャートである。
このフェーズでは、図２のスイッチ１、スイッチ３およびスイッチ５がＯＮとなる。初めに、入力部１１を通じて学習パタン生成用の信号を入力する（ステップ１０１）。入力された音声に関連する情報を、書誌情報として書誌情報入力部１２で入力し（ステップ１０２）、それらは書誌情報格納部１３の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部１４において、信号から特徴量を抽出し、それからベクトル生成部１５で特徴ベクトルを生成する（ステップ１０３）。次に、ベクトル圧縮部１６で特徴ベクトルを一定の個数の代表ベクトルへ圧縮し（ステップ１０４）、書誌情報格納部１３に格納されている情報に基づいてクラスを定義し（ステップ１０５）、ベクトルを記録媒体１８へ格納する（ステップ１０６）。全ての必要な学習パタンのベクトルが格納された後（ステップ１０７）、格納したベクトルの全てのベクトルを用いて、インデクス生成部１９によりインデクスを作成し（ステップ１０８）、インデクスはメモリ等の記録媒体２０へ格納される（ステップ１０９）。
【００２４】
これまでの流れを、具体的な例を用いて説明する。例えば、今、『こんにちわ』の音声信号から学習パタンを生成する場合を例にする。『こんにちわ』という音声を入力すると、同時に書誌情報として『こんにちわ、Ｈｅｌｌｏ、あいさつ、日本語』等のテキストを自由に入力する。音声からはスペクトルの包絡情報やピッチの変化などの情報が特徴量として抽出され、それらが多数のベクトルとして生成される。生成されたベクトルは、量子化により一定の個数（例えば、１２８個）へと圧縮され、『こんにちわ』という音声から生成される１２８個のベクトルを含む『クラス１』を定義し、『クラス１』と、『こんにちわ、Ｈｅｌｌｏ、あいさつ、日本語』という書誌情報とを関連付け、１２８個のベクトルはＨＤＤ等の記録媒体へと格納する。学習する音声が他にもあり、例えば『さようなら』についても同様に行い、圧縮された特徴ベクトルのセットからなる『クラス２』を定義し、『さようなら、Ｓｅｅ  ｙｏｕ、あいさつ、日本語』という書誌情報とが関連付けられる。全学習パタンがこの『こんにちわ』と『さようなら』の２種類の信号であるならば、クラス１およびクラス２に含まれる合計１２８＋１２８＝２５６本のベクトルを用いて、インデクスを生成し、インデクスはメモリ等の記録媒体へ格納される。
【００２５】
（認識フェーズ）
図４は、本発明の実施例１に係るパタン認識装置の認識フェーズの動作フローチャートである。
このフェーズでは、図２におけるスイッチ２、スイッチ３およびスイッチ７がＯＮとなる。初めに、認識対象となる信号を入力部１１から入力する（ステップ２０１）。特徴量抽出部１４および特徴ベクトル生成部１５により、信号から複数のベクトルが生成される（ステップ２０２）。検索部２１では、それらのベクトルを用いて、検索部２１でｋ最近傍探索を行う（ステップ２０３）。探索に際しては、インデクス格納部２０に格納されるインデクスを参照し、ベクトル格納部１８の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
次に、クラス識別部２２において、探索により得られたベクトル逆数を求め（ステップ２０４）、各所属クラスの値からなる投票空間へその値を加算する（ステップ２０５）。加算の結果、最大値を取ったクラスに基づいて、書誌情報を参照し、それを識別結果として表示装置２３に表示する（ステップ２０６）。
【００２６】
上記の処理を具体的な例を用いて説明する。今、学習パタンとしては『おはよう』，『こんにちわ』，『さようなら』という３種類の学習音声が、クラス１、クラス２、およびクラス３という各々５本ずつのベクトルを含む３つのクラスにパタン化され、格納されているものとする。Ｘｊｉ（ｉ＝１〜５，ｊ＝１〜３）、識別対象となる入力信号は、初めは不明であるとする。入力音声から、特徴量抽出部１４において音響特徴量であるケプストラム情報やピッチ情報を抽出し、それらを用いて複数のベクトルを生成する。仮に、入力音声からベクトルが３つＶｉ（ｉ＝１，２，３）生成されるものとする。各ベクトルを用いて、インデクス格納部２０に格納されるインデクス情報を参照しながら、検索部２１においてｋ＝２としてｋ最近傍ベクトル探索を行い、近傍ベクトルについて図９に示すような結果を得たとする。
【００２７】
図９は、実施例１におけるｋ＝２としてｋ最近傍ベクトル探索の結果の図である。
図９では、キー毎にクラス１，２，３の各ベクトルＸ１１〜Ｘ１３、Ｘ２１，２２、Ｘ３５とそれらの距離が示されている。
図９の結果から、ベクトルのクラスおよびベクトルの距離（Ｄｉｓｔａｎｃｅ）の逆数を求めると、図１０に示すようになる。
図１０は、図９の結果から、ベクトルのクラスおよびベクトルの距離の逆数を求めた結果の図である。
図１０の結果から、クラス１〜３について、それぞれ逆数の値を、クラス１〜３からなる投票空間に投票すると、図１１に示すようになり、総得票数はクラス１が最大となる。
【００２８】
図１１は、図１０の結果からクラス１〜３について、逆数の値をクラス１〜３の投票空間に投票した結果の図である。
図１１では、クラス１〜３について、逆数の値をＶ１，Ｖ２，Ｖ３毎に示されており、クラスで合計したＭＡＸ値が示されている。これによれば、総得票数はクラス１が最大である。最大クラスがＣｌａｓｓ１であり、Ｃｌａｓｓ１の書誌情報が『おはよう』であることから、入力音声は『おはよう』であると認識される。
【００２９】
（実施例２）
図５は、本発明の実施例２に係るパタン認識装置の学習フェーズの動作フローチャートである。
実施例２では、実施例１に比べて学習フェーズが以下のようになっている。それ以外の、構成や認識フェーズの動作については実施例１と同じである。
学習フェーズにおいて、図２において、スイッチ１、スイッチ３およびスイッチ６がＯＮになる。初めに、入力部１１を通じて学習パタン生成用の信号を入力する（ステップ３０１）。入力された音声に関連する情報を、書誌情報として書誌情報入力部１２で入力し（ステップ３０２）、それらは書誌情報格納部１３の磁気ディスクなどの記録媒体へ格納される。書誌情報の入力後、特徴量抽出部１４において、信号から特徴量を抽出し、それからベクトル生成部１５で特徴ベクトルを生成する（ステップ３０３）。次に、特徴ベクトルの圧縮は行わず、クラス情報生成部１７において、書誌情報格納部１３に格納されている情報に基づいてクラスを定義し（ステップ３０４）、ベクトルを記録媒体１８へ格納する（ステップ３０５）。全ての必要な学習パタンのベクトルが格納された後（ステップ３０６）、格納したベクトル全てのベクトルを用いて、インデクス生成部１９によりインデクスを生成し（ステップ３０７）、生成したインデクスはメモリ等の記録媒体２０へ格納される（ステップ３０８）。
【００３０】
（実施例３）
図６は、本発明の実施例３に係るパタン認識装置の学習パタン定義フェーズの動作フローチャートである。
このように、実施例３では、実施例１に比較して、新規学習パタン定義フェーズが追加される。このフェーズは、実施例１の認識フェーズの後に、連続して行われるフェーズである。従って、図２、図３、図４については、実施例１と同じである。
このフェーズでは、図２において、スイッチ２、スイッチ４およびスイッチ８がＯＮになる。
【００３１】
初めに、図４のステップ２０１からステップ２０５までは、実施例１と全く同じである。すなわち、認識フェーズのクラス識別部２２において、クラス判別閾値Ｔを定義し、各クラスの得票値の割合を求める（ステップ４０５）。最大値を取ったクラスの投票値の割合が閾値率以下である場合（ステップ４０６，４０７）、『該当クラスなし』と表示装置２３に表示する。このベクトル列を、新規クラス該当ベクトルと呼ぶ（ステップ４０８）。次に、新規クラス該当ベクトルに対して、書誌情報入力部１２により新規に書誌情報を入力する。書誌情報の入力後、ベクトル圧縮部１６で、新規クラス該当ベクトルを一定の個数の代表ベクトルへ圧縮し、新規に書誌情報格納部１３へ格納された情報に基づいて新規にクラスを定義し、新規クラス該当ベクトルを記録媒体１８へ格納する。新規クラス該当ベクトルの格納後、新規クラス該当ベクトルを含むこれまでに格納した全てのベクトルを用いて、インデクス生成部１９によりインデクスを作成し（ステップ４１１）、インデクスはメモリ等の記録媒体２０へ格納される（ステップ４１２）。
【００３２】
この動作について、具体的な例を用いて説明する。
図１２は、実施例１の認識フェーズの結果の図である。
今、実施例１の認識フェーズの結果、クラス１〜３からなる投票空間に、図１２に示すような値を得たものとする。
今、クラス判別閾値Ｔを、Ｔ＝０．６（Ｔ＝〜１．０）と設定すると、最大値を取ったＣｌａｓｓ１の得票値の割合は、１４／（１４＋９．８＋１３．３３）＝０．３８＜Ｔである。従って、キーベクトルｖ１〜ｖ３を生成した入力パタンは、Ｃｌａｓｓ１〜Ｃｌａｓｓ３のいずれにも該当しない、と判定される。
このｖ１〜ｖ３を用いて、新たなクラスを定義するため、書誌情報を入力する。例えば、クラスをＣｌａｓｓ４とし、書誌情報を『こんばんわ』であると入力する。ベクトルｖ１〜ｖ３を圧縮した後、ＨＤＤ等の記録媒体へ格納する。その後、これまでに格納されている全ベクトルを用いてインデクスを生成し、インデクスをメモリ等の記録媒体に格納する。その他のフェーズの動作は、全て実施例１と同じである。
【００３３】
（実施例４）
図７は、本発明の実施例４に係るパタン認識装置の構成図である。
図７は、図１の構成に比較して、クラス一時記憶部２４が追加されただけであり、その他の構成は実施例１と同じである。
図８は、本発明の実施例４に係るパタン認識装置の識別フェーズの動作フローチャートである。
実施例４では、実施例１に比較して識別フェーズのみがステップ５０６〜５０８が追加されている。なお、学習フェーズは実施例１と同じである。
【００３４】
実施例４のこのフェーズでは、図２におけるスイッチ２、スイッチ７がＯＮになる。
初めに、認識対象となる信号を入力部１１から入力する（ステップ５０１）。特徴量抽出部１４および特徴ベクトル生成部１５により、信号から複数のベクトルが生成される（ステップ５０２）。検索部２１では、それらのベクトルを用いて、検索部２１でｋ最近傍探索を行う（ステップ５０３）。探索に際しては、インデクス格納部２０に格納されるインデクスを参照し、ベクトル格納部１８の中に格納されているベクトルから、キーの近傍にあるベクトルを効率的に探索できる。
【００３５】
次に、クラス識別部２２において、探索により得られたベクトル逆数を求め（ステップ５０４）、各所属クラスの値から成る投票空間へその値を加算する（ステップ５０５）。次に、クラス識別部２２において、クラス一時記憶部２４に格納されている前の投票空間の値を参照する。クラス修正閾値Ｃを定義し、閾値に基づいてＮ個前のクラス識別結果を遡って修正し（ステップ５０６）、その結果を表示装置２３に表示する。
【００３６】
以上の動作について、具体的な例を用いて説明する。今、異なる話者Ａ，ＢおよびＣが、交替しながら会話する音声が時々刻々と入力される場合のパタン識別を想定する。また、予め話者Ａ，ＢおよびＣの学習パタンが個別に得られ、Ｃｌａｓｓ１，Ｃｌａｓｓ２およびＣｌａｓｓ３として定義され、格納されているものとする。識別の粒度は１秒ずつ行うものとし、クラス修正閾値を０．６とし、１個分の結果を遡って修正する場合を示す。１個の結果は、１秒の音声に対する識別結果に相当する。
【００３７】
初めに、１秒分の入力音声から、音声特徴ベクトルを抽出する。具体的には、例えばＬＰＣケプストラムなどのスペクトル包絡情報を表すベクトルを、１０ｍｓ毎に生成する。その結果、１秒の音声からは、１．０／０．０１＝１００個のキーベクトルｖｉ（ｉ＝１〜１００）ができる。各々のｖを用いて、インデクス情報を参照しながらｋ−ＮＮ探索を行い、この１００個のキーによるｋ−ＮＮ探索の結果をもとにＣｌａｓｓ１〜Ｃｌａｓｓ３からなる投票空間の値として、図１３に示すように、Ｖ１−１００＝｛０．５８，０．３２，０．０８｝が得られたとする。この値を、クラス一時記憶部２４に格納する。
【００３８】
図１３は、１００個のキーベクトルを用いて、探索結果をもとにＣｌａｓｓ１〜Ｃｌａｓｓ３からなる投票空間の値を算出した図である。
図１３では、Ｖ１〜Ｖ１００について、クラス１，２，３毎に投票空間の値を算出し、累算値Σと％を算出している。すなわちクラス１の累算値は２０、クラス２の累算値は１１、クラス３の累算値は３であり、クラス１は０．５８％、クラス２は０．３２％、クラス３は０．０８％である。
【００３９】
続いて、次の１秒の入力に対しても同様に処理を行い、Ｃｌａｓｓ１〜Ｃｌａｓｓ３からなる投票空間の値として図１４に示すようにＶ１０１〜Ｖ２００＝｛０．２７，０．６８，０．０４５｝が得られたとする。
図１４は、次の１００個のキーベクトルを用いて、探索結果をもとにＣｌａｓｓ１〜Ｃｌａｓｓ３からなる投票空間の値を算出した図である。
図１４では、Ｖ１０１〜Ｖ２００について、クラス１，２，３毎に投票空間の値を算出し、Σと％を算出している。
【００４０】
今、１個分の結果を遡って修正するので、Ｖ１０１〜Ｖ２００の結果が得られた時点で、Ｖ１〜Ｖ１００の結果を修正する。Ｖ１０１〜Ｖ２００の１つ前の識別空間Ｖ１−１００＝｛０．５８，０．３２，０．０８｝による識別結果は、０．５８を獲得した『Ｃｌａｓｓ１』であるが、クラス修正閾値Ｃ０．６＞０．５８より、Ｖ１〜Ｖ１００の結果は信頼性が低いとみなされ、修正される。Ｖ１〜Ｖ１００の結果は、Ｖ１０１〜Ｖ２００で最大値０．６８を獲得したＣｌａｓｓ２と修正される。
このような遡った修正により、話者インデキシングのように識別対象となるパタンが時々刻々と変化する場合にも、正しい識別が可能となる。
【００４１】
（その他の実施例）
図１５は、本発明の実施例１〜実施例７のスイッチ動作状態図である。
図１５では、これまで説明した実施例１〜実施例４の他にも、実施例５〜実施例７について、学習フェーズ、認識フェーズ、新規パタン定義フェーズにおけるスイッチのＯＮ／ＯＦＦ状態が示されている。実施例５では、実施例２で、新規パタン定義を行うものであり、実施例６では、実施例４で新規パタン定義を行うものであり、実施例７では、実施例６で、ベクトルを圧縮しない場合である。
【００４２】
【発明の効果】
以上説明したように、本発明によれば、以下のような効果を奏する。
（１）学習パタン生成の際に複雑な処理が不要であり、学習サンプルのベクトルを単純にデータベースに格納すればよく、それを用いて突発的な雑音の重畳がある信号に対してもロバストにパタン認識を行うことが可能である。
（２）また、時々刻々と識別対象となるパタンが変化するような入力パタンに対しても、時刻を遡ってクラス識別結果を修正することで、よりよいパタン認識結果を得ることができる。
【図面の簡単な説明】
【図１】本発明の動作原理を示す説明図である。
【図２】本発明の実施例１に係るパタン認識装置の構成図である。
【図３】本発明の実施例１に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図４】本発明の実施例１に係るパタン認識装置の認識フェーズの動作フローチャートである。
【図５】本発明の実施例２に係るパタン認識装置の学習フェーズの動作フローチャートである。
【図６】本発明の実施例３に係るパタン認識装置の新規学習パタン定義フェーズの動作フローチャートである。
【図７】本発明の実施例４に係るパタン認識装置の構成図である。
【図８】本発明の実施例４に係るパタン認識装置の識別フェーズの動作フローチャートである。
【図９】本発明の実施例１における検索部で最近傍ベクトル探索を行った結果の図である。
【図１０】図９の結果から、ベクトルのクラスとベクトルの距離の逆数を求めた結果の図である。
【図１１】図１０の結果から、逆数の値をＣｌａｓｓ１〜３の投票空間に投票した場合の結果の図である。
【図１２】本発明の実施例１の認識フェーズの結果の図である。
【図１３】本発明の実施例４におけるｋ−ＮＮ探索の結果をもとにＣｌａｓｓ１〜３からなる投票空間の値として得られた結果の図である。
【図１４】図１３に続いて、次に１秒の入力に対しても同様の処理を行い、結果を得た場合の図である。
【図１５】本発明のその他の実施例におけるスイッチのＯＮ／ＯＦＦ状態の図である。
【符号の説明】
１１…入力部、１２…書誌情報入力部、１３…書誌情報格納部、
１４…特徴量抽出部、１５…ベクトル生成部、１６…ベクトル圧縮部、
１７…クラス情報生成部、１８…ベクトル格納部、１９…インデクス生成部、
２０…インデクス格納部、２１…検索部、２２…クラス識別部、
２３…表示装置、２４…クラス一時記憶部。
【図１】
2004341930.tif 000004
【図２】
2004341930.tif 000005
【図３】
2004341930.tif 000006
【図４】
2004341930.tif 000007
【図５】
2004341930.tif 000008
【図６】
2004341930.tif 000009
【図７】
2004341930.tif 000010
【図８】
2004341930.tif 000011
【図９】
2004341930.tif 000012
【図１０】
2004341930.tif 000013
【図１１】
2004341930.tif 000014
【図１２】
2004341930.tif 000015
【図１３】
2004341930.tif 000016
【図１４】
2004341930.tif 000017
【図１５】
2004341930.tif 000018