UNIVERSIDADE ESTADUAL DE CAMPINAS. Instituto de Matemática, Estatística e Computação Científica - PDF
Download "UNIVERSIDADE ESTADUAL DE CAMPINAS. Instituto de Matemática, Estatística e Computação Científica"
Octavio Faria Azeredo
1 UNIVERSIDADE ESTADUAL DE CAMPINAS Instituto de Matemática, Estatística e Computação Científica Relatório Final - MS777 Modelagem matemático/probabilística dos módulos acústicos e de linguagem de sistemas de reconhecimento de fala. Rodolfo Rodrigues de Araujo Orientador: Dr. Edmilson da Silva Morais Campinas, 03 de Julho de 2010
2 1. Resumo Este trabalho consistiu no treinamento e avaliação de um sistema de reconhecimento de fala. O desenvolvimento desse trabalho ocorreu junto a Vocalize, empresa formada por ex-alunos de doutorado da FEEC e IEL. A Vocalize permitiu a utilização de Corpora de áudio e texto, as respectivas transcrições fonéticas além do suporte técnico e ferramental necessário. 2. Objetivos O principal objetivo desse trabalho foi o estudo da modelagem matemática envolvida no modelo acústico de um sistema de reconhecimento de fala. 3. Desenvolvimento 3.1 Introdução Apesar de as primeiras pesquisas na área de Reconhecimento Automático de Fala (RAF) datarem da década de 50, somente nos últimos anos esses sistemas passaram a apresentar resultados considerados de alta qualidade. Esses recentes avanços nos sistemas RAF devem-se à elevada disponibilidade de Corpora de texto e fala e ao aumento da capacidade de processamento dos computadores atuais, os quais têm permitido o desenvolvimento de algoritmos cada vez mais complexos. O estado-da-arte dos atuais sistemas RAF [1,3] emprega técnicas probabilísticas tais como: modelos ocultos de Markov HMM (Hidden Markov Models) [1,2,3], árvores de classificação [4] e métodos de busca baseados no algoritmo de Viterbi [1,2]. Essas técnicas probabilísticas são utilizadas para o treinamento e avaliação de funções probabilísticas capazes de mapear amostras de um sinal de fala representadas através de uma seqüência de vetores acústicos no espaço de possíveis sentenças (palavras ou frases). Essas funções probabilísticas são projetadas/treinadas para serem capazes de modelar as duas principais fontes de variabilidade da fala: a variabilidade acústica e a variabilidade temporal. O objetivo de um sistema RAF consiste em estimar, durante a etapa de treinamento, os parâmetros dos modelos HMM e utilizar, durante a etapa de reconhecimento, a seguinte função probabilística, P ( M X, ), onde X x, x,, x } é uma seqüência de vetores acústicos derivados do sinal de fala a ser reconhecido, s (n), { 1 2 N através de um procedimento de Pré-Processamento, e sendo M i 1,2,, I ) o conjunto de todas as possíveis ( i M sentenças que podem corresponder a s (n) e o conjunto de parâmetros associados aos modelos HMM. Uma vez que uma sentença M pode ser construída a partir da concatenação de palavras M W, W,, }, a tarefa { W 1 2 N M de um sistema RAF também pode ser interpretada como a determinação da seqüência de palavras mais prováveis Mˆ, dada a seqüência de vetores acústicos X e o conjunto de parâmetros. Se a regra de Bayes for utilizada para decompor P ( M X, ), então Mˆ pode ser determinada a partir da seguinte expressão: Mˆ arg max M P ( M X, ) arg max M p( X M, ) p( X P ( M ) ) (1) 2
3 Deve-se observar que o termo p (X ) independe de M e, portanto, não necessita ser calculado. Esta i equação mostra que encontrar Mˆ é equivalente a encontrar a seqüência de palavras que maximiza o produto entre p( X M, ) e P (M ). Uma vez que durante o reconhecimento o termo p( X M, ) representa a verossimilhança da seqüência de vetores acústicos X dada uma seqüência de palavras específica M e o conjunto de parâmetros, esta verossimilhança pode ser determinada a partir de um Modelo acústico (empregando-se HMM) para sentença M. O segundo termo P (M ) representa a probabilidade da sentença M dado o conjunto de parâmetros, e esta probabilidade pode ser determinada por um Modelo de linguagem. O processo de determinação de Mˆ é denominado decodificação e projetos de decodificadores (algoritmos de busca) eficientes são cruciais para a realização prática de sistemas para reconhecimento de fala contínua. Portanto, um sistema RAF pode ser dividido em quatro módulos principais: (1) Pré-processamento(extração de parâmetros), (2) Modelo Acústico, (3) Modelo de Linguagem (Modelo da Língua) e (4) Decodificação (Algoritmo de Busca), figura 1. Sinal de fala Modelo acústico Front-End (extração de parâmetros) Modelo de linguagem Léxico com transcrições fonéticas Decodificador (algoritmo de busca) Modelo de linguagem/ gramática Corpus de fala Texto reconhecido Corpus de texto 3.2 Estudos e Experimentos Realizados Nesse Trabalho Devido à complexidade de um sistema de reconhecimento de fala contínua, o presente trabalho concentrou-se apenas na análise das técnicas fundamentais para o treinamento dos modelos acústico. Nas seções seguintes será feito um estudo sobre os temas relacionados a esse tipo de sistema. 3
4 Modelagem acústico Fundamentos sobre HMM HMMs (Hidden Markov Models) são máquinas de estados finitas que geram observações discretas (símbolos). A cada unidade de tempo a HMM muda de estado, de acordo com uma distribuição de probabilidade, e então emite um símbolo, de acordo com uma distribuição de probabilidade de emissão do estado corrente. Fig. 2: Máquina de estado representando o modelo Elementos de uma HMM: S = é número de estados é o número de símbolos é a seqüência de observações até o tempo T A = matriz probabilidade de transição entre os estados B = probabilidade de emissão de símbolos probabilidade inicial Pode-se calcular, por exemplo, a probabilidade de ocorrer a seqüência de observações O dado o modelo : (3) Os três problemas básicos são: (1) Dado uma seqüência de observações O e o modelo, qual a probabilidade desta seqüência ter sido gerada pelo modelo? (2) Dado uma seqüência de observações O e o modelo, qual a seqüência de estados mais provável? (3) Dada uma seqüência ou conjunto de seqüência de observações O, de que forma se ajusta os parâmetros do modelo de modo a maximizar a probabilidade que ela ocorra? Resolução do problema 1 4
5 Assumindo conhecida, então a probabilidade da seqüência de observações O ter sido gerada pelo modelo é. A probabilidade que ocorra a seqüência de estados Q dado o modelo é. A probabilidade conjunta de Q e O é: (4) A resposta do problema é o resultado da soma de todas as seqüências de estados possíveis da probabilidade conjunta: (5) Esta expressão implica em um número elevado de operações, desenvolvido o procedimento Forward-Backward.. Para contornar tal situação, foi Algoritmo Forward Considere a variável forward como a probabilidade da observação parcial até o tempo t no estado i dado o modelo. Em outras palavras, probabilidade acumulada considerando todos os caminho que chegam ao estado i no tempo t emitindo a seqüência de observações até. Passo 1: será calculado o alfa para os estados iniciais. Deve-se considerado para cada estado a probabilidade inicial de estar no estado e a probabilidade de cada estado emitir a observação, Figura 3. Tempo 1 5
6 Fig. 3: Máquina de estado representando o primeiro passo Passo 2: para cada estado subseqüente, deve-se calcular a probabilidade acumulada de todos os caminhos possíveis até o estado corrente, emitindo a observação do tempo t. Tempo 2 Fig. 4: Máquina de estado representando o segundo passo Tempo 3 Fig. 5: Máquina de estado representando o terceiro passo Note que a probabilidade representada por já traz as probabilidades acumuladas anteriormente. 6
7 Passo 3: Para saber a probabilidade total basta somas as probabilidades acumuladas até o último estado: Então o Algoritmo Forward fica: 1. Inicialização (6) 2. Indução (7) 3. Término: (8) Algoritmo Backward De maneira similar ao Forward, nós podemos considerar a variável backward definida por ou seja, a probabilidade parcial da sequência de observações de t+1 até o fim, dado o estado i no tempo t e o (9) modelo. Exemplo: 7
8 O algoritmo: 1. Inicialização (10) 2. Indução (11) 3. Término (12) Exemplo: Considerando um caso particular onde N = 3 e T = 3, exemplificado a seguir, seguimos os seguintes passos: Passo 1: 8
9 Passo 2:. Passo 3: 9
10 Passo 4: Considerações: Note que expandindo o valor de, temos, Fazendo a distributiva e observando que, segue que, onde cada termo do somatório corresponde a probabilidade de observação das emissões a partir de cada caminho possível de Resolução do problema 2 Para encontrar uma sequência ótima de estados uma sequência de observações (de acordo com um critério de otimização), dado, são definidas as seguintes quantidades (13 ) Isto é, é a maior probabilidade ao longo de um único caminho, até o tempo t, que contabiliza as primeiras t observações e acaba no estado i. 10
11 Fig. 10: E também a quantidade, que representa o estado j exatamente anterior ao estado i, no tempo t, que contabilizou e é usada para obter a sequência de estados ótima (backtracking). Ou seja,. (14) Algoritmo: 1. Inicialização (15) (16) 2. Indução (17) (18) Fig. 11: Cálculo do. Processo similar ao forward, mas ao invés de acumular as probabilidades parciais anteriores, tira-se o máximo. E guardamos em o estado que obteve a probabilidade máxima. 11
12 3. Término (19) (20) 4. Backtracking (21) Resolução do problema 3 Para resolver o problema de estimação utiliza-se o Algoritmo Baum-Welch (Expectation-Maximization). Esse algoritmo utiliza as variáveis de Forward-Backward para a definição das variáveis γ e ξ Definição da variável γ Seja a probabilidade de estar no estado i no tempo t dado a seqüência de observações e o modelo. Pela propriedade de Bayes tem-se: (22) Com a resolução do problema 1 sabe-se que, então (23) A probabilidade pode ser escrita em termos das variáveis forward-backward: (24 ) 12
13 Logo, (25) Voltando a variável gama, (26) e sabendo que chega-se na seguinte expressão: (27) Definição da variável ξ Seja a probabilidade de estando no estado i no tempo t e no estado j em t+1 dado o modelo e a seqüência de observação. Pela propriedade de Bayes tem-se: (28) A probabilidade pode ser calculada em função das variáveis Forward-Backward. Considere a figura abaixo representando a transição entre dois estágios em um tempo intermediário: Fig. 12: Máquina de estado representando a transições de estados 13
14 O valor de é a probabilidade acumulada até t junto a probabilidade de transição, probabilidade de emissão em t+1 e probabilidade acumulada após t+1: (29) Para a transição de dois estados i e j a expressão da probabilidade é possibilidades de i e j a probabilidade dado o modelo é:, então para todas as (30) Voltando a expressão de ξ, (31) Tomando as definições de γ e ξ: Se γ é a probabilidade de no tempo t estar no estado i e ξ é a probabilidade de estar no estado i no tempo t e no estado j em t+1, então pode-se escrever uma em função da outra. γ é igual a ξ cobrindo todas as possibilidades de transição de i para j: (32) Algoritmo Expectation-Maximization Considere as seguintes definições: (33) 14
15 (34) Utilizando as expressões acima e conceitos de contagem de eventos e ocorrências, pode-se ser dado o método de re-estimação de parâmetro do HMM: freqüência esperada (número de vezes) no estado i no tempo t (35) (36) (37) (38) (39) (40) 4. Experimento O trabalho realizado concentrou-se na utilização da ferramenta HTK( HMM Tool Kit ), utilizando-a nas etapas e treinamento e reconhecimento, junto com a ferramenta SRILM( SRI Language Model ) responsável por gerar os modelos de linguagem. HTK O HTK é um conjunto de ferramentas desenvolvido pelo Departamento de Engenharia da Universidade de Cambridge na Inglaterra - CUED (Cambridge University Engineering Department) utilizado para construir e manipular modelos ocultos de Markov HMMs (Hidden Markov Models). O HTK é usado para construir sistemas de processamento de fala baseados em HMMs, com foco principal em sistemas de reconhecimento de fala, mas é 15
16 utilizado também em diversas outras aplicações como em pesquisas de síntese de voz, processamento de linguagem e seqüenciamento de DNA, por exemplo. Por ser distribuído livremente junto com o seu código-fonte e possui uma licença pouco restritiva, que permite o uso do pacote para pesquisas e para desenvolvimento de aplicações, mas não permite que produtos comerciais contenham partes de seu código. O software é utilizado amplamente tanto no meio acadêmico quanto em empresas comerciais (para o desenvolvimento de protótipos iniciais). O HTK consiste basicamente em um conjunto de módulos e ferramentas escritos na linguagem C e, portanto, disponíveis para uso em diversos sistemas operacionais, sendo que as ferramentas cumprem diversas funções como treinamento de HMMs, teste e análise de sistemas de reconhecimento. Os sistemas de RAF construídos através do HTK funcionam da seguinte forma: primeiramente, as ferramentas de treinamento do HTK são utilizadas para estimar os parâmetros dos HMMs com o uso de sinais de fala conhecidos em conjunto com suas transcrições fonéticas. Em seguida, o sistema recebe como entrada sinais de fala desconhecidos e gera como saída os textos referentes às entradas. O software possui uma página web [5] com várias informações e onde se pode obtê-lo, assim como um manual conhecido como HTK Book que contém vasta documentação sobre todos os aspectos do pacote. SRILM O SRILM é um toolkit utilizado para construir modelos de linguagem estatísticos para aplicações em reconhecimento de fala, rotulagem estatística, etiquetadores morfossintáticos e segmentação está em desenvolvimento desde 1995 pelo SRI International. O software dá ênfase principalmente aos modelos N-grams e consiste dos seguintes componentes: um conjunto de bibliotecas de classes escritas em C++ e que implementam os modelos de linguagem; as estruturas auxiliares e algumas funções extras; um conjunto de programas executáveis que operam sobre os modelos de linguagem e realizam diversas tarefas; e alguns scripts que provêem facilidades de acesso às funcionalidades do software. O SRILM é um software livre, sendo distribuído sob uma licença muito pouco restritiva. [6] Metodologia Estudo do software HTK Modelagem Acústica( treinamento do HMM ) Modelagem Lingüística( treinamento do modelo de linguagem ) Avaliação do desempenho do sistema Recursos utilizados Para as etapas do treinamento foram utilizados: Corpora de fala gravado com 90 locutores diferentes, de propriedade da empresa Vocalize, totalizando 8h e 53 min de áudio e 7396 sentenças. Corpora de texto com 7396 sentenças diferentes, mais de 20 mil palavras diferentes no vocabulário. Atividades desenvolvidas Para efetuar o treinamento acústico, primeiramente, deve-se obter a transcrição fonética das sentenças e os parâmetros acústicos do aúdio a ser utilizado no treinamento. Os parâmetros dos HMMs são inicialmente, zerados e então, começam a ser estimados, figura
17 Após isso, ocorre a fusão dos modelos de silêncio e pausa, daí, os parâmetros dos HMMs são reestimados e então, ocorre o realinhamento da transcrição fonética utilizando o HMMs obtidos nas etapas anteriores e ao final, ocorre uma nova reestimação. Ao final dessa etapa, pode-se realizar o treinamento com monophones com múltiplas gaussianas por estado ou o treinamento com triphones entre palavras múltiplas gaussianas por estado Foram desenvolvidos scripts em python e outras linguagens de programação para automatizar o processo. Figura 13 Diagrama de blocos detalhando o funcionamento das etapas de treinamento 17
18 Após o treinamento, ocorre o teste com áudios utilizados no treino, permitindo avaliar o nível de precisão do reconhecimento. São realizadas comparações no acerto em palavras e sentenças completas. Resultados Experimento realizado no dia 12/05/2010 obteve um acerto de 96.28% das palavras e 74.46% das sentenças, utilizando a base completa. Utilizando as 237 primeiras sentenças, o resultado demonstrou ser superior, 96.64% das palavras e 77.64% das sentenças. 5. Considerações Finais O desenvolvimento do trabalho permitiu entender o funcionamento básico de um sistema de reconhecimento de fala, interagindo com areas da computação, engenharia elétrica, linguistica e estatística. Durante o desenvolvimento do experimento observou-se que o reconhecimento melhora em proporção a quantidade de amostra de audio, sentenças, locutores utilizados no treinamento. 6. Referências bibliográficas [1] Huang, X., Acero, A., Spoken Language Processing. Prentice Hall PTR, Upper Saddle River, New Jersey, USA, [2] Rabiner, L., Juang, B., H., Fundamentals of Speech Recognition, Prentice Hall [3] Levinson, S., E., Mathematical Models for Speech Technology, John Wiley & Sons, [4] CHARNIAK, E. Statistical Language Learning. The MIT Press, Massachusetts, [5] HTK (2007) Hidden Markov Model Toolkit V3.4. Machine Intelligent Laboratory of the Cambridge University, Engineering Department ( [6] SRILM The SRI Language Modeling Toolkit SRI Speech Technology and Research Laboratory, SRI International ( 18
Novos Recursos e Utilização de Adaptação de Locutor no Desenvolvimento de um Sistema de Reconhecimento de Voz para o Português Brasileiro
Novos Recursos e Utilização de Adaptação de Locutor no Desenvolvimento de um Sistema de Reconhecimento de Voz para o Português Brasileiro Patrick Silva Nelson Neto Aldebaro Klautau Simpósio Brasileiro
Codificador de Voz Pessoal
Codificador de Voz Pessoal Raissa Bezerra Rocha*, Gláucio Bezerra Rocha e **Marcelo Sampaio de Alencar *Aluna de Mestrado do Programa de Pós-Graduação em Engenharia Elétrica (UFCG/COPELE) **Professor do
Introdução ao Reconhecimento Automático da Voz (RAV)
ao Reconhecimento Automático da Voz (RAV) Professores: Jim Glass & Professores convidados ao RAV Definição do problema Exemplos do estado da arte Visão do curso Resumo da aula Tarefas Projeto Avaliação
Desenvolvimento de Um Programa Interpretador e Resolvedor para Máquinas de Estado Finito Adriana Postal 1, Ana Paula Fredrich 1, Cassiano Cesar Casagrande 1, Evaristo Wychoski Benfatti 1, Josué Pereira
5910178 Fundamentos de Física e Matemática para Biologia-FFCLRP-USP Primeiro Semestre de 2007 Professor: Antônio C. Roque (DFM-FFCLRP-USP)
5910178 Fundamentos de Física e Matemática para Biologia-FFCLRP-USP Primeiro Semestre de 2007 Professor: Antônio C. Roque (DFM-FFCLRP-USP) Horário: Segundas e terças-feiras das 10:00 as 12:00 hs Sala do
Software Livre e Engenharia Elétrica
Software Livre e Engenharia Elétrica Diego Cézar Silva de Assunção Henrique Ribeiro Soares José Rubens Guimarães Vilaça Lima Pedro Dias de Oliveira Carvalho Rafael Viegas de Carvalho Carlos Gomes O software
TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I
TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I Raimundo Alan F. Moreira, Antônio Victor C. Passos, Otavio R. Neto, José Almeida Júnior. Bacharelado em Ciências da Computação Centro de Ciências
Marcelo K. Albertini. 17 de Abril de 2014
Introdução a Mineração de Dados Marcelo K. Albertini 17 de Abril de 2014 2/1 Organização do curso Prof. Marcelo Keese Albertini Sala: Bloco 1A - sala 1A230 Horário de atendimento: Sexta-feira 14h-17h ou