segunda-feira, 17 de agosto de 2009

Comunicando com as máquinas

Passei pela era do vídeo cassete sem saber usá-lo. Nunca consegui programá-lo, e fiquei feliz ao substituí-lo por um aparelho de DVD, pois este sei usar. Bem, não é propriamente usar todas as funções, mas pelo menos não preciso programá-lo. Ainda me arrepio também quando preciso trocar a mensagem ou a data da secretária eletrônica. Chegamos ao cúmulo de ter em casa uma secretária eletrônica distribuindo mensagens em inglês aos desavisados, por um motivo que nunca descobri. Está certo que pode ser charmoso ter secretária eletrônica falando inglês, mas com voz de homem? Em casa? Não pega bem!

No meu mundo ideal, gostaria de dar ordens às máquinas através de comandos falados. Poderia ser com bilhetes escritos, também, mas o bom mesmo era poder comandar as máquinas de casa e do trabalho, com a voz. Coisas simples: “Por favor, acerte o horário do relógio para tal hora”. “Grave o programa no canal 2, às 5 horas da tarde”. Para o telefone celular, então, imagine poder dizer: “Substitua o telefone do meu irmão pelo novo número X”. Um sonho, não?

É verdade que já há muitos aparelhos que recebem comando de voz. Mas suas funcionalidades são muito limitadas, e a chance de erro para tarefas mais complicadas é enorme. Em outras palavras, estamos muito longe da situação descrita em filmes de ficção científica, em que robôs se comunicam com os humanos sem dificuldade. Voltarei a falar dos furos da ficção científica numa outra oportunidade.

Estudos nas últimas décadas de como processar textos escritos ou falados em língua natural, como o português, o inglês ou chinês, explicam por que é tão difícil conversar com as máquinas. Peguemos o caso mais simples dos textos escritos, para evitar a complicação de ter que decifrar o que foi falado. O que um computador precisaria para entender o texto?

Em primeiro lugar, o computador precisa conhecer as palavras. Isso não é difícil. Com a grande capacidade de memória atualmente, é simples armazenar todas as palavras de uma língua no computador. O problema é que algumas palavras têm mais de um sentido – como manga que pode ser fruta ou manga de camisa. Esta dificuldade também não é tão grande porque podemos classificar as palavras no dicionário eletrônico, de maneira a distinguir os 2 significados. As complicações maiores surgem quando uma sentença inteira precisa ser compreendida. O computador precisa fazer análise sintática – que não é fácil nem para os humanos. E resolver muitas ambigüidades. Para saber quem executa as ações, quem ou quais coisas são afetadas, etc.

Há diversas maneiras de tratar os problemas mencionados, e muito se tem investido neste sentido. O grau de sucesso é variável, dependendo do problema e da língua considerada. Por razões óbvias, houve muito mais avanços para o inglês. O que de fato faz com que ainda estejamos muito longe do sonho da comunicação eficaz com um computador, ou uma máquina qualquer, é a necessidade de incorporar conhecimento de mundo.

Por conhecimento de mundo quero dizer que o computador deveria ser capaz de fazer inferências a partir de um contexto. Por exemplo, se eu disser que Leonardo da Vinci esteve em casa ontem, jantando carne de dinossauro, o computador deveria desconfiar de que há algo errado. O “ontem” não poderia ser referência a um dia do século XXI, e nem Leonardo da Vinci poderia comer carne de dinossauro.

Para mostrar que não só as máquinas que podem ter dificuldade em compreender um texto, coloco abaixo um desafio para os leitores. O mesmo foi passado à minha classe no ginásio, pelo querido professor de português de Barretos, João Ferraz. É o seguinte: coloque vírgulas e pontos no trecho abaixo, para que faça sentido.

Maria quando toma banho sua mãe diz ela traga a toalha enxuta.

Se achar difícil, tente a ajuda do computador!

Nenhum comentário:

Postar um comentário