Top Banner
Reconhecimento de Fala em Português Brasileiro Fabiano Weimar dos Santos [email protected] 1 quarta-feira, 9 de dezembro de 2009
27

Reconhecimento de fala em português brasileiro

Jan 23, 2017

Download

Engineering

Fabiano Weimar
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reconhecimento de fala em português brasileiro

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

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

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

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

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

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

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

Como Funciona?Respire fundo...

8

quarta-feira, 9 de dezembro de 2009

Page 9: Reconhecimento de fala em português brasileiro

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jabá...

26

quarta-feira, 9 de dezembro de 2009

Page 27: Reconhecimento de fala em português brasileiro

Obrigado!

Fabiano Weimar dos [email protected]

27

quarta-feira, 9 de dezembro de 2009