-------------------------------------------------- talK -------------------------------------------------- -------------------------------------------------- DESCRIZIONE -------------------------------------------------- talK è un esperimento e nulla più. E' un tentativo di emulare una presenza umana in una chatroom. Il suo nome (oltre a significare "dialogo") contiene la K del suo autore e ha l'ultima lettera maiuscola e la prima minuscola, al contrario delle persone reali. Il teorema di Touring afferma che se una persona dialoga con una macchina senza rendersi conto che non si tratta di un essere umano, allora quella macchina si può dire "intelligente". Questa è una buona teoria, ma tutto dipende da quanto "intelligente" supponiamo che sia il nostro interlocutore! Chi di voi ha mai frequentato una chat si sarà reso conto del livello medio delle conversazioni. Non aggiungo altro! talK si basa sulla seguente filosofia: dato che cercare di creare un programma in grado di "comprendere" una frase ed elaborare una risposta è qualcosa ancora fuori dalla nostra portata, allora rimaniamo sull'estremamente semplice, e vediamo che succede. -------------------------------------------------- FUNZIONAMENTO -------------------------------------------------- Questo programma non fa altro che attingere ad un database, in cui sono memorizzate molte frasi possibili, e per ognuna un certo numero di risposte. Quando un interlocutore gli scrive qualcosa, talK cerca ciò che legge nel suo database: se lo trova non fa che sceglere una risposta a caso tra quelle che ha a disposizione, altrimenti chiede un suggerimento all'interlocutore stesso, memorizzandoselo nel database stesso. Anche quando l'utente risponde a qualcosa che ha scritto talK, quest'ultimo si segna la risposta che ha usato l'interlocutore, per poterla utilizzare anche lui. In questo modo talK "impara" a rispondere a molte frasi possibili. -------------------------------------------------- DETTAGLI TECNICI -------------------------------------------------- talK è stato scritto in ASP, in modo da gestire facilmente un database Access e da poter essere utilizzato in rete. Le variabili principali sono di tipo session; questo per fare in modo che più utenti contemporaneamente possano dialogare con talK da connessioni differenti. L'interfaccia grafica è al minimo della presentabilità, in modo da costruire un codice html sotto al Kbyte. Per limitare un po' il numero di frasi possibili talK modifica l'input che gli arriva in questo modo: - trasforma tutto in maiuscolo - toglie gli eventuali spazi iniziali e finali - toglie i doppi spazi in mezzo alle parole trasformandoli in spazi singoli - toglie tutti i caratteri che non siano lettere, spazi o punti di domanda (ascii 32, 63 e 65-90) - prende solo i primi 20 caratteri Per questo motivo le lettere accentate non vengono visualizzate, a scapito dell'estetica ma per una buona causa! Il database è unico, e tutti gli interlocutori lo vanno a modificare. Il database si trova sul server e non è accessibile direttamente. E' chiaro che talK non impara in realtà nulla. Si limita a costruirsi una grossa banca dati (le tabelle Access possono arrivare ad un gigabyte). Le sue risposte non sono in alcun modo elaborate su dati esterni, nè viene tenuto in considerazione il dialogo precedente. Il ragionamento di talK è una pura associazione di idee. L'algoritmo della scelta della risposta per ora si basa su un numero random, ma in futuro (quando ci saranno un po' di dati), si potrà basare anche su dati statistici sul numero di volte che una certa risposta è stata usata da talK stesso o da un suo interlocutore. Quando il numero di risposte possibili è al completo e talK ne sente una nuova, allora cancella quella più vecchia, presumibilmente come faremmo noi. -------------------------------------------------- ISTRUZIONI -------------------------------------------------- Se vorrete dialogare con talK lui ve ne sarà molto grato perchè contribuirete alla crescita del suo database. Tuttavia dovete prima di tutto sapere che occorre parecchia pazienza. Le richieste di suggerimento saranno molto più frequenti delle risposte soddisfacenti. I dialoghi più adatti sono in realtà quelli che assomigliano al gioco delle associazioni di idee, per esempio: albero-mela-verde-semaforo-strada e così via. Tuttavia nulla vieta di provare con qualcosa di più sensato! Tenete presente che talK non distingue tra sè e gli altri, non sa chi voi siate e soprattutto non esiste, per cui non vi aspettate troppo da lui. La pagina di talK contiene di norma solo ciò che dice lui e una casella di testo per ciò che volete dire voi. Se volete qualche informazione su cosa stia succedendo nel programma asp basta spuntare la casella "mostra elaborazione". Quando talK chiede un suggerimento basta che lo scriviate nella stessa casella di testo, lui la userà come risposta e potrete continuare il dialogo. E' del tutto normale che vi chieda suggerimenti di continuo, è ancora piccolo. Se un certo numero di utenti avesse voglia di scambiare quattro chiacchere con talK quando è in rete vedremo il nostro piccolo crescere... R I C O R D A T E ! ---> frasi molto semplici <--- -----> niente volgarità <----- G R A Z I E ! -------------------------------------------------- AUTORE -------------------------------------------------- Erik Amedeo Viotti marzo 2006 www.erikviotti.it