1

HTK を使用して基本的な接続数字認識装置を開発しようとしています。現時点では、レコグナイザーは 0 ~ 10 の数字のみを認識する必要があり、話者に依存します (現時点では問題ありません)。認識方法は次のとおりです。

  1. ユーザーが録音した wavfile を取得し、MFCC を作成します。
  2. wordnet と辞書を入力として mfcc ファイルで HVite を実行します。

    hmm モデルのトレーニングに関する注意:

初期の HMM モデルをトレーニングするための基本単位は、話された数字の文字列から選別されています。最終的に各桁の約 20 ユニット (約) が初期モデルの作成に使用されます。埋め込まれたトレーニング モデルは、基本ユニットを連結することによって合成されています (連結する基本ユニットはランダムに選択されます)。この方法で生成されたセンテンスの総数は約 20000 です。別の 109 センテンスは、テスト段階で実際に話された単語から取得されました。

私が直面している問題は次のとおりです

例) 入力: 99102、出力: 989818082
入力からのすべての数字が正しく認識されていることに注意してください。出力に余分な数字が導入されているだけです。mlf ファイルを見ると、これらの単語に関連付けられている尤度値も同様であることがわかります。なぜこれが起こっているのでしょうか?

これに対する解決策をネットで調べましたが、何も見つかりませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

1

単語挿入ペナルティを設定する必要があります (HVite -p オプションの場合) - おそらく 0.0 (デフォルト) に設定されます。この値をいじる必要があります。-1.0 から始めて、さらにマイナスにします。

于 2011-07-07T12:28:49.013 に答える