Eu sei que um Modelo de Markov Oculto (HMM) é usado no reconhecimento de fala e compreendo até certo ponto. No entanto, o que não sei é como a entrada (fala) é "transformada" em um vetor que mais tarde é usado no HMM.
Como você obtém um vetor de uma entrada de som? Esse vetor é legível por um humano?
speech-recognition
StupidOne
fonte
fonte
Respostas:
A maneira como o reconhecimento de fala é realizado com HTK (ou qualquer outra ferramenta) é semelhante à maneira como o reconhecimento de fala é realizado no cérebro. Quando você ouve uma palavra, você instantaneamente dividi-la em seus constituintes celulares e então comparar os telefones com um "modelo mental" interna dos telefones . Esses "modelos" são construídos ao longo de anos ouvindo fala e permitem distinguir frases com sons semelhantes, como "Como destruir uma bela praia" e "Como reconhecer a fala". O reconhecimento de fala com HTK ou qualquer outro esquema baseado em modelo funciona de maneira semelhante. Aqui, em algumas etapas, é como você faz isso:
Todas as etapas acima são críticas para a conclusão bem-sucedida de qualquer tarefa de reconhecimento de fala. Ao decompor um som em seu vetor de característica, você o leva para um espaço de modelo, fornecendo uma representação que o torna mais adequado para fazer um modelo sair do que outras representações (por exemplo, a representação de amplitude de tempo). A maioria dessas representações está no domínio da frequência ou do tempo-frequência. Uma das representações mais populares é o MFCC (Mel Frequency Cepstral Coefficient). De certa forma, essa técnica imita a resposta auditiva humana com um conjunto de filtros. Um sinal de entrada é decomposto com esse conjunto de filtros que possuem um espaçamento logarítmico de suas frequências centrais. Os coeficientes da MFCC de qualquer frase (digamos) são usados para modelar cada um dos telefones dos quais a frase é feita. Como exemplo, considere,
Sentença: HI. Descrição fonética: hh aa ey
Quando você alimentar os coeficientes MFCC em HTK, ele associará os coeficientes MFCC de uma parte da sentença a hh, outro a aa e assim por diante. Quando isso é repetido várias vezes, os modelos para os telefones começam a se formar.
O HTK usa a ferramenta
HCopy
para converter uma sentença de entrada em sua representação de vetor de característica. Também existem muitos "sabores" no MFCC (representações E_D_A ou E_D_A_Z). Seria uma boa idéia ler a documentaçãoHCopy
do htkbook.Os coeficientes da MFCC são gravados em um arquivo com extensão
.mfc
HTK. Não é possível ler esse arquivo usando qualquer um dos editores de texto porque (eu acho) os coeficientes são escritos em binário. Você pode tentar ler os arquivos com oC
mesmo.HTH.
fonte
edit
botão na resposta, ou melhor ainda, nos fornecer uma resposta própria. E sim, se a pergunta em si for imprecisa, a resposta também não será precisa. Isso foi discutido na própria seção de comentários.Cada onda pode ser decomposta na adição de muitas outras ondas. Usando uma transformação de Fourier, você pode analisar uma onda em seus componentes de frequência. A amplitude desses componentes de frequência pode então ser usada como um vetor. Aqui está a documentação da classe Sphinx que faz isso e aqui está uma boa explicação visual da transformação de Fourier.
fonte