Comments
Description
Transcript
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