O
algoritmo da linguagem
O
parser da linguagem
As pessoas sempre tiveram medo de que suas criações pudessem superar
a sua inteligência. Quando a Inteligência Artificial surgiu em 1950,
parecia que esse fato iria se tornar realidade. As pessoas aceitavam o fato
do computador calcular o número pi com milhares de casas mas o fato deles
provarem teoremas e jogar xadrez era inaceitável. Com os computadores
resolvendo tarefas complexas como essas, parecia questão de tempo programar
o computador para realizar tarefas humanas corriqueiras, como a fala. No entanto,
a principal lição desses 52 anos de IA é que os problemas
difíceis são fáceis e os problemas fáceis difíceis.
Compreender
uma frase é um dos problemas fáceis difíceis. Quando nos
comunicamos com os computadores precisamos usar a língua dele, pois ele
não entende a nossa. Em 1965, Joseph Weizenbaum escreveu um programa
denominado ELIZA, que chamou bastante atenção por ser capaz de
se comunicar com o ser humano. Mas, na verdade, o que ele fazia era procurar
algumas palavras-chave numa linha fornecida, encontrar uma resposta pré-fabricada
em uma lista e inserir fragmentos da linha fornecida sem sua resposta.
Na
verdade, antes dos computadores começarem a se comunicar com o homem,
é necessário que os cientistas consigam descobrir como o nosso
cérebro processa a linguagem.
Para
compreendermos uma frase, o primeiro passo é analisá-la. No entanto,
não é fazer uma análise gramatical como aquelas que aprendemos
na escola, mas encontrar sujeitos, verbos, objetos, etc. agrupando-os em sintagmas,
semelhantemente ao que ocorre inconscientemente.
Segundo
Pinker (2002, p. 247-8), "a gramática em si é um mero código
ou protocolo, uma base de dados estática que especifica que tipos de
sons correspondem a que tipos de significado numa determinada língua."
Tanto a fala quanto a compreensão, compartilham uma mesma base de dados
gramaticais, no entanto, precisamos de um "programa mental" que especifique
o que a mente tem que fazer passo a passo, que analise a estrutura da frase
durante a compreensão da linguagem. A esse programa damos o nome de parser.
A melhor maneira de entendermos como a compreensão funciona é acompanharmos o parsing de uma simples sentença, gerada por uma minigramática Pinker (2002, p. 248):
"S - NP VP
'Uma frase pode ser formada de um sintagma nominal e um sintagma verbal.'
NP - (det) N (PP)
'Um sintagma nominal pode ser formado de um determinante opcional, um substantivo e um sintagma preposicional opcional.'
VP - V NP (PP)
'Um sintagma verbal pode ser formado de um verbo, um sintagma nominal e um sintagma preposicional opcional.'
PP - P NP
'Um sintagma preposicional pode ser formado de uma preposição e um sintagma nominal.'
N - menino, menina, cão, gato, sorvete, doce, sanduíche
'Os substantivos do dicionário mental incluem menino, menina...'
V - come, adora, morde
'Os verbos do dicionário mental incluem come, adora, morde.'
P - com, em , ante
'As preposições incluem com, em, ante.'
det - um, o certo
'Os determinantes incluem um, o, certo.'"
O
parser monta uma árvore de cima para baixo na tentativa de identificar
os elementos da frase. Supondo a frase O menino vê televisão, a
primeira palavra que chega ao parser é o, ela acessa o dicionário
mental e encontra uma regra que determina o seu posicionamento no primeiro ramo
da árvore, como determinante. Como todas as palavras fazem parte de um
sintagma maior, ele identifica o NP, observando o que está à direita
do o. Como NPs não ficam soltos, sem frase, é preciso buscar os
outros componentes da sentença, usando a regra para sentenças.
O
ramo solto N equivale a um substantivo, quando o parser encontra a palavra menino,
confirma a sua expectativa. Com o NP completo, resta completar o S. Quando encontra
o verbo vê, o parser confirma a presença do VP. O parser sabe agora
que precisa completar o VP com um sintagma nominal. A próxima palavra
é televisão, que se encaixa no ramo vazio do NP, completando a
frase.
À
medida que completa os sintagmas, o parser apaga as partes da memória
e mantém o todo. Com a união dos galhos, ele constrói o
significado da sentença, utilizando as definições do dicionário
mental e os princípios que regem sua combinação. Combinando
a semântica do sujeito com a semântica do VP, conseguimos compreender
a frase.
No
percurso do parser, encontramos duas idéias do campo da computação:
a memória (temos que manter em mente os sintagmas até completá-los)
e a tomada de decisão (quando uma palavra ou sintagma se encontra do
lado direito de duas regras diferentes, temos que decidir qual usar para construir
o próximo ramo da árvore). Conforme a primeira leia da Inteligência
Artificial (os problemas difíceis são fáceis e os fáceis
são difíceis), verifica-se que a parte da memória é
difícil para as pessoas e fácil para o computador, e a tomada
de decisão é fácil para as pessoas e difícil para
o computador.
Um
parser exige vários tipos de memória, mas a mais óbvia
é a necessária para sintagmas incompletos. Os computadores, geralmente,
usam a estrutura de pilha para fazer esse tipo de armazenamento. Também
as pessoas têm que utilizar um pouco de sua memória de curto prazo
para sintagmas soltos, mas essa memória é limitada a média
geral de sete mais ou menos dois elementos.
Quanto
mais rápido a frase puder ser agrupada em sintagmas completos, mais compreensível
ela será. Como exemplo, temos as árvores ramificadas à
direita ou à esquerda (dependendo da geometria de suas árvores
de estruturas sintagmáticas). Nessas árvores, fazendo o percurso
da esquerda para a direita, somente um dos galhos ficam incompletos por vez.
Existe
ainda um outro tipo de geometria, chamada de cebolas ou bonecas russas, que
torna a compreensão das frases mais difícil. Nesse caso, frases
são encaixadas dentro de outras frases como no exemplo (PINKER, 2002,
p.257): "A rapidez que o movimento que a asa que o beija-flor tem tem tem
é notável."
Por
que é mais difícil interpretar frases que são como cebolas
ou bonecas russas? Segundo Pinker (2002), o que atrapalha o parser humano não
é a quantidade de memória mas o tipo de memória. Quando
um tipo de sintagma tem de ser lembrado mais de uma vez - de maneira que tanto
ele quanto o tipo de sintagma idêntico a ele, onde ele está inserido,
tenham que ser completados em ordem - não existe lugar suficiente na
lista de controle e eles podem ser completados inadequadamente.
Diferente
da memória, a tomada de decisão é mais fácil para
o computador do que para as pessoas. Existem muitas ambigüidades na língua,
como substantivos que, dependendo da frase, podem aparecer como verbos e sintagmas,
que podem assumir posições diferentes na frase. Essas ambigüidades
criam para o parser um número enlouquecedor de bifurcações
em cada passo da formação da árvore. O computador consegue
testar todas essas possibilidades e retornar uma única árvore
e seus significados associados.
Mas
neste ponto existe um problema, os parsers de computador são meticulosos
demais e acabam encontrando ambigüidades que os seres humanos não
encontrariam. Como os parsing humanos eliminam essas ambigüidades improváveis?
Uma das respostas é que o nosso cérebro seria como o computador
e testaria todas as possibilidades, eliminando de alguma forma as alternativas
improváveis. A outra é que o parser humano aposta em uma alternativa
mais provável de ser a verdadeira e avança com uma interpretação
única até onde for possível. Na computação
damos o nome, respectivamente, de busca em largura e busca em profundidade para
esses procedimentos.
A
busca em profundidade seria a mais provável de acontecer, já que
existem ambigüidades muito sutis que nunca são reconhecidas. Com
uma só árvore na cabeça economiza-se espaço de memória,
ao preço de ter de reiniciar o processo se a aposta for na árvore
errada. Mas qual seria o critério para a escolha dessa árvore
única? Uma das possibilidades é que toda a inteligência
humana é usada para resolver esse problema, fazendo o parsing da frase
de cima para baixo. Dessa maneira, se as pessoas conseguissem deduzir o significado
da frase de antemão, prevendo as intenções do falante,
nem chegaria a construir esse galho da árvore. Mas usar toda a inteligência
humana tornaria o processo muito lento, dessa forma pesquisas ainda tentam descobrir
quanto da inteligência é utilizada nesse processo.
Apesar
da descrição da linguagem em árvores, uma frase não
é apenas uma árvore. Até o início dos anos 60 quando
Chomsky propôs as transformações de estruturas profundas
em estruturas de superfície, os psicólogos tentavam descobrir
algum tipo de impressão digital dessa transformação utilizando
técnicas de laboratório.
Segundo Chomsky, a estrutura superficial é a manifestação física do enunciado. Como um mesmo significado pode ser veiculado através de padrões muito diferentes de sons e letras, não pode existir uma relação simples entre estrutura superficial e significado. A estrutura profunda deve estar relacionada à estrutura superficial por regras que especificam como o significado se projeta na fala e explicam, entre outras coisas, a paráfrase e a ambigüidade. Chomsky criou uma regra acerca desses sistemas de regras.
Segundo Chomsky, a estrutura superficial é a manifestação física do enunciado. Como um mesmo significado pode ser veiculado através de padrões muito diferentes de sons e letras, não pode existir uma relação simples entre estrutura superficial e significado. A estrutura profunda deve estar relacionada à estrutura superficial por regras que especificam como o significado se projeta na fala e explicam, entre outras coisas, a paráfrase e a ambigüidade. Chomsky criou uma regra acerca desses sistemas de regras.
Sem
conseguir nenhuma comprovação científica, os estudos foram
abandonados por muitos anos. No entanto, as técnicas de laboratório
se sofisticaram, e a descoberta de algo parecido com uma operação
transformacional na mente e no cérebro das pessoas tornou-se um dos achados
recentes mais interessantes da psicologia da linguagem.
Dessa
forma, podemos afirma que a fala é algo bem diferente de O menino vê
televisão, e que para compreender uma frase é preciso bem mais
do que um mero parsing. A informação semântica obtida de
uma árvore é apenas uma das premissas de que a compreensão
faz uso, dentro de uma complexa cadeia de inferências sobre as intenções
do falante. (PINKER, 2002) Referencia:
ALLEN, James. Natural language understanding. California: Benjamin/Cummings , 1987.
MILLER, George A. The science of words. New York: Scientific American Library, 1996.
PINKER, Steven. O instinto da linguagem: como a mente cria a linguagem. São Paulo: Martins Fontes, 2002.
SCARPA, Ester Mirian. Aquisição da linguagem. In: MUSSALIM, Fernanda; BENTES, Ana Cristina. Introdução à lingüística: domínios e fronteiras. São Paulo: Cortez, 2001. v.2.
STILLINGS, Neil A. Cognitive Science: an introduction. Cambridge: Massachusetts Institute of Technology, 1989.
Estudo extraído:
http://www.nce.ufrj.br/ginape/publicacoes/trabalhos/t_2002/t_2002_renato_aposo_e_francine_vaz/algoritmo.htm
Nenhum comentário:
Postar um comentário