MFCC ve gizli markov modelleri kullanarak ses tanıma için bir konsept sistemi kanıtı geliştirdim. Sistemi bilinen sesler üzerinde test ettiğimde umut verici sonuçlar veriyor. Sistem, bilinmeyen bir ses girildiğinde en yakın eşleşme ile sonuç döndürür ve skor, onu tanımlamak için o kadar da farklı değildir, örneğin:
3 gizli markov modelini biri konuşma için, biri su musluğundan çıkan ve diğeri masaya vurmak için eğittim. Sonra görünmeyen veriler üzerinde test ve aşağıdaki sonuçları elde:
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
Here the input is an unknown sound but it still returns the closest match as there is no system for thresholding/garbage filtering.
Anahtar kelimede bir OOV (kelime dışı) sesinin bir çöp veya dolgu modeli kullanılarak filtrelenebileceğini biliyorum, ancak bunun benim sistemime uygulanamayacağı sınırlı bir bilinmeyen kelime kümesi kullanılarak eğitildiğini söylüyor Sistemin kaydedebileceği tüm sesleri bilmiyorum.
Konuşma tanıma sisteminde benzer bir sorun nasıl çözülür? Ve yanlış pozitifleri önlemek için sorunumu nasıl çözebilirim?