Vous êtes sur la page 1sur 72

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO

Compreensão da
Linguagem Falada
por

DANIEL NEHME MÜLLER

Exame de Qualificação
EQ-72 PPGC-UFRGS

Prof. Dr. Philippe O. A. Navaux


Orientador

Porto Alegre, março de 2002


2

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL


Reitora: Wrana Panizzi
Pró-Reitor Adjunto de Pós-Graduação: Jaime Evaldo Fensterseifer
Diretor do Instituto de Informática: Philippe O. A. Navaux
Coordenador do PPGC: Carlos Alberto Heuser
Bibliotecária-Chefe do Instituto de Informática: Beatriz Haro
Sumário

1 Compreensão da Linguagem Falada 11


1.1 Breve histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Organização deste trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Reconhecimento Automático de Fala 17


2.1 Conceitos Elementares da Fala e da Audição . . . . . . . . . . . . . . . 17
2.1.1 Formação da Fala . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Audição Humana . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Processamento do Sinal da Fala . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Extração de Coeficientes . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Métodos Classificatórios do Sinal da Fala . . . . . . . . . . . . . . . . . 27
2.3.1 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Modelos de Markov Ocultos . . . . . . . . . . . . . . . . . . . . 30

3 Processamento de Linguagem Natural 33


3.1 Análise morfológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Análise sintática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Etiquetagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Construção Gramatical . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Análise Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.1 Gramáticas Semânticas . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.2 Gramáticas Baseadas em Casos . . . . . . . . . . . . . . . . . . 39
3.4 Análise Pragmática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Processamento da Linguagem Falada 41


4.1 SCREEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Análise da Linguagem Falada . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Regras e Quadros na Análise Estatística da Linguagem Falada . . 47
4.2.2 Análise de Segmentos com uso de Redes Neurais Artificiais . . . 49

5 O Processo de Interação Entre A Fala e A Compreensão - A Prosódia 53


5.1 Elementos Prosódicos do Sinal de Fala . . . . . . . . . . . . . . . . . . . 54
5.2 Identificação e Classificação de características prosódicas no sinal de fala 56
5.2.1 Modelagem de Entonação . . . . . . . . . . . . . . . . . . . . . 57
5.3 Uso da prosódia no parsing da linguagem falada . . . . . . . . . . . . . 59
5.3.1 Prosódia na sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.2 Prosódia na semântica . . . . . . . . . . . . . . . . . . . . . . . 60
5.3.3 Prosódia na pragmática - os atos de diálogo . . . . . . . . . . . . 61

3
4
6 Conclusões 64
Lista de Abreviaturas

ASR Automatic Speech Recognition


ANN Artificial Neural Network
CART Classification and Regression Trees
CRF Chunk Relation Finder
DM Dialogue Model
F0 Freqüência Fundamental
F1 Primeiro Grupo de Formantes (Harmônicas)
FST Finit-State Transducer
HMM Hidden Markov Models
IA Inteligência Artificial
IM Intonation Model
LFL Linguistic Feature Labeler
LM Language Model
LPC Linear Predictive Coding
NLP Natural Language Processing
RTN Recursive Transition Network
SCREEN Simbolic Connectionist Robust EnterprisE for Natural language
SLU Spoken Language Understanding
TBL Transformation-Based Learning
TDNN Time Delay Neural Network

5
Lista de Figuras

1.1 Áreas em estudo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1 Trato vocal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18


2.2 Secção da laringe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Aparelho auditivo humano. . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Percurso da onda sonora no aparelho auditivo. . . . . . . . . . . . . . . . 20
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. . . . . . . . . . . . . . . . . . . . 20
2.6 Células sensórias da membrana tectorial. . . . . . . . . . . . . . . . . . . 20
2.7 Faixas de recepção do sinal na cóclea. . . . . . . . . . . . . . . . . . . . 21
2.8 Órgão de pré-processamento auditivo no cérebro. . . . . . . . . . . . . . 21
2.9 Onda contínua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.10 Onda discreta (amostrada). . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.11 Rede neural backpropagation. . . . . . . . . . . . . . . . . . . . . . . . 28
2.12 Exemplo de modelagem HMM para a palavra about. . . . . . . . . . . . 31

3.1 Componentes do Processamento de Linguagem Natural. . . . . . . . . . 33


3.2 Árvore de parser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Árvore de parser com indicações de probabilidade. . . . . . . . . . . . . 37
3.4 Árvore de parser com anexo semântico. . . . . . . . . . . . . . . . . . . 38

4.1 Sistema de Compreensão da Linguagem . . . . . . . . . . . . . . . . . . 42


4.2 Esquema completo do sistema SCREEN [WER 97]. . . . . . . . . . . . . 43
4.3 Rede recorrente utilizada na avaliação sintática de fala [WER 97]. . . . . 44
4.4 Rede de decisão para correção de palavras redundantes [WER 97]. . . . . 46
4.5 Rede recorrente da parte de diálogo [WER 96]. . . . . . . . . . . . . . . 47
4.6 Exemplo de grafo gerado pelo GLR* [LAV 96b]. . . . . . . . . . . . . . 48
4.7 Seqüencia de construção das RTN (adaptado de [KAY 99a]). . . . . . . . 48
4.8 Treinamento do FeasPar [BUO 96b]. . . . . . . . . . . . . . . . . . . . . 49
4.9 Exemplo de rede neural utilizada no etiquetador [BUO 96b]. . . . . . . . 50
4.10 Exemplo de execução do FeasPar [BUO 96b]. . . . . . . . . . . . . . . . 51
4.11 Agenda e fragmentos armazenados [BUO 96b]. . . . . . . . . . . . . . . 52

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

3.1 Tabela de sufixos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


3.2 Etiquetagem sintática. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

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

Compreensão da Linguagem Falada

Na sociedade atual é inegável a presença de aparelhos eletrodomésticos no dia-a-dia.


Chega-se a um alto nível de dependência de máquinas de lavar roupas, televisores, fornos
de microondas, telefones celulares e outros utensílios que possuem processadores em seu
interior. Pode-se perceber neste contexto uma sutil comunicação entre o ser humano e a
máquina que ainda não foi suficientemente explorada.
Discute-se muito a interação entre o computador e o ser humano, mas é esquecido o
fato de que esta mesma interação deve ser investigada em todos os produtos eletrônicos.
Para muitas pessoas, a manipulação de produtos como um simples videocassete pode se
tornar uma tarefa desgastante ou enfadonha. Para outras, a utilização de um terminal
bancário proporciona confusão e incerteza acerca de sua movimentação financeira.
Diversas empresas também passam por problemas de produtividade quando da im-
plantação de sistemas informatizados. Gasta-se tempo e dinheiro com o treinamento e
adaptação dos funcionários à nova cultura. Por vezes esta adaptação leva antigos funci-
onários a serem demitidos por sua incapacidade de se relacionarem com uma máquina
computadorizada. Este é um dos dilemas da sociedade atual onde profissionais experi-
entes são afastados em detrimento de novatos com facilidade na manipulação de equipa-
mentos eletrônicos.
Uma alternativa viável para tornar a comunicação homem-máquina mais amigável é
a utilização da fala. Mesmo para aqueles já adaptados aos computadores, seria inegável o
benefício de uma relação falada.
Qualquer usuário de computador poderia - e em algumas línguas já podem - ditar
textos ao invés de digitá-los. Só com este exemplo economiza-se tempo e evitam-se
problemas de lesões por esforços repetitivos que costumam a afastar digitadores de seu
trabalho.
Uma interface por voz é indubitavelmente útil para o controle de programas de com-
putador, mas principalmente máquinas industriais, eletrodomésticos, automóveis, eleva-
dores, terminais de informações, sistemas de informações pelo telefone, entre outras inú-
meras aplicações.
O presente trabalho tem o intuito de expor que este lapso na comunicação homem-
máquina já está sendo preenchido, e que é possível ir muito além. Editores de textos
fonéticos e máquinas por comando de voz já são uma realidade, embora necessitem ainda
muito aperfeiçoamento.
Há sistemas robustos de reconhecimento da fala pausada, ditada por locutores expe-
rientes, que atingem um alto nível de desempenho. Por outro lado, a fala contínua e
coloquial, como a que falamos no dia-a-dia, não é reconhecida satisfatoriamente pelos

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.

1.1 Breve histórico


A idéia de travar um diálogo com o computador não é recente. Segundo Jurafsky e
Martin, desde os anos 40 o processamento de linguagem e fala tem sido alvo de estudo de
diversas áreas.[JUR 00]
Dentro deste estudo, Jurafsky e Martin citam a teoria de autômatos usada por Turing
e mais tarde por Kleene, o modelo de neurônio formal de McCulloch e Pitts, modelos
probabilísticos de cadeias de Markov usados por Shannon e a teoria de linguagens formais
aplicada por Chomsky para definir as linguagens livres de contexto. Posteriormente a
isso, já no final dos anos 50, Newell e Simon apresentaram o Resolvedor de Problemas
Gerais, que buscava a interpretação da linguagem através do casamento de padrões frasais
e de regras heurísticas. Ainda nesta época também pode-se citar o trabalho de Bledsoe e
Browning, que era um sistema de reconhecimento ótico de caracteres utilizando uma rede
de Bayes.
Nos anos 70 e 80, segundo Jurafsky e Martin, iniciaram quatro campos de pesquisa
em fala e linguagem: paradigma estocástico, paradigma baseado em lógica, compreensão
da linguagem natural e paradigma da modelagem do discurso. Atualmente percebe-se que
todas estas áreas complementam-se, não há mais um discernimento entre elas. O enfoque
do presente trabalho traz, como carro-chefe deste grupo, o campo da compreensão da
linguagem natural, que será descrito a seguir.
A área de Inteligência Artifícial (IA) buscou romper a barreira da comunicação pela
linguagem natural. Todavia, os sistemas determinísticos concebidos entre as décadas de
60 e 80 não alcançaram a funcionalidade esperada. Mais recentemente, o desenvolvi-
mento de novas técnicas para o reconhecimento de fala acabaram por juntarem-se à inter-
pretação da linguagem, e finalmente à síntese de voz.
Os sistemas computacionais construídos com a finalidade de estabelecer uma comuni-
cação oral com o ser humano são chamados de Sistemas de Compreensão de Linguagem
Falada (Spoken Language Understanding - SLU). Estes sistemas compreendem duas tec-
nologias básicas: Reconhecimento Automático de Fala (Automatic Speech Recognition
- ASR) e Processamento de Linguagem Natural (Natural Language Processing - NLP).
Veja figura 1.1.
Essas duas técnicas complementam-se. A linguagem natural pode auxiliar no reco-
nhecimento de fala através de informações sobre sintaxe e semântica. Por outro lado, o
reconhecimento de fala pode enriquecer a compreensão da linguagem com informações
contextuais como a entonação das palavras [PRI 96].
13

Figura 1.1: Áreas em estudo.

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]:

• SUMMIT, sistema de reconhecimento de fala independente do usuário (ao contrário


do CMU-ATIS), e TINA, sistema de interpretação de linguagem que utilizava uma
gramática livre de contexto com transições probabilísticas. Os sistemas SUMMIT-
TINA foi desenvolvido no Instituto Tecnológico de Massachussets (MIT).

• SPICOS II, sistema de compreensão de fala contínua e diálogo, desenvolvido pelo


consórcio SIEMENS-PHILIPS-IPO. Este sistema utilizava modelos de Markov para
o reconhecimento de fala e redes semânticas para a modelagem da linguagem.

• SUNDIAL, sistema componente do projeto ESPRIT, também tinha o reconheci-


mento de fala baseado em modelos de Markov e a interpretação utilizando-se de
redes semânticas e frames.

Os sistemas apresentados, apesar de serem grandes projetos de desenvolvimento,


