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