Por mais de uma década
tenho dado palestras em que tento explicar o porquê de autores de ficção
científica terem errado tão grosseiramente nas previsões de comunicação do
homem com a máquina. De fato, em filmes e livros de ficção dos anos 1960-1970
era comum haver robôs que se comunicavam sem dificuldade com os humanos. E como
sabemos, isso está muito longe de ocorrer. São várias as razões para esses
erros de previsão, mas talvez a mais importante tenha sido não reconhecer a
complexidade da linguagem humana, e a necessidade do chamado “conhecimento de
mundo” para uma comunicação eficaz. Mesmo crianças em fase de aprendizado da
língua já detêm um volume gigantesco de informações e estratégias, que hoje parecem
impossíveis de processar por um computador.
Nas palestras menciono as duas abordagens de processamento
automático de línguas naturais (PLN), a simbólica e a estatística (ou
conexionista e agora também chamada de baseada em corpus ou em aprendizado de
máquina). Para uma audiência de não especialistas, é fácil explicar os
requisitos de um sistema de processamento no paradigma simbólico, o que inclui
dicionários, analisadores sintáticos e semânticos. Minha ênfase – até porque é
fácil de a audiência perceber – é sempre voltada para a dificuldade de resolver
ambiguidades, principalmente nos casos em que conhecimento de mundo é
necessário. Dou exemplo de sentenças que mesmo humanos não conseguem decifrar,
a menos que tenham experiência de uma cultura local, e para tanto uso sentenças
em inglês cuja compreensão requer conhecimento da cultura britânica. Se houver
membros na audiência com tal experiência as sentenças são facilmente
decifráveis, e não havendo preciso dar pistas para que a audiência adivinhe o
significado. Em ambos os casos, a dificuldade de interpretação por um
computador fica claramente demonstrada.
Chegou a hora de reconhecer que eu estava enganado; infelizmente
não informei minhas audiências corretamente por todos esses anos ao me fixar
nas dificuldades de processamento, dando a entender que dificilmente o homem se
comunicaria com a máquina de forma natural. Meu primeiro erro foi não ter a
percepção de que o outro paradigma de PLN, que hoje se apoia nos métodos de
aprendizado de máquina, pode dar resultados muito superiores aos do paradigma
simbólico, o que já acontece nos tradutores automáticos. Mas o erro crucial foi
não compreender que o aprendizado de máquina mimetiza – ainda que de maneira
rudimentar – o aprendizado humano. Portanto, quando a capacidade de
processamento da máquina se equiparar à dos humanos, os sistemas computacionais
devem apresentar habilidades semelhantes na produção e recepção de uma língua, talvez
com menor eficiência (será?). Minha opinião sobre os limites do PLN mudou
drasticamente em 2011 quando o computador Watson da IBM venceu campeões humanos
na competição Jeopardy, um programa de perguntas e respostas de conhecimentos
gerais da TV americana. Agora prevejo um progresso tão espetacular que
permitirá comunicação com computadores num futuro não muito distante, desde que
a capacidade de processamento de um computador continue aumentando com taxas
semelhantes às atuais (no que é chamado de Lei de Moore).
PLN
baseado em aprendizado de máquina
Neste paradigma de PLN, métodos computacionais de
aprendizado de máquina são empregados para aquisição de conhecimento a partir
de grandes corpora, ou seja, a partir de exemplos. A eficiência do paradigma
ficou clara nos últimos anos, à medida que o armazenamento de grandes volumes
de informação linguística passou a ser praticamente ilimitado com todo o
material hoje disponível em meio eletrônico. Para tradução automática, por
exemplo, foram necessários corpora volumosos de textos alinhados para as
línguas em questão. Na competição Jeopardy mencionada acima, o supercomputador
Watson foi projetado especificamente para a tarefa de perguntas e respostas,
com capacidade de processar cerca de um milhão de livros por segundo, e com
acesso a grande parte do material disponível em meio eletrônico em língua
inglesa.
Pode-se agora antever novos desdobramentos que
revolucionarão os sistemas de busca na Internet e aplicativos similares. Para
dar um exemplo simples, imagine que todos os objetos de certo domínio sejam
definidos numa enciclopédia. Para o sistema computacional será fácil responder
a qualquer pergunta do tipo “O que é ....?” Exemplo semelhante, talvez um pouco
mais difícil, será responder perguntas do tipo “Quem fez ....?” ou “Quem foi
...?”, a partir de bases de dados.
Computador
ou máquina personalizada
Para
justificar algumas das previsões e meu otimismo com PLN baseado em aprendizado
de máquina, discuto como as máquinas no futuro podem ser diferentes das de hoje.
Quando compramos um computador, o hardware vem acompanhado de uma série de
softwares, sendo o principal o sistema operacional. Além disso, muitos
programas já vêm instalados, de maneira que cada máquina já tenha dezenas ou
centenas de programas. Uma característica interessante é que as máquinas são
quase iguais para todos. Há obviamente uma particularização da língua natural
para comunicação com o usuário, há diferentes sistemas operacionais e algumas
outras especificidades. Mas só. Prevejo que em décadas os usuários acharão
bizarro que todos tenhamos computadores quase iguais, “sem personalidade”, e
com um número pequeno de programas. Para esses usuários do futuro que receberão
um computador com milhões ou bilhões de programas, será difícil imaginar o
nosso tempo, assim como os jovens agora se divertem em saber que já usamos
computador sem disco rígido.
Em suma, o computador no futuro já terá muito mais
conhecimento embutido, e provavelmente contará com estratégias que permitam
aumentar esse conhecimento automaticamente com aprendizado de máquina. Hoje o
acréscimo é muito tímido, a partir da instalação pelo usuário de programas,
bibliotecas e funcionalidades. Tudo em pequena escala e de forma manual.
A possibilidade de aprendizado contínuo do computador suscita
a necessidade de independência, para que a aquisição de informação (ou
conhecimento?) se dê sem intervenção de um humano. Isso já seria possível atualmente
com hardware específico e mobilidade da máquina, como um robô. Podemos imaginar
a máquina funcionando com bateria recarregável, que buscará fonte de energia
quando necessário. Imagina-se, também, um robô dotado de visão e uma série de
sensores que permitam sentir e avaliar o ambiente. A decisão, ou “desejo”, de
adquirir novos conhecimentos – da Internet, de algum repositório ou de outras
máquinas – será dada pelo programa que gerencia as ações da máquina. Como
obviamente o programa foi escrito por um humano, aparentemente a máquina não
tem independência. Mas a dependência pode ficar invisível quando não mais for
possível descobrir qual dos milhões de programas que vieram com o computador é
responsável pelo gerenciamento geral. Ou mesmo se tal programa não foi – ele
próprio – produzido por outra máquina, a partir de modificações de um programa
originalmente escrito por humanos.
A educação de uma máquina
Este é um ponto interessante devido à analogia com educação
de crianças numa sociedade. Mesmo considerando que cada máquina já poderá vir
personalizada a partir das escolhas do comprador (falarei sobre isso mais
tarde), o que ela aprenderá vai depender das instruções do dono e do ambiente.
Se o dono usar duas ou mais línguas, por exemplo, a máquina adquirirá
conhecimento nessas línguas. Para um dono que trabalha no mercado financeiro, a
máquina deverá se tornar especialista em estatística, ações, câmbio e
acompanhar todo o noticiário de negócios.
Imagino que a máquina possa ser auxiliar, cuidando dos
diversos assuntos que o dono definir. Pode fazer gerenciamento de contas
bancárias, cuidar da agenda do dono, preparar material de suporte para o
trabalho do dono, etc. Por exemplo, fazer pesquisa na literatura e preparar
material didático para um dono professor. Obviamente que para realizar a
maioria das tarefas, estou supondo que a Internet será acessível para as
máquinas, o que ainda não é possível. Mas há propostas nesse sentido, como a
Web Semântica.
Gestação
de uma máquina
A aquisição de uma
máquina será um processo muito mais complicado do que é comprar um computador
hoje. Para personalizar a máquina (robô) há que se decidir como selecionar os
milhões ou bilhões de programas e aplicativos, o que deverá levar muito mais
tempo e provavelmente terá que ser feito com apoio de uma (outra) máquina. Não
se pode esperar que um humano vá saber em detalhe o que selecionar. É esta
dificuldade de identificar a origem das decisões que dá o aspecto de
independência para as máquinas. Elas parecerão ter vontade própria,
simplesmente porque não saberemos explicar como as decisões são tomadas. Neste
contexto, reparar uma máquina avariada – ou que simplesmente esteja se
comportando de maneira inesperada - será muito mais complicado, pois o cenário
é completamente distinto do atual em que um humano especialista localiza o
problema, conserta ou substitui um componente (programa ou elemento de
hardware).
Aqui surge uma possibilidade interessante. Suponhamos um
casal recém-casado, cada qual com seu agente (robô ou só agente de software).
Esses agentes terão sido treinados de acordo com os gostos e necessidades dos
donos. Ao iniciar a nova vida juntos, o casal percebe que seria mais eficiente
conciliar agendas e aplicativos, e decide adquirir uma nova máquina (novo
agente). Para selecionar a especificação inicial, como mencionado acima, e
posteriormente treinar a nova máquina, será necessária a atuação conjunta das
máquinas do casal. Ou seja, a nova máquina herdará características da máquina
do marido – chamemos máquina-pai – e da esposa, a máquina-mãe. Seria como
receber o código genético dos pais (máquinas neste caso); a propósito a
metáfora que deu origem aos algoritmos genéticos provavelmente já estará sendo
usada para a herança de características. Incompatibilidades poderão aparecer na
junção dessas características, e imagino que devamos esperar que a máquina-filha
seja diferente das que lhe deram origem, apesar da herança. Fenômenos como
mutações poderão ocorrer, de maneira muito semelhante ao que acontece em
biologia. E o que é mais relevante: quando quisermos descobrir a razão para
certos comportamentos da máquina, como abordagens para resolver problemas ou
como decisões são tomadas, pode não ser fácil determinar a origem. O
comportamento pode ter sido adquirido das máquinas-pais ou aprendido no
processo de aquisição de conhecimento da nova máquina.
Máquina
pode ter sentimento?
Um argumento comum daqueles que não acreditam que o
computador pode superar o humano é de que uma máquina jamais terá sentimento.
Parece verdade. Mas o que é sentimento? Como se sabe que as pessoas têm
sentimento? Ora, sabemos que elas têm sentimento por sua reação ao interagir
conosco. Usando essa definição de “sentimento”, ou seja, o que é inferido por
nossa percepção de uma reação da pessoa, então acredito que as máquinas podem
ter sentimento. As reações das máquinas atuais são muito artificiais, e
facilmente descobrimos que se devem a estímulos previamente programados por
humanos. Mas e quando não for possível determinar a origem das decisões das
máquinas? E se estas usarem uma lógica fuzzy
para alguns tipos de decisão, dando a impressão de serem irascíveis? Quando as
reações das máquinas puderem ser muito variadas, e não formos capazes de
compreender sua origem, atribuiremos a elas sentimentos!
A máquina então passará
no teste de Turing, sem que consigamos distinguir sua reação da de um humano.