possuem módulos de interpretação de linguagem construídos a partir de conteúdos pré-
definidos pelos projetistas. Esta explicitação de regras lingüísticas recebe críticas por ser
um desenvolvimento de IA dito simbólico.
Uma vez que se verificou que a abordagem simbólica não obteve os resultados espera-
dos para a representação da linguagem, o paradigma subsimbólico foi considerado como
14
uma alternativa para o processamento de frases. Segundo Miikkulainen, sistemas simbó-
licos são deficientes para esta tarefa por vários motivos: a arquitetura de processamento,
os mecanismos de busca e o conhecimento contido no sistema são construídos à mão,
dentro de um enfoque particular de análise; todas as regras de inferência devem ser pre-
visíveis; sistemas simbólicos não podem usar as propriedades estatísticas dos dados para
a representação do conhecimento [MII 93]. A grande crítica a este tipo de sistema é a de
que são extremamente determinísticos, dependentes da elaboração de seu projetista. Esta
é apontada como a grande falha destes sistemas para a interpretação da linguagem, uma
vez que esta é de difícil representação por regras. Assim, deve-se buscar uma ferramenta
não determinística para extração automática de regularidades estatísticas. Esta ferramenta
ideal pode ser provida por sistemas subsimbólicos da IA.
Citando algumas desvantagens dos sistemas simbólicos chamados de sistemas base-
ados em conhecimento, Rosenfeld cita que a intuição dos especialistas que formaram a
base de conhecimento é freqüentemente errônea [ROS 94]. Ele cita ainda como um pro-
blema a necessidade de cada novo conhecimento necessitar de supervisão para inserção
na base de conhecimento. Por fim, ele coloca que muitos sistemas baseados em conhe-
cimento tem processamento intensivo quando da sua utilização, ao contrário de modelos
estatísticos.
Numa comparação entre sistemas simbólicos e subsimbólicos realizada por Werm-
ter e Weber [WER 97], apresenta-se claramente a incapacidade de sistemas simbólicos
reconhecerem frases fora de uma organização pré-estabelecida. O sistema por eles apre-
sentado consegue identificar uma frase errada, enquanto um sistema de parser simbólico,
utilizando as técnicas tradicionais, não permite a identificação.
Outra desvantagem dos sistemas simbólicos é no tratamento da língua falada, que
possui uma análise mais complexa do que a língua escrita formal [ROS 94]. Apesar da
complexidade, é a linguagem falada que permite aplicações para o mundo real [WEB 96].
Os sistemas atualmente desenvolvidos para este fim têm por base sistemas subsimbólicos,
alguns dos quais serão apresentados posteriormente.
Já os sistemas subsimbólicos possuem características importantes para a representação
da linguagem: possuem valores contínuos; são coerentes com os contextos; são holográ-
ficos, ou seja, uma parte pode ser usada para reconstruir o todo; possuem várias partes
diferentes de conhecimento que são superpostas no mesmo hardware finito [MII 97].
Por outro lado, uma desvantagem dos sistemas subsimbólicos é não permitir a repre-
sentação explícita (compreensível) do conhecimento contido no sistema. Apesar disso,
Noel e Amanda Sharkey argumentam que redes neurais como o modelo backpropagation
são aproximadores universais de funções, permitindo assim a indução de regras lingüís-
ticas [SHA 96]. Eles apresentam formas para análise da representação conexionista do
conhecimento e afirmam que uma Teoria Conexionista do Conhecimento está sendo for-
mada, o que permitirá, num momento posterior, a explicitação do conhecimento contido
nos sistemas subsimbólicos.
Um sistema que representa esta nova e recente abordagem é o sistema SCREEN, de
Wermter e Weber [WEB 96] [WER 97] e Wermter e Löchel [WER 96], que realiza o
reconhecimento de fala, gerando estatísticas para frases possíveis, as quais são analisa-
das e corrigidas por um segundo módulo, onde são construídas hipóteses de frases com
significados pertinentes. Estas frases, num terceiro módulo, são analisadas em contextos
de frames e diálogos, visando a construção de esquemas de pergunta-resposta. Eviden-
temente, SCREEN é um sistema híbrido, que utiliza tanto recursos subsimbólicos (redes
neurais), como simbólicos (frames, bases de conhecimento). Mas o que deve-se ressaltar
15
é a capacidade de interpretação da linguagem falada coloquial, muito mais complexa que
frases faladas corretamente.
Os sistemas de reconhecimento automático de fala (ASR) também têm incorporado
redes neurais artificiais ao tradicional paradigma dos modelos de Markov. Embora ambos
sejam métodos estatíticos, verificou-se a necessidade de um reconhecimento mais robusto.
Um exemplo de implementação com estes dois paradigmas - a utilização de cadeias de
Markov juntamente com redes neurais - é o sistema de reconhecimento de fala elaborado
na tese de Fritsch [FRI 98].
A técnica elaborada por Fritsch foi utilizar as probabilidades geradas em cadeias de
Markov para estimação do próximo estado. Assim é possível a redução do número de
palavras avaliadas no reconhecimento.
Sistemas como os citados têm sido constantemente aperfeiçoados no intuito de otimi-
zar o reconhecimento. Wu apresentou uma tese para provar a necessidade de realizar-se
o reconhecimento da fala através da unidade silábica, ao invés do fonema, utilizado nos
sistemas ASR até então [WU 98]. As vantagens da utilização de sílabas estariam na pos-
sibilidade de serem extraídas mais informações acerca da construção das palavras, bem
como seu contexto semântico.
Outra tese realizada no sentido de dar mais robustez ao reconhecimento é a imple-
mentada por King, onde ele apresenta a necessidade de utilizarem-se informações sobre
a expressão de fala [KIN 98]. King argumenta que o reconhecimento de fala é essenci-
almente um problema de busca, para o qual tem sido usado o algoritmo de Viterbi. Uma
solução que King aponta é a restrição do espaço de busca a ser aplicado através do mo-
delo de linguagem que está sendo utilizado no sistema de compreensão da linguagem.
Este modelo de linguagem, por sua vez, deve ser treinado por redes neurais para prever
seqüências de palavras, o que define a expressão de fala. Segundo King, através deste
processamento seriam desnecessárias fases intermediárias como a análise semântica.
Apesar do constante refinamento de técnicas para reconhecimento e compreensão da
fala, diversos experimentos têm sido feitos apenas a partir da concatenação de módulos
prontos. Andersen, por exemplo, procedeu diversas experiências comparando o uso de
redes neurais, sistemas ASR, modelos de linguagem, léxico e modelagem acústica [AND
98].
Também têm sido construídas ferramentas de modelagem de sistemas de fala. Neste
sentido, Brønsted desenvolveu o sistema Reward, o qual permite ao usuário descrever a
gramática que será utilizada no reconhecimento de fala [BRO 99a].
Há, ainda, módulos de sistemas para reconhecimento, compreensão e síntese de fala
que são distribuídos gratuitamente para disseminar a pesquisa na área. Exemplos disso são
o sistema aberto CPK NLP distribuído pela Universidade de Aalborg e o CSLU Toolkit,
disponível no Oregon Graduate Institute [BRO 99b] [COL 99].
A ênfase destes sistemas, porém, é diversa. O CPK possui uma ênfase para sistemas
de compreensão da linguagem falada, enquanto o CSLU Toolkit permite uma pesquisa
mais ampla incluindo animação facial e sistemas de diálogo.
Apesar de todo o desenvolvimento realizado, o melhor desempenho parece estar no
sentido do uso da pronúncia como guia do parsing da linguagem falada, conhecida como
prosódia. Um pesquisador do projeto alemão VERMOBIL, Ralf Kompe, apresentou em
sua tese de doutorado uma consistente prova de que a prosódia é a melhor forma para
resolução dos problemas de ambigüidade existentes no processo de análise da linguagem
[KOM 97]. Diversos trabalhos atualmente apontam o uso da prosódia como uma metodo-
logia indispensável para a compreensão da linguagem falada [STO 98][GAL 02][HAS 02]
16
[NOT 02]. A utilização da prosódia pode ser considerada, sem exagero, tão importante
para o reconhecimento da linguagem falada quanto a acentuação e a pontuação o são para
a leitura da linguagem escrita.

1.2 Organização deste trabalho


Para ser possível um estudo completo sobre a Compreensão da Linguagem Falada,
é necessário a abordagem de suas origens nos sistemas de ASR e NLP, além dos siste-
mas de SLU propriamente ditos e das teses mais recentes acerca das representações que
relacionam o sinal de fala com a compreensão da linguagem.
Uma vez que a SLU é uma intersecção entre as áreas de ASR e NLP, serão estudadas
ambas as áreas e as novas técnicas oriundas da abordagem de compreensão de linguagem
falada. Os capítulos 2 e 3 a seguir serão uma visão em abrangência destas áreas, enquanto
os capítulos 4 e 5 terão uma conotação de aprofundamento em questões de representação
e compreensão da linguagem falada.
No capítulo 2 serão estudadas as técnicas de extração de coeficientes e sua classifi-
cação. No capítulo 3 serão analisadas as técnicas de NLP, com o detalhamento das fases
de análise morfológica, sintática, semântica e pragmática. No capítulo 4 serão abordadas
técnicas de SLU utilizadas para representação da linguagem falada. No capítulo 5 se-
rão estudadas novas técnicas que se baseiam na entonação oriunda do sinal de voz como
auxiliar na compreensão do significado da linguagem.
Capítulo 2

Reconhecimento Automático de Fala

O reconhecimento do sinal da fala possui 2 grandes fases: a extração das caracterís-


ticas de fala do sinal e o reconhecimento propriamente dito. A primeira fase é composta
da conversão analógico-digital do sinal, com posterior processamento deste sinal digital
convertido. Neste processamento, realiza-se a extração de características da fala, o que é
feito através de técnicas que são analisadas na seção 2.2, como a obtenção dos coeficientes
cepstrais ou dos coeficientes de predição linear.
A segunda fase também possui diversas técnicas, todas baseadas em processamento
estatístico, uma vez que o sinal de fala não possui um comportamento estático passível
de uma comparação direta. Neste contexto, têm sido utilizadas as redes bayesianas, as
cadeias de Markov e as redes neurais artificiais, conforme análise na seção 2.3.
Neste capítulo, são estudadas essas duas fases do reconhecimento do sinal de fala
dentro de um contexto de processamento do sinal físico e de ocorrências de padrões esta-
tísticos deste sinal, mas sem esquecer a motivação biológica de como a fala é produzida
e de como é realizado o processamento auditivo humano deste sinal falado, o que está na
seção 2.1 a seguir.

2.1 Conceitos Elementares da Fala e da Audição


A partir da premissa de que um sistema computacional deve simular a compreensão
da fala, deve-se, então, embasar-se em como os sons da fala são criados e como eles são
processados (ouvidos) pelo ser humano.

2.1.1 Formação da Fala


Os sons da fala são produzidos no chamado aparelho fonador, a partir da corrente de ar
vinda dos pulmões, fruto da expiração. Essa corrente de ar encontra um obstáculo na sua
passagem pela laringe, mais especificamente na glote, onde estão as cordas vocais. Estas
pregas musculares são movimentadas como uma tesoura de forma a permitir a passagem
de mais ou menos ar, dando formação à onda sonora - veja figura 2.2. Por fim, esta
onda chega às cavidades supralaríngeas - formada pela faringe, boca e fossas nasais -,
onde encontra ressonância [CUN 82]. Estas cavidades também são chamadas de sistema
ressonador de fonação ou trato vocal (veja figura 2.1) [RUS 93].
Ao atingir a faringe, o ar pode ir para o canal bucal ou nasal, que dependendo da
abertura do véu palatino, permite que o ar vá para as fossas nasais e a boca ou apenas

17
18

Figura 2.1: Trato vocal.

Figura 2.2: Secção da laringe.


19

Figura 2.3: Aparelho auditivo humano.

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.

2.1.2 Audição Humana


O sistema auditivo humano é capaz de perceber vibrações acústicas entre 30Hz e
16KHz, embora na primeira fase de processamento ocorra perda da estrutura temporal do
sinal acima de 4KHz [KOV 97]. Esse sistema é composto de três partes distintas: ouvidos
externo, médio e interno - veja figura 2.3.
O ouvido externo vai da orelha, passando pelo conduto auditivo externo até o tím-
pano. Quando o som chega à orelha, ele é direcionado ao conduto auditivo, que cria uma
freqüência de ressonância em torno de 3KHz que irá fazer vibrar o tímpano [KOV 97]
[RUS 93].
Após o tímpano está o ouvido médio, que nada mais é do que um acoplamento mecâ-
nico entre as membranas do tímpano e a da janela oval da cóclea. Este sistema mecânico
é formado por 3 ossículos chamados martelo, bigorna e estribo. A vibração da membrana
timpânica faz vibrar o martelo, que por sua vez, faz a bigorna movimentar o estribo (veja
figura 2.4). O objetivo deste sistema mecânico é casar as impedâncias entre os ouvidos
20

Figura 2.4: Percurso da onda sonora no aparelho auditivo.

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

Figura 2.6: Células sensórias da membrana tectorial.


21

Figura 2.7: Faixas de recepção do sinal na cóclea.

Figura 2.8: Órgão de pré-processamento auditivo no cérebro.

mapeamento monotópico, é reproduzida em outras redes neurais auditivas do sistema


nervoso central, inclusive no córtex [KOV 97].
Ligado ao núcleo cocleolar, está um complexo nuclear composto do núcleo colicular
inferior e do corpo geniculado médio, este situado no tálamo. Acredita-se que a função
deste complexo, e principalmente dos núcleos talâmicos, seja a localização das fontes
sonoras no espaço. Passado por este complexo, a informação auditiva pré-processada
chega ao córtex auditivo primário [KOV 97].

2.2 Processamento do Sinal da Fala


O processamento da onda sonora da fala inicia na transformação desta em onda elétrica
através de um transdutor como um microfone, por exemplo. O microfone possui uma
placa sensora que, ao vibrar com as ondas sonoras, gera tensão elétrica em uma pequena
bobina. Esta onda elétrica chega a um conversor analógico-digital que a transforma, por
sua vez, em códigos binários. A cada instante de tempo t é feita uma medida da tensão da
corrente (equivalente à amplitude da onda elétrica), a qual é codificada em binário. Esta
medida realizada num tempo t é chamada de amostra.
As amostras devem ser capturadas numa taxa que seja no mínimo o dobro da freqüên-
cia máxima de oscilação da onda a processar, também chamada de freqüência de Nyquist
[RAB 78]. Caso a amostragem seja abaixo do dobro da freqüência de Nyquist, ocorre o
efeito de sobreposição no espectro de freqüência (aliasing). Caso ocorra a sobreposição
das ondas amostradas no domínio freqüência, isso significa que possui dados insuficientes
para ser reconstruída como onda analógica. Desta forma, fazendo a amostragem acima
do dobro da freqüência de Nyquist, garante-se que a onda discretizada (fig. 2.10) nas
amostras corresponde fielmente à onda real contínua (fig. 2.9).
Desta forma, para processamento do sinal da fala, sabe-se que a freqüência das on-
das da fala não passam de 4KHz (veja seção 2.1.1) e portanto uma amostragem acima
22

