Sei sulla pagina 1di 16

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO

DEPARTAMENTO DE ENGENHARIA DE COMPUTAO E SISTEMAS DIGITAIS





PCS2428 Inteligncia Artificial


Reconhecimento de Fala




Professora Anna Helena Reali Costa





Grupo 9
Fbio Belotti Colombo 5178770
Fabio Sussumu Komori 5173865
Tiago Bello Torres 5175526

2

Contedo
Introduo ao Reconhecimento da Fala ....................................................................................... 3
Modelo Oculto de Markov ............................................................................................................ 3
Fone e Fonema .............................................................................................................................. 8
Modelo Acstico e Modelo de Linguagem .................................................................................... 9
Sons da Fala: Processo ................................................................................................................ 10
Sons da Fala: Refinamento .......................................................................................................... 11
Palavras ....................................................................................................................................... 11
Sentenas .................................................................................................................................... 12
Dificuldades do Reconhecimento de Sentenas ..................................................................... 12
Modelo de Linguagem ............................................................................................................. 12
Modelo Oculto de Markov Combinado ................................................................................... 13
Algoritmo de Viterbi (soluo para o segundo problema) ...................................................... 14
Decodificador A* (soluo para o primeiro problema) ........................................................... 14
Construindo um Reconhecedor de Fala .................................................................................. 15
Concluso .................................................................................................................................... 15
Bibliografia .................................................................................................................................. 16


3

