(57)【要約】【構成】検索対象の音声データを、３２ｍ秒程度のブロックに分割し、短時間フーリエ変換し、自乗してパワースペクトルとする。パワースペクトルをフィルタバンクで処理し、フィルタバンクの出力を、出力間の比の対数に変換するなどにより、評価空間のベクトルへと空間変換する。同様にして、検索キーとなる単語の音声をブロックに分割し、短時間フーリエ変換し、パワースペクトルに変換して、フィルタバンクで処理し、評価空間のベクトルへ変換する。２つのベクトルの相互相関を求めて、検索キーを含む音声データを抽出する。【効果】日本語音声を簡単かつ高速、正確に音声認識できる。【選択図】    図２
2004361873.tif 000002
【特許請求の範囲】
【請求項１】
検索対象の音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索対象時系列データとし、
検索キーの音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索キーの時系列データとし、
検索対象の時系列データと検索キーの時系列データとの相互相関から、検索キーと一致する音声データを検索する音声認識システム。
【請求項２】
検索対象の時系列データでの各部分と、検索キーの時系列データの各部分との相互相関を求めて、相関が検索キーの長さ分続く際に、検索キーが検索対象に含まれているとすることを特徴とする、請求項１の音声認識システム。
【請求項３】
電話音声を蓄積して検索対象の音声データとし、所定のキーワードまたはフレーズを検索キーの音声データとするようにしたことを特徴とする、請求項１または２の音声認識システム。
【請求項４】
検索対象の音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索対象時系列データとする命令と、
検索キーの音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索キーの時系列データとする命令と、
検索対象の時系列データと検索キーの時系列データとの相互相関から、検索キーと一致する音声データを検索する命令とを備えた、音声認識プログラム。
【請求項５】
検索対象の時系列データでの各部分と、検索キーの時系列データの各部分との相互相関を求めるための命令と、
相関が検索キーの長さ分続くことを検出するための命令とを設けたことを特徴とする、請求項４の音声認識プログラム。
【発明の詳細な説明】
【０００１】
【発明の利用分野】
この発明は音声認識に関する。
【０００２】
【従来技術】
【０００３】
【特許文献１】特開２００２−１４００９１号公報
【特許文献２】特開２０００−１３２１８４号公報
【０００４】
音声認識では、特許文献１〜３に記載のような音声認識エンジンを用い、音声を認識する。しかしながら日本語の音声認識は難しく、正しく音声認識することは難しい。
【０００５】
【発明の課題】
この発明の課題は、大量の音声データの中から検索キーとなる単語や文を含むものを、簡単かつ高速、正確に検索できるようにすることにある（請求項１〜５）。
請求項２，５での追加の課題は、発話速度の影響を除くことにある。
請求項３での追加の課題は、大量の電話音声データを検索できるようにすることにある。
【０００６】
【発明の構成と作用効果】
この発明の音声認識システムでは、検索対象の音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索対象時系列データとし、検索キーの音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索キーの時系列データとし、検索対象の時系列データと検索キーの時系列データとの相互相関から、検索キーと一致する音声データを検索する。
【０００７】
この発明の音声認識プログラムでは、検索対象の音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索対象時系列データとする命令と、検索キーの音声データをその周波数分布の時系列に変換すると共に、前記周波数分布を評価空間のベクトルに変換して、評価空間でのベクトルの時系列からなる検索キーの時系列データとする命令と、検索対象の時系列データと検索キーの時系列データとの相互相関から、検索キーと一致する音声データを検索する命令とを設ける。
【０００８】
周波数分布の時系列への変換を時間周波数変換と呼ぶと、これは例えば、音声データから複数のブロックを切り出し、短時間高速フーリエ変換（短時間ＦＦＴ）などにより周波数スペクトルに変換し、フィルタバンクなどによりスペクトルを適宜の次元の周波数分布に圧縮することにより得られる。またウェーブレット変換などでも、同様に時間周波数変換を行える。
【０００９】
時間周波数変換を行っただけでは、背景音の影響が強い、音声の強弱が影響するなどの問題があるし、周波数分布を音声認識用に最適化することが行われていない。そこで例えばフィルタバンクの出力で決まる次元の周波数分布を、評価空間でのベクトルに変換する。例えば、中心周波数が異なる複数のフィルタバンクの出力の比の対数、音声が小さいと認識できた部分のデータを同様に処理したものとの比の対数、あるいはフィルタバンクの出力の時間平均との比の対数、などがこの変換である。
【００１０】
これ以外に、フィルタバンクの出力などをベクトルと見なした際に、ベクトルからベクトルへの線形あるいは非線形の変換を施し、これを評価空間のベクトルへの変換としても良い。例えば検索キーが複数ある場合、検索キーの時系列データが互いに良く分離するように、変換すればよい（請求項１〜５）。
【００１１】
そして音声キー（検索キーとして用いられた音声データ）を処理して得られた検索キーの時系列データと、検索対象の音声データを処理して得られた検索対象の時系列データとの相互相関を求める。例えば相互相関係数を求める場合、発話が開始された時点を切り出して、タイムラグをほぼ０にして求めても良い。
【００１２】
しかしこのような切り出しに依存せずに、検索対象の時系列データの各部分と、検索キーの時系列データの各部分との相互相関を求めても良い（請求項２，５）。なお各部分とは、データの全ての部分との意味ではない。そして検索対象に検索キーが含まれている場合、高い相互相関が検索キー分の長さで続くはずである。たまたまある音韻が一致もしくは類似している場合、相互相関は偶発的に高くなるだけで、検索キー分の間、高くなることはない。さらに発話速度が一致しなくても、あるいは最初ゆっくりと話して途中から早口になったような場合でも、問題がない。そして表示の面では、相互相関が続くことを分かりやすく表示できる。例えば得られた相互相関を、検索対象の音声データの流れを１つの次元、検索キーの音声データの流れを他の次元とする２次元空間上に表示すると、検索キーが含まれている場合、検索キー分の幅で、相互相関が高い領域が続くことを表示できる。
【００１３】
以上のようにしてこの発明では、検索キーが検索対象の音声データ中に含まれている場合、高い相互相関が得られ、相互相関から検索キーの音声データ（単語やフレーズなど）が含まれている部分を大量の音声データから検索できる（請求項１〜５）。
【００１４】
好ましくは、電話音声を蓄積して検索対象の音声データとし、所定のキーワードまたはフレーズを検索キーの音声データとする（請求項３）。すると大量の電話の音声データを保存し、検索キーで検索して、該当する電話の会話を抽出するなどのことができる。これはビジネス上は、ＣＲ（カスタマーリレーションシップ）の改善につながるし、パーソナルユースでは、自分の電話を録音し必要なものを検索して再生できることになる。もちろんその他の窓口業務の改善などにも有効である。
【００１５】
【実施例】
図１〜図６に、実施例を示す。これらの図において、２は音声認識システムで、４はデータベースで、電話音声などを録音して蓄積したデータベースである。検索対象の音声データは、例えば１０ｍ秒〜５０ｍ秒程度の幅のブロックに、ブロック化処理部６で分割され、短時間ＦＦＴ８で短時間フーリエ変換される。フィルタバンク１０は複数の中心周波数の異なるフィルタを並列に配置したもので、ここでは５つのフィルタを並列に配置してフィルタバンク１０とする。フィルタバンク１０の出力を互いの比を求めるなどにより、空間変換部１２で空間変換する。空間変換されたデータは、元の音声データを検索用に圧縮したものと見なすこともできるので、必要であれば記憶部１４に記憶する。
【００１６】
音声ファイル２０は、検索キーとしての音声を記憶したファイルである。検索キーには「申し訳ありません」や「すみません」あるいは上司を呼んで下さいの「上司」などのフレーズや単語を用いる。以上の検索キーは窓口業務でのクレームの発生に対応するものであるが、「お誕生日おめでとう」、「５月２５日」、「ゴルフ」などの任意の検索キーを用いることができる。検索キーの長さは例えば０．５秒〜２秒程度とする。検索キーはブロックか処理部同様にブロック化され、短時間ＦＦＴ８で短時間フーリエ変換を受け、フィルタバンク１０で処理される。フィルタバンク１０の出力は空間変換部１２で処理され、同じ検索キーを再度使う場合などに備えて、必要であれば記憶部２２に記憶する。
【００１７】
なお実施例では短時間ＦＦＴ８はパワースペクトルの形式で出力するものとし、フーリエ変換を行った後に各成分を自乗し、サインの自乗成分とコサインの自乗成分とを加算して出力するものとする。またブロック化処理部６からフィルタバンク１０までの処理は、音声データを複数の信号に分割して時系列とし、パワースペクトルを求めてフィルタバンクで圧縮するものと言うこともできる。このような処理を時間周波数変換と呼び、例えばウェーブレット変換部３０を用いて、連続ウェーブレット変換すると、ブロック化処理部６からフィルタバンク１０と同様の出力を得ることができる。
【００１８】
検索キーを空間変換したい信号と検索対象データを空間変換した信号とを、相互相関処理部２４で処理する。相互相関を求める場合、検索キーと検索対象とで音声の切れ目などから発話の初めの部分を探してこれらを同期させ、かつ発話のスピードを補正して早口でもゆっくり話している場合でも、相関を求められるようにするのが１つの手法である。今１つの手法は、検索キーの時系列データの各部分に対して、検索対象データの時系列の各部分との相互相関を求める。この場合、検索キーを１次元、検索対象データを例えば他の次元とすると、相関の程度を示す２次元データが得られることになる。
【００１９】
ブロック化の単位を例えば１６ｍ秒とし、検索キーの長さを約１秒とすると、上のように２次元的に相関を求めると、データ処理の回数が約６４倍になる。しかしながらこの一方で、発話の初め同士を同期させる必要がない。発話のスピードが一定でなく、途中から早口になった、あるいは途中からゆっくり話し始めたなどの場合でも相関を求めることができる。また空間変換部１２の出力を例えば１０次元ベクトルとすると、１回の相関を求める演算は、例えば１０次元ベクトル空間での、２つのベクトルをＱ（ｍ），Ｑ（ｎ）として、
Ｒ（ｎ，ｍ）＝Ｑ（ｍ）・Ｑ（ｎ）／ＡＢＳ（Ｑ（ｍ））・ＡＢＳ（Ｑ（ｎ））
などで与えられる。なおＲ（ｎ，ｍ）は相互相関係数、Ｑ（ｍ）は検索キー側のベクトル、Ｑ（ｎ）は検索対称データ側のベクトル、ＡＢＳは絶対値を返す関数である。これらの演算は高速で実行できる。そして検索対称データ側のベクトルがＮ個、検索キー側のベクトルがＭ個あるとして、  ０≦ｎ≦Ｎ−１，０≦ｍ≦Ｍ−１  の範囲で、相互相関係数Ｒを求める。なお相互相関は種々のものが公知であり、適宜のものを用いればよい。これらの演算は高速で実行できる。
【００２０】
そこで実施例では、検索キーと検索対象データとの発話の初めの同期や、発話スピードの補正などを特に行わずに、相互相関を求める。そして相互相関では、検索キーから得られた時系列データの各点（各ベクトル）に対して、検索対象データから得られた時系列データの各点（各ベクトル）との相互相関を求める。なおここでは各点としているが、文字通りに全ての点について相関を求める必要はなく、例えば音声がない領域では、相関の演算を省略しても良い。
【００２１】
相互相関処理部２４の結果を表示部２６に表示する。また高い相関が得られた付近の検索対象音声データを、再生部２８で再生するようにしても良い。実施例での検索ソフトは充分速いので、大量の音声データがデータベース４に蓄積されているとしても、ほぼリアルタイムに検索キーを含む会話を再生部２８から聴くことができる。
【００２２】
相互相関処理部２４の処理は、検索キーから得られた時系列データと検索対象データから得られた時系列データとのパターンマッチングということもできる。そこで相互相関処理部２４に代えてパターンマッチング処理部３２を設けても良い。そしてこの明細書では、相互相関を求めるとは、文字通りに相互相関係数を求めるとの意味ではなく、２つの時系列データが互いにどのように相関しているかの程度を求めるとの意味で用いる。空間変換部１２では、フィルタバンク１０の出力を評価空間でのベクトルに変換する。この変換は線形変換でも非線形変換でも良い。そして最適な変換を、学習処理部３４を用いて定めるようにすることが好ましい。
【００２３】
例えば検索キーとして「こんにちわ」、「おはようございます」などの複数のキーを用いたとする。これらの時系列データが、互いに大きな距離を持っている場合、即ち評価空間で、これらの検索キーの間の距離が大きく、検索キーを明瞭に区別できるのが、良い評価空間と考えることができる。そこで例えば学習処理部３４で、検索キー間の距離が最大になるように、評価空間を変更し、そのための変換行列を発生させて、空間変換部１２に入力する。なお検索キーは、空間変換部１２では１０次元程度のベクトルの時系列データなので、ベクトルの時系列とベクトルの時系列との間での距離が最大になるようにする。
【００２４】
あるいはまた、学習処理部３４をニューラルネットワークなどで構成しても良い。この場合例えば、教師あり学習を用いるものとすると、高い相互相関が得られた部分について、再生部２８で人間が音声を聞き取った際に、検索キーが含まれていたかどうかを教師信号とし、最適な空間変換が行われるように、学習しても良い。
【００２５】
図２に、実施例での音声認識の過程を示す。なお図２で、白抜きの長方形で示した部分はデータであり、内部に薄墨を施した部分は処理を示す。また図１，図２で示した各処理を実行するための命令を集めると、音声認識プログラムとなる。また図２の処理の要部の詳細を図３〜図６に示す。検索対象の音声データは例えば電話音声を録音したものであり、１分〜１０分程度の単位で検索する。ここにｎはデータの点数である。一方、検索キーは例えば単語やフレーズなどを用い、その長さは例えば０．５〜２秒程度で、データ点数はｍ点である。
【００２６】
これらを図３の上部に示すように、３２ｍ秒幅のブロックに分割する。但し短時間フーリエ変換で、ブロックの両端部分が切り落とされることを考慮し、各ブロックは１６ｍ秒ずつの時差を持つ（１６ｍ秒ずつブロックが重なる）ようにして、データを２倍に冗長化する。例えば３２ｍ秒の各ブロックに各２５６点の音声データが含まれているものとする。各ブロック毎に短時間フーリエ変換を行う。ハミング窓などの適宜の窓関数を用い、ブロック内のデータを高速フーリエ変換し自乗して、パワースペクトルを出力する。得られたパワースペクトルをフィルタバンクで処理する。
【００２７】
フィルタバンクには、フィルタ番号を０〜４までの例えば５つのフィルタを設け、各フィルタの中心周波数を図４に示すように定め、帯域幅（利得特性）を図４に示す。図４のフィルタの利得特性は、中心周波数をｆｃ、周波数ｆ、帯域幅をｗとした際に、ＢＰＦ（ｆ）＝１−１６・（ｆｃ−ｆ）４  ×ｗ−４    で定める。帯域幅ｗは各フィルタの裾の部分で重なるようにし、中心周波数や帯域幅などは適宜に定めればよい。また各フィルタでは、中心周波数からｗ／２以上離れたところでは、利得は一律に０とする。
【００２８】
各フィルタ毎に利得と、パワースペクトルとの乗算を周波数に関して積算し、ｂｐ（０）〜ｂｐ（４）の５つの出力を得る。他にフィルタを通さず、全周端数についてのパワースペクトルの積算値を全エネルギーとして求めておく。以下には全エネルギーの使用法を示さないが、例えば各フィルタの出力と全エネルギーとの比を求めて正規化するなどに用いると良い。
【００２９】
フィルタバンクの出力をそのまま用いて相互相関を求めると、音声の強弱や背景音などの影響が著しい。そこでフィルタバンクの出力を別のベクトル空間（評価空間）に変換する。このことを図２では、フィルタバンクの出力ｂｐ（ｋ）を変換して、評価空間でのベクトルデータＰｍ（Ｌ）に変換するとしている。ベクトルの数は、        Ｎ＝１／１２８×ｎ；    Ｍ＝１／１２８×ｍ
である。
【００３０】
実施例では例えば図５のデータ変換を行い、フィルタバンクの出力をいったｎ原始ベクトルＰ（ｎ）に変換し、次いで評価空間のベクトルに変換する。ｎはベクトルの番号（０〜Ｎ−１）である。変換行列Ｍ（１０行１０列）の初期値は単位行列とし、学習により最適化する。原始ベクトルへの変換では、低周波側の出力ｂｐ（ｎ，０）等との比の対数を求めて、正規化する。
【００３１】
図６の上部に検索結果のイメージを示す。横軸は検索対象データのストリーム方向、縦軸は検索キーのストリーム方向で、白い部分が相関の高い部分で、タイムラグやデータの位置を考慮せずに、単純に検索キーを変換して得たベクトルＱｋｅｙ（ｍ）と、検索対象データＱｄａｔａ（ｎ）との相互相関を求める。理想的なイメージでは、検索キーの音声と検索対象の音声とが同じで、発話速度も同じであれば、直線的に右下下がりの白線が生じる。検索対象側で途中から早口になると、右下下がりにカーブした曲線となる。検索対象側で途中からゆっくり話し始めると下側で傾きが小さくなる曲線となる。いずれの場合も、検索キー分の長さで相関の高いエリアが続く曲線が得られる。
【００３２】
図６の下側に実際のデータでの検索結果を示す。ポイントＳ１からＳ２へ向けた相関の高い直線が見られ、エリアＥ１〜Ｅ５はノイズである。ノイズでは検索キー分の長さ（縦軸全幅）に渡って斜めに相関の高いエリアが続く曲線がない。
【００３３】
図６では検索キーと検索対象データとの相互相関を２次元的に表示したが、相関の高い領域を検出する毎に、検索キーを横軸として、相互相関係数などを縦軸にして、表示しても良い。
【００３４】
実施例では、音韻を解析し五十音などに当てはめて、解析した音韻の列を単語に変換する、などの処理が不要である。このため高速で検索でき、かつこのような困難処理を行わないので、逆に正確に検索できる。また発話速度を補正する必要がない。
【図面の簡単な説明】
【図１】実施例の音声認識システムのブロック図
【図２】実施例での音声認識アルゴリズムを示す図
【図３】実施例で、認識対象の音声（原音ストリーム）をブロック化し、短時間ＦＦＴを行い、パワースペクトルに変換し、フィルタバンクから出力するまでの処理を模式的に示す図
【図４】実施例でのフィルタバンクの利得の例を示す図
【図５】実施例でのフィルタバンクの出力から評価空間でのベクトルへの変換を模式的に示す図
【図６】実施例での音声検索の検出例を示す図
【符号の説明】
２          音声認識システム
４          データベース
６          ブロック化処理部
８          短時間ＦＦＴ
１０        フィルタバンク
１２        空間変換部
１４，２２  記憶部
２４        相互相関処理部
２６        表示部
２８        再生部
３０        ウェーブレット変換部
３２        パターンマッチング部
３４        学習処理部
【図１】
2004361873.tif 000003
【図２】
2004361873.tif 000004
【図３】
2004361873.tif 000005
【図４】
2004361873.tif 000006
【図５】
2004361873.tif 000007
【図６】
2004361873.tif 000008