音声認識OSS kaldiのCSJレシピに必要なモノと設定


<ご注意>
本サイト及び本サイトの情報を利用することによって生じるいかなる損害についても,責任を負うものではありません.
また,発言は個人の見解であり,所属する組織の見解ではありません.

はじめに

音声認識システムを構築するソフトと言えばHTKがメジャーであるが,近年kaldiが有名になってきている.kaldi自体はOSSだが,有料のデータやツールに依存している部分がある.そこで,日本語レシピであるCSJレシピの動作に対して,用意が必要なものと設定方法を記述する.

準備するもの

kaldi本体

無料のOSSであり,以下のコマンドでgithubからcloneすることが出来る,

git clone https://github.com/kaldi-asr/kaldi.git

インストール手順は~/kaldi/INSTALLに記述されている.
CSJレシピの製作者によるページに詳しい手順が日本語で記述されており参考になる.

CSJ

日本語話し言葉コーパス( Corpus of Spontaneous Japanese : CSJ )
今回動作させるCSJレシピではこのコーパス内の音声や書き起こしテキスト等を用いる

入手・使用は国立国語研究所へ利用申請,審査が必要で,使用料は利用形態により異なる.
2016/12/18現在バージョンは第5刷でUSBメモリ1本で提供される.

  • アカデミック利用 学術研究のみに利用する場合 : 学生2万5千円, 研究機関5万円
  • 一般利用 企業による商品化を前提としない研究利用 : 25万円
  • 商業利用 上記以外の営利を目的とした利用 : 50万円

以下から一部引用
http://pj.ninjal.ac.jp/corpus_center/csj/subscription.html

SRILM

言語モデルを作成するツールであり,CSJレシピ内でも使用されている.
政府機関,学校機関,NPOであればSRILM Research Community Licenseの元で無償使用が可能.※外部資金を受けていないプロジェクト(政府による研究助成金・契約は除く)に限る
商用利用の場合には直接問い合わせが必要となっている.

CSJレシピを動かす

kaldi本体のセットアップは前述の詳しいサイトを参照願いたい.

SRILMのインストール

  1. kaldi/toolsにsrilm.tgzを配置
    ここで,入手したsrilmがsrilm.tgzでない場合install_srilm.sh内部を書き換え

    srilm.tarのとき
    16行目 f [ ! -f srilm.tgz ]; then
    → f [ ! -f srilm.tar ]; then
    30行目 tar -xvzf ../srilm.tgz
    → tar -xvf ../srilm.tar

  2. kaldi/tools/install_srilm.shを実行

CSJパスの設定,レシピ実行

  1. kaldi/egs/csj/s5に移動
    ここでrun.sh内にCSJのパスの設定があるので書き換え(CSJは第5刷USBメモリ版とする)

    25行目 CSJDATATOP=/db/laputa1/data/processed/public/CSJ
    → CSJDATATOP="CSJを配置したパス"
    26行目 CSJVER=dvd
    → CSJVER=usb

  2. GridEngineを用いた分散処理を行わないならばcmd.shを書き換え

    13行目 export train_cmd="queue.pl --mem 2G"
    → コメントアウト
    18行目 #export train_cmd=run.pl
    → コメントアウト解除

  3. run.shを実行することでレシピを実行

おわりに

以上の手順で一通り動作するはずである.

間違い等がございましたら指摘,訂正をお願い致します.