Figura 2.9: Onda contínua.

Figura 2.10: Onda discreta (amostrada).

de 8KHz seria adequada. Atualmente, a taxa mínima de amostragem de sinais de fala


estabelecida em sistemas computacionais é de 11KHz, suficiente, portanto, para o pro-
cessamento de fala a um nível básico.
Após o sinal capturado e gravado em meio digital, há a necessidade de normalizá-lo,
uma vez que as gravações podem estar em diferentes intensidades de sinal, muitas vezes
causadas pela distância do microfone à boca. Para padronizar as diferentes intensidades,
estipula-se uma faixa de variação de amplitude va, que é multiplicado pela amostra A e
nivelado pelo maior sinal amostrado Amax , na forma:
Ai ∗ va
Ni =
Amax
As amostras normalizadas N estarão dentro de uma faixa de amplitude estipulada, em
geral em torno de zero, como por exemplo va = 0,5, uma vez que a tensão elétrica gira
entre -0,5V e 0,5V [VAL 00].
Uma vez normalizadas, o trecho falado nas amostras deve ser identificado. Para tanto,
utilizam-se técnicas para detecção do início e fim da locução. Esta detecção é feita com
o cálculo da energia do sinal e do número de cruzamentos por zero [RAB 78]. Quando
a energia cresce, significa que houve o início da locução, quando declina, significa que
finalizou a locução. Porém, há algumas palavras nas quais é sutil a percepção do cresci-
mento da energia, para tanto, utiliza-se também a técnica do número de cruzamentos por
zero da onda. Quanto mais vezes a onda cruzar o eixo zero num dado período de tempo,
mais probabilidade há que esteja ocorrendo uma locução.
Assim, seja x o vetor de amostras de sinal dentro de determinado período de tempo
e a uma taxa de refinamento que varia de 0 a 1, tem-se o cálculo da energia como sendo
[RAB 78]:

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)|

Estipula-se, então, um limiar para identificação do início e fim da locução. Em geral,


este limiar é verificado experimentalmente conforme as gravações das locuções que se
pretende processar.
Para verificar o número de cruzamentos por zero, necessita-se contabilizar a diferença
entre duas amostras, primeiramente marcando se a amostra é positiva ou negativa:
(
1, se x(n) ≥ 0
y(n) =
−1, se x(n) < 0

Desta forma, faz-se a contagem para determinado período de tempo t:

t
P
Zm = y(i)
i=1

A partir da contagem da variação do cruzamento por zero em m instantes de tempo,


estipula-se novamente um limiar para consideração do número mínimo de cruzamentos
que indicaria início da locução.
Uma vez computados os dados, pode-se fazer a comparação com os valores obtidos
no processamento da energia no mesmo período e proceder a identificação dos pontos
de início e de fim da locução. Com base nestes pontos, apenas as amostras no intervalo
definido continuarão a ser processadas.

2.2.1 Extração de Coeficientes


O sinal discreto da locução, após ter sido devidamente processado, serve como base
para a extração das características que permitirão a sua identificação por sistemas classi-
ficatórios do sinal de fala. Serão descritas algumas técnicas amplamente difundidas para
extração das características da locução: coeficientes cepstrais e codificação por predição
linear (Linear Predictive Coding - LPC).

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 = −∞

onde x e h são os sinais superpostos (convoluídos).


No que se refere ao sinal de fala, acredita-se que haja uma superposição de sinais
do trato vocal, pulso glotal e radiação (movimento dos lábios) com a excitação (fluxo
24
de ar dos pulmões) [RAB 78]. Para separação destes sinais, utiliza-se a deconvolução
homomórfica, também chamada de extração do cepstrum.
Para este processo de deconvolução, é necessário que se converta o sinal do domíno
tempo (amplitude do sinal x tempo) para o domíno freqüência (amplitude da freqüência
x freqüência). Para tanto, é necessária a aplicação de uma transformada do tipo Z, que
faz a transposição do plano cartesiano para o plano radial. A transformada do tipo Z mais
utilizada no processamento de fala é a transformada de Fourier.
A transformada de Fourier é a decomposição de uma onda através de cossenóides e
senóides. As cossenóides formadas representam a amplitude (magnitude) e as senóides
seriam a fase da onda decomposta. O cálculo das decomposições da magnitude e da fase
é feito pelas equações [SMI 99]:
N −1
P
M (k) = x(i) cos(2πki/N )
i=0
e
N −1
P
F (k) = − x(i) sen(2πki/N )
i=0
onde N seria o número de amostras de uma janela k de tempo. Esta janela de tempo pode
ser fixa ou variável conforme o tempo total. Para o preenchimento de todo o tempo da
locução são necessárias, portanto, diversas janelas, ou seja, o janelamento do sinal em
processamento.
As janelas utilizadas neste processo devem ser sobrepostas para realizar uma sincronia
temporal, uma vez que a aplicação da transformada de Fourier não faz nenhuma corres-
pondência do domínio tempo. Para que seja possível uma correspondência em termos de
tempo, as janelas devem sobrepor-se no mínimo em 50% para janelas retangulares e 75%
para outras [VAL 00].
As janelas retangulares são aquelas onde simplesmente utilizam-se os valores de amos-
tra dentro do intervalo da janela. As demais são filtragens, ou seja, convoluções das
amostras com uma equação de filtragem que proporciona decaimento do sinal nas mar-
gens da janela. O objetivo deste decaimento é reduzir a distorção da onda causada pelo
janelamento.
Um exemplo de filtro de janelamento é a chamada janela Hamming [RAB 78]:
(
0, 54 − 0, 46 cos(2πn/(N − 1)), 0 ≤ n ≤ N − 1
h(n) =
0 caso contrário
onde N é o número de amostras da janela e n a amostra calculada.
Uma vez escolhido o método para o janelamento, calcula-se a transformada de Fourier
X(k) = = {x(n)}
e, para obtenção do cepstrum, aplica-se o logaritmo sobre a magnitude
c
X(k) = log |X(k)|
ou, para efeitos práticos, calcula-se somente a magnitude e seu logaritmo, conforme ana-
lisada anteriormente
Mc (k) = log(M (k))
25
Por fim, aplica-se a transformada inversa:
n o
c
xb(n) = =−1 X(k)

ou seja [RAB 78][SMI 99]:

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].

Codificação por Predição Linear


A predição linear é o método que modela o trato vocal como um filtro linear do sinal
proveniente da excitação, do tipo [RAB 78][SAY96]:

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);

4. inicialize a(i)i = k(i);


5. calcule a(j)(i) = a(j)(i−1) + k(i) a(i − j)(i−1) , para j = 1, 2, ..., i-1;
6. calcule E(i) = (1 − k(i)2 ) E(i − 1);
7. Se i < p volte ao passo 2.

Assim, são obtidos os coeficientes no método de autocorrelação, que serão passíveis de


uso para posterior identificação da locução.
Já para o método de covariância, é usado o cálculo do erro médio quadrado para uma
janela j de tempo, cujo tamanho é N [RAB 78]:
N −1
P
E(j) = e(j)(k)2
k=0
que pode ser descrita da forma [RAB 78][OLI 98]:
N −1
1 P 1≤i≤p
φ(j)(i, k) = y(j)(m − i) y(j)(m − k)
N 0≤k≤p
m=0
Esta fórmula pode ser satisfeita, de forma semelhante à autocorrelação, pela equação
[RAB 78]:
p
P
a(k) φ(j)(i, k) = φ(j)(i, 0) i = 1, 2, ..., p
k=1
27
que corresponde ao sistema para uma janela j de p valores:
     
a(1) φ(1, 1) φ(1, 2) φ(1, 3) · · · φ(1, p) φ(1, 0)
     


a(2) 



φ(2, 1) φ(2, 2) φ(2, 3) · · · φ(2, p) 



φ(2, 0) 

 a(3)   φ(3, 1) φ(3, 2) φ(3, 3) · · · φ(3, p)   φ(3, 0) 
   = 
 ..   .. .. .. ... .   .. 

 . 


 . . . .. 


 . 

a(p) φ(p, 1) φ(p, 2) φ(p, 3) · · · φ(p, p) φ(p, 0)

Este sistema matricial αΦ = ψ (matrizes de coeficientes a, φ(i, j) e φ(i, 0)) pode


ser resolvido através da decomposição Cholesky, que transforma a matriz simétrica Φ em
duas matrizes diagonais e uma simétrica na forma Φ = V DV t , onde V é uma matriz
triangular, V t sua transposta e D uma matriz diagonal, calculados na forma:

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

Uma vez resolvido Φ, passa-se à resolução de α. Sabendo que V DV t α = ψ, pode-


se definir que Y = DV t α e atribuir V Y = ψ e calcular Y. A partir daí, resolve-se α
fazendo V t α = D−1 Y , de onde serão obtidos os coeficientes para posterior classificação
de padrões de fala.

2.3 Métodos Classificatórios do Sinal da Fala


As características extraídas do sinal de fala podem ser classificadas através de modelos
probabilísticos derivados das Redes de Bayes. As redes bayesianas são conhecidas por
sua capacidade de inferência estatística, nas quais são estabelecidas relações de probabi-
lidades entre os nodos da rede, que constituem estados de um autômato finito.
Redes bayesianas podem funcionar como classificadores estatísticos de funções pa-
ramétricas. O objetivo é ajustar os parâmetros destas funções de forma a representar os
vetores de padrões de características do sinal de fala [KOM 97]. O classificador realiza,
com base na probabilidade de um vetor V pertencer a uma classe C, a minimização do
erro de representação dos parâmetros.
Dentro do processo de reconhecimento de fala, dois tipos de classificadores baye-
sianos são utilizados: Redes Neurais Artificiais (Artificial Neural Networks - ANNs) e
Modelos de Markov Ocultos (Hidden Markov Models - HMMs). Redes neurais são exce-
lentes para realizar a identificação dos padrões acústicos, enquanto modelos de Markov
ocultos descrevem com eficácia a seqüência temporal de ocorrência dos padrões identifi-
cados pela rede neural [TEB 95][MOR 95][KOM 97].
Pelas características descritas, os classificadores neural e markoviano geralmente são
utilizados em conjunto na forma de sistemas híbridos, combinando suas potencialidades.
28

E
S

Figura 2.11: Rede neural backpropagation.

2.3.1 Redes Neurais Artificiais


As redes neurais artificiais são amplamente utilizadas para o treinamento e posterior
reconhecimento de padrões. Para os sistemas de reconhecimento de fala, os modelos mais
utilizados são o backpropagation (perceptron multicamadas) e a rede neural de atraso
tempo (Time Delay Neural Network - TDNN).
Uma vez que o processamento de fala contínua tem muita utilidade como interface e
comunicação, a utilização mais comum de redes neurais tem sido voltadas para o reconhe-
cimento de fonemas para posterior processamento por modelos de Markov, que realizam
a análise temporal da composição destes fonemas [MOR 95].

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:

sgm(Si ) = 1/(1 + e−(Si −θ) )

onde S é a saída linear resultante da soma ponderada do nodo i e θ é o coeficiente de


limiar.
Neste modelo, o erro obtido na saída é transferido para as camadas intermediárias.
Daí o nome retropropagação (backpropagation). Isso se dá pela necessidade de ajuste
dos neurônios que não têm contato com a saída, necessitando, assim, de algum parâmetro
para atualização dos pesos.
O cálculo do erro começa na última camada, ele tem a forma:

εsi (t) = S(t)(1 − S(t))(di (t) − S(t))

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:

Pi (t + 1) = Pi (t) + αεsi (t)En(t)

onde P é o vetor de pesos, α é o coeficiente de aprendizado e En o vetor resultante da


saída da camada anterior.
29
O erro da(s) camada(s) intermediária(s) é feito a partir do erro da camada de saída:
X
εi (t) = En(t)(1 − En(t)) εk pik (t)
k

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:

Pi (t + 1) = P i(t) + αεi (t)En(t) + µ(Pi (t) − Pi (t − 1))

onde µ é um coeficiente de aceleração de convergência denominado momentum.


O algoritmo utilizado consiste nos passos:

1. Inicializar os pesos e coeficientes de limiar com valores pequenos e randômicos.

2. Apresentar o vetor de entrada (padrão) e a saída desejada.

3. Calcule a saída:
n−1
X
S(t) = Pi (t)Ei (t) − θ
i=0

4. Aplique a função sigmoid vista anteriormente:

Sq(t) = sgm(S(t))

5. Atualize os pesos da última camada:

Pi (t + 1) = Pi (t) + αεi (t)En(t)

6. e o cálculo do erro:

εsi (t) = S(t)(1 − S(t))(di (t) − S(t))

7. Atualize os pesos da(s) camada(s) intermediária(s):

Pi (t + 1) = Pi (t) + αεi (t)En(t) + µ(Pi (t) − Pi (t − 1))

e o erro: X
εi (t) = En(t)(1 − En(t)) εk pik (t)
k

8. Voltar ao passo 2 até que atinja um valor próximo ao da saída desejada.

O algoritmo apresentado é considerado clássico, existindo atualmente versões mais


