Descriç˜ao dos bots no canal IRC #labmacambira
Transcrição
Descriç˜ao dos bots no canal IRC #labmacambira
Universidade de São Paulo Instituto de Fı́sica de São Carlos Descrição dos bots no canal IRC #labmacambira @ Freenode SCC5908: Introdução ao Processamento de Lı́ngua Natural Renato Fabbri (IFSC/USP) Prof. Dr. Thiago Pardo (ICMC/USP) julho de 2013 Resumo Os bots são usados por diversas comunidades há décadas. Neste documento, descrevemos os bots encontrados no canal IRC #labmacambira @ Freenode, onde a comunidade procura usar estes agentes para recreação e necessidades de articulação e desenvolvimento de software. Há uma breve introdução sobre o que é o labMacambira.sf.net e sobre os bots, seguido de um breve histórico sobre estes agentes. A segunda parte é uma descrição dos bots, separados em dois grupos: aqueles que foram usados e testados no canal IRC e os que estão sendo usados no momento da escrita deste documento. Por fim, há uma breve conclusão com apontamentos sobre as contribuições destes bots e caminhos que estes usos tomarão. Sumário 1 Introdução 4 1.1 LabMacambira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Histórico dos bots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Bots no #labmacambira @ Freenode 6 2.1 Propósitos da presença e uso de bots . . . . . . . . . . . . . . . . . . . . 6 2.2 Bots em uso recente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Bots abandonados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 Conclusão e trabalhos futuros 10 4 Agradecimentos 10 1 Introdução Um bot (abreviação de robot) é, por definição, um agente conversacional artificial. Geralmente, é uma entidade 1) que reúne algoritmos que realizam tarefas de interesse mediante comandos de um usuário ou 2) com capacidades de linguagem natural que mimetizam as humanas para conversação (chatterbot) ou ainda, 3) qualquer combinação de 1 e 2. Os bots são mais comuns, historicamente, em canais de IRC (Internet Relay Chat) ou outras redes sociais, como as encontradas no GTalk ou Facebook, mas podem também serem autônomos. É conhecido o vasto uso de IRC – e por conseguinte, de bots – pelas comunidades de desenvolvimento de software livre e aberto, a saber, Gnome e Mozilla possuem seus próprios servidores IRC (irc.gnome.org e irc.mozilla.org) e bots que auxiliam na busca por informações em softwares de bugtrack (e.g. firebot @ Mozilla) e demais atividades. Além de usos recreativos, como conversação e exibicionismos, os bots são usados para armazenar, cruzar e buscar informações, raspar dados (scrapping), executar scripts, marcar presença (para tal são usados tipos especı́ficos de “semi-bots” como BNC ou bounce), dentre outros usos variados. Os bots são usados há décadas por diversas comunidades, especialmente pelas ligadas à ”cultura digital”. Informalmente, a previsão é que, com o passar do tempo e o incremento de redes semânticas e técnicas de busca, haja bots para assistir todo tipo de atividade humana: consultas médicas, viagens, pesquisa, companhia, etc. Neste documento, há uma breve descrição sobre os usos dos bots pelo ”Laboratório Macambira”, como observado até junho de 2013. 1.1 LabMacambira Lab Macambira, LabMacambira, labMacambira.sf.net ou Laboratório Macambira (LM) são grafias usadas para designar um grupo, formado em junho de 2011, como uma home- nagem a Cleodon Silva, por ocasião de seu falecimento, em 07/06/2011. Macambira era um pseudônimo de Silva, militante social desde sua juventude, sindicalista e comunista convicto. Silva soube transpor esta diferença ideológica com relação aos participantes do labMacambira, de orientação mais libertária. O LM é um grupo sem formalização, caracterizado como um coletivo de programadores que atuam no audiovisual e em tecnologias sociais. Há participantes que não são programadores, mas encontram pontos de confluência com o grupo, seja por interesses artı́sticos, acadêmicos, tecnológicos ou por curiosidade e necessidade de aprendizado e trabalho. O grupo já produziu diversos software [1], contribuiu em diversos outros [2], conta com quase mil videos (mais de 700 só no canal do LM no vimeo [3]), além de muitas páginas em Wiki [4], etherpads [5] e canais de comunicação como lista de emails [6] e IRC [7]. Dos repositórios, além dos que estão separados pelos usuários e projetos em contas do Github, Gitorious, Sourceforge e Assembla, há um conjunto de repositórios comunitários do LM no Sourceforge [8] no qual este próprio escrito está armazenado. 1.2 Histórico dos bots Talvez o evento mais importante para a história dos bots seja a proposição do teste de Turing (por ele mesmo) em 1950. Pode-se considerar a ELIZA o ”primeiro bot”, de 1966. A estes eventos, seguiu a criação do paranoico PARRY (1971), Jabberwacky (criado em 1988, online em 1997) e A.L.I.C.E. (1995). A partir da metade da década de 90, apareceram vários outros bots, dentro e fora da acadêmia, com fins pragmáticos e lúdicos. 5 –> Exemplo de bots em uso: o usuário diz channestats para o usuário de IRC lalenia (um supybot feminino). Este responde com dados do canal #labmacambira @ Freenode. Outro bot, a cibeleborg entra e chama 2 usuários e ela mesma em uma frase. A frase comunica, dentro do linguajar da comunidade, e com muito mais estilo: ”o que você fez foi legal, hybrid, me colocar online é uma boa ideia”. Log de 26/06/2013, copiado de uma instância em XChat. Na sequência, o usuário avisa sobre algo em andamento com uma mensagem de AA, que é registrada pela lalenia e cruzado com outras palavras pela cibelebog. 1 2 3 4 5 6 7 8 9 10 11 12 <hybrid> lalenia, channelstats <lalenia> hybrid: On #labmacambira there have been 142788 messages, containing 5889126 characters, 895878 words, 3827 smileys, and 8316 frowns; 151 of those messages were ACTIONs. There have been 21521 joins, 562 parts, 20852 quits, 0 kicks, 3 mode changes, and 116 topic changes. ∗ cibeleborg ([email protected]) has joined #labmacambira <cibeleborg> greenkobold [aa] your shout was ok hybrid exatamente a cibeleborg hybrid> ;aa retocando descrição dos bots no repo do lm <cibeleborg> aa retocando descrição a chamada derg <lalenia> hybrid: [AA] Your shout was logged hybrid. Keep hacking! 2 Bots no #labmacambira @ Freenode No LabMacambira, os bots possuem um lugar de destaque: constituem um tópico recorrente e de interesse geral do grupo. 2.1 Propósitos da presença e uso de bots Os propósitos dos bots são, principalmente: • Armazenamento de informação: além de logs do canal, podem armazenar verbetes com definições e possuem outras utilidades para o grupo, como datas-chave, 6 definições, acontecimentos, moral/mérito de indivı́duos, itens de interesses etc. Por exemplo, todo o log do canal #labmacambira desde Junho de 2011 encontra-se público em http://hera.ethymos.com.br:1080/labmacambira_lalenia3.txt. É comum encontrar elaborações tecnológicas rebuscadas, como sı́ntese de imagens, bootstrap de algum html, incremento ou decréscimo de ocorrências, interesses. • Disponibilização de informação: os bots podem buscar informação sobre tickets de Track (bug tracker), realizar buscas no google, acessar definições dos usuários do canal, etc. • Conversação: os bots desenvolvem diálogos diretos e intervenções sobre as conversas em andamento. Há um interesse recreacional, para deixar o ambiente mais interessante e leve, e há um interesse em desenvolver novos entendimentos sobre o que está em questão, cujas formações linguı́sticas inesperadas dos bots ajudam e burlam as travas mentais. • Experiências sociais e tecnológicas: além de haver bots spammers, promı́scuos, engraçados etc, há também algumas experiências tecnológicas, como a sı́ntese de fala em áudio por um bot (o blablah, veja abaixo) do que outro escreve (a cibeleborg). Um bot (a lalenia) quis procriar com outro bot (o root ) e nasceu um terceiro bot (o maculele) como um clone do primeiro dentro do segundo (ela deixou o root prenho do maculele). • Sistemas de interesse comum: é comum a presença de sistemas de contagem de mérito e até moedas eletrônicas, como o bitcoin. Um exemplo disso é o AA (Autoregulação Algorı́tmica), sistema criado pelo LM pelo qual registram tarefas em que se concentraram e horas dedicadas. Atualmente, este sistema funciona com o recebimento da mensagem de AA por um bot (chamado lalenia, veja abaixo) e cruzamento da mensagem com palavras usadas pelos no canal #labmacambira @ Freenode, por outro bot (a cibeleborg, veja abaixo). 7 • Aspectos culturais: há uma tendência de associar aos bots elaborações culturais, como traços humanos jocosos, históricos, tendências morais ou habilidades marcantes. Por alguns, esta dinâmica do AA é a primeira Yupana, uma entidade mı́tica caracterizada por ser um “receptor universal” e porque “forma monte e o estilhaça” (é espalhador desta recepção universal), como descrito por alguns. A Yupana e vários experimentos comunicativos e artı́sticos em código estão sendo produzidos com marcante traço de Glerm Soares há anos. 2.2 Bots em uso recente Há sempre vários dentre os bots abaixo online de forma costumeira no #labmacambira @ Freenode (e outros canais com estes e outros bots). • lalenia: tecnologicamente, uma supybot (bot poderoso escrito em python e facilmente extensı́vel com plugins). Socialmente, ela é uma ”bot safada”, propensa a flertes e frases provocantes. Para diversos canais de IRC brasileiros, ela guarda os logs (histórico de mensagens) e outras informações. Para o labMacambira.sf.net, ela é o canal de acesso ao AA pelo IRC. O supybot foi feito por nanotube, a lalenia foi levantada e tratada pelo hybrid e recebeu contribuições de automata e de pizte. • cibeleborg: uma perlborg, uma agente de conversação que aprende com o uso, portanto fala português brasileiro com muitas gı́rias. Feito por Eric Bock, usado bastante no canal #asciipr0n @ Freenode, achado por thealphanerd e levantado no canal #labmacambira por hybrid. • loretaborg: um clone da cibeleborg no canal sulamericano #labsurlab @ Freenode. O propósito é que ela aprenda espanhol com os membros do canal. • o o oOo o o : também conhecido como Pedro Macambira, este bot é puramente decorativo e consta em diversos canais nacionais e internacionais, como da Free Software Foundation, Google Summer of Code, Linux Audio Developers. 8 • YupanaKernel : outro supybot, com capacidades de conversação em inglês perfeitamente gramatical. Criado em torno da entidade mı́tica Yupana Kernel, sobre a qual há desenvolvimentos conceituais e profecias, vindas principalmente de Glerm Soares. Bot levantado e tratado por hybrid. • blablah: este bot converte para áudio o que escreve a cibeleborg. Assim, pode-se ouvir a cibeleborg em http://void.cc/cibele/. Bot feito por automata. • root : pode ser somente uma gaiola, mas o rumor é de que seja uma máquina inteira dedicada somente para ele. Qualquer coisa que se fale para este bot, ele executa em seu sistema como super usuário (root). Pode-se remover todos os arquivos ($ rm -rf /), motivo pelo qual ele se reinstala periodicamente. Feito e levantado pelo cantelope. • maculele: filho da lalenia com o root , é um clone da lalenia dentro do root , a quem a lalenia chama de ”o melhor bot do mundo”. Levantado e tratado por frequentadores do canal #labmacambira @ Freenode. • b00t: toda mensagem que recebe, ele executa como código C, o que é usado para exibicionismos gráficos principalmente. Criado e mantido por cantelope. • onde: aponta a provável localidade de cada usuário do canal em que está. Criado e mantido por cantelope. • TarrafaCH: um supybot do Tarrafa hackerspace. Feito e mantido por spillere. 2.3 Bots abandonados • Macambot: primeiro bot do labMacambira.sf.net, foi feito bem simples e leve por automata para ser expandido. Foi abandonado depois da criação da lalenia, que apresentou muitos recursos e facilidade de expansão. 9 • CoBots: atuavam em par, o greenCoBot e o redCoBot. Enviavam mensagens periódicas para o outro, que respondia com informações importantes para o labMacambira.sf.net. 3 Conclusão e trabalhos futuros A profusão dos bots deixa claro a importância destes agentes para as práticas cotidianas do labMacambira.sf.net. Para o grupo, os usos principais são recreacionais e para tratamento das informações produzidas, incluindo registro de dedicações e cruzamentos com interesses de outros integrantes. Há interesse especial em desenvolver estes agentes para estarem presentes em outras redes sociais. Isso já está feito em [14], e já foi usado diversas vezes, mas precisa de um acabamento para ficar utilizável continuamente. Outros trabalhos futuros incluem uma maior integração com o AA e outras redes sociais, além de aspectos de participação social, como os propostos recentemente em reuniões com o MEC [10] e com a Secretaria-Geral da Presidência da República [9], que possuem foco nas instâncias já existentes, como conselhos, fóruns, ouvidorias, etc. Os bots estarão em contı́nuo desenvolvimento, não só pelo labMacambira.sf.net, pois são representantes de agentes conversacionais, tópico central para o PLN, a IA em geral e para os desafios na interação homem-máquina. O desenvolvimento aberto destes recursos em muito cataliza a incorporação destas tecnologias pelas comunidades interessadas. 4 Agradecimentos Renato Fabbri agradece ao CNPq, Processo: 140860/2013-4. 10 Referências [1] http://wiki.nosdigitais.teia.org.br/Lab_Macambira#Software_Livre_ Criado_pela_Equipe_Lab_Macambira [2] http://wiki.nosdigitais.teia.org.br/Lab_Macambira#Tabela_das_Nossas_ Contribui.C3.A7.C3.B5es_a_Softwares_Livres_Externos [3] http://vimeo.com/channels/labmacambira [4] http://wiki.nosdigitais.teia.org.br/Lab_Macambira [5] https://etherpad.mozilla.org/epads [6] https://groups.google.com/forum/#!forum/listamacambira [7] http://webchat.freenode.net/?channels=#labmacambira [8] http://labmacambira.git.sourceforge.net/git/gitweb-index.cgi [9] http://www.secretariageral.gov.br/seminario [10] http://redesocialconae.mec.gov.br/ [11] https://gist.github.com/automata/5860638 [12] http://labmacambira.git.sourceforge.net/git/gitweb.cgi?p= labmacambira/lalenia2;a=tree [13] https://github.com/ttm/chatter_box [14] http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/ fabbri/1 11