音声認識システム Kaldiを試しに動かしてみた


音声認識システムでJuliusは日本語では有名だが、DNN(ディープ・ニューラルネットワーク)を用いて音声認識を行っているKaldiに関しては日本語のドキュメントが整備されていない。
備忘録も込めて、Kaldiの初期インストールから実践までをまとめてみた。

Kaldiインストール

Kaldiをインストールする前に準備が必要なので、予めインストールしておくべきライブラリ一覧を下記に示す。


build-essential
gfortran
libgfortran3
python-dev(python3-dev)
libblas-dev
libatlas-base-dev
cython
g++ 
zlib1g-dev
automake
libtool
autoconf 

svnを用いた場合とgitを用いた場合がある。

svn

svn co https://svn.code.sf.net/p/kaldi/code/trunk kaldi-trunk

git

git svn clone https://svn.code.sf.net/p/kaldi/code/trunk kaldi-trunk

Kaldiのインストール

ダウンロードした時点でKaldiのツールが揃っている。
tools以下のフォルダに移動するとツールの一覧が確認可能。

kaldi-trunk/tools

今回は初歩の動作を確認可能なyesno/のフォルダに移動して動作を確認する。

下記フォルダに移動する

kaldi-trunk/egs/yesno/s5

単純な動作確認が可能なスクリプトであるrun.shがある

sh run.sh

これを上記のコマンドで実行すると単純な動作であるがKaldiの動作を確認可能である。

この動作は下記のように行われている

1.データを用意
2.音声認識に必要なデータ抽出
3.音響モデルの学習(モノフォン)
4.デコーディング(識別)に必要なグラフ作成
5.デコーディング(識別)
6.認識率の出力

簡単な結果しか出力しないので、とりあえずKaldiを触ってみたい人はこの流れで良いかと

有識者の方がいれば間違っている点に訂正していただけるとありがたいです。

参考リンク

今後は具体的なデータの準備の仕方やvoxforgeを試しに動かして動作確認をしてみます。