otimizadas de treinamento, tal como counterpropagation e quickpropagation.
30
TDNN
A rede neural por atraso de tempo foi projetada para simular a simetria do tempo de um
espectograma [HAY 01]. Isso é feito construindo-se uma rede backprogation, como des-
crita anteriormente, mas os neurônios da camada de entrada, ou ainda da camada oculta,
são replicados n vezes para armazenar padrões de entrada anteriores (z −1 , z −2 , ...). Desta
forma, a cada apresentação de um padrão (fonema), são também apresentadas simultane-
amente os n padrões anteriores.
Em sistemas desenvolvidos, comprovou-se que redes TDNN necessitam de menor
quantidade de pesos que redes perceptron multicamadas, reduzindo, portanto, a quanti-
dade de memória e o tempo de treinamento. Além disso, as TDNNs têm obtido taxas de
reconhecimento superiores ao de redes perceptron multicamadas, tal como o backpropa-
gation [CAS 99].

2.3.2 Modelos de Markov Ocultos 1


Os modelos de Markov ocultos são redes bayesianas com variáveis ocultas [BIL 99].
Estas são ditas ocultas por não serem reconhecidos os estados intermediários do autômato,
devendo ser estimados. Um exemplo clássico de modelagem markoviana é a estimação
de um cara-ou-coroa, onde joga-se uma moeda e há 50% de chance de ser cara e 50%
de ser coroa. Neste caso, as variáveis são ditas observáveis. Mas, caso o cara-ou-coroa
esteja sendo jogado atrás de uma cortina e não seja possível saber quantas moedas estão
sendo utilizadas, então a modelagem necessita de variáveis ocultas [RAB 93].
A modelagem do jogo cara-ou-coroa necessita da definição preliminar de quantos es-
tados possuem o sistema: se dois (para uma moeda ou duas), três (para 3 moedas) ou
mais. Para saber quais dos modelos (para 1, 2, 3 ou mais moedas) é o mais adequado e,
conseqüentemente, quais estados foram utilizados, deve-se escolher qual deles adequa-se
às seqüências de resultados a cada jogada. Por fim, deve-se descobrir qual é a probabili-
dade de cada estado ocorrer, para que seja possível a classificação de futuras seqüências.
Nesta última etapa são realizados ajustes (treinamento) das variáveis de probabilidades da
ocorrência de cada estado [RAB 93].
Para o caso do reconhecimento de fala, assume-se que o sinal de fala pode ser ca-
racterizado como um processo randômico com parâmetros que podem ser estimados de
forma a prever adequadamente uma seqüência de fonemas. No processo de reconheci-
mento, várias seqüências são avaliadas e a melhor delas (com mais alta probabilidade)
será convertida numa seqüência de símbolos (caracteres) [RAB 93][JUR 00].
Um modelo de Markov oculto é formado por um conjunto N de estados. Como estes
são ocultos, criam-se modelos baseados em dados empíricos. Como no exemplo do cara-
ou-coroa existem suposições de quantas moedas existem atrás da cortina, no caso do
reconhecimento de fonemas vão ser modeladas seqüências de palavras que se pretende
serem reconhecidas.
Na figura 2.12 tem-se o exemplo de uma modelagem para a palavra inglesa about
(sobre), extraída de [JUR 00].
Para se indicar a ordem de avaliação dos estados modelados devem ser também defini-
das as transições entre os estados existentes do sistema. Estas transições são organizadas
1
Foi traduzido Modelos de Markov Ocultos ao invés do corrente Modelos Ocultos de Markov por este
autor entender que os modelos não são ocultos, mas sim as suas variáveis.
31
.54
.68 ax 0.85 aw .30

start .20 b 0.15 .16 t end

.12 ix .63
ae
dx
.37

Figura 2.12: Exemplo de modelagem HMM para a palavra about.

numa matriz A de probabilidades de transição entre estados, ou seja

A = aij = P [et+1 = j|et = i], 1 ≤ i, j ≤ N

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

B = bj (k) = P [ot = sk |et = j], 1≤k≤M

onde ot é o estado observado (novo fonema apresentado ao sistema) e sk é o símbolo cor-


respondente ao fonema (letra). Por exemplo, caso a palavra maraca tenha sido observada
e a palavra macaca esteja modelada, o fonema /r/ será convertido para /c/. Isto porque,
dada a probabilidade da seqüência modelada, é mais provável que o símbolo correto seja
c e não r.
O processamento de um modelo de Markov oculto para reconhecimento de fala dá-se
normalmente através de um dos três 3 métodos [TEB 95]:

• uso do algoritmo de avanço (foward) para identificação de uma única palavra;

• uso do algoritmo de Viterbi para identificação de um conjunto de palavras (fala


contínua);

• uso do algoritmo de avanço-retrocesso (foward-backward ou Baum-Welch) para


treinamento do modelo.

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

νj (t) = max [νi (t − 1)aij bj (st )]


i

A funcionalidade deste algoritmo é idêntica ao de avanço, embora deva-se observar


que as seqüências T devem variar devido ao diferente tamanho das palavras. Desta forma,
o algoritmo deve ser chamado recursivamente para analisar as possíveis derivações descri-
tas na gramática de estados. Aquela seqüência derivada que obtiver maior probabilidade
será admitida como a reconhecida.
O algoritmo de avanço-retrocesso é um treinamento dos modelos de Markov segundo
as seqüências observadas. O algoritmo de avanço é realizado a partir de seqüências es-
timadas. Para uma modelagem mais robusta, é necessário realizarem-se os cálculos das
probabilidades das seqüências efetivamente ocorridas após as observações.
Para tanto, calcula-se o retrocesso β para a obtenção das probabilidades dos estados
já ocorridos, na forma:
P
βj (t) = βi (t + 1)aji bi (st+1 )
i

Com base nas probabilidades α anteriormente obtidas no processo de avanço e nas


β agora calculadas, é possível a estimação da transição de estados Υ dada seqüência de
símbolos s:
αi (t)aij bj (st+1 )βi (t + 1)
Υij (t) = P
αk (t)
k

A partir das novas transições de seqüências, as probabilidades podem ser otimizadas


através da estimação de novos valores para o modelo. Para tanto, deve ser feita a reesti-
mação das probabilidades de transição do modelo e de símbolos observados.
Para reestimar as transições entre estados calcula-se o número de ocorrências de uma
certa transição sobre o número total de ocorrências:
P
N (i → j) t Υij (t)
aij = P (i → j) = =P P
N (i → ∗) j t Υij (t)

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

Processamento de Linguagem Natural

Normalmente, um sistema de processamento de linguagem natural é abordado do ponto


de vista da análise do conhecimento morfológico, sintático, semântico e pragmático. A
análise morfológica estuda a construção das palavras, com seus radicais e afixos, que
correspondem a partes estáticas e variantes das palavras, como as inflexões verbais. A
análise sintática diz respeito ao estudo das relações formais entre palavras [JUR 00]. A
análise semântica é um processo de mapeamento de sentenças de uma linguagem visando
a representação de seu significado, baseado nas construções obtidas na análise sintática
[ABR 96]. A pragmática diz respeito ao processamento da forma que a linguagem é
utilizada para comunicar, como os significados obtidos na análise semântica agem sobre
as pessoas e seu contexto. Veja figura 3.1.
Para a implementação de analisadores sintáticos é necessária a construção de um par-
ser para que seja procedida a verificação da posição da palavra na frase. Porém, antes
disso, é necessária uma prévia classificação das palavras.
No português, por exemplo, temos 10 classes de palavras: substantivo, verbo, adje-
tivo, artigo, numeral, pronome, advérbio, preposição, conjunção e interjeição [CUN 82].
Cada uma dessas palavras possuem combinações coerentes com a sintaxe definida pela
linguagem. Não é coerente, por exemplo, a colocação de um adjetivo antes de um artigo.
A verificação disto é tarefa da análise sintática.
Para a análise semântica são definidos modelos de léxico onde são associados sig-
nificados a palavras ou expressões. Na implementação de analisadores semânticos são
utilizadas diversas técnicas, como redes semânticas, gramáticas semânticas e modelos
conexionistas (em geral, redes neurais).
A análise pragmática geralmente é implementada através de quadros (frames), casos
(cases) e roteiros (scripts), associando os significados obtidos a um determinado contexto.

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

Figura 3.1: Componentes do Processamento de Linguagem Natural.

33
34

Tabela 3.1: Tabela de sufixos.


sufixo substantivo (radical) palavra derivada
-zinho boné bonezinho
botão botãozinho
-zinha árvore árvorezinha
flor florzinha

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.1 Análise morfológica


Este tipo de análise é necessário para que o tamanho do dicionário não fique muito
extenso, uma vez que é mais simples o armazenamento do radical da palavra e seus afixos.
Estes são os componentes que formam uma palavra juntamente com o radical, como
prefixos e sufixos. Um exemplo de prefixo é des na palavra desesperança e de sufixo
é mos na palavra calamos.
O tratamento computacional deste tipo de análise é relativamente simples. Baseia-
se em regras que analisam as palavras e as classificam segundo tabelas de afixos. Por
exemplo, a entrada zinho de uma tabela de sufixos está associada a um diminutivo de
um substantivo, portanto, a palavra bonezinho é o diminutivo da palavra boné, que é seu
radical. Desta forma, são reconhecidas as palavras que não estão na sua forma padrão, já
adequando-as para a fase posterior de análise sintática. A tabela 3.1 apresenta o uso de
dois sufixos.
Jurafsky e Martin chamam o sistema que realiza a passagem da palavra escrita para a
forma classificada de Conversor de Estados Finitos (Finit-State Transducer - FST). Este
tipo de sistema é o que passa uma palavra de sua forma como é normalmente escrita para
uma forma etiquetada, ou seja, com identificação de seu radical e afixo [JUR 00]. Na se-
ção 3.2.1 será apresentado o nível de etiquetagem sintática, complementar à morfológica.
Um exemplo de analisador morfológico para o português é o sistema Palavroso, que
realiza a identificação do afixo e pré-classifica as palavras em quatro grupos: verbos,
nomes e adjetivos, classes fechadas e advérbios [WIT 98]. A implementação desse sis-
35
tema tem por base o que foi anteriormente descrito, mas possui ainda outro módulo de
dicionário que verifica a existência da palavra construída através das regras morfológicas.

3.2 Análise sintática


No contexto do processamento da linguagem, as gramáticas utilizadas na análise
sintática têm sido chamada de Modelos de Linguagem (Language Models - LM). Esta
definição está associada ao amplo universo de frases possíveis de serem modeladas para
representação de determinado domínio de análise.
No seguimento, serão abordadas algumas técnicas utilizadas na identificação e etique-
tagem dos elementos sintáticos e na organização da construção sintática.

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

Tabela 3.2: Etiquetagem sintática.


etiqueta descrição palavra
PPE Pronome PEssoal eu
VP Verbo no Passado tropecei
PAF Preposição+Artigo Feminino na
SSF Substantivo Singular Feminino pedra

Frase

Sintagma Nominal Sintagma Verbal

Objeto Indireto

Sujeito Verbo Preposição Substantivo

Eu/PPE tropecei/VP na/PAF pedra

Figura 3.2: Árvore de parser.

3.2.2 Construção Gramatical


Após a etiquetagem, passa-se à verificação da construção gramatical da frase. Para
tanto, as linguagem é modelada por gramáticas livres de contexto, que divide as frases em
árvores de sintagmas nominal e verbal e, a partir daí, verifica que classe enquadra-se em
cada sintagma (veja figura 3.2). Neste sentido, há duas correntes de desenvolvimento: a
construção de árvores de parser e de parsers probabilísticos [JUR 00].

Á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

F -> SN SV: 0.4

Sintagma Nominal Sintagma Verbal

SV -> V OI: 0.3

Verbo Objeto Indireto


SN -> S: 0.4

OI->P S: 0.5

Sujeito Preposição Substantivo

S -> Eu: 0.4 V->tropecei: 0.4 P->na:0.3 S->0.4

Eu/PPE tropecei/VP na/PAF pedra

Figura 3.3: Árvore de parser com indicações de probabilidade.

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)

E a probabilidade de uma árvore de parser A para o cálculo da melhor F é o produto


de todas as regras envolvidas na construção de A:
Q
P (A) = P (Rn)
n∈A

A partir destas equações é possível saber se as regras usadas para a construção de