Introduo ao Reconhecimento da Fala
O reconhecimento da fala automtico consiste em gerar, a partir de um sinal acstico,
a representao correspondente que um computador seja capaz de entender. A complexidade
do reconhecedor pode variar. Quando os primeiros reconhecedores foram desenvolvidos,
eram capazes de reconhecer apenas algumas vogais, consoantes ou dgitos.
Atualmente existem reconhecedores de fala contnuos, que no requerem que o
usurio faa uma pausa entre uma palavra ou outra. Tambm existem reconhecedores mais
simples; capazes de reconhecer nmeros ou algumas poucas palavras.
O interesse em mquinas capazes de falar se iniciou muito cedo. Isso se deve em
parte, ao fato da fala ser nosso principal meio de comunicao. Em 1881, Alexander Graham
Bell fundou, junto com um primo, uma empresa para fornecer mquinas capazes de gravar e
reproduzir sons em ambientes de trabalho. A idia na poca era permitir que gerentes
pudessem ditar textos para uma mquina e que suas secretrias pudessem, posteriormente,
digitar os textos ditados.
O interesse em reconhecer a fala teve seus primeiros resultados na dcada de 1950. As
primeiras tentativas eram focadas na acstica da voz e no reconhecimento da distribuio da
potncia do som pelo espectro do som. Em 1952 Davis, Biddulph, and Balashek do Bell
Laboratories desenvolveram um circuito capaz de reconhecer os dgitos de um a nove e o
digito zero (oh). Fry and Denes, da University College na Inglaterra foram os primeiros a
utilizar a anlise estatstica para o reconhecimento da fala. Eles utilizaram informaes
estatsticas sofre as seqncias de fonemas permitidos na lngua inglesa para melhorar o
reconhecimento de fonemas dentro de palavras.
As dcadas de 1960 e 1970 marcaram o aparecimento do Modelo Oculto de Markov
em reconhecedores de fala. Devido s suas caractersticas e os bons resultados nesta
aplicao, o seu uso se expandiu na dcada de 1980 e at hoje o modelo mais utilizado pelos
reconhecedores da fala modernos. A seguir, explicaremos como o Modelo Oculto de Markov
utilizado em reconhecedores de fala modernos.
Modelo Oculto de Markov
O Modelo Oculto de Markov (MOM) uma variao do modelo de Markov clssico. O
modelo de Markov pode ser usado para descrever processos de Markov. De maneira simples,
um processo de Markov um processo que no exibe memria. Isto , o estado no tempo T
depende apenas do estado no tempo T-1. O estado do sistema nos instantes t < T-1 no
influencia o sistema no tempo T.
Imagine um sistema que pode ser descrito por um nmero N de estados S = {S
1
, S
2
, S
3
,
..., S
N
}. O modelo muda de estado em intervalos de tempo discretos e fixos. Os instantes de
tempo em que ocorrem as mudanas de estado podem ser denominados t = 1, 2, 3, ..., e o
tempo t do estado atual definido como qt. Caso esse sistema seja um processo de Markov,
temos:
] [ ] ,... , [
1 2 1 i t j t k t i t j t
S q S q P S q S q S q P = = = = = =


Considerando que as transies de estado so independentes do tempo, temos que:
onde 1 i, j N. Como os valores a
O modelo de Markov descrito pelos valores
Markov observvel. Sabemos a todo instante o estado atual do sistema. Abaixo temos um
exemplo concreto de tal sistema. Imagine um sistema simples para modelar uma rodada de
dado. Os seis possveis estados so os poss
transio entre os estados tambm fcil de definir: 1/6 para todas as transies de estado.
Abaixo temos uma imagem do modelo.
Figura 1: Exemplo de uma cadeia de Markov para
Em muitos sistemas que encontramos habitualmente, no temos como saber o estado
atual do sistema. Esses sistemas apresentam apenas evidncias do estado atual. O MOM busca
modelar sistemas esses sistemas no observveis.
Como exemplo simples, podemos imaginar uma pessoa que remove bolas de urnas
atrs de uma cortina. A cada rodada, essa pessoa escolhe uma urna aleatoriamente e remove
uma bola colorida da urna, tambm aleatoriamente. A pessoa que remove as bolas diz a cor da
bola e a coloca novamente na urna de onde a tirou. No podemos enxergar o que ocorre atrs
da cortina, mas gostaramos de poder modelar esse sistema para ter uma boa estimativa do
que est ocorrendo. Podemos descrever esse sistema atravs de MOM.
Considerando que as transies de estado so independentes do tempo, temos que:
] [
1 i t j t ij
S q S q P a = = =


i, j N. Como os valores a
ij
so probabilidades, tambm devemos ter:
1
0
1
=

=
N
j
ij
ij
a
a

O modelo de Markov descrito pelos valores acima pode ser considerado um modelo de
Markov observvel. Sabemos a todo instante o estado atual do sistema. Abaixo temos um
exemplo concreto de tal sistema. Imagine um sistema simples para modelar uma rodada de
dado. Os seis possveis estados so os possveis valores do dado: 1, 2, 3, 4, 5 e 6. A taxa de
transio entre os estados tambm fcil de definir: 1/6 para todas as transies de estado.
Abaixo temos uma imagem do modelo.
Exemplo de uma cadeia de Markov para modelar o rolar de um dado.
Em muitos sistemas que encontramos habitualmente, no temos como saber o estado
atual do sistema. Esses sistemas apresentam apenas evidncias do estado atual. O MOM busca
modelar sistemas esses sistemas no observveis.
mplo simples, podemos imaginar uma pessoa que remove bolas de urnas
atrs de uma cortina. A cada rodada, essa pessoa escolhe uma urna aleatoriamente e remove
uma bola colorida da urna, tambm aleatoriamente. A pessoa que remove as bolas diz a cor da
a coloca novamente na urna de onde a tirou. No podemos enxergar o que ocorre atrs
da cortina, mas gostaramos de poder modelar esse sistema para ter uma boa estimativa do
que est ocorrendo. Podemos descrever esse sistema atravs de MOM.
4
Considerando que as transies de estado so independentes do tempo, temos que:
acima pode ser considerado um modelo de
Markov observvel. Sabemos a todo instante o estado atual do sistema. Abaixo temos um
exemplo concreto de tal sistema. Imagine um sistema simples para modelar uma rodada de
veis valores do dado: 1, 2, 3, 4, 5 e 6. A taxa de
transio entre os estados tambm fcil de definir: 1/6 para todas as transies de estado.

Em muitos sistemas que encontramos habitualmente, no temos como saber o estado
atual do sistema. Esses sistemas apresentam apenas evidncias do estado atual. O MOM busca
mplo simples, podemos imaginar uma pessoa que remove bolas de urnas
atrs de uma cortina. A cada rodada, essa pessoa escolhe uma urna aleatoriamente e remove
uma bola colorida da urna, tambm aleatoriamente. A pessoa que remove as bolas diz a cor da
a coloca novamente na urna de onde a tirou. No podemos enxergar o que ocorre atrs
da cortina, mas gostaramos de poder modelar esse sistema para ter uma boa estimativa do
Por simplicidade, vamos considerar que existem duas urnas (Urna 1 e Urna 2) com
bolas de duas cores diferentes (pretas e brancas). Vamos supor que a probabilidade de uma
bola branca ser retirada da Urna 1 de 0,8 e a de uma bola preta ser retirada de 0,2. Na
Urna 2, a probabilidade de se retira uma bola branca de 0,6 e de se retirar uma bola preta
de 0,4. A probabilidade de se escolher as urnas a mesma.
Esse sistema pode ser modelo por um MOM com dois estado
a urna de qual a bola foi tirada. Assim se a bola for tirada da Urna 1, significa que foi realizada
uma transio para o estado 1. Se uma bola foi retirada da Urna 2, uma transio feita para o
estado 2. importante lembrar que
apenas a cor da bola retirada. A taxa de transio entre os estados tambm conhecida. Dado
que a escolha das urnas eqiprovvel, a taxa de transio do estado um para o estado 2 de
0,5, e a taxa de transio do estado 2 para o estado 1 tambm de 0,5. Como no
conhecemos o estado do sistema, tambm devemos definir uma probabilidade para o estado
inicial. Novamente, como a seleo das urnas eqiprovvel, podemos definir a probabilidade
do estado inicial ser o estado 1, que igual ao do estado 2, como 0,5.
Resta definir mais uma probabilidade. Para cada estado (urna), temos uma
probabilidade de uma bola branca ou preta ser retirada. Essa probabilidade chamada de
distribuio de probabilidade do
de observao: bolas brancas e bolas pretas. No estado 1, a probabilidade de se observar uma
bola preta de 0,2 e de se observar uma bola branca de 0,8. J no estado 2, a probabilidade de
se observar uma bola branca de 0,6 e a de se observar uma bola preta, de 0,4. Na figura
abaixo temos um diagrama do MOM descrito acima.
e, vamos considerar que existem duas urnas (Urna 1 e Urna 2) com
bolas de duas cores diferentes (pretas e brancas). Vamos supor que a probabilidade de uma
bola branca ser retirada da Urna 1 de 0,8 e a de uma bola preta ser retirada de 0,2. Na
probabilidade de se retira uma bola branca de 0,6 e de se retirar uma bola preta
de 0,4. A probabilidade de se escolher as urnas a mesma.

Figura 2: Exemplo das urnas.
Esse sistema pode ser modelo por um MOM com dois estados. Cada estado representa
a urna de qual a bola foi tirada. Assim se a bola for tirada da Urna 1, significa que foi realizada
uma transio para o estado 1. Se uma bola foi retirada da Urna 2, uma transio feita para o
estado 2. importante lembrar que no sabemos de qual urna a bola foi retirada, sabemos
apenas a cor da bola retirada. A taxa de transio entre os estados tambm conhecida. Dado
que a escolha das urnas eqiprovvel, a taxa de transio do estado um para o estado 2 de
de transio do estado 2 para o estado 1 tambm de 0,5. Como no
conhecemos o estado do sistema, tambm devemos definir uma probabilidade para o estado
inicial. Novamente, como a seleo das urnas eqiprovvel, podemos definir a probabilidade
inicial ser o estado 1, que igual ao do estado 2, como 0,5.
Resta definir mais uma probabilidade. Para cada estado (urna), temos uma
probabilidade de uma bola branca ou preta ser retirada. Essa probabilidade chamada de
distribuio de probabilidade dos smbolos de observao. No caso acima, temos dois smbolos
de observao: bolas brancas e bolas pretas. No estado 1, a probabilidade de se observar uma
bola preta de 0,2 e de se observar uma bola branca de 0,8. J no estado 2, a probabilidade de
ervar uma bola branca de 0,6 e a de se observar uma bola preta, de 0,4. Na figura
abaixo temos um diagrama do MOM descrito acima.
5
e, vamos considerar que existem duas urnas (Urna 1 e Urna 2) com
bolas de duas cores diferentes (pretas e brancas). Vamos supor que a probabilidade de uma
bola branca ser retirada da Urna 1 de 0,8 e a de uma bola preta ser retirada de 0,2. Na
probabilidade de se retira uma bola branca de 0,6 e de se retirar uma bola preta
s. Cada estado representa
a urna de qual a bola foi tirada. Assim se a bola for tirada da Urna 1, significa que foi realizada
uma transio para o estado 1. Se uma bola foi retirada da Urna 2, uma transio feita para o
no sabemos de qual urna a bola foi retirada, sabemos
apenas a cor da bola retirada. A taxa de transio entre os estados tambm conhecida. Dado
que a escolha das urnas eqiprovvel, a taxa de transio do estado um para o estado 2 de
conhecemos o estado do sistema, tambm devemos definir uma probabilidade para o estado
inicial. Novamente, como a seleo das urnas eqiprovvel, podemos definir a probabilidade
probabilidade de uma bola branca ou preta ser retirada. Essa probabilidade chamada de
s smbolos de observao. No caso acima, temos dois smbolos
de observao: bolas brancas e bolas pretas. No estado 1, a probabilidade de se observar uma
bola preta de 0,2 e de se observar uma bola branca de 0,8. J no estado 2, a probabilidade de
ervar uma bola branca de 0,6 e a de se observar uma bola preta, de 0,4. Na figura
Figura
Com o diagrama acima, podemos calcular, por exemplo,
observao O = preta, preta, branca, branca, branca, preta, preta. Talvez at mais interessante,
podemos tentar definir a seqncia de estados que tem a maior probabilidade de gerar a
observao acima. Poderamos tambm tentar
nosso modelo de tal maneira que a probabilidade da observao acima ocorrer seja mxima.
Esses trs problemas esto relacionados com os trs problemas bsicos para um MOM.
No contexto do reconhecimento da fala, a seg
termos gerais, os estados so como as letras das palavras. As transies entre os estados
refletem a probabilidade de se encontrar uma letra aps a outra em uma palavra da lngua
sendo reconhecida, i.e. a taxa de tra
representa t est ligado probabilidade de se encontrar palavras onde existe uma letra e
seguida de t, como deter. A taxa de gerao de smbolos est ligada probabilidade de uma
letra gerar um determinado som. Dependendo da palavra ou at da posio da letra em uma
palavra, o seu som muda. Essa probabilidade reflete a probabilidade da letra ter aquele som
na lngua.
Para definir formalmente um MOM, precisamos dos seguintes valores:
Um nmero N de estados representados aqui por S = {S
Um nmero M de smbolos distintos de observao, que sero representados por V =
{v
1
, v
2
, v
3
, ..., v
M
}.
As probabilidades de transio de estado A = {a
[
1 t j t ij
S q S q P a = = =

A distribuio de probabilidade dos smbolos de observao para cada estado. A


probabilidade discreta do smbolo k ser observado no estado j no tempo t dada por
] | [ ) (
j t k j
S q v P k b = =
A distribuio de estados
] [
1 i
S q p = = , i 1
Figura 3: Diagrama de um MOM para as urnas.
Com o diagrama acima, podemos calcular, por exemplo, a probabilidade de ocorrer a
observao O = preta, preta, branca, branca, branca, preta, preta. Talvez at mais interessante,
podemos tentar definir a seqncia de estados que tem a maior probabilidade de gerar a
observao acima. Poderamos tambm tentar encontrar os parmetros melhores para o
nosso modelo de tal maneira que a probabilidade da observao acima ocorrer seja mxima.
Esses trs problemas esto relacionados com os trs problemas bsicos para um MOM.
No contexto do reconhecimento da fala, a segunda resposta a que nos interessa. Em
termos gerais, os estados so como as letras das palavras. As transies entre os estados
refletem a probabilidade de se encontrar uma letra aps a outra em uma palavra da lngua
sendo reconhecida, i.e. a taxa de transio do estado que representa e para o estado que
representa t est ligado probabilidade de se encontrar palavras onde existe uma letra e
seguida de t, como deter. A taxa de gerao de smbolos est ligada probabilidade de uma
terminado som. Dependendo da palavra ou at da posio da letra em uma
palavra, o seu som muda. Essa probabilidade reflete a probabilidade da letra ter aquele som
Para definir formalmente um MOM, precisamos dos seguintes valores:
estados representados aqui por S = {S
1
, S
2
, S
3
, ..., S
N
}.
Um nmero M de smbolos distintos de observao, que sero representados por V =
As probabilidades de transio de estado A = {a
ij
} onde:
]
i
S , N j i , 1 .
A distribuio de probabilidade dos smbolos de observao para cada estado. A
babilidade discreta do smbolo k ser observado no estado j no tempo t dada por
],
M k
N j


1
1
.
os iniciais = {
i
} onde:
N .
6

a probabilidade de ocorrer a
observao O = preta, preta, branca, branca, branca, preta, preta. Talvez at mais interessante,
podemos tentar definir a seqncia de estados que tem a maior probabilidade de gerar a
encontrar os parmetros melhores para o
nosso modelo de tal maneira que a probabilidade da observao acima ocorrer seja mxima.
Esses trs problemas esto relacionados com os trs problemas bsicos para um MOM.
unda resposta a que nos interessa. Em
termos gerais, os estados so como as letras das palavras. As transies entre os estados
refletem a probabilidade de se encontrar uma letra aps a outra em uma palavra da lngua
nsio do estado que representa e para o estado que
representa t est ligado probabilidade de se encontrar palavras onde existe uma letra e
seguida de t, como deter. A taxa de gerao de smbolos est ligada probabilidade de uma
terminado som. Dependendo da palavra ou at da posio da letra em uma
palavra, o seu som muda. Essa probabilidade reflete a probabilidade da letra ter aquele som
Um nmero M de smbolos distintos de observao, que sero representados por V =
A distribuio de probabilidade dos smbolos de observao para cada estado. A
babilidade discreta do smbolo k ser observado no estado j no tempo t dada por:
7

Daremos agora tambm uma descrio mais formal dos problemas bsicos para um
MOM. Para tanto, considere um MOM descrito pelos valores listados acima. Os problemas
bsicos para um MOM so:
1. Dado uma seqncia de observaes O = O
1
O
2
O
3
...O
T
, como calcular de maneira
eficiente a probabilidade de se observar O dado o modelo, i.e. .
2. Dado uma seqncia de observaes O = O
1
O
2
O
3
...O
T
, como escolher a seqncia de
estados Q = q
1
q
2
q
3
...q
T
que seja tima de acordo com alguma definio sensata, i.e.,
qual a melhor explicao para a observao?
3. Como ajustar os parmetros de Modelo

de maneira a maximizar ) | ( Modelo O P .
Isto , como escolher os parmetros de Modelo de maneira que o modelo seja a
melhor representao possvel do que foi observado.
A soluo destes trs problemas ajuda no desenvolvimento e operao de um
reconhecedor de fala. A soluo do primeiro permite selecionar o melhor modelo entre
diversos disponveis para uma observao. A soluo do terceiro problema permite
aperfeioar os parmetros do modelo para certa observao. As observaes utilizadas nesses
casos so denominadas os dados de treinamento, por serem utilizadas para treinar, ou
aperfeioar, o reconhecedor. Esses problemas podem ser solucionados pelo algoritmo
forward-backward.
O segundo problema necessita, antes de uma soluo, de uma definio para a seqncia de
estados tima. Quando definimos a seqncia de estados tima como sendo a seqncia que
maximiza ) , | ( Modelo O Q P . Isto equivalente a maximizar ) | , ( Modelo O Q P . O algoritmo
de Viterbi encontra essa seqncia e ser descrito adiante.
Existem algumas modificaes que podem ser feitas ao MOM para facilitar o seu uso
em reconhecedores de fala. Entre elas podemos citar a modificao para aceitar sinais
contnuos como entrada.
Apesar de ser possvel quantizar esses sinais atravs de codebooks e continuar a
utilizar distribuies de probabilidade discretas, mais interessante utilizar uma distribuio
de probabilidade contnua. O clculo da probabilidade de observao de um sinal
representado pelo vetor O passa a ser feito seguindo a formula abaixo.

O vetor O uma varivel aleatria contnua composta por M coeficientes. Cada
coeficiente em si uma varivel aleatria contnua com uma distribuio normal definida pela
mdia j
m
e covarincia U
jm
. Essa abordagem produz resultados melhores, mas torna o clculo
mais complexo. Pois temos agora definies de vrias distribuies gaussianas para cada
estado, ao invs das probabilidades discretas.
Em alguns modelos tambm pode ser til associar as evidncias a uma transio e no
a um estado. Nesses casos, uma transio nula pode simplificar os modelos. Como mostrado
abaixo. O reconhecimento da palavra Pouco, que possui variaes na pronncia,
simplificado, pois pode ser representado em um modelo nico que perm
som correspondente letra u do sinal.
Figura
Outra modificao que melhora o modelo a modificao do tempo de durao de um
estado em um MOM. O modelo descrito acima
exponencial, dado pela formula abaixo.
Esse modelo inapropriado para sinais fsicos, pois sua durao no exponencial.
Utiliza-se ento uma durao explicita dos estados, definindo:
a
ii
= 0
p
i
(d) = densidade de durao
Essa modificao produz resultados melhores, mas requer modificaes nos
algoritmos forward-backward e de Viterbi. Essa soluo tambm mais custosa
computacionalmente.
Fone e Fonema
Como mencionamos anteriormente, um reconheced
de complexidade, reconhecendo desde dgitos ou palavras at frases inteiras enunciadas de
maneira natural. Para reconhecedores mais simples, pode
palavras que se deseja reconhecer. No entan
complexos, onde se desejar reconhecer um amplo vocabulrio.
Isso se deve em parte necessidade de se treinar o reconhecedor da fala. Para realizar
o treinamento, preciso ter diversas pronncias de uma mesma
grandes, isso pode ser muito difcil de gerar. Uma opo para esse problema quebrar as
palavras em pedaos menores e utilizar esses pedaos como blocos bsicos. Assim, seria
necessrio ter apenas varais pronncias desses blocos b
combinaes.
Esses blocos bsicos podem ser, por exemplo, slabas, fonemas ou fones. Um fonema
a menor unidade sonora de uma lngua que ainda capaz de estabelecer contraste de
significado entre palavras. A fonologia de uma lngua define, entre outras coisas, os fon
da lngua. O portugus tem 33 ou 34 fonemas, dependendo do dialeto. Os fonemas ajudam a
abaixo. O reconhecimento da palavra Pouco, que possui variaes na pronncia,
pois pode ser representado em um modelo nico que permite a remoo do
som correspondente letra u do sinal.
Figura 4: Reconhecimento da palavra "pouco".
Outra modificao que melhora o modelo a modificao do tempo de durao de um
estado em um MOM. O modelo descrito acima tem um tempo de durao de estado
exponencial, dado pela formula abaixo.
p
i
(d) = (a
ii
)
d-1
(1-a
ii
)
Esse modelo inapropriado para sinais fsicos, pois sua durao no exponencial.
se ento uma durao explicita dos estados, definindo:
(d) = densidade de durao
Essa modificao produz resultados melhores, mas requer modificaes nos
e de Viterbi. Essa soluo tambm mais custosa
Como mencionamos anteriormente, um reconhecedor da fala pode ter diversos graus
de complexidade, reconhecendo desde dgitos ou palavras at frases inteiras enunciadas de
maneira natural. Para reconhecedores mais simples, pode-se usar como elemento bsico as
palavras que se deseja reconhecer. No entanto, isso se torna proibitivo para modelos mais
complexos, onde se desejar reconhecer um amplo vocabulrio.
Isso se deve em parte necessidade de se treinar o reconhecedor da fala. Para realizar
o treinamento, preciso ter diversas pronncias de uma mesma palavra. Para sistemas
grandes, isso pode ser muito difcil de gerar. Uma opo para esse problema quebrar as
palavras em pedaos menores e utilizar esses pedaos como blocos bsicos. Assim, seria
necessrio ter apenas varais pronncias desses blocos bsicos, e no de todas as suas possveis
Esses blocos bsicos podem ser, por exemplo, slabas, fonemas ou fones. Um fonema
a menor unidade sonora de uma lngua que ainda capaz de estabelecer contraste de
significado entre palavras. A fonologia de uma lngua define, entre outras coisas, os fon
da lngua. O portugus tem 33 ou 34 fonemas, dependendo do dialeto. Os fonemas ajudam a
8
abaixo. O reconhecimento da palavra Pouco, que possui variaes na pronncia,
ite a remoo do

Outra modificao que melhora o modelo a modificao do tempo de durao de um
tem um tempo de durao de estado
Esse modelo inapropriado para sinais fsicos, pois sua durao no exponencial.
Essa modificao produz resultados melhores, mas requer modificaes nos
or da fala pode ter diversos graus
de complexidade, reconhecendo desde dgitos ou palavras at frases inteiras enunciadas de
se usar como elemento bsico as
to, isso se torna proibitivo para modelos mais
Isso se deve em parte necessidade de se treinar o reconhecedor da fala. Para realizar
palavra. Para sistemas
grandes, isso pode ser muito difcil de gerar. Uma opo para esse problema quebrar as
palavras em pedaos menores e utilizar esses pedaos como blocos bsicos. Assim, seria
sicos, e no de todas as suas possveis
Esses blocos bsicos podem ser, por exemplo, slabas, fonemas ou fones. Um fonema
a menor unidade sonora de uma lngua que ainda capaz de estabelecer contraste de
significado entre palavras. A fonologia de uma lngua define, entre outras coisas, os fonemas
da lngua. O portugus tem 33 ou 34 fonemas, dependendo do dialeto. Os fonemas ajudam a
9

identificar como uma palavra pronunciada e so escritos entre / /. Nos dicionrios, os
fonemas so geralmente listados junto aos significados das palavras.
Um fone um segmento da fala que possui caractersticas ou percepes distintivas.
um evento fsico que no est ligado fonologia da lngua. Tanto o fonema quanto o fone so
bastante utilizados por reconhecedores da fala. A unidade bsica usada depende, novamente,
do reconhecedor.
Modelo Acstico e Modelo de Linguagem
O problema da inferncia probabilstica no reconhecimento da fala pode ser descrito
da seguinte maneira. O reconhecedor captura um sinal acstico Sinal. Este sinal capturado de
um meio ruidoso. Essas fontes de rudo podem ser, literalmente, fontes de rudo, como um
caminho ou avio passando ou msica no fundo. O microfone utilizado, os cabos de conexo
e fontes eletromagnticas prximas, bem como o prprio conversor A/D tambm podem
inserir rudo na linha. Em fim, o sinal captado, mesmo que o usurio tente, no ser
garantidamente o mesmo para uma mesma palavra.
Seja Palavras uma varivel aleatria que varai sobre todas as seqncias possveis de
palavras que poderiam ser articulados. Para inferir o que foi dito, devemos encontrar a
seqencia de palavras Palavras que maximiza a probabilidade:
) | ( Sinal Palavras P
Aplicando a regra de Bayes, obtemos:
) ( ) | ( ) | ( Palavras P Palavras Sinal P Sinal Palavras P =
Na expresso acima, o termo ) | ( Palavras Sinal P o modelo acstico. Esse modelo
descreve os sons das palavras. O modelo acstico define tambm que duas palavras tm o
mesmo som. Se ) | ( Palavras Sinal P tem o mesmo valor para um dado sinal quando Palavras
sela ou cela, essencialmente estamos definindo que sela e cela possuem a mesma
pronncia.
A probabilidade ) (Palavras P

chamada de modelo de linguagem. Esse modelo
especifica as probabilidades a priori de se encontrar uma determinada seqncia de palavras.
Atravs desse modelo, podemos definir que cela trancada mais provvel que sela
trancada. A primeira frase mais comumente encontrada e, portanto, sua probabilidade a
priori ser maior que a da segunda frase.
Esses dois modelos so importantes, pois ajudam a definir o resultado da inferncia.
Quanto melhor os parmetros desses modelos, maior ser a taxa de acerto do reconhecedor
da fala.
10

Sons da Fala: Processo
O processo de reconhecimento de fala se inicia a partir das ondas sonoras emitidas por
uma determinada pessoa, correspondendo variao de presso que se propaga no ar. Tal
presso captada por um microfone (um conversor de sinais analgicos em digitais) e
amostrada a uma taxa de 8 a 16 kHz (para msicas de alta qualidade, geralmente a taxa de
amostragem de 44 kHz, mas, para voz, a faixa citada suficiente para obter uma boa
qualidade, uma vez que a voz humana possui uma banda de freqncia menor). Os sinais
digitais obtidos do microfone so quantizados numa quantidade de bits que varia de 8 a 12
bits.
Como a taxa de mudanas no sinal de voz baixa (em torno de 100 Hz), necessrio
efetuar um processo de simplificao do sinal recebido. Considerando-se taxas de amostragem
em torno de 8 a 16 kHz e quantizao de 8 a 12 bits, tem-se um volume de dados
correspondente a, aproximadamente, 0,5MB/min. Tal volume de dados excessivamente
grande e ineficiente para servir de entrada para um algoritmo de reconhecimento de fala. Por
esse motivo, o sinal digital resumido em frames, correspondendo a um perodo de,
aproximadamente, 10 ms, nos quais no existem grandes alteraes no formato da onda
sonora. Cada frame, por sua vez, analisado e categorizado em caractersticas (features). Num
sistema real, existem por volta de 10 a 100 caractersticas que refletem o formato de onda,
possibilitando uma modelagem de fonemas mais simplificada. A seguir, apresentado um
esquema dos processos anteriormente descritos:

Figura 5: Sinal analgico, sinal amplificado e os frames com as caractersticas.
A implementao desta simplificao gera, ainda, alguns problemas. O principal o
seguinte: tendo uma quantidade N de caractersticas, cada uma delas, geralmente, com 256
possveis valores, o frame possui 256
N
possveis valores. Montar uma tabela simples relatando
P(caracterstica|fonema) torna-se impraticvel, devido ao nmero excessivo de possibilidades.
Desta forma, existem duas abordagens que contornam este problema:
Quantizao vetorial: o espao n-dimensional representado pelos 256 valores das N
caractersticas dividido em 256 regies (por exemplo, C1-C256), passando de 256
N

valores para somente 256. Tal abordagem simplista demais e, por isso, em sistemas
de larga escala no tem sido mais utilizada;
Distribuio gaussiana (normal): uma alternativa representar
P(caracterstica|fonema) como uma distribuio normal, caracterizada por sua mdia
e varincia. Deste modo, trata-se de modelar a distribuio de probabilidades de
11

forma estatstica e contnua, o que se mostra mais prximo da realidade do que a
soluo anterior (discreta).
Sons da Fala: Refinamento
Cada fone, dependendo do interlocutor, tem uma durao que varia de 5 a 10 frames.
Porm, nesse perodo de tempo, o fone no apresenta um comportamento sonoro estvel e
sofre variaes na sua pronncia e no som gerado. Por esse motivo, o modelo oculto de
Markov geralmente sofre modificaes no sentido de se aproximar realidade. Desse modo, a
pronncia de um determinado fone modelada em trs fases: comeo, meio e fim. Como
exemplo, temos o fone [t] da lngua inglesa:
Comeo silencioso
Pequena exploso no meio
Assovio no fim
Outro refinamento utilizado considerar o contexto no qual o fone pronunciado.
Desta forma, o estado no modelo oculto de Markov representa o fone em si, porm, com os
fones imediatamente anterior e sucessor, uma vez que o crebro humano, na hora da fala,
agrupa os sons e processa os fones de maneira totalmente isolada. Este modelo o que se
chama de trifontico.
Com esses dois melhoramentos expostos, o nmero de estados possveis numa cadeia
oculta de Markov passa de N para 3N
3
, adicionando maior complexidade para o sistema, ao
mesmo tempo em que melhora a execuo do reconhecedor de fala.
Palavras
Na fase de avaliao de palavras, o reconhecimento se baseia em modelos flexveis
que suportam certos desvios na fala (como dialetos, regionalismos e outros desvios do
cotidiano) de forma probabilstica. Exemplos disso so apresentados a seguir:
Assimilao: /me'nino/ = [me'nin] ou [mi'nin]
Fortalecimento: /ra'pas/ = [ra'pas] ou [ra'pays]
Enfraquecimento: /abay'ar/ = [abay'ar] ou [aba'ar]
Na lngua inglesa, por exemplo, tem-se a palavra tomato, que, seguindo variaes
dialticas e de articulao, pode assumir as seguintes pronncias:
12


Figura 6: Modelo de palavras com variao de dialeto (a) e com variao de dialeto e articulao (b).
Sentenas
Dificuldades do Reconhecimento de Sentenas
Em uma primeira anlise, o processo de reconhecer fala contnua pode parecer
equivalente ao processo de reconhecer palavras em seqncia. A idia apresentada falsa por
dois motivos:
1. A seqncia de palavras mais provveis diferente da seqncia mais provvel de
palavras. Em outras palavras, analisar a probabilidade de que uma palavra isolada
tenha sido pronunciada menos eficiente do que analisar a probabilidade de que essa
mesma palavra tenha aparecido dentro do contexto da sentena. Por exemplo, a frase
I have a gun certamente mais provvel do que a frase I have a gub, mesmo que a
anlise isolada da ltima palavra tenha revelado que gub era a alternativa mais
provvel.
2. Durante a anlise da fala contnua, existe o problema de segmentao, isso , decidir
onde o fim de uma palavra e o incio da prxima. Tal problema surge devido ao fato
de que a maioria dos falantes no faz pausas claras entre palavras.
Modelo de Linguagem
Um modelo de linguagem responsvel por estabelecer a probabilidade de cada uma
das seqncias de palavras possveis. Considere a sentena

, formada por
palavras em seqncia. A probabilidade de essa sentena ocorrer dada pela regra da cadeia:


Considerando que os termos acima so difceis de calcular, surge a necessidade de
realizar aproximaes, como o modelo do bigrama e o modelo do trigrama.
O modelo do bigrama determi
sentena condicionada apenas palavra anterior (modelo de Markov de primeira ordem):

Esse modelo fcil de ser treinado, bastando uma contagem do nmero de palavras
em uma base textos reais. Por exemplo, se a palavra eu aparecer 1000 vezes em um texto,
mas for seguida da palavra tenho em apenas 37 ocorrncias, ento a probabilidade de que
tenho aparea aps eu vale 37/1000.
Uma aproximao mais complexa o
probabilidade de uma palavra dentro da sentena condicionada s duas palavras anteriores
(modelo de Markov de segunda ordem):

|
Tal modelo capaz de realizar julgamentos
ainda no possui a flexibilidade de modelos que consideram a gramtica. Assim, o modelo do
trigrama seria capaz de avaliar que o homem tenho uma sentena improvvel (erro
gramatical), mas seria incapaz de fazer
chapu amarelo tenho.
Na discusso a seguir, ser considerado apenas o modelo do bigrama.
Modelo Oculto de Markov Combinado
Para que o sistema reconhea sentenas corretamente, necessrio combinar os
modelos de palavra (modelos de pronncia e de fones) com o modelo de linguagem. Para isso,
ser construdo um modelo oculto de Markov combinado, em que cada estado rotulado com
trs informaes:
1. Fone atual;
2. Estado do fone (incio, meio ou fim);
3. Palavra atual.
Figura 7: Exemplo de um estado no modelo de Markov combinado.
Nesse modelo, trs tipos de transio so possveis:
1. Entre estados de um mesmo fone;
2. Entre fones de uma mesma palavra;
3. Entre palavras (probabilidade dada pelo
Se houver palavras possveis, cada uma com uma mdia de
fonema for modelado com trs estados, ento o modelo de Markov combinado possuir
estados.
determina que a probabilidade de uma palavra dentro da
sentena condicionada apenas palavra anterior (modelo de Markov de primeira ordem):


Esse modelo fcil de ser treinado, bastando uma contagem do nmero de palavras
em uma base textos reais. Por exemplo, se a palavra eu aparecer 1000 vezes em um texto,
mas for seguida da palavra tenho em apenas 37 ocorrncias, ento a probabilidade de que
tenho aparea aps eu vale 37/1000.
Uma aproximao mais complexa o modelo do trigrama, que determina que a
probabilidade de uma palavra dentro da sentena condicionada s duas palavras anteriores
(modelo de Markov de segunda ordem):
|


Tal modelo capaz de realizar julgamentos de probabilidade mais sofisticados, mas
ainda no possui a flexibilidade de modelos que consideram a gramtica. Assim, o modelo do
trigrama seria capaz de avaliar que o homem tenho uma sentena improvvel (erro
gramatical), mas seria incapaz de fazer um julgamento semelhante para a frase o homem de
Na discusso a seguir, ser considerado apenas o modelo do bigrama.
Modelo Oculto de Markov Combinado
Para que o sistema reconhea sentenas corretamente, necessrio combinar os
odelos de palavra (modelos de pronncia e de fones) com o modelo de linguagem. Para isso,
ser construdo um modelo oculto de Markov combinado, em que cada estado rotulado com
Estado do fone (incio, meio ou fim);

: Exemplo de um estado no modelo de Markov combinado.
Nesse modelo, trs tipos de transio so possveis:
Entre estados de um mesmo fone;
Entre fones de uma mesma palavra;
Entre palavras (probabilidade dada pelo modelo do bigrama).
palavras possveis, cada uma com uma mdia de fonemas, e cada
fonema for modelado com trs estados, ento o modelo de Markov combinado possuir
13
na que a probabilidade de uma palavra dentro da
sentena condicionada apenas palavra anterior (modelo de Markov de primeira ordem):
Esse modelo fcil de ser treinado, bastando uma contagem do nmero de palavras
em uma base textos reais. Por exemplo, se a palavra eu aparecer 1000 vezes em um texto,
mas for seguida da palavra tenho em apenas 37 ocorrncias, ento a probabilidade de que
, que determina que a
probabilidade de uma palavra dentro da sentena condicionada s duas palavras anteriores
de probabilidade mais sofisticados, mas
ainda no possui a flexibilidade de modelos que consideram a gramtica. Assim, o modelo do
trigrama seria capaz de avaliar que o homem tenho uma sentena improvvel (erro
um julgamento semelhante para a frase o homem de
Para que o sistema reconhea sentenas corretamente, necessrio combinar os
odelos de palavra (modelos de pronncia e de fones) com o modelo de linguagem. Para isso,
ser construdo um modelo oculto de Markov combinado, em que cada estado rotulado com
fonemas, e cada
fonema for modelado com trs estados, ento o modelo de Markov combinado possuir 3
14

Algoritmo de Viterbi (soluo para o segundo problema)
Depois de construdo o modelo de Markov combinado, basta utilizar o algoritmo de
Viterbi para determinar a seqncia de estados mais provveis. Quando essa seqncia for
conhecida, basta ler as palavras nos rtulos dos estados para determinar a sentena.
Considerando que o algoritmo de Viterbi leva em conta todas as seqncias de palavras
possveis e todas as fronteiras possveis entre palavras, soluciona-se o problema se
segmentao (segundo problema apresentado).
Genericamente, o algoritmo de Viterbi depende de algumas consideraes
importantes, todas condizentes com um modelo de Markov de primeira ordem:
Os eventos observveis e ocultos devem estar em seqncia do ponto de vista
temporal.
As seqncias de eventos observveis e ocultos devem estar sincronizadas, de forma
que um evento observado deve corresponder a um nico evento oculto.
O clculo da seqncia oculta mais provvel at o instante deve depender apenas do
evento observado no instante e da seqncia mais provvel no instante 1.
O algoritmo executa as seguintes etapas:
Processa os ns no sentido crescente de seqncia, calculando a probabilidade do
caminho mais provvel a cada etapa. Notar que as probabilidades na etapa
dependem apenas das probabilidades da etapa 1.
Ao final do processamento, tero sido encontradas as seqncias mais provveis
chegando a cada um dos ns finais.
Atravs da anlise das probabilidades, imediato escolher qual das seqncias a
mais provvel de forma global.
Por fim, tal seqencia pode ser reconstruda percorrendo, a partir do estado final, os
apontadores que indicam o estado anterior na seqencia mais provvel. Esses
apontadores so atualizados pelo algoritmo durante o processamento.
Decodificador A* (soluo para o primeiro problema)
Na prtica, a probabilidade de uma seqncia de palavras a soma das probabilidades
de todas as seqncias de estados que so consistentes com a seqncia de palavras. Assim,
possvel que a expresso a back seja reconhecida por 10 seqncias diferentes de estados
(variaes de pronncia, por exemplo), cada uma com probabilidade 0,03. Por outro lado,
possvel que a expresso aback seja reconhecida por apenas uma seqncia de estados
(pronncia nica), cuja probabilidade 0,20. O algoritmo de Viterbi escolheria aback, j que
0,20 maior do que 0,03. Entretanto, a back mais provvel, j que a soma das
probabilidades de todas as seqncias de estados que reconhecem a expresso 0,30.
Para solucionar essa questo (segundo problema apresentado), utiliza-se um
decodificador A*, que realiza uma busca A* para encontrar a seqncia mais provvel de
palavras. Considera-se um grafo em que cada n representa uma palavra. Assim, os sucessores
de um n so todas as palavras possveis que podem seguir a palavra rotulada nesse n.
15

Considere que se deseja encontrar o caminho mais provvel entre os ns

. No
momento da anlise de um n genrico

, pode-se estimar o custo do caminho como

, em que:

= log

uma funo heurstica que estima o custo entre

.
Com a definio apresentada, o problema de encontrar o caminho mais curto torna-se
exatamente equivalente ao problema de encontrar a seqncia mais provvel de palavras.
Uma inconvenincia do mtodo apresentado a dificuldade de se encontrar uma heurstica

interessante do ponto de vista prtico.


Construindo um Reconhecedor de Fala
A qualidade do reconhecedor depende exclusivamente da qualidade de seus
componentes:
Modelo de linguagem;
Modelo de pronncia de palavras;
Modelo de fones;
Algoritmo de processamento de sinal.
O modelo de linguagem j foi discutido e o algoritmo de processamento de sinal est
fora do escopo do texto. Devem-se analisar, portanto, os modelos de pronncia e fones.
O modelo de pronncia de palavras normalmente feito mo (dicionrios de
pronncia) e o modelo de fones constante. Resta, portanto, entender como as
probabilidades entre fones so obtidas, j que h potencialmente milhes de parmetros. A
maneira mais fcil de obter as probabilidades analisando grandes volumes de gravaes reais
em udio e utilizando uma abordagem de contagem semelhante do modelo do bigrama. Fica
em aberto, entretanto, a tediosa tarefa de ouvir cada uma das palavras e associ-las a fones
(outra tarefa manual e sujeita a erros). Uma alternativa o algoritmo de maximizao da
expectativa, que capaz de aprender as probabilidades do modelo oculto de Markov sem a
necessidade de marcaes manuais.
Os sistemas de reconhecimento de voz modernos utilizam volumes de dados e poder
computacional muito grandes para treinar seus modelos. Sistemas de reconhecimento de
palavras isoladas com vocabulrio de milhares de palavras tm preciso de 99%. Entretanto, a
maioria dos sistemas de reconhecimentos de fala contnua possui preciso da ordem de 60-
80%. Deve-se enfatizar tambm que rudos diversos diminuem significativamente as precises
apresentadas.
Concluso
Em suma, verifica-se que o modelo oculto de Markov se mostra eficaz no problema de
reconhecimento de fala, j que o modelo capaz de abranger diversas formas de pronncia de
maneira probabilstica. De fato, a tarefa de reconhecimento de voz seria invivel em um
sistema baseado somente em regras simples.
16

Bibliografia
1. Curso do MIT sobre reconhecimento de fala,
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-
345Automatic-Speech-RecognitionSpring2003/CourseHome, acessado em
01/11/2008.
2. Wikipedia Hidden Markov Model,
http://en.wikipedia.org/wiki/Hidden_Markov_Model, acessado em 01/11/2008.
3. Wikipedia Speech recognition, http://en.wikipedia.org/wiki/Speech_recognition,
acessado em 30/10/2008.
4. Wikipedia, Viterbi algorithm, http://en.wikipedia.org/wiki/Viterbi_algorithm,
acessado em 31/10/2008.
5. B.H. Juang e L. R. Rabiner Automatic Speech Recognition A Brief History of the
Technology Development,
http://www.ece.ucsb.edu/Faculty/Rabiner/ece259/Reprints/354_LALI-ASRHistory-
final-10-8.pdf, acessado em 04/11/2008.
6. C. A. Ynogutti Reconhecimento de Fala Contnua Usando Modelos Ocultos de
Markov, http://www.decom.fee.unicamp.br/lpdf/teses_pdf/Tese-Doutorado-
Carlos_Alberto_Ynoguti.pdf, acessado em 04/11/2008.
7. L. R. Rabiner A Tutorial on Hidden Markov Models and Selected Applications in
Speech Recognition , Proceedings of the IEEE, Vol. 77, N 2, 1989.
8. S. J. Russel e P. Norvig Inteligncia Artificial, 2 edio, Elsevier Editora, Rio de
Janeiro, RJ, Brasil.

Potrebbero piacerti anche