CENTRO UNIVERSITÁRIO DE LINS - UNILINS
          ENGENHARIA DA COMPUTAÇÃO




SISTEMA DE RECONHECIMENTO DE FALA USANDO CAD...
LEILA PATRÍCIA FERNANDES BANDEIRA
              OSVALDO ARTUR JÚNIOR
          ROSA VÁNIA MARCOS DA COSTA




SISTEMA DE R...
OSVALDO ARTUR JÚNIOR
                ROSA VÁNIA MARCOS DA COSTA



  SISTEMA DE RECONHECIMENTO DE FALA USANDO CADEIAS
    ...
AGRADECIMENTOS


Os nossos agradecimentos vão primeiramente a Deus, por nos ter dado forças para continuar
este projeto ap...
RESUMO
Este projeto visa estudar métodos estatísticos para reconhecimento de fala, particularmente a
sua modelagem utiliza...
ABSTRACT
This project aims to study statistical methods for speech recognition, particulary its modeling
with Hidden Marko...
SUMÁRIO




1.       INTRODUÇÃO .............................................................................................
LISTA DE FIGURAS



FIGURA 2.1-MATRIZ DE PROBABILIDADE TRANSIÇÃO DE ESTADOS .................................................
8




1. INTRODUÇÃO

       Devido à crescente necessidade do homem em se comunicar, vêm sendo criados
sistemas cada vez m...
9



     O projeto foi desenvolvido usando fundamentos teóricos do estudo de processos
