ほぼ時間周波数伸縮しか使わない自動単語音声認識。

 本日の日記は音声認識についての話である。とにかくシンプルに音声認識アルゴリズムを設計したらどういうことになるのかという実験について語る。

 目標は自動単語音声認識である。現在の音声認識というのは大抵「文」の音声認識なのであるが、それよりも一段階難易度の低い「単語」の音声認識を目標とした。単語音声認識というのは、入力音声がどの候補単語に最も近いのかを当てるというものである。例えば、候補単語が「トマト」と「バナナ」の二つだけでも立派な「単語音声認識」である。

 この問題は、「入力音声とトマト」「入力音声とバナナ」の類似度を測って近い方を回答とするのが、きっと最もシンプルな解法である。つまり、どのように音声信号間の類似度を測るか、あるいは、どのように入力音声と単語モデルの類似度を測るかが、話の中心となる。今回は音声信号間の類似度を測ることにする。最近傍法的な考え方である。

 まず、入力音声と候補音声の時間信号をスペクトログラムに変換する。スペクトログラムに変換しても音韻情報がほとんど失われないことは何回か前のエントリで実験した。普通、スペクトログラムといえば、FFTによるものを指すと思われるが、今回はフィルタバンクによる時間周波数解析の結果をスペクトログラムと呼ぶことにする。フィルタバンクは対数周波数軸上で等間隔に並ぶようにした。つまり、線型周波数軸上では指数関数的に並んでいる。

 入力音声・トマト・バナナのスペクトログラムを並べて眺めてみると、人間の目には一目瞭然に、入力音声がどちらであるかが分かる。ただし、単純に差分をとってみても、トマトであるかバナナであるかは分からない。そもそも、三つのスペクトログラムの時間軸方向の長さが異なるので、差分がとりづらい。このあたりが昔からの悩みどころであり、そのために様々な方法が研究されてきたのであるが、とにかく、「時間軸方向の伸縮」の問題を解決しなければ先に進めない。

 伸縮の問題についていろいろと考えたあげく、今回はものすごく単純な方法をとってみることにした。一言でいえばモンテカルロ法であるのだが、これから順をおって説明する。

 ひとまず、一次元の信号を考えよう。一次元の信号がぴったりと重なっている場合、そのコサイン変換の結果もぴったりと重なる。一方で、信号に時間のずれがある場合、コサイン変換の結果は重ならない。ところが、信号に時間のずれがある場合にも、コサイン変換の基底の位相を理想的に伸縮させると、コサイン変換の結果が一致する。つまり、理想的な伸縮を探す問題は、理想的に位相を伸縮させる問題と同じになる。

 では、どのようにして理想的な位相を探すかということであるが、今回はモンテカルロ法を使った。「ランダムに伸縮させた位相を作る」→「入力音声と候補音声のコサイン変換の類似度を測る」というプロセスを何度も繰り返し、最も高い類似度を入力音声と候補音声の類似度とする。

 以上は一次元の例であるが、スペクトログラム同士を比べるときにもほぼ同様の方法を用いた。ただし、時間軸のみならず、周波数軸に対しても伸縮させることにした。これにより、話者による違いを軽減させようという魂胆である。なお、時間と周波数に対して同時にモンテカルロ法を適用するのではなく、時間と周波数に対して交互にモンテカルロ法を適用した。なお、コサイン変換のときには、伝達関数による影響を軽減させるため、直流成分は用いなかった。

 もしかしたら、この時点ではコサイン変換を用いる必要すらないかもしれないが、今後はこれが効いてくる予定である。

 たったこれだけのアルゴリズムでどこまでの性能が出るかということを実験してみた。用いたデータベースは個人で所有している「重点領域研究「音声言語」・試験研究「音声DB」連続音声データベース」*1である。男女各六名ずつおり、それぞれに1番から6番まで番号が振られていたので、奇数番号話者を入力音声、偶数番号話者を候補単語音声として用いた(つまり話者非依存)。単語は216単語あったが、そのうち先頭から41単語を使用した。入力音声が41単語あり、それに対する候補音声がそれぞれ41単語あるという具合である(つまり単語依存)。

 結果は以下の表のとおりである。

入力話者 候補話者 正解単語数 正解率
男1 男2 21 51%
男3 男4 32 78%
男5 男6 36 88%
女1 女2 32 78%
女3 女4 34 83%
女5 女6 31 76%

 話者によって性能のばらつきが大きいものの、これだけ簡単なアルゴリズムでこれだけ少ないデータベースの量で、これだけの性能が出るというのは結構驚くところなのではないかと思う。ただし、既存の手法を用いると(データベースが充分に多ければ)ほぼ100%の性能が出るくらいの簡単なタスクなので、研究はまだまだこれからといったところである。

 これからやってみたいことはいろいろとあり、今後もこの手法をベースにして断続的に研究を続けていくつもりである。例によってSkyDriveスクリプトを置いておく。自由に使ってほしい。ちょうど3月ということもあり、卒研生や修士の学生がこの続きをやってみるのもいいかなと思う(国籍は問わない・許可も要らない)。

 なお、なぜ今さら主流の既存の手法から離れてこういうことを始めたのかということについては、そのうち語るかもしれないし語らないかもしれない。

 また今回は、ニコニコ動画に簡単な紹介動画も投稿してみた。また、ジャパニーズイングリッシュでの説明文も書いた。

D
(11分程度)

*1:板橋秀一, "文部省「重点領域研究」による音声データベース," 日本音響学会誌,48巻,12号,pp.894-898, 1992.