Postagem em destaque

Linguagem: quando é preciso consultar um fonoaudiólogo?

Especialistas explicam quais sinais indicam atrasos na fala A maior parte das crianças começa a falar por volta dos 12 meses....

sábado, 16 de julho de 2011

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.

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)

Fonte: Mestrado de informática aplicada à educação

Nenhum comentário:

Postar um comentário