Il sogno delle Macchine Parlanti Fabio Massimo Zanzotto
Il sogno delle Macchine Parlanti Fabio Massimo Zanzotto
University of Rome “Tor Vergata” Background • Sogno di Costruire l’Intelligenza Artificiale • Formulazione del Test di Turing • I figli di ELIZA F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio, Pensiero e Comprensione • Il Test di Turing • La domanda “Può una macchina pensare? ” puo’ essere resa operativa. • Versione operativa: – – F. M. Zanzotto 2 persone ed un computer Una persona interroga via rete l’altra E il computer La macchina deve convincerla di essere umano La seconda persona deve fare la stessa cosa! Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
Comportamentismo cenni Fabio Massimo Zanzotto
University of Rome “Tor Vergata” Metodo Scientifico • Studiare eventi replicabili • Osservare parametri • Costruire un modello di un fenomeno – esplicativo dei dati raccolti – predittivo F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Metodo Scientifico • Studio del moto di una pallina F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Paradosso F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Psicologia: Oggetto dello studio La psicologia ha come oggetto di studio: Mente umana Costruire modelli esplicativi e predittivi della mente e del comportamento umano con vari scopi: • Individuare difformità dalla norma (malattie) ed le loro eventuali cause per formulare cure • etc. F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Psicologia: Oggetto dello studio • Scopo: modelli predittivi per la mente umana • Fattori di problematicità – Inosservabilità del fenomeno F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Principi cardine • Data l’inosservabilità della mente si rifiuta come mezzo di indagine il metodo introspettivo – Nell’introspezione Osservatore è anche l’osservato – Verificare le teorie diventa complicato • Il modello del comportamento si può basare solo su quello che si vede F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Modello principe • Dato un essere vivente nel mondo animale, cosa è possibile vedere? Ambiente Stimolo Risposta comportamentale F. M. Zanzotto Animale Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Fattore scatenante • Similitudine tra esseri umani e animali (Darwin) Quindi • possibilità di studiare animali per studiare l’apparato cognitivo degli umani • Esperimenti su animali: – Ripetibili – Possibilità di controllare le condizioni al contorno – Possibilità di privare animali di alcune caratteristiche F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esperimento: Cani di Pavlov F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Principi • I cani di Pavlov dimostrano che è possibile: Apprendimento tramite condizionamento • Uno stimolo originario è sostituito da un altro stimolo che produce la stessa risposta. F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Comportamentismo Lezione che apprendiamo: • Studiate i sistemi complessi semplificando e osservando l’osservabile certo • Anche in questo modello esiste un modo di apprendere: apprendimento tramite condizionamento F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
Programmi che chiacchierano I Chatbots: un approccio riduzionista Fabio Massimo Zanzotto
University of Rome “Tor Vergata” Un semplice dialogo (circostanziato) A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quando comincia il corso? B: Il corso comincerà quando cominciano i corsi del secondo semestre. A: Chi lo insegna? B: Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. A: Quando finisce il corso? B: Il corso finirà quando finisco i corsi del secondo semestre. A: Chi sono io? B: Tu sei fabio F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Obiettivi • Imitare il comportamento umano nel parlare: – Imitare la capacità di immagazinamento informazioni – Imitare abilità linguistica • Se essere umano il nostro obbiettivo, esistono modelli dell’essere umano? • Modello “scientifico” del comportamentismo – Essere umano = sistema osservabile – Modello principale: dato stimolo S l’essere vivente è un sistema f che fornisce risposte R dipendenti dallo stimolo S: R=f(S) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Approccio ad Aree Funzionali Lexical Semantic Acquisition Processing Syntax Processing World Model Ontology Learning Discourse Planner F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia Good Grief!
University of Rome “Tor Vergata” Approccio Comportamentista • Assunto base: Essere umano è una scatola nera (black box) Good Grief! F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Un programma chiacchierone • Assunto Base: percorriamo la via più breve dallo stimolo alla risposta Good Grief! Stimolo F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Un programma chiacchierone • Manteniamo il percorso semplice: Realizziamo la funzione f R=f(S) dove • R è la risposta • S è lo stimolo Domanda: Quanto dobbiamo complicare il linguaggio di descrizione di S e di R affinché si possa ottenere un risultato credibile? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Ricapitoliamo • Vogliamo vedere quanto lontano riusciamo ad andare con approccio comportamentista: – Minima struttura interna che lega lo stimolo alla risposta • Quindi vogliamo scrivere una funzione f(S)=R, ovvero coppie: (S 1, R 1) (S 2, R 2) … (Sn, Rn) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Come deve essere il linguaggio? • Ipotesi di lavoro (programma del chatbot) – Dato uno stimolo (attuale) S, • cercare lo stimolo (potenziale) Si attivabile • Emettere Ri • Caratteristiche: – Deve permettere di riconoscere gli stimoli S – Deve permettere di attivare le giuste risposte R F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio : prima ipotesi • Il linguaggio potrebbe essere il linguaggio naturale • Ad es. : (S 1, R 1)=(Buongiorno, Buongiorno) • Dunque, se arriva S=Buongiorno, le operazioni sono: – Se S=S 1 allora emetti R 1 • Quindi essendo: Buongiorno=Buongiorno • emette: Buongiorno F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio : prima ipotesi Ci basta? • Prendiamo la prima interazione: A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? • E’ sufficiente il linguaggio di prima ipotesi? • SI e NO F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio : prima ipotesi • Cominciamo a scrivere le regole: – (Buongiorno sono Fabio. , Salve Fabio, cosa vuoi sapere? ) – (Buongiorno sono Giovanni. , Salve Giovanni, cosa vuoi sapere? ) – (Buongiorno sono Giandomenico. , Salve Giandomenico, cosa vuoi sapere? ) • Noioso! Cosa gradiremmo? (Buongiorno sono <X>. , Salve <X>, cosa vuoi sapere? ) – Concetto di variabile!!! = * - star F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” I desiderata per il linguaggio • Riconoscere uguaglianza tra stringhe • Concetto di variabile (semplice) – Riconoscere una porzione di testo per poterla presentare nella risposta – L’uguaglianza diventa unificazione F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: seconda ipotesi Ci basta? • Utente antipatico: A: Salve sono Fabio. B: Salve Fabio, cosa vuoi sapere? • Altro utente sciolto: A: Ciao sono Fabio. B: Salve Fabio, cosa vuoi sapere? • Utente non educato: A: Sono Fabio. B: Salve Fabio, cosa vuoi sapere? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: seconda ipotesi • Potremmo: (Buongiorno sono <X>. , Salve <X>, cosa vuoi sapere? ) (Salve sono <X>. , Salve <X>, cosa vuoi sapere? ) (Ciao sono <X>. , Salve <X>, cosa vuoi sapere? ) (Sono <X>. , Salve <X>, cosa vuoi sapere? ) • Osservazione: – A tutte le interazioni precedenti, vorremmo che si rispondesse allo stesso modo indipendentemente dalla forma di saluto – Come possiamo fare? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” I desiderata per il linguaggio • Riconoscere uguaglianza tra stringhe • Concetto di variabile (semplice) – Riconoscere una porzione di testo per poterla presentare nella risposta • Dato uno stimolo vorremmo attivare un altro coppia stimolo-risposta lanciando un nuovo stimolo F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: terza ipotesi • Potremmo fare: (Buongiorno sono <X>. , RISTIMOLA(Sono <X>. )) (Salve sono <X>. , RISTIMOLA(Sono <X>. )) (Ciao sono <X>. , RISTIMOLA(Sono <X>. )) (Sono <X>. , Salve <X>, cosa vuoi sapere? ) Stimolo Secondario: Salve sono Maria. X=Maria Stimolo Primario: Sono Maria Risposta: Salve Maria, cosa vuoi sapere? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: terza ipotesi Ci basta? • Utente antipatico: A: Salve sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quanto dura il corso? B: Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente? A: Si, dimmi. B: Il corso è di dura 40 ore. F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Soluzione col modello attuale (si *, il corso dura 40 ore) (si, il corso dura 40 ore) (no, ciao!) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: terza ipotesi Ci basta? • Utente antipatico: A: Salve sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quanto dura il corso? B: Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente? A: Si, dimmi. B: Il corso è di dura 40 ore. Per risolvere il problema, appare sufficiente ricordare l’interazione di B precedente F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” I desiderata per il linguaggio • Riconoscere uguaglianza tra stringhe • Concetto di variabile (semplice) – Riconoscere una porzione di testo per poterla presentare nella risposta • Dato uno stimolo vorremmo attivare un altro coppia stimolo-risposta lanciando un nuovo stimolo • Memorizzare la “nostra interazione” precedente a quella attuale F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: quarta ipotesi • Potremmo fare: (Si <x>, INTERAZIONE_PREC(Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente)? , Il corso dura 40 ore) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: quarta ipotesi Ricapitoliamo: • Siamo partiti da: – Scrivere (Si, Ri): coppie stimolo-risposta • Abbiamo introdotto: – Ristimolazione: (Si, RISTIMOLA(Sj)) – Memoria di un passo precedente: (Si, INTERAZIONE_PREC(Rk)? , Rj) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: quarta ipotesi Ci basta? • Utente antipatico: A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quando comincia il corso? B: Il corso comincerà quando cominciano i corsi del secondo semestre. A: Chi sono io? B: Tu sei fabio Servono delle variabili, ad es. interlocutore. F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: quinta ipotesi • Potremmo fare: (Sono <x>, MEMORIZZA(INTERLOCUTORE=<x>), Salve <x>, cosa desideri? ) (Chi sono io? , Tu sei RECUPERA_VALORE(INTERLOCUTORE)) • Abbiamo introdotto il concetto di variabile: – – F. M. Zanzotto ha un nome, ad es. INTERLOCUTORE ha un valore, ad es. Fabio Può essere riempita: MEMORIZZA(variabile=valore) Può essere letta: RECUPERA_VALORE(variabile) Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Variabili in azione (Sono <x>, MEMORIZZA(INTERLOCUTORE=<x>), Salve <x>, cosa desideri? ) (Chi sono io? , Tu sei RECUPERA_VALORE(INTERLOCUTORE)) Chi sono io? Interlocutore pino Tu sei pino F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: quinta ipotesi Ricapitoliamo: • Siamo partiti da: – Scrivere (Si, Ri): coppie stimolo-risposta • Abbiamo introdotto: – Ristimolazione: (Si, RISTIMOLA(Sj)) – Memoria di un passo precedente: (Si, INTERAZIONE_PREC(Rk)? , Rj) – Memoria di variabili: (Si, MEMORIZZA(Vk=valk), Rj) (Si, RECUPERA_VALORE(Vk) Rj) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Un programma chiacchierone • Assunto Base: percorriamo la via più breve dallo stimolo alla risposta Good Grief! Stimolo F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Un programma chiacchierone • Assunto Base: percorriamo la via più breve dallo stimolo alla risposta • Stiamo complicando il nostro modello!!!! IP=interazione precedente Vi=variabile IP V 1 … Stimolo F. M. Zanzotto Vk Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia Good Grief!
University of Rome “Tor Vergata” Linguaggio: quinta ipotesi Ci basta? • Utente antipatico: A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quando comincia il corso? B: Il corso comincerà quando cominciano i corsi del secondo semestre. A: Quando finisce? B: Il corso finirà quando finisco i corsi del secondo semestre. A: Chi lo insegna? B: Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. A: Chi sono io? B: Tu sei fabio F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” (quando finisce? , IP(Il corso comincerà quando cominciano i corsi del secondo semestre. )? , Il corso finirà quando finisco i corsi del secondo semestre. ) (Chi lo insegna? , IP(Il corso comincerà quando cominciano i corsi del secondo semestre. )? , Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. ) (Chi lo insegna? , IP(Il corso finirà quando finisco i corsi del secondo semestre. )? , Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. ) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” (Quando comincia il corso? , MEMORIZZA(ARGOMENTO=corso), Il corso comincerà quando cominciano i corsi del secondo semestre) (Quando comincia, (ARGOMENTO=corso)? , Il corso comincerà quando cominciano i corsi del secondo semestre) (quando finisce? , (ARGOMENTO=corso)? , Il corso finirà quando finisco i corsi del secondo semestre. ) (quando finisce il corso? , MEMORIZZA(ARGOMENTO=corso), Il corso finirà quando finisco i corsi del secondo semestre. ) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” (Quando comincia il corso? , MEMORIZZA(ARGOMENTO=corso), Il corso comincerà quando cominciano i corsi del secondo semestre) (quando finisce? , (ARGOMENTO=corso)? , Il corso finirà quando finisco i corsi del secondo semestre. ) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” (Quando comincia il corso? , MEMORIZZA(ARGOMENTO=corso), Il corso comincerà quando cominciano i corsi del secondo semestre) (Quando finisce il corso? , MEMORIZZA(ARGOMENTO=corso), Il corso finirà quando finisco i corsi del secondo semestre. ) (quando finisce? , (ARGOMENTO=corso)? , Il corso finirà quando finisco i corsi del secondo semestre. ) (quando comincia? , (ARGOMENTO=corso)? , Il corso comincerà quando cominciano i corsi del secondo semestre) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” (<x> il corso? , MEMORIZZA(ARGOMENTO=corso), RISTIMOLA(<x>)) (quando finisce? , (ARGOMENTO=corso)? , Il corso finirà quando finisco i corsi del secondo semestre. ) (quando comincia? , (ARGOMENTO=corso)? , Il corso comincerà quando cominciano i corsi del secondo semestre) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: sesta ipotesi • Potremmo fare: – Utilizzare la nozione di ARGOMENTO – Quando si entra in un certo ARGOMENTO, le domande sono relative allo stesso. (Quando comincia il corso? , MEMORIZZA(ARGOMENTO=CORSO), Il corso comincerà quando cominciano i corsi del secondo semestre. ) SE_SIAMO_IN_ARGOMENTO=CORSO { (Quando finisce? , Il corso finirà quando finisco i corsi del secondo semestre. ) (Chi lo insegna? , Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. ) } F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: sesta ipotesi Ricapitoliamo: • Siamo partiti da: – Scrivere (Si, Ri): coppie stimolo-risposta • Abbiamo introdotto: – Ristimolazione: (Si, RISTIMOLA(Sj)) – Memoria di un passo precedente: (Si, INTERAZIONE_PREC(Rk)? , Rj) – Memoria di variabili: (Si, MEMORIZZA(Vk=valk), Rj) (Si, RECUPERA_VALORE(Vk) Rj) – Memoria di argomento: • MEMORIZZA(ARGOMENTO=A) • SE_SIAMO_IN_ARGOMENTO=A {(S 1, R 1)…(Sn, Rn)} F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Interessante aspetto del sesto linguaggio • Possiamo scrivere: (<X> il corso? , MEMORIZZA(ARGOMENTO=CORSO), RISTIMOLA(<X>)) SE_SIAMO_IN_ARGOMENTO=CORSO { (Quando inizia? , Il corso inizia quando iniziano i corsi del secondo semestre. ) (Quando finisce? , Il corso finirà quando finisco i corsi del secondo semestre. ) (Chi lo insegna? , Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. ) } F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: sesta ipotesi Dubbio: • Utente antipatico: A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quando comincia il corso? B: Il corso comincerà quando cominciano i corsi del secondo semestre. A: Chi lo insegna? B: Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. A: Quando finisce? B: Il corso finirà quando finisco i corsi del secondo semestre. A: Chi sono io? B: Tu sei fabio F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: sesta ipotesi Dubbio: • Utente antipatico: A: Buongiorno sono Fabio. B: Salve Fabio, cosa vuoi sapere? A: Quando comincia il corso? B: Il corso comincerà quando cominciano i corsi del secondo semestre. A: Chi lo insegna? B: Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. A: Dove lo trovo? B: Nello studio al piano – 1 dell’edificio B A: Chi sono io? B: Tu sei fabio F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Linguaggio: sesta ipotesi NON VI PREOCCUPATE CI RIMARRA’ IL DUBBIO!!!! F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
AIML e i Chatbot Technology Box
University of Rome “Tor Vergata” Piano di lavoro • Osservare i desiderata del nostro sesto linguaggio • Vedere come si realizzano attraverso il linguaggio Artificial Intelligence Mark-up Language (AIML) • Presentare un interprete di stimoli-risposte scritti in AIML: programd • Fare dei piccoli esercizi F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Piccolissimo richiamo ML • Cos’è un mark-up language? – Un linguaggio che permette di dare un ruolo ad una porzione di testo • Prendiamo un linguaggio semplice tipo XML o HTML: <RUOLO>TESTO</RUOLO> In questo linguaggio, così si indica che il testo TESTO ha il ruolo RUOLO Esempio in HTML: <B>pluto</B> pluto F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Piccolissimo richiamo ML • OSSERVAZIONE: Il ruolo è una parentesi tipata intorno ad un testo • Consequenza: – Le parentesi tipate debbono essere aperte e chiuse – Le parentesi tipate non si possono incrociare <B>gennaro <I>pluto </B> paperino</I> E’ VIETATO!!!!! <b></b> === <b/> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Piccolissimo richiamo ML • OSSERVAZIONE: – Avendo la possibilità di definire i tipi (ad esempio B per grassetto), possiamo memorizzare qualsiasi tipo di informazione • Un linguaggio di Mark-up in cui si possono definire i tipi è XML • Useremo (hanno usato) XML per definire il nostro linguaggio per i chatbot detto AIML F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Riguardiamo il nostro linguaggio • Siamo partiti da: – Scrivere (Si, Ri): coppie stimolo-risposta • Abbiamo introdotto: – Variabile base che lega stimolo con risposta <X> – Ristimolazione: (Si, RISTIMOLA(Sj)) – Memoria di un passo precedente: (Si, INTERAZIONE_PREC(Rk)? , Rj) – Memoria di variabili: (Si, MEMORIZZA(Vk=valk), Rj) (Si, RECUPERA_VALORE(Vk) Rj) – Memoria di argomento: • MEMORIZZA(ARGOMENTO=A) • SE_SIAMO_IN_ARGOMENTO=A {(S 1, R 1)…(Sn, Rn)} F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Elemento Base: Stimolo-Risposta (Si, Ri): coppie stimolo-risposta • In AIML è detto categoria – Stimolo è detto pattern – Risposta è detta template • Si scrive: <category> <pattern> Si </pattern> <template>Ri</template> </category> • N. B. nello stimolo – non si devono usare simboli di interpunzione (ed alcuni altri caratteri) – i caratteri debbono essere tutti maiuscoli F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 1 Codificate: (Buongiorno, Buongiorno) <category> <pattern>BUONGIORNO</pattern> <template>Buongiorno!</template> </category> B? u!o. n!g!iorno!!!! BUONGIORNO F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Variabile Base: Stimolo-Risposta <X> variabile usabile solo in stimolo-risposta • In AIML è detto star • Si scrive: – * nello stimolo – <star/> nella risposta F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 2 Codificate: (Buongiorno sono <X>. , Salve <X>, cosa vuoi sapere? ) <category> <pattern> BUONGIORNO SONO *</pattern> <template>Salve <star/>, cosa vuoi sapere? </template> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Ristimolazione (Si, RISTIMOLA(Sj)) • In AIML è detto srai: symbolic reduction • Si scrive: <category> <pattern> Si </pattern> <template><srai>Sj</srai></template> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 3 Codificate: (Sono <X>. , RISTIMOLA(Buongiorno Sono <X>. )) (Salve sono <X>. , RISTIMOLA(Buongiorno Sono <X>. )) (Ciao sono <X>. , RISTIMOLA(Buongiorno Sono <X>. )) (Buongiorno sono <X>. , Salve <X>, cosa vuoi sapere? ) <category> <pattern> BUONGIORNO SONO *</pattern> <template><srai>SONO <star/></srai></template> </category> <pattern> SALVE SONO *</pattern> <template><srai>SONO <star/></srai></template> </category> <pattern> CIAO SONO *</pattern> <template><srai>SONO <star/></srai></template> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Memoria di un passo precedente (Si, INTERAZIONE_PREC(Rk)? , Rj) • In AIML è detto that • Si scrive: <category> <pattern> Si </pattern> <that> Rk </that> <template>Ri</template> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 4 Codificate: (Si <x>, INTERAZIONE_PREC(Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente)? , Il corso dura 40 ore) <category> <pattern>SI *</pattern> <template> Il corso dura 40 ore </template> <that>Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente</that> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 4. 1 Codificare: (Quanto dura il corso? , Il corso è di 5 Crediti. Vuoi sapere quanto dura temporalmente? ) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Memoria di variabili (Si, MEMORIZZA(Vk=valk), Rj) (Si, RECUPERA_VALORE(Vk) Rj) • In AIML è si usa: – set per memorizzare – get per recuperare – Entrambi vanno scritte nel template • Si scrive: <set name=“Vk”> valk </set> <get name=“Vk”/> <set name=“interlocutore”>pippo </set> <get name=“interlocutore”/> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 5 Codificate: (Sono <x>, MEMORIZZA(INTERLOCUTORE=<x>), Salve <x>, cosa desideri? ) (Chi sono io? , Tu sei RECUPERA_VALORE(INTERLOCUTORE)) <category> <pattern>SONO *</pattern> <template>Salve, <star/> cosa desideri? <set name=“INTERLOCUTORE”> <star/> </set> </template> </category> <pattern>CHI SONO IO</pattern> <template>Tu sei <get name=“INTERLOCUTORE”/></template> </category> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Memoria di argomento MEMORIZZA(ARGOMENTO=A) SE_SIAMO_IN_ARGOMENTO=A {(S 1, R 1)…(Sn, Rn)} • In AIML è si usa: – la variabile topic per memorizzare argomento – una parentesi tipata per indicare l’insieme degli stimoli-risposta di un topic • Si scrive: <set name=“topic”> A</set> <topic name=“A”> (S 1, R 1) … (Sn, Rn) (stimoli-risposta del topic) </topic> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio 6 Codificate: (<X> il corso? , MEMORIZZA(ARGOMENTO=CORSO), RISTIMOLA(<X>)) SE_SIAMO_IN_ARGOMENTO=CORSO { (Quando inizia? , Il corso inizia quando iniziano i corsi del secondo semestre. ) (Quando finisce? , Il corso finirà quando finisco i corsi del secondo semestre. ) (Chi lo insegna? , Il Prof. Fabio Massimo Zanzotto. Puoi vedere la sua pagina web e farti quattro risate. ) } F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” <category> <pattern>* IL CORSO</pattern> <template> <think><set name=“topic”>insegnamento</set></think><srai> <star/></srai> </template> </category> Quando comincia il corso? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” <topic name=“insegnamento”> <category> <pattern>QUANDO INIZIA</pattern> <template>Il corso inizia il giorno in cui inizia. </template> </category> <pattern>QUANDO FINISCE</pattern> <template>Il corso finisce il giorno in cui finisce. </template> </category> </topic> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Altri operatori • Il caso: – Risposta casuale in un insieme di risposte – In AIML si scrive: <random> <item> R 1</ item > … < item > Rn-1 </template> <template> Rn </template> </random> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Altri operatori • Il pensare: – Non palesare quello che si stà facendo in un template – In AIML si scrive: <template> R <think> pensiero </think>…. </template> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Ricapitoliamo AIML • Scrivere (Si, Ri): coppie stimolo-risposta <category><pattern>…</pattern><template>…</template></category> • Variabile base che lega stimolo con risposta <X> in stimolo: * in risposta: <star/> • Ristimolazione: (Si, RISTIMOLA(Sj)) <srai>…</srai> • Memoria di un passo precedente: (Si, INTERAZIONE_PREC(Rk)? , R ) j <that>…</that> • Memoria di variabili: <set name=“xxx”> yyy </set> <get name=“xxx”/> • Memoria di argomento: <set name=“topic”> yyy </set> <topic name=“xxx”> … </topic> • Altri operatori: <random> <think> F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Presentare un figlio di Eliza • programd: – Come si lancia – Come si caricano le basi di stimolo-risposta – Come si termina F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Un esercizio Costruiamo il tutor elettronico del corso Procedimento • Individuiamo le macroaree di interesse • Costruiamo dei topic per le macroaree • Analizziamo le domande nelle macroaree F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Individuiamo le macroaree • Introduzione/presentazione studente • Corso – Luogo – Orari • Professore – Chi è? – Dove trovarlo • Esame • Piano di studi (posso inserirlo) • E’ interessante/non è interessante F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Organizzare un dialogo • • F. M. Zanzotto Atti del discorso: una classificazione superficiale Automa degli stati del discorso Trattamento della ricchezza espressiva Un esempio con esercizi Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Atti del discorso (Speech Acts) Alcune classi di speech acts • Opening: The first interaction allows to open the dialogue, this is the welcome phase where the dialogue agent presents yourself and asks to the user to do the same thing. • Info-Request: A question by the speaker, it is used to ask information, as questioning about an artwork particular or a question used to change topic. • Answer: The act to aswer a question. • Closing : Farewells. F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Automa degli stati del discorso F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Trattamento della ricchezza espressiva • Riconoscimento nello stimolo delle varie forme e risposta centralizzata Forme: Buongiorno, Salve, Ciao Classe: CLASSE_SALUTO • Emissione di forme diverse in risposta Classe: CLASSE_SALUTO Forme: Buongiorno, Salve, Ciao Classe: RICHIESTA_NOME Forme: Come ti chiami? , Presentiamoci! Tu sei? , Chi sei? , Qual è il tuo nome? F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Trattamento della ricchezza espressiva • Riconoscimento nello stimolo delle varie forme e risposta centralizzata Forme: Buongiorno, Salve, Ciao Classe: CLASSE_PRESENTAZIONE Mezzo usabile nel modello stimolo-risposta: (Buongiorno, RISTIMOLA(CLASSE_PRESENTAZIONE)) (Salve, RISTIMOLA(CLASSE_PRESENTAZIONE)) (Ciao, RISTIMOLA(CLASSE_PRESENTAZIONE)) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Trattamento della ricchezza espressiva • Emissione di forme diverse in risposta Classe: CLASSE_SALUTO Forme: Buongiorno, Salve, Ciao (CLASSE_SALUTO, RISPOSTA_CASUALE(Buongiorno, Salve, Ciao)) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Trattamento della ricchezza espressiva • Emissione di forme diverse in risposta (RICHIESTA_NOME RISPOSTA_CASUALE(Come ti chiami? , Presentiamoci! Tu sei? , Chi sei? , Qual è il tuo nome? )) (CLASSE_PRESENTAZIONE, RISTIMOLA(CLASSE_SALUTO) RISTIMOLA(RICHIESTA_NOME)) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Ricapitolando (Buongiorno, RISTIMOLA(CLASSE_PRESENTAZIONE)) (Salve, RISTIMOLA(CLASSE_PRESENTAZIONE)) (Ciao, RISTIMOLA(CLASSE_PRESENTAZIONE)) (CLASSE_SALUTO, RISPOSTA_CASUALE(Buongiorno, Salve, Ciao)) (RICHIESTA_NOME RISPOSTA_CASUALE(Come ti chiami? , Presentiamoci! Tu sei? , Chi sei? , Qual è il tuo nome? )) (CLASSE_PRESENTAZIONE, RISTIMOLA(CLASSE_SALUTO) RISTIMOLA(RICHIESTA_NOME)) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Esercizio • Realizzare in AIML il seguente automa di discorso Presentazione reciproca F. M. Zanzotto Domanda su autore quadro Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
Limiti dell’approccio comportamentista
University of Rome “Tor Vergata” Il nostro modello IP=interazione precedente Vi=variabile IP V 1 … Stimolo F. M. Zanzotto Vk Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia Good Grief!
University of Rome “Tor Vergata” Proviamo… • A costruire un macchina chiacchierona che gestisce tutti i corsi della facoltà: (Quando comincia il corso di letteratura? , Il corso inizia il RECUPERA_VALORE(INIZIO_CORSO_LETTERATURA)) (Quando finisce il corso di letteratura? , Il corso finisce il RECUPERA_VALORE(FINE_CORSO_LETTERATURA)) (Quando crediti ha il corso di letteratura? , Il corso è articolato su RECUPERA_VALORE(CFU_CORSO_LETTERATURA) crediti) F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
University of Rome “Tor Vergata” Proviamo… • Variabili necessarie: INIZIO_CORSO_LETTERATURA FINE_CORSO_LETTERATURA la r e Osservazioni: p e CFU_CORSO_LETTERATURA r o Rdi. IAvariabili i l g Il numero i INIZIO_CORSO_AB_INF O m M o l E FINE_CORSO_AB_INF M a dismisura del cresce o A m LI nomi delle variabili CFU_CORSO_AB_INF L n u E i D INIZIO_CORSO_LMDCo d E n ION g possono avere una o s FINE_CORSO_LMDC i Z b A o T struttura ripetitiva m CFU_CORSO_LMDC N a E i b ES …Ab R P P RA ERNA INT F. M. Zanzotto Linguaggi e Modelli dei Dati e della Conoscenza Facoltà di Lettere e Filosofia
- Slides: 96