Eliza: A história da inteligência artificial do Emacs

Emacs Eliza

A história de Eliza: A psiquiatra de inteligência artificial do Emacs

 Eliza, como já é de conhecimento de muitos de nós, é uma psiquiatra feita de inteligência artificial que fica escondida no editor de texto emacs. Bastando digitar no terminal de comandos M-x doctor, é disponibilizado um chatbot dentro do emacs que te serve como uma psiquiatra e responderá as suas perguntas.


 Mas quem criou a Eliza? E com qual propósito? Como é uma inteligência artificial do Emacs, não teria sido Richard Stallman o autor da Eliza? E a resposta para a ultima pergunta é não. Mesmo que muitos afirmam que sim por ter trabalhando no instituto de inteligência artificial do MIT, na verdade aqui neste artigo vamos tratar do verdadeiro pai da Eliza.

 Muito se fala sobre inteligência artificial nos dias atuais. As pessoas passaram a temer que algo como exterminador do Futuro de James Cameron possa ser desencadeado com tal tecnologia. AI é algo muito presente no Linux; a versão 4.0 do kernel Linux foi lançada tendo como destaque exatamente estar pronto para AI; em 2015 a empresa Takepoint anunciou um rifle com Linux que mira automaticamente (lendo tal noticia, parece que cada vez mais esse temor se concretiza). Mas de onde surgiu a ideia de inteligência artificial? Quem são seus autores? E para qual finalidade?

 Em 1950, Alan Turing publicou o Teste de Turing (Turing Test) que na verdade o nome real é Maquinário e inteligência da computação (COMPUTING MACHINERY AND INTELLIGENCE) que propõe a teoria se computadores seriam realmente capazes de pensar como seres humanos ao ponto que humanos não conseguiriam distinguir se estariam conversando com máquinas ou com humanos de verdade. Este artigo é um dos princípios da inteligência artificial; porém, no mesmo ano, Isaac Asimov publicaria a ficção cientifica Eu, Robo que em 2004 se tornia o filme estrelado por Will Smith. Asimov também é o autor das Leis da Robótica (criadas em 1942) que determina três regras que os robôs devem seguir para não representarem uma ameaça a humanidade (são regras que podem ser percebidas na animação Astro boy de 2009).

 A inspiração para o nome da obra de Asimov veio de outra obra datada de 1939 de autoria dos irmãos Earl e Otto Binder (Otto é conhecido por ser o co-autor de Supergirl) que se chamava exatamente... Eu, robo... E em 1942, seria publicado Adam Link salva o mundo (também de autoria de Earl) e que basicamente é uma continuação da obra de 1939. Anterior as obras citadas, já havia peça teatral A revolta dos robôs, originalmente conhecida como R. U. R (abreviação de Rossumovi Univerzální Roboti = Robôs Universais de Rossum) escrita pelo tcheco Karel Čapek em 1920.


 Ok, mas o que todas essas obras tem a ver com a Eliza? Na verdade somente uma nos interessa para a explicação, que é o teste de Turin. Eliza foi criada em 1.966 pelo judeu Joseph Weizenbaum (um dos fundadores do campo de inteligência artificial do M.I.T) em uma linguagem de programação de sua autoria chamada MAD-SLIP e que foi baseada nas linguagens Algol e Lisp. MAD (Michigan Algorithm Decoder) baseada na linguagem AlgolSLIP (Symmetric LIst Processor) o recurso de processamento de listas baseado na linguagem LISP e que foi adicionado à linguagem MAD em 1963. O código da Eliza está disponível em PDF sob a licença CC0.

Joseph Weizenbaum, o verdadeiro pai da Eliza
Joseph Weizenbaum, o verdadeiro pai da Eliza

 Weizenbaum descreve como a ELIZA funciona:
"De um ponto de vista, um script ELIZA é um programa e ELIZA ser um interpretador. De outra perspectiva, ELIZA aparece como um ator que deve depender de um script para suas linhas. O script determina o framework contextual que a ELIZA pode estar esperando para conversar plausivelmente".
 O primeiro programa a ser executado chama-se DOCTOR e o nome da damília desses programas é ELIZA. O DOCTOR faz com que a ELIZA responda as perguntas. somente o nome DOCTOR apareceu em sua publicação em 1966, não o código ELIZA que interpreta os scripts.


 Na época as pessoas chegaram a acreditar que a ELIZA teria sido escrito em Lisp devido Bernie Cosell ter escrito sua própria versão de ELIZA na linguagem Lisp. Cosell nunca viu o código original da ELIZA, mas se baseou na descrição de algoritmo de Joseph Weizenbaum. 

  A Eliza passou no Teste de Turing provando que o conceito de computadores com inteligência parecida com a humana é facilmente algo falso. O chatbot psicoterapeuta parece estar conversando com você, mas que no decorrer da conversa, parece estar mudando de assunto ou as frases começam a ficar repetitivas e não fazer mais sentido. O que ocorre é que a Eliza respondia somente a certos parâmetros das conversas; ao invés de ler toda a frase, a Eliza lia certas palavras chaves do seu texto e respondia baseado nisso. 

 O nome ELIZA foi inspirado no personagem Eliza Doolitle da peça teatral Pigmalião de George Bernard Shaw. Joseph demonstrou como é fácil fazer com que um computador aparente ser inteligente. ELIZA é de certa forma a precursora de tecnologias que utilizamos hoje em dia como Siri da  Apple, Alexa da Amazon, Google assistente e Cortana da Microsoft; mas existem  vários clones da ELIZA que podem ser conferidos clicando aqui. Um deles é o GNU EMACS "doctor" (disponível aqui) e como está descrito na página de clones da ELIZA que:

"Eles afirmam utilizar técnicas semelhantes à da clássica Eliza mas não dizem se é baseado no código Lisp de Cosell ou na publicação de Weizenbaum. Embora seja desconhecido se Stallman na verdade viu a versão de Cosell, é bem parecido com o que ele fez, sendo um hacker Lisp e nos arredores do MITna época que a versão de Lisp estaria circulando."

 Eu não duvido que Stallman teve acesso a esse material na época e que através desse material ele tenha desenvolvido GNU EMACS doctor mas que não vá admitir já que reconhecer o trabalho de terceiros não é o seu forte (eu acredito que ele tenha até mesmo utilizado o código que teve acesso).

Comente com o Facebook:

Nenhum comentário:

Postar um comentário

Viu algum erro e quer compartilhar seu conhecimento? então comente aí.

Observação: somente um membro deste blog pode postar um comentário.

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (19) AMD (14) analise (10) Andriod (16) android (7) Apple (1) arm (4) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (29) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (54) comandos (30) comp (1) compressores (5) container (7) CPU (19) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (13) Debian (31) desempenho (1) desenvolvimento (90) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (90) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (3) diocast (1) dioliunx (3) distribuições Linux (14) Docker (12) DragonflyBSD (22) driver (1) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (93) gerenciadores de pacotes (4) glaucus (2) GOG (3) google (8) gpu (3) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (10) Intel (15) inteligencia artificial (1) IoT (1) ispconfig (1) jogos (37) kde (1) kernel (138) lançamento (64) leis (1) LFCS (1) libs (2) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (159) musl (2) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (1) nintendo (1) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (84) OpenBSD (6) OpenShift (1) os vários sabores de Linux (42) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (1) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (64) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (22) redes (4) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (1) runlevel (2) rust (12) segurança digital (24) servidores (1) shell (7) shell script (6) sistema operacional (25) smartphones (3) Software livre e de código aberto (151) sorteio (3) Steam (10) Steam no Linux (8) supercomputadores (4) suse (5) systemd (7) terminal (87) terminal de comandos (16) toca do tux (1) toybox (26) tutorial (6) Tux (3) unboxing (7) UNIX (17) UNIX Toolbox (14) vartroy (1) vga (1) virtualização (2) vulnerabilidade (6) wayland (5) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) ZFS (15) zsh (3)