uma árvore é mais adequada que outra. Veja um exemplo de árvore com probabilidades
na figura 3.3. Isto resolve grande parte dos problemas de ambigüidade nos casos das
palavras que podem pertencer a mais de uma classe, como visto na seção 3.2.1.
Um dos algoritmos empregados para a execução deste tipo de parsing é o Earley pro-
babilístico, que segue o mesmo algoritmo analisado na seção anterior, acrescido dos va-
lores de probabilidades das regras, o que permite a desambigüação.
O maior problema do parser probabilístico é a colocação de pesos iguais a construções
frasais diferentes, embora com as mesmas palavras (ex.: eu tropecei na pedra poderia ter
38
Frase { é_um(x,tropeçar)^tropeça(x, eu)^tropeçado(x,pedra) }

Sintagma Nominal Sintagma Verbal

Verbo Objeto Indireto

Sujeito Preposição Substantivo

Eu/PPE tropecei/VP na/PAF pedra

Figura 3.4: Árvore de parser com anexo semântico.

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.

3.3 Análise Semântica


Apesar do extenso processamento realizado nas análises morforlógica e sintática,
apenas com estas não é possível distinguir certas categorias de palavras e muito menos
precisar o objetivo da frase. Para tanto, são acrescentadas nas árvores de parser os chama-
dos anexos semânticos (semantic attachments) [JUR 00]. Este tipo de análise semântica
tradicional pode ser construído ainda em tempo de análise sintática, à medida que a árvore
de parser vai sendo completada (veja figura 3.4).
O anexo semântico apresentado na árvore da figura 3.4 é uma composição de uma
rede semântica onde é definido o verbo tropeçar. A definição diz que este verbo necessita
de um agente (aquele que tropeça) e um paciente (algo em que o agente tropeça).
Por outro lado, há outras formas de análise semântica: gramáticas semânticas (seman-
tic grammar), gramáticas baseadas em caso (case-based grammars) e outros métodos
para casos específicos [CAR 87].

3.3.1 Gramáticas Semânticas


As gramáticas tradicionais são utilizadas apenas para definir regras de sintaxe. Por
outro lado, podem ser definidas regras associadas a frases-padrão, onde variam as palavras
envolvidas. É uma forma viável quando existe uma hierarquia de diferentes contextos e
necessita-se diferenciá-los através de padrões. Infelizmente, para cada frase analisada,
é necessária uma regra distinta, dificultando sua utilização em diferentes domínios do
conhecimento [CAR 87][PAC 96][MIN 98] [JUR 00].
A construção de gramática semânticas baseia-se na colocação de variáveis que serão
preenchidas de acordo com a afirmação ou questionamento do usuário ao sistema. Um
exemplo de regras de uma gramática semântica poderia ser:
QUESTÃO -> quem tropeçou ONDE
39
RESP_QUEST -> QUEM tropeçou ONDE
QUEM -> eu
ONDE -> PREPOSIÇÃO LUGAR
PREPOSIÇÃO -> na
LUGAR -> pedra
Caso fosse questionado Quem tropeçou na pedra?, a resposta seria eu tropeçou na
pedra, pela associação da expressão na pedra com a variável ONDE e o pronome eu com
a variável QUEM.

3.3.2 Gramáticas Baseadas em Casos


Esta forma de análise usa gramáticas semânticas não-terminais para formar padrões.
Caso uma dada frase encaixe na construção padrão, ela poderá ser reconhecida dentro de
um contexto. Este contexto em geral é estruturado na forma de quadros (frames), casos
(cases) [CAR 87][MIN 98][BAR 98].
São construídas gramáticas semânticas para identificar os elementos da frase e indicar
o caso (ou quadro) que melhor se aplica a estes elementos. Um exemplo de gramática,
para uma aplicação de leitura de correio eletrônico, pode ser o seguinte:
<mensagem> -> <?artigo cabeça-mensagem *caso-mensagem>
<caso-mensagem> -> <%de Pessoa>
<caso-mensagem> -> <%sobre Assunto>
<caso-mensagem> -> <%desde Data>
Onde ? indica um item opcional, * um item passível de repetição e % significa que
qualquer palavra da mesma classe daquela indicada a seguir pode ser utilizada; artigo
indica que pode haver um artigo antecedendo a cabeça da frase; cabeça-mensagem é a
palavra-chave que indica ser uma mensagem do correio eletrônicos; caso-mensagem é a
referência para o caso que irá tratar daquela parte da frase; Pessoa, Assunto e Data são
variáveis que recebem os dados sobre a mensagem.
Uma frase que poderia se encaixar neste modelo seria as mensagens de João sobre
modelagem desde segunda-feira. Neste caso, as palavras João, modelagem e segunda-
feira servirão de guia para o caso a ser utilizado na resposta do sistema.
A construção de casos para análise semântica antecipa um tipo de processamento
geralmente utilizado apenas na análise pragmática, usado para descrever contextos espe-
cíficos. Na implementação de casos são utilizados quadros, que são estruturas utilizadas
para caracterizar os elementos semânticos que compõem a frase em análise. Casos são,
portanto, estruturas contendo quadros utilizados em dado contexto que identificam pro-
blemas e ainda outros quadros que identificam soluções para estes problemas. Estas estru-
turas podem ser usadas na análise semântica para resolver ambigüidades não esclarecidas
no processo convencional, baseado em regras.
Um caso para o exemplo citado anteriormente poderia ser o seguinte:
[
Nome: Mensagem
Esquema:
[
Emissor: &Pessoa
Assunto: &Assunto
Data: &Data
]
40
Sintaxe:
[
Tipo: Frase-nominal
Cabeça: (mensagem mensagens mail carta)
Caso:
(
<%de Pessoa>
<%sobre Assunto>
<%desde Data>
)
]
]
Por outro lado, há quem argumente que a análise pragmática deva ser feita junto com
a análise semântica através do uso de casos . A justificativa para isso está na abordagem
do estudo das relações existentes na frase de um caso. Dependendo da relação, define-
se a função da frase dentro do caso, obtendo-se, ao mesmo tempo, o aspecto semântico
(significado) e pragmático (contexto).

3.4 Análise Pragmática


Este tipo de análise foge à estrutura de apenas uma frase. Ela busca nas demais frases
a compreensão do contexto que falta à frase em análise. Em geral, não há estruturas
pré-definidas que atendam a uma representação adequada de problemas de referências
pronomiais (por exemplo os pronomes la, seu e o no contexto: João pegou a rosa. Ao
pegá-la, seu espinho o espetou), coerência textual e análise de discurso. Por outro lado,
as estruturas mais utilizadas na análise pragmática são os casos, conforme descritos na
seção 3.3.2, que por sua característica já permitem a identificação de contexto.
Para se ter uma noção dos algoritmos utilizados na análise pragmática, pode-se pegar
um conhecido algoritmo de resolução de referências pronomiais, proposto por Lappin e
Leass em 1994 [JUR 00]. Neste algoritmo, são atribuídos pesos aos pronomes encon-
trados em frases. Esses pesos são chamados de valores de saliência e são atribuídos ao
sujeitos encontrados na mesma frase ou nas frases precedentes. Quanto mais próximo do
pronome estiver o sujeito encontrado, maior será o valor a ele atribuído como referência
ao pronome.
Após ser atribuído pesos aos sujeitos de referência encontrados, retiram-se aqueles
que não combinam em gênero e número, e são levadas em conta outras características
como o tipo de pronome, se a frase tem objeto indireto ou advérbio, entre outros fatores.
Cada uma dessas características podem influir no cálculo do peso da referência, de forma
a que o sujeito com maior peso será o selecionado para substituição do pronome. Assim,
num contexto como o exemplo citado anteriormente, o pronome la, seu e o terá como
sujeito mais próximo a rosa, mas o último pronome (o) não combina com o gênero,
sendo, então, atribuído ao próximo sujeito, João.
Há ainda muitos outros algoritmos citados na literatura acerca de resolução de refe-
rências pronomiais, porém a maioria é dependente de uma estrutura sintática previamente
determinada ou pouco flexível a diferentes construções frasais. Por esta dificuldade de
ser identificada a construção frasal é que tem sido cada vez mais usadas estruturas de
preenchimento como casos para análise pragmática.
Capítulo 4

Processamento da Linguagem Falada

Conforme analisado no capítulo 2, sistemas de reconhecimento de fala estão limitados


à identificação de palavras, através da transcrição do fonema para a grafia escrita. Por
outro lado, os sistemas puramente de processamento de linguagem natural, como visto no
capítulo 3, estão limitados à linguagem escrita. Assim, sistemas ASR (reconhecimento
de fala) são usados somente para acionamento de comandos e sistemas NLP (linguagem
natural) são utilizados como interpretadores e tradutores aplicados sobre bases de textos
ou páginas html.
Estes dois paradigmas esgotam-se quando há a necessidade de um sistema de diálogo
falado com o computador. Para tanto, necessita-se a união do reconhecimento de fala
com o processamento da linguagem, aliados à síntese de fala, para uma resposta vocal
do sistema. Como dissertado no capítulo 1, este tipo de sistema busca a compreensão da
linguagem falada, técnica esta derivada do ASR e do NLP.
Uma vez que o processamento da linguagem falada é diverso da linguagem escrita,
e o reconhecimento de fala é apenas um primeiro nível de análise deste tipo de lingua-
gem, pode-se dizer que a compreensão da linguagem falada é um novo paradigma de
desenvolvimento de sistemas computacionais.
Em geral, sistemas SLU (compreensão da linguagem falada) são utilizados em in-
terfaces de voz, tal como navegadores de voz (voice browsers) e tradutores interlínguas.
Normalmente, como mostra a figura 4.1, são compostos de um módulo de reconheci-
mento de fala, um módulo de parser estatístico, um módulo de processamento de discurso
(pragmático) e um módulo de síntese de fala. O primeiro módulo utiliza técnicas como
as descritas no capítulo 2, uma vez que o segundo módulo trabalhará sobre a transcrição
gráfica da linguagem. Apesar disto, o processamento da linguagem difere da aborda-
gem vista no capítulo 3, pois a língua falada possui uma organização diferente da língua
escrita, sujeita a grandes variações de estrutura. Neste sentido, são amplamente usadas
gramáticas probabilísticas que utilizam HMM para sua estruturação.
Apesar do processamento mais comum ser embasado apenas na linguagem, há siste-
mas que utilizam a prosódia para uma análise mais precisa do contexto semântico, como
será abordado no capítulo 5. Isso significa que na entonação dada às palavras possui uma
quantidade de informação ainda pouco explorada pelos sistemas computacionais.
O módulo de um SLU que é dada maior ênfase após o parser é o processamento do
discurso, pois é nele que será analisado o contexto das frases proferidas pelo usuário
e produzida a resposta coerente a este contexto. É comum a utilização de sistemas de
quadros (frames) organizadas em bases de dados contendo as palavras-chave e estruturas
frasais dos contextos de pergunta e resposta.

41
42

Parser
Estatístico

Reconhecimento
de Fal a

Processamento
de Discu rso

Síntese
de Fala

Figura 4.1: Sistema de Compreensão da Linguagem

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

Figura 4.2: Esquema completo do sistema SCREEN [WER 97].

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;

3. string da palavra provável;

4. probabilidade indicada pelo reconhecedor de fala.


44

Figura 4.3: Rede recorrente utilizada na avaliação sintática de fala [WER 97].

A comparação destes fatores indicarão as melhores combinações entre palavras, for-


mando conjuntos de possíveis frases. Uma vez construídas as frases, passa-se à sua avali-
ação.
A parte de avaliação da fala (speech evaluation part) realiza uma estimativa de erros
provocados pela fala. Para tanto, utilizam-se as probabilidades geradas pelo reconhece-
dor e de avaliações anteriores realizadas pela parte de categoria, a ser explicada poste-
riormente. As hipóteses de palavras oriundas do reconhecedor são avaliadas sintática e
semanticamente através de redes neurais recorrentes, como a da figura 4.3.
As redes neurais recorrentes não foram citadas na seção 2.3.1 por não serem utilizadas
no contexto de reconhecimento de fala. Cabe aqui alguns comentários sobre sua consti-
tuição, uma vez que é utilizada no sistema SCREEN. Redes recorrentes são perceptrons
de múltiplas camadas, tal como o modelo backpropagation, porém possuem um módulo
de atraso para uma ou mais camadas. Este módulo de atraso consiste num conjunto de
neurônios - e, portanto, pesos associados - que realimenta a camada ao qual está ligado.
Os neurônios deste módulo são chamados de unidades de contexto.
As unidades de contexto armazenam os pesos de uma camada oculta por um passo de
tempo, realimentando-os na entrada da rede ou de volta à camada oculta. Esta caracte-
rística permite à rede realizar o armazenamento do estado do sistema, que será utilizado
no reforço do aprendizado do próximo estado [HAY 01]. Wermter e Weber afirmam que
este método é mais consistente que modelos de n-gramas (ver seção 3.2.1), que arma-
zenam apenas n palavras anteriores, enquanto a rede recorrente não possui limite para o
armazenamento [WER 97].
Na figura 4.3, vê-se uma rede recorrente simples, onde a camada de contexto rea-
limenta a camada oculta, permitindo o armazenamento das características das palavras
analisadas anteriormente. As redes recorrentes são utilizadas nas diversas partes do sis-
tema SCREEN, como pode ser observado na figura 4.2, mas especificamente na parte de
avaliação de fala são usadas para identificação das classes sintáticas e semânticas, como
o processo de etiquetagem probabilística (ver seção 3.2.1). Exemplos de classes sintá-
ticas no SCREEN, também chamadas de categorias sintáticas básicas, são substantivos,
verbos, preposições, pronomes, etc. e classes semânticas básicas são movimento, tempo,
localização, entre outros termos.
Foi utilizada uma rede para a avaliação sintática, ou seja, as palavras identificadas
pelo reconhecedor de fala e organizadas em frases pela parte de construção da seqüência
45
de fala são classificadas dentro de categorias previamente estabelecidas. Este mesmo
procedimento é feito para avaliação semântica, realizada em outra rede recorrente.
Estes módulos de redes recorrentes irão realizar mais uma seleção de prováveis frases,
eliminando parte daquelas geradas. As melhores frases passarão a ser avaliadas na parte
de categoria (category part), visando a retirada de ambigüidades quando da classificação
sintática e semântica realizada na parte de avaliação da fala.
Para uma avaliação adequada da categoria são utilizadas redes recorrentes treinadas no
processo de retirada de ambigüidades. São apresentados padrões de construções ambíguas
e treinados resultados de sua desambigüação.
Desta forma, existem duas redes recorrentes, uma para desambigüar a sintaxe e outra
para a semântica. O resultado destas redes serão utilizados posteriormente na parte de
correção de fala e são também passados a outras duas redes ainda na parte de categoria que
farão uma classificação em termos de categorias sintáticas e semânticas. Estas categorias
são grupos de palavras com funções similares no contexto da frase, permitindo, segundo
Wermter e Weber, uma classificação flexível e, portanto, robusta. Exemplos de categorias
sintáticas, também chamadas categorias abstratas sintáticas, são grupo verbal, grupo de
substantivo, grupo de advérbios, etc. e categorias abstratas semânticas são ação, agente
da ação, objeto da ação, tempo de início da ação, tempo final da ação, etc.
Ainda na parte de categoria, há mais uma rede recorrente responsável por delimitar as
categorias. Isso é feito identificando, pelo lado sintático, indicadores como as preposições
e, pelo lado semântico, os substantivos envolvidos na frase.
Os resultados obtidos com a avaliação das categorias são levados para a parte de
correção (correction part), que identifica pausas, interjeições e corrije as palavras e a
estrutura da frase. As pausas e interjeições não são essenciais no reconhecimento da
frase, mas tornam-se importantes em recursos de tradução. Caso não seja necessário a
tradução, estes elementos podem ser marcados como apagados.
A correção de palavras é feita com base na comparação das classes sintáticas básicas
entre duas palavras. Para isso utiliza-se uma rede neural perceptron multicamada, cujas
entradas são classes desambigüadas na parte de categoria. A saída da rede é simples-
mente o resultado de que a palavra é equivalente ou não. O mesmo processo é feito para
comparação da classe semântica das palavras.
Além destas duas redes, há um módulo simbólico que utiliza regras de simples com-
paração léxica das palavras. Os resultados dos três módulos são recebidos na entrada de
uma rede recorrente que fará a ponderação destes fatores e terá em sua saída a palavra
corrigida.
Na parte de correção há ainda a reorganização da frase, assim como na correção da
palavra, com base no início léxico de duas frases consecutivas, na categoria abstrata sin-
tática e semântica. Novamente, a comparação léxica é simbólica e as comparações de
categorias são com redes perceptron multicamada. A correção final é feita com uma rede
recorrente que recebe os resultados dos três módulos de comparações e dá como saída a
frase corrigida segundo os fatores de entrada.
A frase corrigida é passada para parte de casos, com as palavras mantendo a eti-
quetagem recebida dos classificadores sintáticos e semânticos básicos e abstratos. Estas
informações são utilizadas no parser de segmentação que faz o preenchimento de quadros
(frames) que compõem os casos. As classes sintáticas e semânticas básicas são usadas
para identificar a estrutura das frases e, portanto, auxilia na identificação de um quadro,
enquanto as categorias abstratas são utilizadas para o preenchimento internos dos escani-
nhos (slots) dos quadros.
46

Figura 4.4: Rede de decisão para correção de palavras redundantes [WER 97].

Apesar de todas as características envolvidas, ainda pode haver ambigüidade quanto


ao preenchimento de um quadro, mas Wermter e Löchel afirmam que só informações de
prosódia permitiriam a solução deste tipo de caso [WER 96].
Há ainda outra informação que auxilia a definir o contexto de diálogo, recebida da
parte de diálogo, referente ato tipo de ação de diálogo: aceitação, questionamento, rejei-
ção, comando, etc. Esta informação auxilia na reorganização dos quadros, otimizando a
interpretação das frases no diálogo.
A parte de diálogo é uma rede recorrente (veja fig. 4.5) que é treinada para determinar
que tipo de ação de diálogo há numa frase. Como entrada na rede, são apresentadas
ponderações das palavras que constituem a frase, baseadas em vetores de plausibilidade.
Estes são estatísticas de que palavras ocorrem mais em dado tipo de ação de diálogo. Por
exemplo, a palavra proponho ocorre com mais freqüência em ações de sugestão, a palavra
mau ocorre em frases de rejeição, e assim sucessivamente.
Dada a característica da rede recorrente de armazenamento do contexto, as frases são
classificadas de acordo com as ocorrências de todo o conjunto de frases. Desta forma, a
rede possui em sua saída uma nova classificação das palavras da frase, que pode ou não
ser a mesma da entrada, como pode ser observado na figura 4.5.
Esta reclassificação de frases irá auxiliar na reorganização dos quadros da parte de
casos, otimizando as informações obtidas a partir das demais partes do SCREEN. Por fim,
o resultado final do sistema é um conjunto de quadros com frases devidamente etiquetadas
e classificadas conforme o contexto de diálogo.
O sistema todo, portanto, recebe os resultados de um reconhecedor de fala e disponi-
biliza a organização de uma fala espontânea numa base de conhecimento, disponível para
utilização por outros sistemas interativos.
47

Figura 4.5: Rede recorrente da parte de diálogo [WER 96].

4.2 Análise da Linguagem Falada


Todos os pesquisadores que desenvolvem sistemas para a linguagem falada concordam
que sua análise é mais complexa que a linguagem escrita. Neste sentido, a linguagem
falada espontânea é a mais problemática, por não seguir as regras gramaticais. Por esta
razão, afirma-se que a análise da linguagem escrita é um subconjunto da análise da lin-
guagem falada, uma vez que esta pode ser falada seguindo as regras gramaticais correntes
na língua.
Normalmente, os parsers de linguagem falada são construídos a partir de regras gra-
maticais básicas que são otimizadas pelo sistema através de esquemas probabilísticos, de
forma a adaptar a máquina de estados finitos da gramática original. Após a adaptação,
são realizados diversos procedimentos de identificação de elementos genéricos, de forma
a forçar a identificação de uma construção frasal ou contexto semântico, o que geralmente
é realizado através de estruturas de quadros (frames).
Nas seções que seguem, serão abordados diferentes formas de análise da linguagem,
porém sempre com a utilização regras, quadros ou estruturas similares que identificam
a organização da frase e seus elementos, entremeadas de uma reorganização através de
modelos de Markov ou redes neurais artificiais.

4.2.1 Regras e Quadros na Análise Estatística da Linguagem Falada


A partir de 1995 cresceu a preocupação com a análise da linguagem falada, dada a evo-
lução dos sistemas de reconhecimento de fala. Antigos sistemas de parser de linguagem
natural foram sendo otimizados para acompanhar esta evolução e proporcionar o proces-
samento da linguagem falada. Isso exigiu muito trabalho dos pesquisadores, uma vez que
a análise da linguagem falada é de maior complexidade que a linguagem escrita, como já
comentado.
Um dos parsers que sofreu esta otimização foi o GLR*, que é uma evolução direta
do parser GLR (Generalized LR) que, por sua vez, é o sucessor do LR (Left-Right)
[LAV 96a]. Este tipo de parser vem dos anos 1960, onde eram descritas gramáticas sim-
ples de avaliação da esquerda para direita, na forma de autômatos determinísticos.
Já o parser GLR é uma extensão do LR que permite a avaliação de gramáticas não-
determinísticas. Para tanto, ele usava uma pilha de grafo estruturado (Graph Strutured
48

Figura 4.6: Exemplo de grafo gerado pelo GLR* [LAV 96b].

50

Figura 4.7: Seqüencia de construção das RTN (adaptado de [KAY 99a]).

Stack - GSS) que permitia a representação de múltiplas pilhas de parsing, correspondendo


a diferentes ações de avaliação de frases (veja fig. 4.6).
O parser GLR* foi uma otimização para permitir a análise da fala espontânea, com
ênfase na interpretação de palavras desconhecidas e nas limitações de uma avaliação pu-
ramente gramatical. Para resolver estes problemas, foi dado acrescentado um módulo de
tratamento de exceção, que processa as palavras retiradas do processo convencional, que
antes eram tidas como erradas.
O processamento do GLR* é basicamente a redução das palavras de uma expressão a
uma tabela de parser, rejeitando-se os elementos que não se ajustam a estas tabelas. Além
disso, há um módulo estatítico para o tratamento de ambigüidades, onde é usado um
modelo probabilístico de estados finitos treinado para corrigir a etiquetagem das palavras
segundo as ações do parser. Desta forma, o GLR* proporciona uma adequada avaliação
da linguagem falada espontânea, conforme comprovado com sua validação no sistema
JANUS, que realiza tradução falada interlínguas [LAV 96a][LAV 96b].
De forma muito similar ao GLR*, o parser PHOENIX também foi construído com
uma gramática de regras, que é compilada numa estrutura de grafos chamada Rede de
Transição Recursiva (Recursive Transition Network - RTN) [MIN 99][KAY 99a]. Cada
regra cria uma RTN, que, uma vez constituída, tem seus nodos não terminais extraídos e
são acrescentados pesos para as conexões dos vértices através de regras heurísticas (veja
fig. 4.7).
As expressões, antes de serem apresentadas à RTN, têm retiradas as palavras desco-
nhecidas pelo léxico do sistema. Após a avaliação pelas diversas RTNs, são mantidas as
redes de maior compatibilidade entre a expressão e seus pesos. As expressões resultantes
49

Figura 4.8: Treinamento do FeasPar [BUO 96b].

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.

4.2.2 Análise de Segmentos com uso de Redes Neurais Artificiais


A análise de segmentos (chunk parsing) é baseada na verificação de partes das sen-
tenças faladas [BUO 96a][ZEC 98a]. Os referidos pedaços das sentenças podem ir de
simples palavras até sintagmas inteiros (nominais ou verbais). Em geral, a análise de seg-
mentos é apenas um módulo de grandes sistemas de parser, mas a seguir será apresentado
o FeasPar, que utiliza esta técnica como base do sistema.
O parser FeasPar faz a geração de quadros (frames) de segmentos através de redes
neurais artificiais. Inicialmente são treinados pela rede conjuntos de quadros chamados
estruturas de características . Nestas, as sentenças estão devidamente repartidas nos
segmentos modelados nos quadros [BUO 96a][BUO 96b].
Estes quadros construídos manualmente são os padrões de treinamento das redes neu-
rais, cujo objetivo é ensinar ao sistema a construção automática de novos quadros, con-
forme mostra a figura 4.8.
O FeasPar possui três grandes módulos, todos constituídos de redes neurais: o segmen-
tador (Chunker), o etiquetador de características lingüísticas (Linguistic Feature Labeler
- LFL) e o buscador de relações entre segmentos (Chunk Relation Finder - CRF). O seg-
mentador possui três redes neurais que são treinadas para reconhecer números e palavras,
frases, segmentos e sentenças. O etiquetador são diversas redes neurais treinadas para
classificar características, identificando quais delas pertencem a quais segmentos. Um
exemplo de rede neural utilizada no etiquetador é mostrada na figura 4.9.
O buscador cria uma rede neural para identificar que tipo de segmento existe em de-
terminada sentença. Uma vez identificados os segmentos, o buscador cria uma outra rede
neural para fixar a relação entre eles. Todas as redes neurais utilizadas são backpropaga-
tion de uma camada oculta.
50

Figura 4.9: Exemplo de rede neural utilizada no etiquetador [BUO 96b].

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

Figura 4.10: Exemplo de execução do FeasPar [BUO 96b].


52

Figura 4.11: Agenda e fragmentos armazenados [BUO 96b].


Capítulo 5

O Processo de Interação Entre A Fala e


A Compreensão - A Prosódia

Há determinadas características do sinal de fala que definem os limites de início e fim


de uma frase, sua entonação principal e a acentuação das palavras [KOM 97]. Estes fenô-
menos acústicos que não são representados na linguagem escrita são conhecidos como a
prosódia da linguagem.
A entonação de uma frase pode mudar seu sentido, como a maneira de dizer “ não”,
que pode ter conotação tanto negativa, como afirmativa. A palavra forma pode ser falada
tanto como fôrma, quando se refere a um molde, quanto fórma, quando se refere a um
feitio, embora seja a mesma grafia. Em suma, a prosódia é essencial para uma adequada
compreensão da linguagem falada.
A história da linguagem escrita, aliás, começou pela prosódia. A cultura mesoameri-
cana desenhava objetos para compor palavras sonoras [FER 01]. Era como, por exemplo,
colocar uma imagem representando um sol seguida de um desenho de um dado para indi-
car a palavra soldado.
A pausa entre as unidades lingüísticas - como as palavras - escritas pelos povos antigos
não era feito por espaços, mas por outros símbolos [FER 01]. Em determinado momento
de sua história, os gregos abandonaram os marcadores e a escrita passou a ser contínua,
influenciando outros povos como os romanos. O problema da escrita contínua é que a
sonoridade das expressões gráficas deveria ser falado para que o leitor pudesse encontrar
o sentido do texto através da audição. O espaço entre as palavras só foi introduzido no
século VIII como recurso didático para facilitar a leitura silenciosa de textos [ILI 95].
Como a pausa, a pontuação dos textos foi também uma evolução histórica. Na Roma
Clássica, por exemplo, apenas os leitores especializados sabiam como ler corretamente
os textos [FER 01], resolvendo eles mesmos os problemas de interpretação, de forma
semelhante ao que hoje é feito no processo de compreensão de fala, como analisado no
capítulo 4.
No sentido de resolução dos problemas de compreensão da linguagem falada, a pro-
sódia é um conhecimento imprescindível para uma boa interpretação. De fato, ela pode
ser usada como informação em todos os processos analisados no decorrer deste trabalho.
No processamento do sinal de fala (seção 2.2), a prosódia pode auxiliar com in-
formações sobre a freqüência fundamental (pitch), que pode variar conforme o locutor
[KOM 97]. A partir desse dado, pode-se adequar o processamento do sinal a diferen-
tes níveis de freqüências formantes, melhorando o resultado da extração de coeficientes
cepstrais.

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.

5.1 Elementos Prosódicos do Sinal de Fala


A prosódia, no nível do sinal de fala, possui elementos básicos e compostos. Os
elementos básicos são as características do sinal como a energia (loudness), freqüência
fundamental (pitch), qualidade vocal, duração e pausa. Os elementos compostos nada
mais são do que a ação dos elementos básicos sobre o tempo [KOM 97]. A figura ilustra
como os elementos básicos são analisados numa seqüência de fala, onde se observa a
onda original, as etiquetas de prosódia, as palavras (em alemão), as sílabas, a freqüência
fundamental (F0), a duração e a energia.
Os conceitos básicos de freqüência fundamental e energia foram estudados nas se-
ções 2.1 e 2.2, respectivamente. A qualidade vocal refere-se à estrutura espectral dos
fonemas, a partir da qual são investigados efeitos como a laringealização, que são pe-
ríodos da fala com excitação irregular, e a vogal central, que é uma vogal que perde sua
acentuação por estar sobre o centro do intervalo de freqüência coberto sobre todas as
vogais.
A duração da fala depende da velocidade com que os fonemas são pronunciados.
Como cada fonema possui uma média e desvio padrão próprios a ele, deve ser feita uma
normalização dos valores para se obter uma velocidade média de uma palavra. Por outro
lado, podem ser construídos modelos para reconhecimento dependentes da duração de
cada fonema, visando a previsão de construções de palavras.
A pausa pode ser simplesmente um silêncio ou um ruído de fundo que entremeia a
fala, o que é chamado de pausa não-preenchida. Mas a pausa pode ser também vocali-
zada, através de expressões como humm, ao que é chamada de pausa preenchida.
O elementos prosódicos compostos são a entonação, a acentuação, a frase prosódica,
o ritmo e a hesitação [KOM 97]. A entonação é basicamente a variação da freqüência
fundamental. Como os valores da onda fundamental são dependentes do locutor, vari-
1
As expressões criadas por usuários de e-mail para representar seu estado de espírito. Exemplos deles
são os caracteres :-) (felicidade / bom humor), :-( (tristeza), 8-0 (espanto), entre outros.
55

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.

5.2 Identificação e Classificação de características prosó-


dicas no sinal de fala
Todo o processo de identificação de elementos prosódicos do sinal de fala é guiado pelo
comportamento da onda fundamental. Desta forma, é essencial a representação adequada
da envoltória dessa onda para que todo o processamento não seja comprometido.
Segundo Kompe, um bom algoritmo para determinação da freqüência fundamental é
aquele baseado no fato que a harmônica de maior freqüência dividida pela fundamental
resulta num valor inteiro [KOM 97]. Assim, para cada quadro analisado no sinal de fala
57
são calculados os pontos médios do espectro na tentativa de ser obtidos os pontos da
fundamental. A partir dos pontos gerados é realizado o cálculo da envoltória da onda
estimada. Esta envoltória da onda fundamental deverá ter um comportamento que reflete
a prosódia do sinal de fala, como foi mostrado na figura 5.1.
Com base no comportamento da onda fundamental, pode ser inferenciada a inflexão
de uma sentença, ou seja, é possível identificar se uma frase pronunciada é uma afirma-
ção, questão ou possui uma pausa (como uma indicada por vírgula ou uma hesitação). A
afirmação é indicada por uma subida da onda (R); questão é marcada por uma descida
(F) e a pausa é uma continuação seguida de subida (CR) [KOM 97]. Este tipo de dado é
essencial em diálogos, e importante para determinação de pontuação de textos. A identi-
ficação da inflexão da frase pode ser feita automaticamente pelo treinamento de uma rede
neural.
Já a acentuação e os limites da frase prosódica possui uma complexidade maior para
determinação de seus elementos, necessitando informações de duração e energia, além da
onda fundamental. O intervalo de tempo que irá guiar o processamento pode depender de
vários fatores: número de sílabas; núcleo da sílabas; palavras; limites das frases prosódi-
cas [KOM 97]. A partir da determinação de um destes parâmetros, será possível retirar
do sinal as características desejadas.
As características podem ser sintetizadas em: duração, onda fundamental, energia,
pausa e léxico. A duração refere-se à velocidade de fala e duração média do fonema
em dado intervalo. Características da onda fundamental são a média, a mediana, seus
valores mínimo e máximo, seu deslocamento no tempo, posição no tempo relativo à sí-
laba/palavra/frase fonética, entre outros. Da energia pode-se obter as mesmas proprieda-
des da onda fundamental, com exceção do deslocamento em função do tempo. O tamanho
da pausa pode ser determinado em milissegundos antes ou depois de uma sílaba ou pa-
lavra. Características léxicas podem ser obtidas através da classificação de um fonema
do núcleo silábico, identificação da sílaba tônica ou determinação da sílaba final de uma
palavra [KOM 97].

5.2.1 Modelagem de Entonação


Os elementos compostos da prosódia, como visto, são composições dos elementos
básicos. Para sua identificação, é necessária a modelagem estatística para previsão da
ocorrência dos elementos compostos. Helen Wright (hoje Helen Wright Hastie) definiu
isto em sua tese com sendo uma modelagem de entonação [WRI 99][HAS 02]. Este tipo
de modelagem serve para prever a ocorrência de indicações de surpresa, dúvida, formali-
dade, entre outras características que podem ser utilizada na identificação de contextos de
diálogo em jogos.
Os estudos de Wright utilizaram três abordagens estatísicas para modelagem de en-
tonação: Árvores de Classificação e Regressão (Classification and Regression Trees -
CARTs), Modelos de Markov e Redes Neurais Artificiais. Segundo Wright, a primeira
técnica obteve desempenho superior em seus testes de identificação de contextos de diá-
logo.
As CARTs são árvores binárias utilizadas para classificação dos movimentos dos jo-
gos, dadas as características da entonação. Seu método de classificação é baseado na
freqüência de ocorrência de determinada característica prosódica, como pode ser obser-
vado na figura 5.2.
58

Figura 5.2: Árvore de Classificação e Regressão [WRI 99].


59
A modelagem por Markov segue os mesmos princípios que vêm sendo discutidos no
decorrer deste trabalho. Nesta abordagem em particular, são modeladas combinações das
caracteríscas prosódicas, que são treinadas para identificar o tipo de movimento do jogo.
Quanto às redes neurais, Wright utilizou-se do método backpropagation para treinamento
do tipo de movimento, dadas características prosódicas de entrada.
Apesar das CARTs terem obtido melhor desempenho neste sistema, Wright salienta
que foi apenas um pequeno ganho, o que não permite descartar as demais abordagens em
outros contextos de aplicação.

5.3 Uso da prosódia no parsing da linguagem falada


Apesar da prosódia não ser um dado explícito da linguagem, é ela que guia atualmente
o parsing da linguagem falada. Os problemas de ambigüidade apresentados anteriormente
neste trabalho, são resolvidos agora com o uso das marcas prosódicas contidas na fala.
Os sistemas de reconhecimento da fala incorporam, além do reconhecimento dos fo-
nemas/sílabas, também a identificação das características prosódicas. Desta forma são
gerados grafos de probabilidades semelhantes ao da figura 4.6, mas acrescidos de eti-
quetas prosódicas. Estas etiquetas auxiliarão na desambigüação nos níveis de sintaxe,
semântica e pragmática.
Como os limites prosódicos nem sempre combinam com os limites sintáticos, é neces-
sária a colocação de etiquetas sintático-prosódicas, chamadas de limites M (de Modelo de
linguagem). Estes limites podem ser denominados limites ambíguos (MU), limites inexis-
tentes (M0) ou limites principais (M3). Normalmente, dentro dos limites M são mapeados
5 subclasses de limites sintáticos: limite inexistente (S0), com partículas (S1), com frases
(S2), com cláusulas (S3), com cláusulas principais ou frases livres (S4) [NOT 02].
Com relação a frases na forma de questão também pode haver disparidade prosódico-
sintática. Desta forma, questões prosódicas são indicadas por PQ e questões sintáticas são
indicadas por SQ [NOT 02]. Isto é necessário, uma vez que nem sempre uma descida na
onda fundamental (etiqueta prosódica F) indica uma questão na sua forma sintática.
Não foi encontrado na literatura a existência de etiquetas semânticas, mas há etiquetas
pragmáticas, utilizadas para indicar limites de contextos de diálogos, também chamados
de atos de diálogo. Estas etiquetas dependem do sistema, mas em geral D0 indica a
ausência de limite e Di é o diálogo do contexto i [HAS 02][NOT 02].
Para a inserção das etiquetas prosódicas, há diferentes formas de processamento que
podem ou não estarem relacionadas. Há técnicas de análise de atos de diálogo que não
realiza o parsing prosódico-sintático, por exemplo. Apesar disso, a compreensão da lin-
guagem falada envolve todas as etapas de parsing, que serão analisadas a seguir.

5.3.1 Prosódia na sintaxe


Uma vez que um sistema que use prosódia se utiliza deste conhecimento para melhor
realizar o reconhecimento das palavras, os grafos gerados já possuem etiquetas prosódicas
que guiarão o resto do processo. Ou seja, uma vez reconhecidas as hipóteses de palavras,
é necessário um caminhamento no grafo de hipóteses para que seja encontrada a melhor
seqüência de palavras.
A varredura do grafo de hipóteses pode ser feita por um algoritmo como A* ou de
Viterbi. Kompe indica que A* possui desempenho superior neste tipo de processamento
[KOM 97].
60

Figura 5.3: Modelagem sintático-prosódica [GAL 02].

A sintaxe utiliza-se da prosódia basicamente para duas operações: verificação da acen-


tuação e otimização da busca da melhor seqüência de palavras [KOM 97]. A acentuação
simplesmente verifica as etiquetas prosódicas a ela referentes. Já a seqüência de palavras
terá de ser devidamente pontuada, estabelecendo as frases sintáticas. Para tanto, serão
utilizadas as etiquetas de frases prosódicas e pausas anteriormente identificadas.
A partir das características prosódicas, também podem ser identificados os tipos de
frases e quebras da seqüência de fala. Por exemplo, seja a frase falada: vamos nos en-
contrar na ter... na quarta. Obviamente que a hesitação encontrada entre ter(ça) e na
será um fator determinante para uma adequada correção sintática: vamos nos encontrar
na quarta.
Cada sistema desenvolvido pode utilizar as caracteríticas prosódicas que forem úteis
para sua análise sintática. Gallwitz e outros, por exemplo, segmentaram o sinal de fala
em quadros de 10ms, calculando para cada um 24 características prosódicas. Estas são
apresentadas a uma rede neural para determinação dos limites das frases prosódicas. Estes
limites auxiliarão o processo de reconhecimento de palavras por um sistema baseado em
cadeias de Markov, uma vez que este poderá ser modelado a partir das frases prosódicas,
e não de um contexto sem determinação de pausas [GAL 02].
O sistema de Gallwitz baseia-se no fato de que os limites sintático-prosódicos ocor-
rem freqüentemente junto a sons de fundo, silêncio (pausas não-preenchidas) ou pausas
preenchidas. Para identificação destes limites, foram treinados modelos de Markov para
detecção dos eventos sintático-prosódicos, compondo as etiquetas prosódicas com as sin-
táticas, como demonstra a figura 5.3.
A modelagem prosódico-sintática otimiza o reconhecimento das palavras, como pro-
vado no sistema de Gallwitz. Uma vez que a construção das frases prosódicas seguem
uma regularidade dentro de uma língua, ela pode ser adequadamente modelada para o
reconhecimento das palavras componentes destas frases. Este tipo de processo permite
que o reconhecimento de palavras e a classificação prosódica sejam compostos num só
sistema, o que não ocorre normalmente.

5.3.2 Prosódia na semântica


Para a resolução de ambigüidades semânticas, utiliza-se da etiquetagem prosódico-
sintática. Para dada seqüência de palavras, é verificada a acentuação do conjunto. Com
base em regras, são avaliadas as melhores hipóteses de frases, segundo sua fluência.
Segundo Kompe, a prosódia auxilia na análise semântica no que se refere ao foco de
uma pronúncia [KOM 97]. O foco ou acento focal refere-se à ênfase dada a determinada
palavra na sentença devido a sua importância. Por exemplo, na frase vamos lá hoje, a
ênfase dada à palavra hoje define urgência, tendo, portanto, um significado diferente da
mesma frase sem a ênfase.
61
Mesmo numa mesma frase, sua pronúncia pode ter diferentes focos, ou seja, o foco
pode ser deslocado. No início deste capítulo foi dado um exemplo de deslocamento de
foco, com a frase o professor chegou. O foco pode estar em professor, em chegou ou
simplesmente não existir. Cada uma destas hipóteses gera um significado diferente para
uma mesma frase.
Outra informação semântica, já discutida anteriormente, é a inflexão de uma frase.
Esta pode ter o sentido de uma questão ou afirmação, o que muda completamente o sentido
da frase: agora posso ir? é muito diferente de agora posso ir.
A análise semântica resulta em mais anotações no grafo com as hipóteses de frases,
o qual, por sua vez, será analisado a nível pragmático. O processamento realizado pela
desambigüação semântica será muito relevante para a escolha do contexto de diálogo.

5.3.3 Prosódia na pragmática - os atos de diálogo


O diálogo tem sido uma área extensamente abordada em sistemas de compreensão
da linguagem falada. Portanto, é natural que a análise sintática e semântica seja deixada
num segundo plano, uma vez que, neste contexto, a correção ortográfica não é importante.
Nesta perspectiva, pode-se utilizar as etiquetas prosódicas diretamente na escolha de um
contexto de diálogo, otimizando o processamento através da queima de etapas desneces-
sárias.
Como comentado anteriormente, os contextos da análise pragmática são chamados de
atos de diálogo. Cada sistema define estes atos, que podem ser, por exemplo: requisição,
aceitação, despedida, cumprimento, sugestão, opinião, etc. Os atos podem ser, inclusive,
extremamente específicos, como para controles de jogos [HAS 02].
Nöth e seus colegas pesquisadores mostraram as vantagens da unificação das análises
de parsing [NOT 02]. Eles mostraram que é possível utilizar-se do grafo gerado pelo
reconhecedor de palavras com etiquetas prosódicas e processá-lo diretamente em função
da sintaxe e da semântica contida nos atos de diálogo.
Como mostra a figura , um caminho ótimo é fornecido pelo reconhecedor (a). Após,
é avaliada sintaticamente o melhor limite para o final de uma frase, que é mostrada pela
seta contínua (b). A partir de uma frase estabelecida, são avaliados os possíveis atos de
diálogo que combinariam com sua estrutura (c).
Neste sistema, os limites de frases são classificados por redes neurais do tipo per-
ceptron multicamada e a busca dos possíveis atos de diálogo é feita no grafo através do
algoritmo A*. Para que seja possível encontrar o ato de diálogo certo a equipe de Nöth
necessitou implementar um parser probabilístico de n-gramas (ver seção 3.2.1) para ser
um previsor de conceitos semânticos. Em outras palavras, foi treinado um sistema para
identificar uma ocorrência de determinadas expressões que identifiquem contextos. A es-
colha destas expressões é feita com base na ênfase dada à pronúncia de certas palavras,
que vão definir o foco do contexto semântico. Para cada contexto treinado no previsor,
é feita uma gramática de fragmentos que identifica a que atos de diálogo pertencem as
frases.
Numa outra abordagem, Stolcke e outros desenvolveram um sistema que identifica
atos de diálogo com base numa gramática de discurso, no reconhecimento de palavras e
nas características prosódicas da fala [STO 98]. A gramática de discurso refere-se a um
parser de n-gramas treinado com base nos 42 atos de diálogos definidos. O reconhecedor
de palavras foi treinado com trigramas para reconhecer palavras seguindo a modelagem
dos 42 atos de diálogo.
62

Figura 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).

