Académique Documents
Professionnel Documents
Culture Documents
INSTITUTO DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO
Compreensão da
Linguagem Falada
por
Exame de Qualificação
EQ-72 PPGC-UFRGS
3
4
6 Conclusões 64
Lista de Abreviaturas
5
Lista de Figuras
5.1 Trecho de fala com especificação dos elementos prosódicos [KOM 97]. . 55
5.2 Árvore de Classificação e Regressão [WRI 99]. . . . . . . . . . . . . . . 58
5.3 Modelagem sintático-prosódica [GAL 02]. . . . . . . . . . . . . . . . . . 60
5.4 Seqüência de verificação de atos de diálogo. A partir da melhor hipótese
do reconhecedor de palavras (a), são determinados os limites das frases
sintáticas (b) e é buscado o ato de diálogo mais adequado (c). . . . . . . . 62
6
7
5.5 Conjunto de redes TDNN destinadas a identificar atos de diálogo [KIP 98]. 63
5.6 Representação da codificação da etiqueta para o token well [KIP 98]. . . . 63
Lista de Tabelas
8
Resumo
O presente exame trata da compreensão da linguagem falada, que tem por base a compo-
sição dos recursos do reconhecimento de fala com o processamento de linguagem natural.
Esta abordagem implica no estudo desde a aquisição do sinal de fala até a modelagem de
diálogos, passando pela construção de modelos de linguagem.
O estudo do processamento da linguagem falada é distinto da linguagem escrita. Isto
porque a linguagem falada é passível de interrupções, não segue regras gramaticais, e
tende a ser mais espontânea. Portanto, seu processamento é baseado em técnicas estatís-
ticas que visam a captura de construções lingüísticas mais ou menos constantes.
É exatamente explorando as características da expressão da fala que novos estudos
apontam a prosódia como informação essencial no processo de compreensão da lingua-
gem falada. Através do processamento dos sinais prosódicos no sinal de fala é possível
incrementar o reconhecimento das palavras, otimizar o parsing e inferir contextos de diá-
logo.
Palavras-chave: reconhecimento automático de fala, processamento de linguagem na-
tural, compreensão da linguagem falada.
9
Abstract
This work is about the matching between the automatic speech recognition and natural
language processing, called spoken language understanding. This approach is result from
study of the speech acquisition process, language modelling and act dialogue modelling.
The development of the speech language processing is more difficult than text lan-
guage processing. The speech language have disfluencies, it not follows grammar rules
and it is much more spontaneous. This kind of processing is based in statistical methods
to capture linguistic constants.
In this way, the study of the prosody shows that it is an essencial information to in-
crease the spoken language understanding process. The use of prosodic signals of speech
permits to better the recognition of words, to guide the parsing and to help the inference
of dialogue contexts.
Key-words: automatic speech recognition, natural language processing, spoken lan-
guage understanding.
10
Capítulo 1
11
12
mesmos sistemas. Esta constitui-se, portanto, uma fronteira ainda em exploração para o
reconhecimento de fala.
O que também ainda não está consolidado é a interpretação da linguagem que, até al-
guns anos atrás, era pensada apenas como algo dissociado da fala, sendo apenas analisada
como língua escrita. A abordagem da linguagem falada abriu um leque bem amplo para
o estudo da interpretação semântica, uma vez que características obtidas no sinal da fala
podem ser utilizadas na formação do contexto a ser compreendido.
A partir destas preocupações, os novos sistemas de reconhecimento de fala estão
sendo desenvolvidos com o objetivo de adquirir mais dados sobre o sinal da locução
de forma a melhor codificar a fala contínua e satisfazer as necessidades de informações
contextuais dos sistemas de interpretação de linguagem.
Nos anos 80, o Departamento de Projetos de Pesquisa Avançada dos Estados Unidos
(DARPA), baseando-se em métodos estatísticos de representação de linguagem, iniciou o
desenvolvimento de sistemas de compreensão de fala, no lugar dos projetos de reconheci-
mento de fala desenvolvidos até então [LAR 92]. Esta ação do DARPA mostra o interesse
inicial no desenvolvimento de sistemas que não abrangessem apenas o reconhecimento
do sinal da fala, mas também seu contexto semântico.
Desta época, pode-se citar o sistema ATIS (Air Travel Information Services), da Uni-
versidade Carnegie Mellon (CMU), que possuía um sistema estatístico para o reconheci-
mento do locutor aliado a um parser para interpretação semântica. Este parser utilizava
um sistema hierárquico de frames e regras de inferência para chegar à melhor interpreta-
ção possível [LAR 92].
Outros sistemas do mesmo período que podem ser citados são [LAR 92]:
17
18
para a boca, formando assim os sons nasais e os sons orais, respectivamente. A boca
ainda realiza a alteração de forma e volume da onda através de diversos movimentos dos
maxilares, bochechas, lábios e principalmente da língua [CUN 82].
Em termos de linguagem, as palavras orais são diferenciadas em vogais e consoantes.
Os sons vogais são produzidos sem ou com parcial obstrução do ar na boca, enquanto os
sons consoantes são resultado da obstrução total momentânea ou a permissão do mínimo
de passagem do ar [CUN 82][JUR 00]. Estes sons também são conhecidos como períodos
de estabilidade (vogais) e transitórios (consoantes) do sinal de fala [RUS 93].
Os sons de fala, assim como os sons de instrumentos musicais, são ondas complexas
formadas de uma freqüência fundamental, também chamada de pitch, e suas harmônicas
derivadas. Estas harmônicas costumam ser agrupadas em faixas de freqüência chamadas
formantes. Em geral, os sons vogais são reconhecidos no primeiro grupo de formantes
(F1), que está na faixa entre 300 a 900Hz, e no segundo grupo (F2), que compreende de
1200 a 1800Hz. De qualquer forma, dadas as dimensões do trato vocal, qualquer onda de
fala não ultrapassa a freqüência de 4KHz (embora sons não vocálicos - como a expressão
humm - possam atingir 8KHz) [RAB 78].
Já os sons consoantes não são tratados com base nas formantes, mas em termos da
sua intensidade espectográfica. Esta intensidade é obtida no domínio freqüência, onde
pode-se verificar se ela é alta ou baixa. Por exemplo, os sons consoantes /f/ e /v/ são
considerados de baixa intensidade espectográfica, enquanto os sons /s/ e /z/ são de alta
intensidade.
Figura 2.5: Corte transversal da cóclea. No centro vêem-se as células ciliadas e a seu lado
as rampas vestibular e timpânica.
externo e interno, uma vez que a parte resistiva da impedância da cóclea é cerca de 104
vezes maior que a do ouvido externo [KOV 97].
O ouvido interno, formado pela cóclea, é responsável pela análise espectral e codi-
ficação neural do sinal sonoro. A cóclea é um tubo encaracolado que é repartido pela
metade por duas membranas, chamadas de membrana vestibular e membrana basilar. In-
ternamente à cóclea, há duas áreas interligadas, chamadas de rampa vestibular e rampa
timpânica, que são preenchidas com um fluido no qual são propagadas as ondas sonoras
(veja figura 2.5). Estas são captadas pelos cerca de 25.000 cílios das células sensórias
(veja figura 2.6) situadas na membrana tectorial, que se localiza entre a membrana vesti-
bular e a basilar [KOV 97][RUS 93].
As células ciliadas que estão mais próximas da onda hidráulica são sensíveis a freqüên-
cias mais altas, enquanto as mais distantes da onda captam freqüências mais baixas - veja
figura 2.7. A essas células sensórias estão ligadas cerca de 30.000 fibras no nervo auditivo
que levarão a codificação do som ao processamento cerebral [KOV 97][RUS 93].
Ao chegar ao cérebro, o nervo auditivo liga-se ao núcleo cocleolar (veja figura 2.8),
que é composto de vários subnúcleos de redes neurais de topologias diferentes, os quais
visam o processamento e recodificação da informação auditiva. Alguns destes subnúcleos
possuem uma estrutura na qual os neurônios mais dorsais respondem a altas freqüências,
enquanto os mais ventrais atendem a baixas freqüências. Esta organização, denominada
En = aEn−1 + x2 (n)
23
Mas como o cálculo de energia pode variar muito de uma amostra n para outra,
calcula-se apenas a magnitude média [RAB 78]:
Mn = aMn−1 + |x(n)|
t
P
Zm = y(i)
i=1
Coeficientes Cepstrais
A técnica da extração do cepstrum baseia-se na idéia de que há sinais superpostos,
formando um sinal só, composto. Estes sinais combinados são chamados de sistemas
homomórficos, por vários sinais diferentes comporem uma só forma. A superposição
de sinais é matematicamente conhecida como convolução e obedece à formulação geral
[RAB 78]:
∞
P
y(n) = x(k) h(n − k) = h(n) ? x(n)
k = −∞
N/2 N/2
P c (k) cos(2πki/N ) + P
xb(n) = M F (k) sen(2πki/N )
k=0 k=0
Para a representação da locução com base no cepstrum calculado, tem-se interesse nos
valores dos 10 a 20 primeiros elementos de xb, o que deve corresponder ao sinal da glote
e trato vocal, como comentado anteriormente [VAL 00].
p
P
y(n) = a(k) y(n − k) + e(n)
k=1
onde a(k) são os coeficientes do filtro e e(n) é o erro (diferença) existente entre um trecho
de p valores y anteriores e o valor y atual.
Desta forma, pode-se estimar o próximo valor com base numa combinação linear dos
valores anteriores, calculando-se o y futuro [RAB 78]:
p
P
yb(n) = a(k) y(n − k)
k=1
e o erro
e(n) = y(n) − yb(n)
A codificação por predição linear é o processo de cálculo dos coeficientes a que per-
mitirão a estimativa do sinal futuro. Para tanto, calculam-se aproximações dos valores de
erro através do método da autocorrelação, que calcula o erro médio quadrado mínimo, e
o método da covariância, que calcula o erro médio quadrado.
O erro médio por autocorrelação é calculado, dentro de uma janela j de tempo, na
forma [RAB 78]:
p
P
E(j) = R(j)(0) − a(k) R(j)(k)
k=1
sendo que [RAB 78][OLI 98]:
N −1−k
1 P
R(j)(k) = y(j)(n) y(j)(n + k)
N −k
n=0
26
onde N é o tamanho da janela j e k o elemento que está sendo calculado. Estas equações
podem ser resolvidas por [RAB 78][SAY96][OLI 98]:
p
P
a(k) R(j)(|i − k|) = R(j)(i)
k=1
o que representa o sistema para uma janela j de p valores:
a(1) R(0) R(1) R(2)
· · · R(p − 1) R(1)
a(2)
R(1) R(0) R(1)
· · · R(p − 2)
R(2)
a(3) R(2) R(1) · · · R(p − 3) =
R(0) R(3)
.. .. .. ..
.. .. ..
. . . . . . .
a(p) R(p − 1) R(p − 2) R(p − 3) · · · R(0) R(p)
Este sistema pode ser resolvido com o algoritmo Levinson-Durbin, que realiza o cál-
culo de constantes chamadas coeficientes de reflexão ou correlação parcial (PARCOR -
parcial correlation). O algoritmo segue os passos [SAY96]:
1. Inicialize com zero o vetor de erro médio E, a matriz R e o índice i que corresponde
à ordem do filtro;
2. incremente i em 1;
³P ´.
i−1
3. calcule k(i) = j=1 a(j)(i−1) R(i − j + 1) − R(i) E(i − 1);
j−1
P
v(i, j) d(j) = φ(i, j) − v(i, k) d(k) v(j, k) 1≤j ≤i−1
k=1
e os elementos diagonais:
i−1
P
d(i) = φ(i, i) − v(i, k)2 d(k) i≥2
k=1
E
S
Backpropagation
É um modelo cujos neurônios são compostos por três ou mais camadas de adalines
interconectados, como pode ser visualizado na figura 2.11. Estes adalines têm uma di-
ferença fundamental: eles utilizam uma função do tipo sigmoid como função de limiar.
Esta é uma função não-linear para ampliar o potencial de classificação de um modelo.
Essa variação foi o que possibilitou a este e outros modelos realizarem representações
complexas. A função sigmoid tem a forma:
onde S é a saída linear, d a saída desejada, e i o nodo atual. A partir deste erro são
ajustados os pesos da última camada:
onde En é o vetor resultante da saída da camada anterior até esta camada intermediária;
k é o número de nodos conectados a seguir do atual; ε é o erro do nodo k; p é o peso
correspondente à conexão do nodo atual com o nodo k. A partir deste erro, são calculados
os pesos:
3. Calcule a saída:
n−1
X
S(t) = Pi (t)Ei (t) − θ
i=0
Sq(t) = sgm(S(t))
6. e o cálculo do erro:
e o erro: X
εi (t) = En(t)(1 − En(t)) εk pik (t)
k
.12 ix .63
ae
dx
.37
onde et é o estado avaliado no tempo t. Estas transições vão indicar, por exemplo, que é
mais provável de ocorrer a seqüência de letras ac do que ax.
Para se definir uma determinada seqüência de estados que ocorrerão, utiliza-se um
vetor B de probabilidades de M símbolos observados, ou seja
O algoritmo de avanço define qual é a melhor seqüência de estados existente para dada
seqüência observada. Para tanto, são calculadas as probabilidades α para cada estado j
num tempo t: P
αj (t) = αi (t − 1)aij bj (st )
i
Na inicialização do algoritmo, é feito αj (0) = 1.0 para o estado inicial e 0.0 para os
demais estados. Para cada instante t de tempo é gerado o estado com maior probabilidade,
de forma a gerar uma seqüência de T estados, os quais podem corresponder a uma palavra,
por exemplo.
O algoritmo de Viterbi é uma alternativa viável para o reconhecimento de palavras em
fala contínua, por serem infinitas as possibilidades de modelagem através do algoritmo
de avanço. O algoritmo de Viterbi realiza uma aproximação da melhor seqüência de
símbolos. Assim, ao invés de serem calculadas as probabilidades através do somatório,
este é substituído pela função de máximo:
32
E para nova estimação dos símbolos observados, calcula-se o número de vezes que
ocorreu dado símbolo u sobre o total de observações:
P P
N (i, u) t:(yt =u) Υij (t)
j
bij = P (i, u) = = P P
N (i) j t Υij (t)
A partir dos novos parâmetros, é possível reaplicar o algoritmo, num refinamento pro-
gressivo dos parâmetros, ajustando-os adequadamente para que melhor reconheça futuros
novos padrões (fonemas) não-treinados.
Como comentado anteriormente, o objetivo da modelagem de Markov é obter a me-
lhor seqüência possível de fonemas, permitindo a identificação de uma palavra por apro-
ximação estatística. Desta forma, podem ser construídos sistemas híbridos de reconhe-
cimento de fala, onde as características do sinal são adquiridas com redes neurais e a
modelagem temporal dos fonemas feita por modelos de Markov.
Capítulo 3
An á l i s e
Mo rf o l ó g i c a
An á l i s e
Sin tátic a
An á l i s e
S e m ân t ic a
An á l i s e
P ra g m á t i c a
33
34
Normalmente casos de ambigüidade da linguagem são resolvidos neste nível, uma vez que
o contexto permite a diferenciação necessária.
Apesar das diversas etapas de processamento da linguagem, há pesquisadores que
acreditam ser muito tênue a separação entre reconhecimento sintático, semântico e prag-
mático. Neal e Shapiro afirmam que alguns aspectos da sintaxe não deveriam ser sepa-
rados da semântica, uma vez que a mudança de uma palavra que está na frente de outra
pode alterar-lhe o sentido. Por exemplo a palavra areia na frase Eu usei areia, ao colocar
um artigo na frente, muda seu significado: Eu usei a areia. A primeira frase indica uma
areia qualquer, mas a segundo especifica uma determinada areia [NEA 87].
Por outro lado, a semântica também tem íntima relação com a pragmática, uma vez
que há palavras que somente encontram seu significado no contexto, como por exemplo
a palavra banco na frase Eu tropecei no banco. Dependendo do contexto, banco pode
indicar o móvel ou a agência bancária. Este tipo de ambigüidade só pode ser resolvida a
nível de análise pragmática.
No decorrer deste capítulo serão abordadas todas as fases do processamento da lin-
guagem natural, desde a análise morfológica até a análise de discurso.
3.2.1 Etiquetagem
O primeiro processamento que é efetuado na análise sintática é a identificação das
classes das palavras (também conhecidas como classes morfológicas, etiquetas lexicais
ou partes de fala). Para proceder esta classificação, são implementados parsers que iden-
tificam nas frases as classes das palavras que as compõem. Esta classificação de palavras
também é conhecida como etiquetagem (tagging).
Por exemplo, a frase Eu tropecei na pedra, poderia ser etiquetada da seguinte forma:
Eu/PPE tropecei/VP na/PAF pedra/SSF. Esta representação segue a tabela 3.2, onde são
apresentadas as etiquetas, sua descrição e a palavra correspondente na frase apresentada.
Basicamente, a etiquetagem dos atuais parsers sintáticos que vem sendo implemen-
tados constituem-se de três tipos: os que usam regras, os que utilizam estatísticas e os
híbridos, que utilizam as duas anteriores [PAC 96][JUR 00]. A primeira, que utiliza re-
gras, também é chamada de lexicalista, uma vez que ela se preocupa em seguir regras de
dicionário e de gramáticas para verificação da consistência da linguagem.
A segunda abordagem chama-se probabilística, uma vez que utiliza cadeias de Mar-
kov (veja seção 2.3.2) para descobrir qual é a seqüência mais provável de palavras. Dentro
deste contexto, a técnica que tem sido mais utilizada em parsers sintáticos probabilísticos
é chamada de n-gramas, que consiste em estabelecer uma estatística a cada n palavras.
Normalmente é implementado n=3, sendo que são analisadas 2 palavras para a previsão da
terceira. Desta forma, é estabelecida uma estatística de construção de frases, permitindo
a descoberta de qual é a palavra de combinação mais provável, permitindo a verificação e
correção da construção frasal.
A última abordagem é chamada de funcionalista e reúne tanto características referen-
tes ao uso de regras, quanto ao uso de probabilidades. Uma das técnicas mais utilizadas
é conhecida como Transformation-Based Learning (TBL), ou Aprendizado Baseado em
Transformação, que faz a indução de regras a partir de exemplos de palavras apresentadas.
Baseando-se em regras básicas, procura-se inferir a categoria de construção das frases da-
das para aprendizado. Sobre este aprendizado, são construídas estatísticas que podem dar
origem a novas regras de construção de frases não previstas no modelo básico.
A etiquetagem das palavras, contudo, não basta para a análise sintática. Por vezes
ocorre situações ambíguas onde é necessário recorrer-se a mais um nível, uma vez que,
dependendo onde se encontra a palavra na frase, ela pode ter a função de advérbio ou
de substantivo (ex.: branco), de verbo ou conjunção (ex.: como), e assim por diante. O
próximo passo, portanto, é a análise da construção gramatical da frase para a definição da
categoria sintática.
36
Frase
Objeto Indireto
Árvores de Parser
Árvores de Parser utilizam técnicas de busca em árvore para determinar a correção da
construção frasal, realizando a comparação entre a frase e a estrutura da árvore. Uma téc-
nica bastante difundida que busca resolver os problemas de busca em árvore é o algoritmo
de Earley, que baseia-se na transição de estados para estabelecer qual é a classe mais pro-
vável de se seguirá à classe atual [SIK 97][JUR 00]. Este algoritmo possui 3 operadores:
predictor, scanner e completor. O primeiro estabelece as transições de estado possíveis,
o segundo realiza a comparação entre as transições possíveis e a palavra em análise, e o
terceiro módulo realiza o registro final da classe na frase etiquetada. O maior problema
deste tipo de parser é a incapacidade de resolver casos de ambigüidade.
Algoritmo de Earley
O algoritmo de Earley realiza uma busca top-down numa gramática estruturada em
árvore. Ele começa com a varredura de um vetor chamado mapa (chart), contendo tan-
tos elementos quantos forem as palavras da frase em análise. Cada uma destas entradas
do vetor contém uma lista de estados gerados pelo parsing até aquela palavra. A lista
de estados gerados é composta de uma subárvore que representa uma regra gramatical,
de informação sobre o preenchimento da subárvore (regras satisfeitas) e da posição na
subárvore de acordo com a palavra do mapa (vetor).
37
Frase
OI->P S: 0.5
Neste contexto, o operador predictor é que cria a subárvore a partir da regra gramati-
cal. Ele aloca as folhas na árvore para estados não-terminais da gramática.
O operador scanner verifica qual das ramificações geradas é compatível com a palavra
em análise, gera uma nova folha e marca no mapa o atual estado da busca.
Por fim, o operador completer é necessário quando uma regra terminou de ser ava-
liada e deve-se realizar o retrocesso (backtracking) para concluir a avaliação das demais
ramificações da árvore.
Parsing Probabilístico
O parsing probabilístico utiliza uma gramática cujas entradas possuem ponderações
estatísticas (pesos). Estas ponderações são colocadas com base na observação da pro-
babilidade de ocorrência das regras gramaticais no corpus (base de palavras). Através
destes pesos é possível a resolução de ambigüidades, sendo indicadas as frases de maior
probabilidade.
Assim, a probabilidade de uma regra R não terminal (a → b | a) ocorrer numa frase
F é a divisão do número de ocorrências de R na avaliação de F pelo número de repetições
do símbolo avaliado (a):
cont(a → b)
P (R) = P (a → b | a) =
cont(a)
igual peso de tropecei na pedra eu). A solução para este caso está na utilização de indi-
cadores lexicais (lexical heads), que permite ao algoritmo de busca identificar diferentes
ramificações dos sintagmas.
Os indicadores lexicais são palavras que ficam junto das raízes de uma determinada
subárvore de parsing. Isso serve para indicar a palavra principal de uma parte da frase (o
sujeito num sintagma nominal, por exemplo) e alterar o peso de construções frasais que
poderiam ter pesos iguais.
41
42
Parser
Estatístico
Reconhecimento
de Fal a
Processamento
de Discu rso
Síntese
de Fala
Por fim, utiliza-se um módulo de síntese de fala para a permitir a saída auditiva da
resposta gerada no processamento do discurso. A síntese de fala baseia-se num processo
simples, de mapeamento palavra-fonema, ou seja, determinada quantidade de letras sig-
nificam um determinado fonema a ser emitido ao usuário. Um problema nos sistemas
atuais é novamente a prosódia, uma vez que são utilizados apenas recursos de análise de
pontuação para variação da entonação das palavras, sem análise do contexto semântico.
Esta abordagem será melhor discutida no capítulo 5.
Nas próximas seções serão analisadas técnicas de análise de linguagem falada e de
diálogo. Neste sentido, será descrito um sistema completo, chamado SCREEN, desen-
volvido na década passada pelos pesquisadores Stefan Wermter e Volker Weber no depar-
tamento de Ciência da Computação da Universidade de Hamburgo [WEB 96] [WER 96]
[WER 97]. Ele será descrito em toda a sua extensão por ser um sistema cujos módulos
abrangem a análise da linguagem falada e do diálogo.
Serão também descritas diversas técnicas de análise da linguagem falada, como o
desenvolvimento de parsers como Phoenix, FeasPar e GLR, entre outras abordagens.
4.1 SCREEN
O sistema SCREEN (Simbolic Connectionist Robust EnterprisE for Natural language)
foi criado para provar ser possível criar um sistema de análise de linguagem capaz de ser
treinado para fazer um sistema robusto de interpretação de fala espontânea. A entrada
deste sistema é o resultado de um reconhecedor de fala, ou seja, palavras reconhecidas
e sua respectiva probabilidade. A saída do sistema são conjuntos de frases, devidamente
identificadas confome seu contexto, permitindo assim a construção de um sistema de
diálogo por computador.
Ele é constituído de seis grandes partes, conforme figura 4.2: de construção da seqüên-
cia de fala, de avaliação da fala, de categoria, de correção, de casos e de diálogo. Cada
43
uma das partes gera hipóteses de frases para a parte seguinte, num nível crescente de
abstração da linguagem.
A primeira parte é a construção da seqüência da fala (speech sequence construction
part), a qual é realizada a partir do resultado de um reconhecedor HMM. Para cada frase,
são geradas diversas hipóteses de formação de frases através da combinação das palavras
contidas no léxico do sistema. Essas hipóteses são feitas com base em quatro fatores:
1. tempo de início;
2. tempo de fim;
Figura 4.3: Rede recorrente utilizada na avaliação sintática de fala [WER 97].
Figura 4.4: Rede de decisão para correção de palavras redundantes [WER 97].
50
são então encaixadas em quadros (frames) de uma gramática de casos para etiquetagem
semântica (veja seção 3.3.2).
Após, o conjunto de expressões etiquetadas são comparadas com modelos de Mar-
kov (veja seção 2.3.2) treinados para reconhecimento de frases, visando a escolha das
melhores seqüências semânticas [MIN 98][MIN 99]. Estas expressões avaliadas semanti-
camente são a saída do parser, as quais podem ser utilizadas posteriormente em sistemas
de diálogo.
Todas as redes neurais são criadas numa etapa de treinamento, uma vez que a utili-
zação prática se dá posteriormente, conforme pode ser observado na figura 4.10. Para
nível de segmento, são aplicados o etiquetador e o buscador para, ao final do processo, ser
aplicado um algoritmo de busca para preenchimento de um conjunto de possíveis quadros
(estruturas de características) para a sentença de entrada. Para decidir qual é o melhor
quadro, aplica-se um algoritmo de comparação entre eles (quadro converter da figura
4.10).
O algoritmo de busca realiza a montagem dos quadros prováveis a partir de partes
dos segmentos, chamados fragmentos. Estes são armazenados durante o processo numa
estrutura chamada agenda (veja fig. 4.11).
A agenda realiza o armazenamento da saída das redes neurais e faz uma composição
coerente dos fragmentos, para posterior construção do quadro. Ao final do parsing, a
agenda possui o conjunto de quadros que serão avaliados para escolha da melhor estrutura
de características da sentença apresentada ao sistema.
51
53
54
No reconhecimento de fala, analisado no capítulo 2, a prosódia pode ser utilizada
para identificação da acentuação da palavra e do tempo entre os fonemas [KOM 97]. A
acentuação pode ser importante para o caso da palavra forma anteriormente citado e o
tempo é importante para definir agrupamentos de palavras e frases.
Na análise sintática, vista na seção 3.2, pode se utilizar da prosódia para decidir pontu-
ações de texto, facilitando a desambigüação [KOM 97]. Também nas análises semântica e
pragmática (seções 3.3 e 3.4) a prosódia pode ser utilizada para identificar o ápice de uma
entonação frasal [KOM 97]. Em geral, a palavra de maior entonação na frase corresponde
à mais importante. Por exemplo, na frase o professor chegou dá-se ênfase à pessoa que
chegou, porém, enfatizando na forma o professor chegou, corresponde ao momento em
que a pessoa chegou.
Além de todos estes processos, há o fenômeno paralingüístico dos acentos enfáticos,
que não foram abordados até o momento neste trabalho. Estes acentos determinam a
emoção contida na fala [KOM 97]. Talvez o texto em itálico ou negrito, ou ainda os ino-
vadores smiles1 das mensagens eletrônicas (e-mails), sejam formas gráficas de expressar
este tipo de acento. Mas como estes acentos não são normalmente registrados na lín-
gua escrita, perde-se uma valiosa informação, contida apenas na linguagem falada, não
processada pelos métodos analisados anteriormente.
Figura 5.1: Trecho de fala com especificação dos elementos prosódicos [KOM 97].
56
ando conforme sexo e idade por exemplo, é avaliada apenas o comportamento da envol-
tória desta onda. Este comportamento é uma informação prosódica que é rotulada para
posterior processamento. Exemplos de etiquetas são: descida (fall) - F; subida (rise) -
R; continuação-subida (continuation-rise) - CR. Estas etiquetas são extensamente usados
nos demais elementos compostos, como analisado na acentuação a seguir.
A acentuação refere-se a uma sílaba acentuada dentro de um contexto. A acentu-
ação pode vir da própria palavra onde a sílaba está inserida ou da entonação dada pelo
locutor. Em geral, são etiquetados o acento primário ou frasal (primary ou phrase accent
- PA), o acento enfático ou forte (emphatic ou strong accent - EA) e o acento secundá-
rio ou fraco (secondary ou weak accent - NA). A sílaba tônica pode ser detectada, por
exemplo, através de uma descida (F) seguida de uma subida (R) da onda fundamental.
Caso a tonicidade da sílaba não seja a usual de determinada palavra, diz-se que houve um
acento léxico. Isto ocorre normalmente por variações de dialeto ou por acentos enfáticos
indicando emoções.
As frases prosódicas são unidades de fala limitadas por palavras que possuem vari-
ações F, R ou CR da onda fundamental, ou ainda possui as sílabas terminais estendidas
no tempo. Kompe define dois tipos de delimitação de frases prosódicas: limites por cláu-
sulas prosódicas (etiqueta B3) e limites por constituintes prosódicos (B2) [KOM 97]. A
limitação por cláusulas prosódicas é dada por entonação e duração, além de pausas. Já os
limites por constituintes prosódicos são marcados por pequenos movimentos de entona-
ção e nunca possuem pausas.
O conceito de ritmo difere com a linguagem. Em linguagens acentuadas (stress ti-
med), ritmo refere-se à contagem do número de sílabas acentuadas em relação ao tempo.
Já em linguagens silábicas (syllable timed), como o português, o ritmo depende do nú-
mero de sílabas por período de tempo. A análise do ritmo pode ser importante para
verificação da estrutura do discurso e para a análise semântica das palavras, uma vez que
o ritmo imposto a uma pode alterar seu sentido.
A hesitação marca um conflito entre a o planejamento da fala e sua produção. Uma
pausa preenchida ou uma sílaba pronunciada de forma prolongada geralmente referem-
se a uma hesitação. Quando uma hesitação é muito longa, ela é chamada de hesitação
comprida (hesitation lengthening) e recebe a etiqueta B9 [KOM 97].
A etiquetagem e determinação dos elementos prosódicos constituem-se num processo
minuncioso, uma vez que eles ocorrem muito próximos no tempo, podem ocasionar um
erro na identificação de um elemento. Também há variações que são dependentes do
locutor que podem provocar erros de etiquetagem. Informações destas variações terão
que acompanhar a etiquetagem para que sirvam de base na determinação de expressões
não-lingüísticas envolvidas no processo de parsing da linguagem falada.
Figura 5.5: Conjunto de redes TDNN destinadas a identificar atos de diálogo [KIP 98].
Figura 5.6: Representação da codificação da etiqueta para o token well [KIP 98].
Capítulo 6
Conclusões
Na década de 1950, quando ainda nem havia teclado e monitor acoplado ao compu-
tador, já havia a idéia da comunicação através da linguagem falada entre o homem e a
máquina. Filmes de ficção científica fantasiavam (e fantasiam até hoje) conversas entre
pessoas e computadores. Talvez estas imagens do futuro estejam bem próximas.
Uma das primeiras linguagens de programação, LISP, foi uma tentativa inicial de
se estabelecer uma forma de interpretar a linguagem natural, para que ela pudesse ser
uma interface entre as pessoas e o computador. Acreditava-se que, através de regras de
inferência, seria possível a avaliação de frases escritas (ou até faladas) de uma forma mais
ou menos espontânea.
Esta crença continuou até meados de 1980, quando então foi reforçada com a cri-
ação da linguagem Prolog. Buscava-se, sempre, uma linguagem de programação que
facilitasse a organização de regras que, em tese, deveriam auxiliar na representação da
linguagem natural. Até mesmo projetos japoneses de arquiteturas especialmente criadas
para o processamento Prolog diziam que a comunicação natural com o computador seria
possível nos anos 1990.
Hoje sabemos que os caminhos trilhados com o processamento da linguagem natural
escrita foram insuficientes para a representação de um processo natural de comunicação.
Apenas no final da década de 1990 foi possível uma melhor representação da linguagem,
devido ao desenvolvimento alcançado com os sistemas de reconhecimento da fala, que
passaram a incorporar a análise da linguagem para incrementar as taxas de sucesso no
reconhecimento.
Os sistemas de reconhecimento de fala remontam à década de 1970, quando eram
então simples sistemas de identificação de palavras isoladas, em geral na forma de co-
mandos falados ao computador. Na década seguinte, já começaram a surgir as máquinas
de escrever fonéticas, que permitiam o reconhecimento de fonemas concatenados numa
fala contínua.
Finalmente, no final dos anos 1980 e início dos 1990, foram desenvolvidos robustos
sistemas de fala contínua, agora com a preocupação de realizar uma análise da lingua-
gem, visando sua interpretação. De início houve a idéia de um simples acoplamento entre
sistemas de reconhecimento de fala (veja cap. 2) e processamento da linguagem natu-
ral (confira cap. 3), mas os sistemas geravam cadeias de strings sem pontuação e com
palavras muitas vezes erradas. E os sistemas de linguagem escrita estavam adaptados à
simples avaliação de regras gramaticais, o que não é viável com uma comunicação fa-
lada e espontânea. A transcrição da leitura de um texto seria viável neste sentido, mas a
comunicação natural ainda não.
64
65
Neste sentido, no final da década de 1990 houve uma maior preocupação com a fala
espontânea, exigindo melhores reconhecedores, robustos a ruídos de fundo e alterações
na voz do locutor, e sistemas de processamento da linguagem falada, levando em conta a
redundância e variações existentes na fala espontânea. Até então os sistemas de reconhe-
cimento de fala eram treinados e utilizados em ambientes silenciosos - o que restringia
muito sua utilização pela maioria dos usuários de computador. E a análise da lingua-
gem, seguindo regras gramaticais, também não servia ao uso diário de comunicação entre
pessoas e computadores.
Desta forma, consolidaram-se os sistemas de compreensão da linguagem falada (veja
cap. 4), que são a composição do reconhecimento da fala com o processamento da lin-
guagem natural numa nova forma de processamento, agora integrados. Obviamente ainda
existem sistemas apenas de reconhecimento de fala e de processamento textual. A di-
ferença é que os sistemas de reconhecimento de fala possuem agora módulos para mo-
delagem da linguagem e o processamento de textos realiza um tratamento basicamente
estatístico, baseados em partes de fala (parts of speech). Esta evolução é bem clara nos
novos livros de Sadaoki Furui [FUR 01], sobre reconhecimento e síntese de fala e de
Christopher Manning e Hinrich Schütze [MAN 01], sobre processamento estatístico da
linguagem natural.
Sistemas voltados apenas ao reconhecimento de comandos não necessitam de um tra-
tamento de diálogo. Assim como sistemas de busca de informações em bases textuais não
necessitam preocupar-se com a linguagem falada. Por outro lado, sistemas que visam a
comunicação falada entre o computador e seu usuário, necessitam preocupar-se com o re-
conhecimento da fala, com o processamento da linguagem e com a síntese da fala - estes
são os sistemas de compreensão da linguagem falada.
Talvez o maior diferencial dos sistemas de linguagem falada hoje seja a prosódia.
Como visto no capítulo 5, a prosódia não só permite a resolução das ambigüidades da
linguagem, mas também a definição de contextos de diálogo. A parte do sinal de fala
que antes era ignorada pelos sistemas de reconhecimento de fala agora é essencial aos
sistemas de compreensão da linguagem falada.
Anteriormente, a maior preocupação era com a identificação de fonemas, sílabas e
palavras. Hoje se vê que a variação da pronúncia é um fator essencial para um completo
reconhecimento da fala. Através da prosódia, verifica-se desde a acentuação correta das
palavras até a ênfase dada a uma frase.
A prosódia torna-se, portanto, um campo de estudo essencial no caminho da comu-
nicação humano-computador. Se a busca desta comunicação sempre foi o carro-chefe da
inteligência artificial, pode-se afirmar que o estudo da prosódia em sistema de compreen-
são da linguagem falada é hoje a fronteira desta área da computação.
Por outro lado, ainda há muito que evoluir em todo o processo de análise da fala e da
linguagem. Os paradigmas atuais estão calcados apenas em sistemas de redes neurais e
modelos de Markov, devido a suas características de serem, respectivamente, identifica-
dores de invariantes estatísticos e modeladores de estados temporais. Não há registro de
sistemas que incluam técnicas como algoritmos genéticos ou lógica difusa (fuzzy), apesar
destas também terem propriedades probabilísticas semelhantes aos paradigmas utilizados.
Algoritmos genéticos poderiam ser utilizados na geração de frases ótimas a partir de
seus dados fonéticos e prosódicos. Sistemas fuzzy seriam adequados para a construção
de regras fonéticas e prosódicas baseadas no comportamento do sinal. Neste caso, por
exemplo, poderiam ser construídas regras fuzzy para inferência semântica diretamente a
partir dos componentes do sinal de fala.
66
Na própria extração de coeficientes do sinal de fala, transformadas como wavelets são
ainda pouco exploradas. A transformada wavelet, por exemplo, permite a extração de
coeficientes sem a perda do domínio tempo, como ocorre com a transformada de Fourier.
Um processamento de coeficientes mantendo o domínio tempo ainda não suficientemente
explorado.
As próprias informações prosódicas, como a onda fundamental e a energia, são ex-
traídas diretamente da onda contínua, sem a realização de transformadas. Ainda hão de
serem desenvolvidos sistemas que unifiquem o processamento temporal nos aspectos fo-
nológicos e prosódicos.
Esta unificação temporal não é feita hoje no nível de sinal, mas no nível de análise,
como visto na seção 5.3. Uma unificação dos componentes já no nível de processamento
de sinal daria margem a uma maior velocidade do sistema, por ser baseado em cálculos,
e confiança no resultado, por não estar sujeito a uma modelagem errônea da linguagem.
Apesar do processamento de sistemas de compreensão de fala terem um reconheci-
mento automático da fala, da linguagem e do contexto, a sua modelagem ainda é basica-
mente manual, principalmente neste último aspecto. Quem define o contexto de análise é
o projetista do sistema. Os diálogos que comporão o sistema certamente são baseados em
dados reais, mas o processo de escolha dos modelos ainda é manual.
Os sistemas também são orientados ao reconhecimento de certos modelos de diálogo,
dentro de contextos específicos. Não são conhecidos sistemas que permitam variar o
contexto ou modelo de diálogo. Tudo o que é conhecido pelo sistema gira em torno
de modelos escolhidos pelo projetista. Em outras palavras, os sistemas atuais não são
passíveis de aprendizado de novos contextos.
Assim como não são aprendidos novos contextos, também não o são novas formas de
linguagem. Um dialeto dificilmente será reconhecido adequadamente num sistema que
não foi modelado para atendê-lo. É evidente que um processamento baseado na inferência
da inflexão da fala e em palavras-chave poderá ter um bom desempenho, mesmo no caso
do dialeto, mas ainda será um sistema insensível a aprender novas formas da linguagem.
Esta limitação do auto-aprendizado é um fato devido às características dos paradigmas
hoje utilizados. Tanto redes neurais como modelos de Markov necessitam de treinamento
prévio para posterior reconhecimento das variações estatísticas. Não há um paradigma
adaptativo de tempo real. Em suma, os sistemas funcionam, mas não são passíveis de
evolução.
Como se percebe, a compreensão da linguagem falada é uma área muito nova, com
muito o que desenvolver, mas que será a guia para novas formas de comunicação entre as
pessoas e as máquinas. Há muitos outros desafios, além dos citados, a serem desenvolvi-
dos, seja no reconhecimento da fala ou no processamento da linguagem. Espera-se que
este trabalho tenha chamado a atenção da importância destes estudos para o desenvolvi-
mento da Computação a futuras gerações.
Neste trabalho foram abordados dois grandes tópicos em abrangência. O conheci-
mento consolidado do reconhecimento de fala e do processamento de linguagem natural.
Foram analisados os conceitos mais conhecidos e utilizados em sistemas destas grandes
áreas.
Foram também desenvolvidos dois tópicos em profundidade. O desenvolvimento de
sistemas que processam a linguagem falada e os que utilizam a prosódia para a compre-
ensão da linguagem falada. Assim, por um lado, foram discutidas as técnicas mais impor-
tantes para a composição das áreas estudadas em abrangência. Por outro lado, foi dada a
67
ênfase no tópico mais importante para o atual estágio de desenvolvimento de sistemas de
compreensão da linguagem falada, que é a prosódia.
Com relação à prosódia, foram apresentadas as técnicas utilizadas para extração destas
características do sinal, bem como sua utilidade para o incremento das taxas de reconheci-
mento de fala e como guia do parsing do processamento da linguagem falada. Observa-se,
portanto, que a prosódia é uma técnica fundamental para os atuais e futuros sistemas de
compreensão da linguagem falada.
Por fim, foram levantados questionamentos acerca de otimizações e problemas exis-
tentes nos atuais sistemas. Espera-se que isto sirva de motivação a futuros pesquisadores
que buscam uma comunicação mais natural entre as pessoas e os computadores.
Referências Bibliográficas
[ARA 99] ARAI, K. et al. Grammar Fragment acquisition using syntactic and semantic
clustering. In: Speech Communication, [s.l.], 27, 1999, p. 43-62.
[BIL 99] BILMES, J. A. Natural Statistical Models for Automatic Speech Recog-
nition. University of Berkeley, 1999. PhD Thesis.
[BRO 99b] BRØNDSTED, T. The CPK NLP Suite for Spoken Language Understanding.
In: Eurospeech, 6th European Conference on Speech Communication and
Technology. Budapest September 1999, pp. 2655-2658.
[BUO 96a] BUØ, F. D.; WAIBEL, A. Search in a Learnable Spoken Language Parser. In:
European Conference on Artificial Intelligence. New York: John Wiley &
Sons, 1996.
[CAS 99] CASAGRANDE, R. Redes Neurais do tipo TDNN. In: CABRAL, E. F. (ed.).
Redes Neurais Artificiais. São Paulo: edição dos autores, 1999.
68
69
[COL 99] COLE, R.A.; SERRIDGE, B.; HOSOM, J.P.; CRONK, A.; KAISER, E. A
platform for multilingual research in spoken dialogue systems. In: Multi-
lingual Interoperability in Speech Technology (MIST), Leusden, Septem-
ber 1999.
[FER 01] FERREIRO, E. Cultura escrita e educação. Porto Alegre: Artmed, 2001.
[FRI 98] FRITSCH, J.; WAIBEL, A. Hierarchies of neural networks for connectionist
speech recognition. In: Proceedings of European Symposium on Artificial
Neural Networks (ESANN’98). Brugges: [S. e.], April 1998.
[FUR 01] FURUI, S. Digital Speech, Processing, Synthesis, and Recognition. New
York: Marcel Dekker, 2001.
[GAL 02] GALLWITZ, F. et al. Integrated recognition of words and prosodic phrase
boundaries. In: Speech Communication, [S. l.], 36, p. 81-95, 2002.
[HAS 02] HASTIE, H. W.; POESIO, M.; ISARD S. Automatically predicting dialogue
structure using prosodic features. In: Speech Communication, [S.l.], 36,
2002, p. 63-79.
[HAY 01] HAYKIN, S. Redes Neurais: princípios e prática. Porto Alegre: Bookman,
2001.
[ILI 95] ILLICH, I. Um apelo à pesquisa em cultura escrita leiga. In: OLSON, D.
R.; TORRANCE, N. (eds.) Cultura Escrita e Oralidade. São Paulo: Ática,
1995, cap. 2.
[JUR 00] JURAFSKY, D.; MARTIN, J. H. Speech and Language Processing - An In-
troduction to Natural Language Processing, Computational Linguistics, and
Speech Recognition. Upper Saddle River: Prentice Hall, 2000.
[KAY 99a] KAISER, E. C. et al. PROFER: Predictive, Robust Finite-state Parsing for
spoken language. In: Proceedings of ICASSP 99. [S.l], March, 1999, v. 2,
p. 629-632.
[KAY 99b] KAISER, E. C. Robust Finite-state Parsing for Spoken Language Understan-
ding. In: Proceedings of ACL 99. Mariland: [s.e.], june 1999.
[KIP 98] KIPP, M. The Neural Path to Dialogue Acts. In: ECAI 98 - 13th European
Conference on Artificial Intelligence. [S.l.]: John Wiley & Sons, 1998. p.
175-179.
[PIT 87] PITRAT, J. Using Declarative Knowledge for Understanding Natural Lan-
guage. In: BOLC, L. (ed.) Natural Language Parsing Systems. Berlim:
Springer-Verlag, 1987.
[SMI 99] SMITH, S. W. The scientist and engineer’s guide to digital speech signal
processing. San Diego: California Technical Publishing, 1999.
[STO 98] STOLCKE, A. et al. Dialog Act Modeling for Conversational Speech. In:
Applying Machine Learning to Discourse Processing. Menlo Park: AAAI
Press, 1998, pp. 98-105.
[WER 96] WERMTER S.; LÖCHEL M. Learning Dialog Act Processing. In: Proce-
edings of the International Conference on Computational Linguistics.
Kopenhagen: [s.e.], 1996. p. 740-745.
[WER 97] WERMTER S.; WEBER, V. SCREEN: Learning a flat syntactic and seman-
tic spoken language analysis using artificial neural networks. In: Journal of
Artificial Intelligence Research, [s.l.], 6(1), 1997. p. 35-85.
[WRI 99] WRIGHT, H. F. Modelling Prosodic and Dialogue Information for Auto-
matic Speech Recognition. University of Edimburg, 1999. PhD thesis.
[WU 98] WU, S.L. Incorporating Information from Syllable-length Time Scales
into Automatic Speech Recognition. UC Berkeley, 1998. Ph.D. Thesis.
[ZEC 98a] ZECHNER, K.; WAIBEL, A. Using Chunk Based Partial Parsing of Spon-
taneous Speech in Unrestricted Domains for Reducing Word Error Rate in
Speech Recognition. In: Proceeding of the COLING/ACL 98. Montreal:
[s.e.], 1998.