“Um dos pioneiros na computação, Alan Turing, propôs um bom teste de inteligência artificial: se a máquina puder conversar com o ser humano sem que ele perceba que está dialogando com uma máquina, esta será ‘inteligente’.”
Este primeiro parágrafo do artigo Psiquiatra Eletrônico resume o Teste de Turing — proposto pelo matemático e cientista da computação Alan M. Turing (1912-1954). Na época da edição dos fascículos do Microcomputador Curso Prático (década de 80) era bastante usual a divulgação de listagens de programas em BASIC em livros e revistas para digitação. E o artigo em questão apresentava, também, um programinha bastante curto (com menos de 70 linhas de código) que tinha um pequeno repertório de respostas abertas — “sim…”, “conte mais…”, “continue…” — e analisava a presença de algumas palavras-chave. E, assim, simular o comportamento de um terapeuta não direcional.
Apesar de o artigo não mencionar o ELIZA, o programa em questão constitui uma versão reduzida, simplificada (para fins didáticos) e traduzida para o BASIC da listagem original de 1966 de Joseph Weizenbaum (1923-2008). O trabalho de Weizembaum (ELIZA — A Computer Program For the Study of Natural Language Communication Between Man and Machine) descreve as regras internas que produzem as respostas do ELIZA às palavras do usuário.
Como diz o Resumo do trabalho:
ELIZA is a program operating within the MAC time-sharing system at MIT which makes certain kinds of natural language conversation between man and computer possible. Input sentences are analyzed on the basis of decomposition rules which are triggered by key words appearing in the input text. Responses are generated by reassembly rules associated with selected decomposition rules. The fundamental technical problems with which ELIZA is concerned are:
- the identification of key words,
- the discovery of minimal context,
- the choice of appropriate transformations,
- generation of responses in the absence of keywords, and
- the provision of an ending capacity for ELIZA “scripts”.
A discussion of some psychological issues relevant to the ELIZA approach as well as of future developments concludes the paper.
E, mais adiante, na Introdução:
It is said that to explain is to explain away. This maxim is nowhere so well fulfilled as in the area of computer programming, especially in what is called heuristic programming and artificial intelligence. For in those realms machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained in language sufficiently plain to induice understanding, its magic crumbles away; it stands revealed as a mere collection of procedures, each quite comprehensible. The observer says to himself “I could have written that”. With that thought he moves the program in question from the shelf marked “intelligent” to that reserved for curios, fit to be discussed only with people less enlightened that he.
The object of this paper is to cause just such a reevaluation of the program about to be “explained”. Few programs ever needed it more.
O nome ELIZA advém da personagem Eliza Doolitle da peça Pigmalião de George Bernard Shaw (1856-1950), onde a personagem em questão recebe aulas de etiqueta e de dicção para “se passar” por uma dama da alta sociedade londrina. Da mesma maneira, o programa aplica uma série de regras para “se passar” por um psicoterapeuta rogeriano.
O programa consegue se passar inicialmente por um ser humano, mas alguns minutos de conversa logo deixam claro que o programa não possui nenhum entendimento semântico; mesmo assim, pelo aspecto lúdico, a maioria das grandes plataformas de computadores e sistemas operacionais surgidos desde a década de 70 possuem uma versão do programa. E o uso de linguagem natural pela interface viria a influenciar o desenvolvimento de outros programas, como jogos de aventura baseados em texto.
A reprodução da listagem original no site GitHub (em 1966_01_CACM_article_Eliza_script.txt) possui 16,3 KB. Os atuais chatbots, seus descendentes mais modernos, são bem maiores e muito mais frequentemente rodam em servidores ao invés de localmente em computadores pessoais; mesmo assim, possuem um “conhecimento” semântico e sintático restritos, e só conseguem passar pelo teste de Turing em interações muito específicas.
Nota 1:
Alguns exemplos de chatbots modernos:
- Alexa (Amazon)
- Bixby (Samsung)
- Cortana (Microsoft)
- Google Assistant (Android)
- Siri (macOS e iOS)
(Fonte: https://mobilemonkey.com/chatbots.)
Nota 2:
“O que é inteligência?”
Bibliografia:
Ireland, Corydon. Alan Turing at 100. The Harvard Gazette. 13/09/2012. Acessado em junho de 2022.
Navarro, Jesse (ed.) Microcomputador Curso Prático. Rio Gráfica, 1985. p. 204-5 (v. 1),537-9 (v. 2).
Weizenbaum, Joseph. ELIZA — A Computer Program for the Study of Natural Language Communication Between Man and Machine. Communications of the ACM. Jan 1966;9:36–45.
Eliza (1966). MobyGames. Acessado em junho de 2022.
The Turing Test, 1950. The Alan Turing Internet Scrapbook. Acessado em junho de 2022.