As características prosódicas utilizadas são a duração, pausa, onda fundamental, ener-


gia e gênero (masculino/feminino). Estas características foram classificadas em árvores
de decisão, cujos nodos possuem estatísticas de ocorrências de determinada característica
prosódica.
Essas três abordagens têm suas probabilidades comparadas ao final do processamento.
A maior probabilidade define o ato de diálogo que será associado à pronúncia de entrada
do sistema.
Num sistema baseado inteiramente em redes neurais TDNN, Kipp mostrou que é pos-
sível a inferência de atos de diálogo a partir de etiquetas prosódicas [KIP 98]. Neste
sistema, há um conjunto de redes TDNN, cada uma destinada a representar determinado
ato de diálogo, confome o esquema da figura 5.5.
No sistema de Kipp, a entrada para as redes seria uma codificação de uma janela
de etiquetas prosódicas de dada sentença. Como as redes possuem um número fixo de
entradas, é necessário um esquema de janelamento, onde são avaliadas apenas as etiquetas
constantes na janela (veja figura 5.6). Estas etiquetas são codificadas e treinadas para o
reconhecimento de determinado ato de diálogo.
O reconhecimento final do ato de diálogo é dado por uma rede especialmente treinada
para identificar a maior probabilidade dentre as redes treinadas. Esta rede dará a saída
final para a identificação do ato de diálogo.
Muitas outras análises podem ser feitas através da utilização da prosódia. Este recurso
vem se concretizando como a otimização necessária que os sistemas de compreensão de
fala necessitavam para ultrapassar as técnicas do processamento da linguagem escrita.
Com o uso combinado da prosódia guiando o processo de parsing, têm sido obtidos exce-
lentes resultados, mostrando que esta é a técnica que faltava para a criação de verdadeiros
sistemas de diálogo.
63

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