estocásticos (usados em casos em q...
10




2. CADEIAS OCULTAS DE MARKOV

       Uma cadeia de Markov é considerada oculta porque ela possui dois processos
est...
11




                 Figura 2.2-Representação da matriz de transição com três estados




       As cadeias de Markov s...
12




        O número de símbolos de observações pode ser o tamanho do nosso protótipo de
palavras. As observações indiv...
13



        Se considerarmos uma sequência de estados fixa Q = q1q2...qT, a probabilidade da
sequência de observações O ...
14




     1-Inicialização:


                                 α1(i)=πibi(O1)                             (13)


     2-I...
15



                     ψ1(i) = 0.                                                (19)


     2-Recursão


            ...
16



                      γt (i)= ∑     t (i , j),                               (26)


onde t (i , j) representa a pr...
17




3. APLICAÇÃO DE HMM NO RECONHECIMENTO DE PALAVRAS

       Os Modelos Ocultos de Markov tem sido uma das melhores té...
18



      Os sinais de voz proferidos (palavras ou fonemas) passarão por um amplificador de
freqüência e um mecanismo on...
19



proferida uma palavra dado o protótipo (modelo). A palavra correspondente ao modelo que
tiver a maior probabilidade ...
20



               O processamento de sinais de voz nos fornece uma série de parâmetros
representativos de diversas cara...
21




4. CONCLUSÕES

     Com este trabalho podemos concluir que os sistemas de reconhecimento de voz por
computador prop...
22




5. REFERÊNCIAS


-   F. Jelinek, Statistical Methods for Speech Recognition, The MIT Press, 1998.

- Rabiner, Lawre...
Próximos SlideShares
Carregando em…5
×

Reconhecimento de fala usando cadeias de markov

4.828 visualizações

Publicada em

reconhecimento de fala usando cadeias ocultas de markov

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.828
No SlideShare
0
A partir de incorporações
0
Número de incorporações
16
Ações
Compartilhamentos
0
Downloads
190
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Reconhecimento de fala usando cadeias de markov

  1. 1. CENTRO UNIVERSITÁRIO DE LINS - UNILINS ENGENHARIA DA COMPUTAÇÃO SISTEMA DE RECONHECIMENTO DE FALA USANDO CADEIAS OCULTAS DE MARKOV LEILA PATRÍCIA FERNANDES BANDEIRA OSVALDO ARTUR JÚNIOR ROSA VÁNIA MARCOS DA COSTA LINS 2008
  2. 2. LEILA PATRÍCIA FERNANDES BANDEIRA OSVALDO ARTUR JÚNIOR ROSA VÁNIA MARCOS DA COSTA SISTEMA DE RECONHECIMENTO DE FALA USANDO CADEIAS OCULTAS DE MARKOV Trabalho de pesquisa apresentado como parte do requisito para participação no Projeto de Iniciação Científica do Centro Universitário de Lins - UNILINS, sob orientação do Prof. Dr. Júlio Tanomaru LINS 2008
  3. 3. OSVALDO ARTUR JÚNIOR ROSA VÁNIA MARCOS DA COSTA SISTEMA DE RECONHECIMENTO DE FALA USANDO CADEIAS OCULTAS DE MARKOV Trabalho de pesquisa apresentado como parte do requisito para participação no Projeto de Iniciação Científica do Centro Universitário de Lins - UNILINS, sob orientação do Prof. Dr. Júlio Tanomaru BANCA EXAMINADORA: _________________________ _________________________ _________________________ Aprovado em ___/___/____
  4. 4. AGRADECIMENTOS Os nossos agradecimentos vão primeiramente a Deus, por nos ter dado forças para continuar este projeto apesar de todos os entraves. Um agradecimento especial vai também ao professor Júlio Tanomaru, pois sem ele este projeto não teria existido, ele nos orientou e conduziu em todas as etapas do mesmo. Gostaríamos também de agradecer a todos os nossos colegas e amigos que de forma direta ou indireta nos ajudaram e incentivaram a continuar o projeto.
  5. 5. RESUMO Este projeto visa estudar métodos estatísticos para reconhecimento de fala, particularmente a sua modelagem utilizando processos aleatórios chamados de Cadeias Ocultas de Markov e sua implementação em software de um sistema que permita o reconhecimento de algumas poucas palavras em português. Palavras chave: Sistema de reconhecimento de fala, reconhecimento de padrões, cadeias de markov.
  6. 6. ABSTRACT This project aims to study statistical methods for speech recognition, particulary its modeling with Hidden Markov Models and its implementation for portuguese language recognition. Keywords: Speech recognition system, pattern recognition, markov models.
  7. 7. SUMÁRIO 1. INTRODUÇÃO ......................................................................................................................................... 8 1.1 OBJETIVOS……………………………………………………………………………………….…………………………………………………..8 1.2 METODOLOGIA ....................................................................................................................................... 8 2. CADEIAS OCULTAS DE MARKOV.............................................................................................................10 2.1. PROBLEMAS DE UM HMM ...................................................................................................................12 2.2. RESOLUÇÃO ......................................................................................................................................12 3. APLICAÇÃO DE HMM NO RECONHECIMENTO DE PALAVRAS .................................................................17 3.1. RECONHECIMENTO DE PALAVRAS ISOLADAS ..............................................................................................19 3.2. PARÂMETROS DO MODELO ...................................................................................................................19 4. CONCLUSÕES .........................................................................................................................................21 5. REFERÊNCIAS .........................................................................................................................................22
  8. 8. LISTA DE FIGURAS FIGURA 2.1-MATRIZ DE PROBABILIDADE TRANSIÇÃO DE ESTADOS .....................................................................................10 FIGURA 2.2-REPRESENTAÇÃO DA MATRIZ DE TRANSIÇÃO COM TRÊS ESTADOS ......................................................................11 FIGURA 3.1-ILUSTRAÇÃO DO ESQUEMA DE FLUXO DO SISTEMA DE RECONHECIMENTO DE FALA. ................................................17 FIGURA 3.2-PROCESSO DE ARMAZENAGEM DE PROTÓTIPO. ............................................................................................18 FIGURA 3.3-ENTRADA DA PALAVRA PARA TESTE. ..........................................................................................................19
  9. 9. 8 1. INTRODUÇÃO Devido à crescente necessidade do homem em se comunicar, vêm sendo criados sistemas cada vez mais sofisticados que permitem o aumento da sua produtividade. Os sistemas de reconhecimento de voz por computador proporcionam inúmeras vantagens desde o processo de agilização das atividades básicas na interação homem-máquina assim como permitir a inclusão digital de portadores de necessidades especiais. No caso do aumento da produtividade, podemos citar um exemplo de caso de uso de sistemas de reconhecimento de voz em indústrias através do qual o operário pode emitir ordens por voz para as máquinas sem a necessidade de manuseá-las toda vez que for necessário. O estudo de sistemas envolvendo sinais como é o caso dos sistemas de reconhecimento de voz podem ser feitos utilizando processos de modelagem. Os modelos de sinais permitem- nos ter uma descrição teórica do sistema de processamento dos sinais e também ter uma visão sobre as fontes dos mesmos, através de simulações, sem que seja necessário termos tais fontes disponíveis. 1.1. Objetivos O presente projeto visa desenvolver um sistema para reconhecimento de palavras isoladas usando Cadeias Ocultas de Markov (Hidden Markov Model - HMM), por se tratar de um método bastante eficaz para resolver problemas de modelagem de sinais como é o caso de reconhecimento de voz. 1.2 Metodologia No processo de desenvolvimento deste projeto foram adotadas metodologias de estudos baseadas em diversos materiais bibliográficos de referência sobre o assunto.
  10. 10. 9 O projeto foi desenvolvido usando fundamentos teóricos do estudo de processos estocásticos (usados em casos em que se tem um fenômeno que varia com o tempo) criados por Andrei Andreyevitch Markov, matemático russo, denominados Cadeias Ocultas de Markov. Faz parte do projeto o desenvolvimento de uma aplicação que seja capaz de implementar todo um conjunto de cálculos probabilísticos que a partir de um modelo definido de dados retorna a probabilidade de ser uma certa palavra ou um certo fonema.
  11. 11. 10 2. CADEIAS OCULTAS DE MARKOV Uma cadeia de Markov é considerada oculta porque ela possui dois processos estocásticos interdependentes (parâmetros) onde um deles é desconhecido ou não observável (os estados) e o outro é conhecido (observável), e o objetivo é determinar parâmetros desconhecidos, a partir dos observáveis. Um processo aleatório S(t) pode ser considerado como cadeia de Markov se o estado futuro (St+1) for independente do passado St-1, mas dependente somente do presente St. Esta definição pode ser expressa em termos matemáticos conforme a Equação 1. P[ qt+1 = Sj | qt = Si, qt-1 = Sk, …] = P[qt+1 = Sj|qt = Si], t=1, 2, …, N (1) Exemplo: Na previsão meteorológica, um estado de tempo (C: chuvoso, E: ensolarado, N: nublado) pode permanecer nele mesmo ou mudar para um diferente, independente de seu estado anterior, consoante uma matriz de probabilidade de transição de estados apresentado na Figura 2.1. C E N Figura 2.1-Matriz de probabilidade transição de estados Para melhor representar as transições de um estado para o outro, temos a seguinte ilustração (ver Figura 2.2):
  12. 12. 11 Figura 2.2-Representação da matriz de transição com três estados As cadeias de Markov são representadas na notação λ=(A,B, π) sendo: A - Matriz de probabilidade de transição de estado, definida por A={aij } onde aij = P[qt+1=Sj | qt = Si], 1 ≤ i , j ≤ N. (2) B - Distribuição de probabilidades de observação de símbolos num dado estado j, definida por B = {bj(k)} onde Bj(k) = P[t|qt=Sj], 1 ≤ j ≤ N, 1 ≤ k ≤ M. (3) Π = {πi} - Matriz de distribuição de estados iniciais com πi = P[q1 = Si] (4) Na análise das cadeias de Markov requer-se ainda o conhecimento dos parâmetros M e N sendo: N – Número de estados do nosso modelo e M - Número de símbolos de observações em cada estado. Geralmente os estados num modelo de Markov estão interconectados entre si. Cada símbolo de estados individuais pode ser representado na forma S = {S1, S2,..., SN}. (5)
  13. 13. 12 O número de símbolos de observações pode ser o tamanho do nosso protótipo de palavras. As observações individuais são denotadas na forma V = {v1, v2,..., vM } (6) A seqüência de observações (parâmetros observáveis) O =O1O2... OT pode ser gerada a partir dos elementos A, B, N, M e π. Cada Ot é um conjunto de V. 2.1. Problemas de um HMM Para o uso dos modelos de Markov em aplicações do mundo real existem três problemas associados aos mesmos que devem ser resolvidos. São eles: Problema 1 (Avaliação): Explicar como é que eficientemente se pode calcular a probabilidade de uma seqüência de observações; Problema 2 (Otimização): Definir qual a melhor solução a aplicar para resolver uma dada seqüência de observações; Problema 3 (Treinamento): Explicar como, através dos parâmetros do modelo, se pode maximizar a probabilidade de seqüência de observações. 2.2. Resolução Neste tópico será apresentado de forma resumida os principais métodos matemáticos para a solução dos três problemas básicos de um HMM. Para o Problema 1 temos um caso de avaliação em que visa determinar o modelo que melhor descreve a nossa sequência de observações através do cálculo da probabilidade de sequência de observações O. O Objetivo é escolher o modelo que mais se assemelha às observações.
  14. 14. 13 Se considerarmos uma sequência de estados fixa Q = q1q2...qT, a probabilidade da sequência de observações O é dada por P(O | Q, λ) = ∏ ( | , ) (7) Vale ressaltar que, para este caso, assumimos que existe independência estatística entre as observações. Assim, teremos P(O | Q, λ) = bq1(O1) bq2(O2) ….bqT (OT ) (8) A probabilidade da nossa sequência de estados Q será P(Q| λ) = πq1aq1q2aq2q3aq3q4...aqT-qqT. (9) A probabilidade de O e Q acontecerem simultaneamente é dada pelo produto das duas probabilidades acima P(O | λ) = P(O | Q, λ) P(Q| λ). (10) enquanto que a probabilidade da sequência de observações O dado o modelo é determinada pelo somatório de todas as probabilidades simultâneas de O e Q para todos os estados possíveis, isto é, ( | λ ̻) = ∑ ( | , λ) ( | ) (11) = Πq1bq1(O1)aq1q2bq2(O2)…aqT-1qTbqT(OT) Vemos, porém que este método demanda um elevado número de computações matemáticas (na ordem de 2TNT). Para simplificar a resolução do Problema 1 usamos o algoritmo Forward-Backward que, dada uma variável de Forward α definida por αt(i) = P(O1O2... Ot, qt = Si | λ) (12) podemos determinar de forma indutiva a probabilidade desejada em três passos;
  15. 15. 14 1-Inicialização: α1(i)=πibi(O1) (13) 2-Indução: αt+1(j) = [ αt(i)aij ]bj(Ot+1)* (14) 3-Finalização: P(O|λ) = αT(i) * (15) * 1 ≤ i ≥ N, 1 ≤ t ≥ T-1, 1 ≤ j ≥ N. O Problema 2 visa buscar uma sequência de estados que seja a mais correta possível através de critérios de otimização. Existem várias formas de se resolver este caso e uma delas é o algoritmo de Viterbi que consistem em determinar a melhor sequência de estado individual Q = {q1q2...qT} dada a sequência de observações O = {O1O2...OT} através da equação δt(i) = max P[q q … q = i, O O … O |λ] (16) q1, q2, …, qt-1 Por indução teremos δt+1(j) = [max δt(i)aij ]bj(Ot+1) (17) Para podermos determinar o argumento que maximize a Equação 17 utilizaremos a matriz ψt(j) e seguindo os procedimentos do algoritmo de Viterbi teremos: 1-Inicialização δ1(i) = πibi(O1) , 1≤i≤ N (18)
  16. 16. 15 ψ1(i) = 0. (19) 2-Recursão δt(j) = max [δ (i)a ]b (O ) (20) ψ1(i) = argmax [δt-1(i)aij] (21) 1 ≤i≤N 2≤ t ≤ T, 1 ≤ j ≤ N 3-Finalização P* = max [δT(i)] (22) 1≤i≤N qT* =argmax [δT(i)] (23) 1≤ i ≤ N 4-Determinação do caminho ótimo por retrocesso qt = ψt+1(q*t+1), t = T-1, T-2, ..., 1 (24) Os asteriscos nos passos 3) e 4) indicam resultados otimizados. No Problema 3 pretende-se determinar um método que permita ajustar os parâmetros do modelo λ = (A,B,π), para maximizar a probabilidade P(O|λ). A escolha do modelo λ = (A,B,π), que maximiza a probabilidade P(O|λ) deve ser feita de forma iterativa. Esta escolha é feita usando um dos vários procedimentos iterativos como o método de Baum-Welch. O algoritmo de Baum-Welch maximiza a probalidade na sequinte sequência: ( ) ( ) ( )  (, )= ( | ) (25)
  17. 17. 16 γt (i)= ∑ t (i , j), (26) onde t (i , j) representa a probabilidade de se estar no estado Si no instante t e no estado Sj no instante t+1, conhecido o modelo e a sequência de observações, ou seja t (i , j) = P(qt=Si, qt+1 = Sj | O, λ) (27) e γt (i), a probabilidade de estar no estado Si no instante t dado o modelo e a sequência de observações.
  18. 18. 17 3. APLICAÇÃO DE HMM NO RECONHECIMENTO DE PALAVRAS Os Modelos Ocultos de Markov tem sido uma das melhores técnicas aplicadas nos sistemas de reconhecimento de fala, isto se deve a vários fatores que o permitem adaptar-se facilmente aos fenômenos envolvidos nos processos fonéticos e ainda por ser flexível e capaz de assimilar uma grande variedade de parâmetros e informações. Como vimos, a análise de sinais pode ser feito através de estudos de processos de modelagem de padrões; dado um padrão de referência de palavras, precisamos reconhecer um padrão de entrada que se assemelhe ao nosso padrão conhecido. Com os modelos de Markov, podemos determinar as palavras prováveis através da seqüência de estados e de observações. O sistema desenvolvido fará o reconhecimento de poucas palavras isoladas, tendo como base o seguinte procedimento ilustrado na Figura 3.1. Figura 3.1-Ilustração do esquema de fluxo do sistema de reconhecimento de fala. Depois de emitido o sinal de voz, ele é convertido para um sinal digital, a seguir o comparador compara a seqüência de símbolos proferidos com os símbolos armazenados num protótipo do sistema, e calcula-se no HMM qual das palavras tem maior probabilidade de ter sido proferida.
  19. 19. 18 Os sinais de voz proferidos (palavras ou fonemas) passarão por um amplificador de freqüência e um mecanismo onde serão repartidos em pequenos intervalos de freqüência (amostragens) e em seguida filtrados (para se eliminar qualquer tipo de interferência como ruído, etc.). Cada sinal de voz proferido será composto de um conjunto de intervalos de frequências que neste caso são as sequências de observações O = {O1O2...OT} e, por outro lado, cada observação Ot é um conjunto de V, será representado por V = {v1v2....vM}. Antes do processo de reconhecimento, primeiramente é feito uma série de treinamentos ao HMM para se criar o banco de protótipos. O treinamento é feito a partir de uma série de parametrização e quantização dos modelos de fala pré-escolhidos. Extraímos os parâmetros de cada modelo e em seguida, usando o método Baum-Welch, ajustam-se os parâmetros iniciais através da reestimação dos mesmos. Para cada palavra ou fonema será criado e armazenado um HMM no nosso banco de protótipos. Outro passo importante é dividir a sequência de observações do protótipo e fazer refinamentos contínuos em cada HMM armazenado melhorando sua capacidade de modelagem da sequência de palavras ou fonemas. Essas melhorias podem ser feitas usando o método Forward-Backward ou o algoritmo de Viterbi (determinando a máxima verossimilhança). Figura 3.2-Processo de armazenagem de protótipo. Tendo o nosso banco de protótipos armazenado e otimizado podemos prosseguir com o reconhecimento das palavras proferidas calculando a probabilidade P (O | λ) onde λ corresponde aos parâmetros de um HMM armazenado no banco de protótipos.Esse cálculo é feito no comparador que recebendo a palavra devidamente tratada ( convertida, filtrada e repartida em sequências de observações individuais), determina a probabilidade de se ter
  20. 20. 19 proferida uma palavra dado o protótipo (modelo). A palavra correspondente ao modelo que tiver a maior probabilidade será a reconhecida. 3.1. Reconhecimento de palavras isoladas O presente trabalho limita-se ao reconhecimento de palavras isoladas usando Cadeias Ocultas de Markov. É um sistema com um vocabulário de V palavras finitas modeladas em HMM’s distintos e cada palavra previamente treinada com K ocorrências diferentes onde cada K corresponde a uma sequência de observações. Podemos ver a implementação do sistema no diagrama da Figura 3.1, onde a cada palavra v do vocabulário é atribuído HMM, ou seja, estimamos os parâmetros (A. B, π) que aperfeiçoam a verossimilhança do conjunto de observações treinadas. Ao se entrar com a palavra para ser reconhecida é efetuada a quantização da sequência de observação O (Figura 3.3), em seguida calculada a verossimilhança do modelo de entrada com todos os possíveis modelos no nosso banco de protótipos, P(O | λv) e finalmente escolher a maior probabilidade obtida pela relação V* = argmax [P(O | λv)]. (24) 1≤ v ≤V Figura 3.3-Entrada da palavra para teste. 3.2. Parâmetros do modelo
  21. 21. 20 O processamento de sinais de voz nos fornece uma série de parâmetros representativos de diversas características da voz. No estudo dos Modelos Ocultos de Markov podemos utilizar tanto parâmetros temporais como parâmetros espectrais. Os parâmetros temporais lidam diretamente com a forma de onda do sinal de voz. Os parâmetros espectrais são mais usados e envolvem características difíceis de visualizar na análise temporal. Grande parte das técnicas de extração de parâmetros é baseada na análise LPC (Linear Prediction Code) ou de Fourier de Curto Prazo. Estas técnicas resumem-se em operações de pré-processamento como pré-ênfase (filtro), segmentação (frames) e janelamento este último visa aumentar as características espectrais minizando a formas de onda truncadas.
  22. 22. 21 4. CONCLUSÕES Com este trabalho podemos concluir que os sistemas de reconhecimento de voz por computador proporcionam inúmeras vantagens desde o processo de agilização das atividades básicas na interação homem-máquina assim como permitir a inclusão digital de portadores de necessidades especiais. Existem diversos fatores que influenciam no processo de reconhecimento de fala. A forma da pronúncia das palavras varia de pessoa para pessoa de acordo com os fatores culturais, forma e tamanho do trato vocal e ritmo. Os padrões de fala também podem ser influenciados pelo ambiente físico, contexto social, e estado físico-emocional da pessoa. Fatores adversos exigem um conjunto de dados (protótipos) que seja suficiente para cobrir as variações nos padrões da fala.Um dos problemas que pode ser deparado no treinamento dos HMM’s por meio de reestimação é o facto de que a sequência usada para o mesmo treinamento ser finita.Este problema pode ser resolvido reduzindo o tamanho do modelo ou ainda interpolar o conjunto de parâmetros estimados no sistema com um outro conjunto de um modelo existente que possua um bom número de dados treinados. Vale a pena ressaltar que para uma boa implementação do HMM deve haver uma prévia escolha do tipo do modelo a ser usado (ergódigo, esquerdo-direita, etc.), o tamanho do modelo (número de estados), e os símbolos de observações (discretos ou contínuos, simples ou de múltipla-mistura, etc.). Estas escolhas são feitas dependendo do sinal a ser modelado.
  23. 23. 22 5. REFERÊNCIAS - F. Jelinek, Statistical Methods for Speech Recognition, The MIT Press, 1998. - Rabiner, Lawrence R. Proceedings of IEEE. In: A Tutorial on Hidden Markov Models and Selected - Applications in Speech Recognition. Vol 77. No 2. February 1989, p 257 – 286. - Becerra Y., Néstor Jorge, Reconhecimento automatico de palavras isoladas: Estudo e aplicação dos metodos deterministico e estocástico-Disponível em http://libdigi.unicamp.br/document/?code=vtls000076089 – Acessado em: Dezembro de 2008 - Santos, Reginaldo J. Cadeias de Markov. Universidade Federal de Minas Gerais. Departamento de Matemática. 2006. Disponível em: http://www.mat.ufmg.br/~regi/gaalt/markov.pdf Acessado em: Marco de 2008. - Oliveira, Deive Ciro. Silva, Cibele Queiroz da. Chaves, Lucas Monteiro. Cadeias de Markov com Estados Latentes com Aplicações em Analises de Seqüências de DNA. Rev. Mat. Est., São Paulo, v.24, n.2, p.51-66, 2006. - Ferrari, Denise Beatriz T. P. do Areal. Cadeias de Markov. Instituto Tecnológico de Aeronáutica, Divisão de Engenharia Mecânico-Aeronáutico. - Cadeias de Markov. Disponível em: http://ptikipedia.org/Wiki/Cadeias_de_Markov. Acessado em Abril de 2008.

×