reconhecimento de fala em português brasileiro
TRANSCRIPT
![Page 1: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/1.jpg)
Reconhecimento de Fala em Português Brasileiro
Fabiano Weimar dos [email protected]
1
quarta-feira, 9 de dezembro de 2009
![Page 2: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/2.jpg)
Eu sou...• “Apenas um rapaz latino americano...”
• Mestre em Computação pela UFRGS (2009), Bacharel em Computação pela UCS (2004)
• Envolvido com IA desde 1999
• Consultor e Desenvolvedor Python, Zope e Plone desde 2000
• Core-developer do Plone
• Contribuidor em diversos Plone Products
• Sysadmin do provedor PyTown.com
2
quarta-feira, 9 de dezembro de 2009
![Page 3: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/3.jpg)
Roteiro
• Introdução
• O que é Reconhecimento de Fala
• Como funciona?
• E o idioma Português Brasileiro...
• Dicas: como implantar
• Jabá...
3
quarta-feira, 9 de dezembro de 2009
![Page 4: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/4.jpg)
Introdução
• Nossa interface natural com o mundo é a fala (não um teclado e mouse)
• A área de reconhecimento de fala é pesquisada desde a década de 80
• Não é uma tarefa simples!
• Reconhecimento de Fala = Processamento de Sinais + Fonética + Linguística Computacional + Inteligência Artificial
4
quarta-feira, 9 de dezembro de 2009
![Page 5: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/5.jpg)
O que é Reconhecimento de Fala• Não é “reconhecimento de voz”
• Preocupada em reconhecer o que está sendo dito
• Reconhecer quem está falando é uma outra área: reconhecimento de locutor
• Reconhecimento de fala contínua sem restrições é ainda um problema em aberto
5
quarta-feira, 9 de dezembro de 2009
![Page 6: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/6.jpg)
Síntese x Reconhecimento
• Todo leigo confunde:
• Síntese: Conversão de Texto para “Fala”
• Reconhecimento: Conversão de Fala para “Texto”
• Se comparada ao reconhecimento, a síntese é trivial
6
quarta-feira, 9 de dezembro de 2009
![Page 7: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/7.jpg)
Aplicações
• Para Câmaras: Apoio na Taquigrafia
• Indexação e busca de conteúdo no que é dito em comissões em plenário, TV e rádio
• URA
7
quarta-feira, 9 de dezembro de 2009
![Page 8: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/8.jpg)
Como Funciona?Respire fundo...
8
quarta-feira, 9 de dezembro de 2009
![Page 9: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/9.jpg)
Fundamentação Teórica
Consideremos A como a representação de um evento acústico; W como uma string de n
palavras. Se P(W|A) denota a probabilidade que as palavras W foram faladas, dado os eventos acústicos A observados, então o
reconhecedor deve decidir em favor de uma palavra W que satisfaça
Wmax = argmaxw P(W|A)
9
quarta-feira, 9 de dezembro de 2009
![Page 10: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/10.jpg)
Fundamentação Teórica
Podemos reescrever a equação como P(W|A) = (P(W)P(A|W)) / P(A), onde P(W) é a
probabilidade da palavra W ser dita, P(A|W) é a probabilidade que quando a palavra W é dita o evento acústico A será observado e
P(A) é a probabilidade de A ser observado
10
quarta-feira, 9 de dezembro de 2009
![Page 11: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/11.jpg)
Fundamentação TeóricaComo a maximização é feita com a variável A fixa (pois o evento acústico observado é
determinado), temos:
Wmax = argmaxw P(W)P(A|W)
Essa fórmula define que processos um reconhecedor de fala deve solucionar...
11
quarta-feira, 9 de dezembro de 2009
![Page 12: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/12.jpg)
Fundamentação Teórica
• Um Modelo Acústico para calcular P(A|W)
•HMM, Rede Neural, DTW
•Um Modelo de Linguagem para calcular P(W)
•n-gram, CFG
•Busca de hipótese para Wmax
•Não trivial, pois o espaço de busca é muito grande e tempo real pode ser “desejável”
12
quarta-feira, 9 de dezembro de 2009
![Page 13: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/13.jpg)
Fundamentação Teórica
• Um Modelo Acústico para calcular P(A|W)
•HMM, Rede Neural, DTW
•Um Modelo de Linguagem para calcular P(W)
•n-gram, CFG
•Busca de hipótese para Wmax
•Não trivial, pois o espaço de busca é muito grande e tempo real pode ser “desejável”
13
Trifones “tied state” com múltiplas Gaussianas
quarta-feira, 9 de dezembro de 2009
![Page 14: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/14.jpg)
Fundamentação Teórica
• Um Modelo Acústico para calcular P(A|W)
•HMM, Rede Neural, DTW
•Um Modelo de Linguagem para calcular P(W)
•n-gram, CFG
•Busca de hipótese para Wmax
•Não trivial, pois o espaço de busca é muito grande e tempo real pode ser “desejável”
14
Modelos estatísticos baseados em 3-gram
suavizados por algorítmos de desconto e interpolação
quarta-feira, 9 de dezembro de 2009
![Page 15: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/15.jpg)
15
Aúdio
Transcrições Ortográficas
Modelos Acústicos
Modelos de Linguagem
Modelo G2P Reconhecedor
quarta-feira, 9 de dezembro de 2009
![Page 16: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/16.jpg)
16
Reconhecedores
• HTK (Hidden Markov Model Toolkit)
• Sphinx (CMU Sphinx Open Source Speech Recognition Engine)
• Julius (Open-Source Large Vocabulary CSR Engine Julius)
quarta-feira, 9 de dezembro de 2009
![Page 17: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/17.jpg)
Linguística Computacional
• Autenticidade
• Adequação
• Representatividade
• Extensão
17
quarta-feira, 9 de dezembro de 2009
![Page 18: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/18.jpg)
Modelos de Linguagem
• Geralmente adota-se modelos estatísticos de linguagem, baseados em n-grams
• Quanto maior a ordem do n-gram, melhor é a representação do contexto, mas mais esparso torna-se o espaço de busca
• Necessidade de grandes quantidades de dados para a criação de modelos representativos
18
quarta-feira, 9 de dezembro de 2009
![Page 19: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/19.jpg)
Modelos de Linguagem• Representatividade limitada pela extensão
• Modelos de linguagem pequenos são eficientes, mas tem aplicabilidade restrita
• Modelos de linguagem com grande vocabulário tem maior aplicabilidade, mas são menos eficientes (alta perplexidade)
• Modelos de linguagem realmente grandes (teóricos) são eficientes e “irrestritos”, mas são difíceis de manter (limitações computacionais)
19
quarta-feira, 9 de dezembro de 2009
![Page 20: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/20.jpg)
Modelos Acústicos
• Em condições ideais, usa-se todo o texto disponível para criar os modelos de linguagem e os respectivos áudios para criar os modelos acústicos
• Geralmente isso não é tão simples pois:
• A quantidade de áudio costuma ser limitada
• A aquisição de corpus textuais costuma ser mais “simples”
20
quarta-feira, 9 de dezembro de 2009
![Page 21: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/21.jpg)
Modelo Acústico - Trifones “tied state”
21
80,0
83,6
87,2
90,8
94,4
98,0
tied tied-iw tied-iw-3gram
89,7
88,3
82,9
Taxa Média de Reconhecimento (%)
85,0
81,1
89,9
86,7
95,7
85,7
quarta-feira, 9 de dezembro de 2009
![Page 22: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/22.jpg)
Múltiplas Misturas Gaussianas
22
88,00
89,00
90,00
91,00
92,00
93,00
94,00
1 2 4 6 8 10 12 14 16 18 20
3-gram 2-gramTaxa Média de Reconhecimento (%)
Número de Misturas Gaussianas
quarta-feira, 9 de dezembro de 2009
![Page 23: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/23.jpg)
Grande Vocabulário - CETEN-Folha
23
65
68
71
74
77
80
2gram-iw-6G 2gram-id-6G 3gram-iw-12G 3gram-id-12G
71,3771,07
73,0073,27
Taxa Média de Reconhecimento (%)
75,24
71,33
74,87
71,33
76,95
66,17
76,98
66,27
quarta-feira, 9 de dezembro de 2009
![Page 24: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/24.jpg)
24
Dicas: como implantar
• Organize seus dados
• Armazene o áudio de tudo que é dito
• Armazene as transcrições ortográficas
• Cuidado com soluções prontas
• Sistema de Reconhecimento deve aprender com erros (e não apenas confiar na adaptação de locutor)
quarta-feira, 9 de dezembro de 2009
![Page 25: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/25.jpg)
25
Dicas: como implantarNão seja otimista demais.
Bons resultados requerem muito trabalho (e tempo).
quarta-feira, 9 de dezembro de 2009
![Page 26: Reconhecimento de fala em português brasileiro](https://reader034.vdocuments.pub/reader034/viewer/2022042503/58852c0a1a28abf7538b7b09/html5/thumbnails/26.jpg)
Jabá...
26
quarta-feira, 9 de dezembro de 2009