[ABR 96] ABRAHÃO, P. R.; LIMA, V. L. S. Um Estudo Preliminar de Metodologias de


Análise Semântica da Linguagem Natural. In: Anais do II Encontro para o
Processamento Computacional de Português Escrito e Falado. XIII SBIA
`96. Curitiba: CEFET-PR, 1996.

[AND 98] ANDERSEN, J M. Baseline System for Hybrid Speech Recognition on


French (Experiments on BREF). In: IDIAP-Communications. IDIAP-Com
98-07, 1998.

[ARA 99] ARAI, K. et al. Grammar Fragment acquisition using syntactic and semantic
clustering. In: Speech Communication, [s.l.], 27, 1999, p. 43-62.

[BAR 98] BARKER, K. Semi-Automatic Recognition of Semantic Relationships in


English Technical Texts. University of Ottawa, 1998. PhD Thesis.

[BIL 99] BILMES, J. A. Natural Statistical Models for Automatic Speech Recog-
nition. University of Berkeley, 1999. PhD Thesis.

[BRO 99a] BRØNDSTED, T. The Natural Language Processing Modules in REWARD


and IntelliMedia 2000+. In: Kirchmeier-Andersen, S.; Thomsen, T. E. (eds.).
LAMBDA 25. Copenhagen Business School, Dep. of Computational Lin-
guistics, March 1999, pp. 91-108.

[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.

[BUO 96b] BUØ, F. D. FeasPar - A Feature Structure Parser Learning to Parser


Spontaneous Speech. Universität Karlsruhe, 1996, PhD Thesis.

[CAR 87] CARBONEL, J. G.; HAYES, P. J. Robust Parsing Using Multiple


Construction-Specific Strategies. In: BOLC, L. (ed.) Natural Language
Parsing Systems. Berlim: Springer-Verlag, 1987.

[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.

[CUN 82] CUNHA, C. F. Gramática da Língua Portuguesa. Rio de Janeiro: Fename,


1982.

[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.

[GRE 98] GREENBERG, S. Recognition in a new key - Towards a science of spoken


language. In: Proceedings of the International Conference on Acoustics,
Speech and Signal Processing. Seattle, EUA, 1998, p. 1041-1045.

[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.

[KOM 97] KOMPE, R. Prosody in Speech Understanding Systems. Berlin: Springer-


Verlag, 1997.
70
[KOV 97] KOVÁCS, Z. L. O Cérebro e a sua mente: uma introdução à neurociência
computacional. São Paulo: Edição Acadêmica, 1997.
[KIN 98] KING, S. A. Using Information Above the Word Level for Automatic
Speech Recognition. University of Edinburgh, 1998, PhD Thesis.
[LAM98] LAMEL, L. Spoken Language Dialog System Development and Evaluation
at LIMSI. In: ISSD 98. [S.l.], [s.e.], 1998.
[LAM 00] LAMEL, L. et al. The LIMSI ARISE system. In: Speech Communication,
[S.l.], 31, 2000, p. 339-353.
[LAR 98] LARSEN, L. B. (ed.); Brøndsted T.; DYBKJÆR, H.; DYBKJÆR, L. Brad
Music, Claus Povlsen: State-of-the-art of Spoken Language Systems. A Sur-
vey. In: Spoken Dialogue System Reports No 1. University of Copenhagen,
1992, R 92-1003, 82 p.
[LAV 96a] LAVIE, A. GLR*: A Robust Parser For Spontaneously Spoken Language.
In: Proceedings of ESSLLI 96. Praga: [s.e.], August 1996.
[LAV 96b] LAVIE, A. GLR*: A Robust Grammar-Focused Parser For Spontane-
ously Spoken Language. Carnegie Mellon University, 1996, PhD Thesis.
[MAN 01] MANNING, C. D.; SCHÜTZE, H. Foundations of Statistical Natural Lan-
guage Processing. Cambridge: MIT Press, 2001.
[MII 93] MIIKKULAINEN, Risto. Subsymbolic Natural Language Processing.
Cambridge: MIT Press, 1993.
[MII 97] MIIKKULAINEN, Risto. Natural Language Processing with Subsymbolic
Neural Networks. In: Browne, A. (ed.). Neural Network Perspectives on
Cognition and Adaptive Robotics. Bristol: Institute of Physics Publishing,
1997. p. 120-139.
[MIN 98] MINKER, W. Stochastic versus rule-based speech understanding for infor-
mation retrieval. In: Speech Communication, [S.l.], 25, Sep. 1998, p. 223-
247.
[MIN 99] MINKER, W.; GAVALDÀ, M.; WAIBEL, A. Stochastically-based seman-
tic analysis for machine translation. In: Computer Speech and Language,
[s.l.], 13, 1999, p. 177-194.
[MOR 95] MORGAN, N.; BOULARD, H. An Introduction to Hybrid
HMM/Connectionist Continuous Speech Recognition. In: IEEE Sig-
nal Processing, [s.l.], pp. 25-42, May 1995.
[NEA 87] NEAL, J. G.; SHAPIRO, S. C. Knowledge-Based Parsing. In: BOLC, L.
(ed.) Natural Language Parsing Systems. Berlim: Springer-Verlag, 1987.
[NOT 02] NÖTH, E. et al. On the use of prosody in automatic dialogue undestanding.
In: Speech Communication, [s.l.], 36, 2002, p. 45-62.
[OLI 98] OLIVEIRA, P. M. T. Auxílio Visual À Oralização de Surdos. Rio de Ja-
neiro, UFRJ, 1998. Dissertação de Mestrado.
71
[PAC 96] PACHECO, H. C. F.; DILLINGER, M.; CARVALHO, M. L. B. Uma nova
abordagem para a análise sintática do português. In: Anais do II Encontro
para o Processamento Computacional do Português Escrito e Falado.
Curitiba: CEFET-PR, 1996.

[PIT 87] PITRAT, J. Using Declarative Knowledge for Understanding Natural Lan-
guage. In: BOLC, L. (ed.) Natural Language Parsing Systems. Berlim:
Springer-Verlag, 1987.

[PRI 96] PRICE, P. Spoken Language Understanding. In: R. A. Cole, J. Mariani, H.


Uszkoriet, A. Zaenen, and V. Zue (eds.). Survey of the State of the Art
in Human Language Technology. Stanford: Cambridge University Press,
1996.

[RAB 78] RABINER, L. R.; SCHAFER, R. W. Digital Processing of Speech Signals.


Upper Saddle River: Prentice-Hall, 1978.

[RAB 93] RABINER, L. R.; JUANG, B. H. Fundamentals of Speech Recognition.


Englewood Cliffs: Prentice Hall, 1993.

[ROS 94] ROSENFELD, Ronald. Adaptive Statistical Language Modelling. Pitts-


burg: Carnegie Mellow University, 1994.

[RUS 93] RUSSO, I. C. P. Acústica e psicoacústica aplicados à fonoaudiologia. São


Paulo: Lovise, 1993.

[SAY96] SAYOOD, K. Introduction to data compression. San Francisco: Morgan


Kaufmann, 1996.

[SIK 97] SIKKEL, K. Parsing Schemata: A Framework for Specification and


Analysis of Parsing Algorithms. Berlin: Springer Berlag, 1997.

[SHA 96] SHARKEY, Noel, E; SHARKEY, Amanda, J. C. Separating Learning and


Representation. In: Wermer, S; Riloff, E.; Scheler, G. (eds.). Connectionist,
Statistical and Symbolic Approaches to Learning for Natural Language
Processing. Berlin: Springer-Verlag, 1996. p. 17-32.

[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.

[TEB 95] TEBELSKIS, J. Speech Recognition using Neural Networks. Carnegie


Mellon University, 1995, PhD Thesis.

[VAL 00] VALIATI, J. F. Reconhecimento de voz para comandos de direcionamento


por meio de redes neurais. Porto Alegre: PPGC da UFRGS, 2000. Disser-
tação de Mestrado.
72
[WEB 96] WEBER V.; WERMTER, S. Using hybrid connectionist learning for spe-
ech/language analysis. In: Wermter, S., Riloff, E., Scheler, G. (eds.). Con-
nectionist, Statistical and Symbolic Approaches to Learning for Natural
Language Processing. Berlin: Springer Verlag, 1996. pp. 87-101.

[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.

[WIT 98] WITTMANN, L. H.; RIBEIRO, R. D. Recursos Lingüísticos e Proces-


samento Morfológico do Português: o PALAVROSO e o projecto LE-
PAROLE. In: Lima, V. L. S. (ed.) Anais do II Encontro para o Proces-
samento Computacional do Português Escrito e Falado. Porto Alegre:
Todeschini, 1998.

[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.

[ZEC 98b] ZECHNER, K. Automatic Construction of Frame Representations for Spon-


taneous Speech in Unrestricted Domains. In: Proceeding of the CO-
LING/ACL 98. Montreal: [s.e.], 1998.

[ZEC 01] ZECHNER, K. Automaric Summarization of Spoken Dialogs in Unres-


tricted Domains. Carnegie Mellon University, 2001, PhD Thesis.

Vous aimerez peut-être aussi