Spesso accade che lo spunto per un nuovo post nasca dalla conversazione con un Mangiatore di Quiche. Questo post ne è la conferma.

Inutile dire nuovamente quanto mi faccia arrabbiare sentire persone “inesperte” farcirsi la bocca con termini tecnici o informatici cercando di passare per esperti di nuove tecnologie. In questi giorni il termine scelto dal Mangiatore di Quiche era “Bot”. Questa nuova tecnologia che sta sconvolgendo il mondo informatico e prospetta nuove e inaspettate applicazioni in qualsiasi ambito.

Facciamo un po’ di ordine.

I Bot sono la contrazione, prettamente in ambito informatico, di roBOT, ovvero entità software (o, ancora meglio, software agent) che agiscono come se fossero persone e eseguono delle attività in modo più o meno automatizzato e con o senza il continuo intervento umano.

I primi Bot utilizzavano per l’interazione con l’uomo una semplice logica di programmazione basata sulla presenza, nel testo o nel corso del dialogo, di particolari parole o frasi che poi innescavano la logica applicata nella programmazione. Ovviamente nei nostri giorni questa semplice logica ha lasciato sempre più spazio all’applicazione della IA (intelligenza artificiale).

Di Bot ne esistono tantissimi tipi, solo per citarne alcuni:
chatterbot
web crawler (o web bot, o www bot o internet bot)
IRC bot (Internet Relay Chat)
video game bot

Sostanzialmente, visto che con i Bot è possibile fare praticamente tutto, è possibile trovare una moltitudine di definizioni in base alla loro attività/scopo.

Chatterbot
Programmi che simulano una conversazione tra persone… il più famoso è sicuramente ELIZA (ma personalmente ho provato anche ALICE).

Web crowler
Non sono altro che Bot che “girano” per internet cercando di catalogare e indicizzare i contenuti delle varie pagine web per migliorare le ricerche su internet (come dimenticare il file robot.txt da inserire nelle cartelle di un sito web per aiutare Google nell’indicizzazione).

IRC bot
Erano agenti software che operavano sulla chat internet basate sul protocollo Internet Relay Chat e che agivano come amministratori per aiutare gli utenti o per evitare comportamenti non consoni all’etichetta.

Video game bot
Questi ovviamente sono i più evoluti (come tutte le cose che riguardano il mondo dei video giochi) e possono essere prevalentemente di due tipi, bot statici e bot dinamici. I primi sono come quelli utilizzati in Quake 3 Arena dove avevano lo scopo di fronteggiare il protagonista nei vari livelli di addestramento. I bot dinamici invece hanno la capacità di imparare dinamicamente i vari livelli e le varie mappe di gioco come realizzato in Counter-Strike con i RealBot.

I bot arrivano da lontano. Lasciando stare il Test di Turing, uno dei primi interessanti esperimenti con i bot è sicuramente rappresentato da Eliza, un bot creato nel 1966 al MIT dal professor Joseph Weizenbaum con lo scopo di simulare una chiacchierata con una psicoterapista di nome Eliza. Di questo bot ne sono state fatte varie versioni anche per ambiente MS DOS nel corso degli anni 90.
Eliza simulava la conversazione usando un sistema di ricerca e sostituzione dei termini presenti nelle frasi della persona dando l’illusione che il programma capisse veramente il contenuto delle frasi.
Una curiosità che riguarda ELIZA è MELIZA, una sorta di easter egg presente in Google Earth che si può attivare posizionandosi su Marte (vicino alla Face of Mars) dove si può trovare una icona che, premendola, fa partire una chat con un presunto alieno che implementa le stesse funzioni del bot originale Eliza.
Rimanendo sempre negli anni ’90 è necessario citare anche A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) sviluppata in AIML (Artificial Intelligence Markup Language).

Arrivando ai giorni nostri i bot si sono arricchiti della capacità di interpretare la lingua parlata, rispondere vocalmente utilizzando dei sintetizzatori vocali per trasformare il testo in parole e utilizzando algoritmi per la machine learning per espandere autonomamente le proprie capacità.
Si arriva infatti nel 2012 a Google Now e nel 2015 a Alexa e Cortana. Nel 2016 sono arrivati anche i bot per la piattaforma Messenger di Facebook in risposta ai bot di Telegram.

Nel 2016 la Microsoft aveva rilasciato su Twitter il bot TAY (Thinking Bout You) ma a causa di tweet offensivi e dal contenuto polemico la Microsoft è stata costretta a chiudere il servizio dopo solo 16 ore dal lancio.

Infine, direi che merita una menzione d’onore il bot LSJBOT (codice sorgente)creato dal professore svedese Sverker Johansson per creare in modo autonomo delle pagine per la versione Svedese di Wikipedia. Il bot è in grado di generare fino a 10.000 articoli al giorno e questo ha portato l’edizione svedese ad essere la seconda edizione a raggiungere i 2 milioni di articoli.

Direi che ho detto tutto.
Quindi, i bot sono agenti software che arrivano da lontano, si sono evoluti utilizzando sempre di più l’intelligenza artificiale e imparando ad utilizzare l’udito e la parola e possono fare praticamente qualsiasi cosa.

Adesso che il Mangiatore di Quiche mi ha provocato, mi sta venendo voglia di provare a creare un bot per Telegram.
Le sue applicazione possono essere le più varie… il bot può gestire richieste di documenti da remoto, può essere utile per interfacciasi con il computer di casa e può fornire assistenza a 360°.

Un’ultima nota folkloristica… con tutti i chat bot ci scambi al massimo 10 frasi… dopo ti viene voglia di offenderli e il discorso degenera velocemente. Provare per credere.