CENSREC-2ベースラインスクリプト説明書(pdfファイル)

CENSREC-2 添付資料
IPSJ SIG-SLP 雑音下音声認識評価 WG
CENSREC-2 ベースラインスクリプトの使用方法について
1
1. CENSREC-2 データベースの全てのディレクトリ,フ
ァイルを任意のディレクトリに展開する.
はじめに
本ドキュメントは,自動車内音声認識の評価用データ
2. perl/htk baseline/censrec2 config.pl の$DB ROOT
に CENSREC-2 を展開したディレクトリ名を記述す
る.また,$PROC NAME に処理の名称を記述する(デ
ベース CENSREC-2 (Corpus and Environments for Noisy
Speech RECognition) のベースラインスクリプト仕様と使
用方法について述べたものである.
フォルトは htk baseline).ベースラインスクリプ
トでは,processing/以下に$PROC NAME に記述した
2
ディレクトリが作成され,その下に特徴量や HMM な
使用方法
2.1
ど,全ての評価環境が格納される.
バックエンドの仕様
3. perl/htk baseline/init.pl を実行する.これによ
り processing/以下に$PROC NAME に記述したディレ
クトリが作成され,その下に特徴量や HMM など,全
ての評価環境が格納される.
まず初めに,CENSREC-2 ベースラインバックエンドの
基本的な仕様について述べる.
• スクリプトは全て Perl で作成し,Perl ver.5 以降に
対応.
4. perl/htk baseline/fea extract htk.pl を実行し
て,特徴抽出を行う.
• HTK [1] を使用して,HMM の学習および,認識を
行う.
5. perl/htk baseline/train.pl を実行して HMM の
学習を行う.スクリプトの引数は,cond1, cond2, cond3,
cond4 のいずれかであり,それぞれ CENSIREC-2 の
4 種類の評価環境に対応している.
• 認識は単語単位 HMM により行い,モデル数は数字
11 種類(1∼9, 0(まる),Z(ぜろ)),無音(sil),
ショートポーズ(sp)の 13 種類である.
6. perl/htk baseline/test.pl を実行して認識を行う.
引数は perl/htk baseline/train.pl と同様である.
• HMM のトポロジーについては,数字は 16 状態 20 混
合分布,無音は 3 状態 36 混合分布,ショートポーズ
は 1 状態 36 混合分布(無音モデルの第 2 状態と共有)
である.
2.2
7. processing/htk baseline/results/以下に出力さ
れた結果を確認する.認識結果は,test cond1.res
等,拡張子.res のファイルに出力される.
perl スクリプトが動作しない場合は,各ファイルの先頭
にある perl のパス (デフォルトは/usr/bin/perl) を環境
に応じて書き換える.
ベースラインの算出
ベースライン評価における特徴量には,HTK の HCopy
により求められた MFCC(12 次元) + ∆MFCC(12 次元) +
∆∆MFCC(12 次元) + log power(1 次元) + ∆power(1 次
2.3
元) + ∆∆power(1 次元) の計 39 次元の特徴パラメータを
用いる.分析条件は,1 − 0.97z −1 のプリエンファシス,ハ
フロントエンドの変更
フロントエンドプログラムの変更は容易である.フロント
ミング窓,24 次元のメルフィルタバンク,20ms の分析フ
エンドプログラムが HCopy のようにファイルリストにより入
レーム長,10ms のフレームシフトとする.また,自動車雑
出力を行なうプログラムの場合は fea extract htk.pl を,
音特有の低周波成分に対処するため,メルフィルタバンク
その他,詳細な条件については,lib/config hcopy を参
1 ファイルずつ入出力するプログラムの場合は fea extract
.pl をベースとして,特徴抽出用スクリプトを書くのがよい.
fea extract.pl を用いる場合は,censrec2 config.pl の
$EXE にプログラムの絶対パス,$OPTIONS にプログラムの
照されたい.
オプションを記述することによって簡単にフロントエンド
分析時に 250Hz 以下の低周波成分を取り除く.なお,ベー
スライン評価では cepstral mean subtraction は行わない.
ベースラインの算出は以下の手順により行う.
プログラムを変更できる.
1
表 1: CENSREC-2 スプレッドシート
CENSREC-2 Evaluation Results
Condition 1
80.58
CENSREC-2 Baseline Results (%)
Condition 3
Condition 4
Condition 2
74.49
61.46
48.87
Average
66.35
Condition 1
CENSREC-2 Word Accuracy (%)
Condition 3
Condition 4
Condition 2
Average
Condition 1
CENSREC-2 Relative Improvement
Condition 3
Condition 4
Condition 2
Average
------------------------------ Overall Results ------------------------------SENT: %Correct=62.58 [H=1855, S=1109, N=2964]
WORD: %Corr=87.04, Acc=80.58 [H=8726, D=515, S=784, I=648, N=10025]
==============================================================================
図 1: 認識結果の例
2.5
フロントエンドプログラムの出力データは当然 HTK フ
ォーマットでなければならない.新たに生成したパラメータ
各機関における認識手法の性能評価は,おおよそ次の手
の種別が MFCC E D A であり且つ次元数が 39 次元である場合
順になる.
は,censrec2 config.pl を変更する必要はない.パラメー
タ種別が変更になっている場合は,censrec2 config.pl の
$PAR TYPE と$NUM COEF の 2 箇所を変更する必要がある.
2.4
評価の流れ
1. 2.3 節の要領でフロントエンドを変更し,特徴量を抽
出する.
2. 2.2 節と同じ要領で,評価環境毎に HMM を学習する.
手法として必要ならばスクリプトを改変すること.改
変する場合には,後で述べるカテゴリーに留意する
こと.
評価用スプレッドシート
CENSREC-2.xls は評価用スプレッドシートであり,表 1
のような構成になっている.表 1 の上段は,各評価環境の
ベースライン性能 (%Acc of baseline) とその平均を示してお
り,中段に自身の手法による認識結果(%Acc) を入力する.
中段に認識結果を入力すると,下段にベースライン性能と
3. 2.2 節と同じ要領で,学習したモデルを用いて評価環
境毎に認識を行う.手法として必要ならばスクリプト
を改変すること.改変する場合には,後で述べるカテ
の相対的な改善性能(誤り改善率: Relative improvement)
ゴリーに留意すること.
が自動で出力される.中段に入力する値は,認識結果ファ
4. 認識結果を 2.4 節の要領でスプレッドシートへ入力
する.
イル(test cond1.res 等)内の Acc の値である(図 1 の
Acc = 80.58 で示された値).また,誤り改善率 (Relative
improvement) は,次式により得られる.
3
Relative improvement =
%Acc − %Acc of baseline
× 100(%),
=
100 − %Acc of baseline
バックエンドの詳細
3.1
HMM 学習の詳細
HMM の学習は以下の手順に従って行なわれる.
1. HCompV により,hmm0000/以下に HMM のプロトタイ
プを作成.
2
4
2. sp 無しラベル (lib/labels.mlf) を用いて,HERest
により 3 回繰返し学習 (hmm0001/∼hmm0003/).
評価カテゴリー
CENSREC-2 では,バックエンドの変更(HMM の学習
方法,トポロジーの変更,特徴量の変更など)に対して,そ
の度合に応じたカテゴリーを設定する.バックエンドを変更
した結果を発表する場合,以下に示すカテゴリーから一つ
を選び,発表でそれを示す必要がある.バックエンドを変更
しない場合は,カテゴリー 0. となる.カテゴリー内で性能
比較を行なうことで,各手法の性能比較をより適切に行な
うことができる.尚,下記のカテゴリーは,AURORA-2J
のカテゴリー設定に一部変更を加えたものとなっている.
3. sp モデルを追加し,HHEd により sil の混合数を 2 に
上げる (hmm0100/).
4. sp 有りラベル (lib/labels sp.mlf) を用いて,3 回
繰返し学習 (hmm0101/∼hmm0103/).
5. 混合分布数を 2(sil, sp は 4) に上げる (hmm0200/).そ
の後,3 回繰返し学習 (hmm0201/∼hmm0203/).
6. 混合分布数を 3(sil, sp は 6) に上げる (hmm0300/).そ
の後,3 回繰返し学習 (hmm0301/∼hmm0303/).
カテゴリー 0. ベースラインスクリプトを全く変更しない
場合.
7. 混合分布数を 4(sil, sp は 8) に上げる (hmm0400/).そ
の後,3 回繰返し学習 (hmm0401/∼hmm0403/).
カテゴリー 1. 標準 HMM と同じトポロジーの HMM だが,
8. 混合分布数を 6(sil, sp は 12) に上げる (hmm0600/).
その後,3 回繰返し学習 (hmm0601/∼hmm0603/).
識別学習等,学習方法を変更している場合.このカテ
ゴリーの認識時のコストは,ベースラインと全く同じ
である.その他の実験条件はベースラインと同じ条件
9. 混合分布数を 8(sil, sp は 16) に上げる (hmm0800/).
に従う.
その後,3 回繰返し学習 (hmm0801/∼hmm0803/).
カテゴリー 2. ベースラインスクリプトと同じトポロジー
10. 混合分布数を 10(sil, sp は 20) に上げる (hmm1000/).
その後,3 回繰返し学習 (hmm1001/∼hmm1003/).
11. 混合分布数を 12(sil, sp は 24) に上げる (hmm1200/).
その後,3 回繰返し学習 (hmm1201/∼hmm1203/).
の HMM で,認識時の適応技術を導入している場合.
話者適応,環境適応,1 状態 1 混合の雑音 HMM を用
いた PMC 等がここに含まれ,認識時に適応を行なう
ことによる認識コストの増加がある.その他の実験条
件はベースラインと同じ条件に従う.
12. 混合分布数を 16(sil, sp は 30) に上げる (hmm1600/).
その後,3 回繰返し学習 (hmm1601/∼hmm1603/).
カテゴリー 3. 混合数や状態数等の HMM トポロジーを変
更している場合.ただし,モデル単位はベースライン
13. 混合分布数を 20(sil, sp は 36) に上げる (hmm2000/).
その後,10 回繰返し学習 (hmm2001/∼hmm2010/).
と同じ (CENSREC-2 では単語単位 HMM) であるこ
とを条件とし,2 状態以上の雑音モデルを用いた PMC
等がこれに相当.その他の実験条件はベースラインと
3.2
同じ条件に従う.
認識の詳細
カテゴリー 4. 認識デコーダがベースラインスクリプトと
認識にはディレクトリ hmm2010/に出力されるモデルが
同じ (CENSREC-2 では HVite) であることを条件に
使用される.また,認識文法は lib/wdnet.syn にあるよ
どのような処理も許される場合.モデル単位の変更
うに,
や,文法・辞書の書き換え等がこれに相当.
$digit = one | two | three | four |
five | six | seven | eight |
カテゴリー 5. 規定無し.提供されるデータベース内であ
れば,どんな処理でも許される.認識デコーダの変更
nine | zero | oh ;
も許容.
( [sil] < $digit [sp] > [sil] )
カテゴリー B. 提供されるデータ以外のデータを使用する
場合.評価データは提供されているものを用いる.
図 2: EBNF 記法による認識用文法
となっている (EBNF 記法).ベースラインスクリプトでは,
lib/wdnet.syn から HTK の HParse により生成した Net-
参考文献
[1] HTK Web site, http://htk.eng.cam.ac.uk/
work ファイル (lib/wdnet.net) を使用し,HTK の HVite
により認識を行なっている.
3