O que significa um "vetor" em um modelo oculto de Markov?

8

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?

StupidOne
fonte
9
Alguém poderia explicar o OP por que ele recebeu voto negativo? Dessa forma, ele pode editar a sua pergunta em algo que é talvez mais apropriado
Ivo Flipse
2
Pelo que entendi, os matemáticos usam o termo "vetor" para o que as pessoas normais chamariam de "uma série de números". Eles vêem o seu arquivo MP3 como uma seta apontando para um ponto específico em um "espaço Hilbert", que tem um número infinito de dimensões ... #
21891
Presumo que você esteja perguntando sobre o MFCC. É claramente indicado neste link da Wiki no MFCC. en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
Rajesh Dachiraju
Boa reviravolta, yoda! O post original teve várias deficiências, mas acho que o formulário atual não merece votos negativos ou votos próximos.
Kevin Vermeer
@rajesh: por que você não colocar isso em uma resposta ... até agora não é uma boa
Par Stritzinger

Respostas:

8

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:

  1. Você pega o sinal de fala de entrada e o converte em uma representação de vetor de recurso.
  2. Pegue um grande número de frases e execute a etapa 1 em cada uma delas.
  3. Use os vetores de recursos na etapa 2 para criar um modelo estatístico para cada um dos telefones / palavras nas frases (há um número limitado de telefones / palavras em comparação a um número infinito de maneiras de dizê-las - para reduzir as incógnitas modelando )
  4. Quando uma nova palavra aparecer, divida-a em telefones e compare com cada um dos modelos conhecidos. A sequência de telefones com a maior probabilidade ganha!

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 HCopypara 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ção HCopydo htkbook.

Os coeficientes da MFCC são gravados em um arquivo com extensão .mfcHTK. 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 o Cmesmo.

HTH.

Sriram
fonte
gostaria de explicar o voto negativo?
Sriram
2
Eu votei para baixo por várias razões. Falta precisão. É altamente impreciso e cheio de meias verdades. Menção desnecessária de ferramentas, gadgets e métodos para usá-los, o que não é relevante para a questão. Antes de tudo, a pergunta em si não é bem composta e sua resposta não parece mencionar isso. Mais adiante, há um bom artigo da Wikipedia sobre MFCC, que mencionei meu comentário sobre a questão.
Rajesh Dachiraju
@ Rajesh: obrigado pelo feedback! Forneci ao OP um link para a página do MFCC na wikipedia, se você olhar com cuidado. Se você acha que essa resposta é imprecisa, realce as imprecisões, para que possamos aprender. O mero voto negativo não é uma crítica construtiva, por isso encorajo você a usar livremente o editbotã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.
Sriram
11
@Peer: Não. Os telefones são modelados em uma tarefa de reconhecimento de fala, não nos fonemas (IMHO).
Sriram
2
Ah eu vejo ... infeliz escolha de um termo técnico (realmente difícil google ;-) adicionou um link para o artigo wikipedia para telefones
Par Stritzinger
0

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.

Nate Glenn
fonte