mfcc と隠れマルコフ モデルを使用した音声認識の概念実証システムを開発しました。既知の音でシステムをテストすると、有望な結果が得られます。システムは、未知の音が入力されると、最も近い一致の結果を返しますが、スコアはそれほど明確ではなく、未知の音であると判断することはできません。
私は 3 つの隠れマルコフ モデルを訓練しました。次に、目に見えないデータでそれらをテストし、次の結果を取得します。
input: speech
HMM\knocking: -1213.8911146444477
HMM\speech: -617.8735676792728
HMM\watertap: -1504.4735097322673
So highest score speech which is correct
input: watertap
HMM\knocking: -3715.7246152783955
HMM\speech: -4302.67960438553
HMM\watertap: -1965.6149147201534
So highest score watertap which is correct
input: knocking
HMM\filler -806.7248912250212
HMM\knocking: -756.4428782636676
HMM\speech: -1201.686687761133
HMM\watertap: -3025.181144273698
So highest score knocking which is correct
input: unknown
HMM\knocking: -4369.1702184688975
HMM\speech: -5090.37122832872
HMM\watertap: -7717.501505674925
ここでは、入力は未知の音ですが、しきい値処理/ガベージ フィルタリングのシステムがないため、最も近い一致が返されます。
キーワードのスポッティングでは、ガベージ モデルまたはフィラー モデルを使用して OOV (語彙外) の音を除外できることを知っていますが、未知の単語の有限セットを使用してトレーニングされているため、これをシステムに適用できないと言われています。システムが記録する可能性のあるすべての音を知っているわけではありません。
音声認識システムで同様の問題をどのように解決しますか? また、誤検知を回避するために問題を解決するにはどうすればよいですか?