Rule Based Question Answering B.4.M.A.S.S. Big Data for Multi-Agent Specialized System
Caratteristiche del Question Answering Sistemi informatici capaci di rispondere automaticamente a domande poste in linguaggio naturale Componenti principali: Knowledge Base: da cui si recuperano le informazioni presentate in forma Strutturata, semi Strutturata o non Strutturata; di dimensioni e livello di generalizzazione differente in base alla natura del sistema di QA (Open o Closed Domain) Analisi delle Query: una componente che analizza la domanda e ne rintraccia gli elementi informativi Recupero delle informazioni: componente che estrae e organizza le informazioni richieste dalla query
Problemi Aperti nel Question Answering Gap Lessicale: indica il discostamento fra il vocabolario utilizzato nelle queries e quello della Knowledge Base Ambiguità: è possibile riscontrare casi di omonimia, dove la stessa stringa può fare riferimento a due concetti diversi, oppure casi di polisemia, dove la stessa stringa si riferisce a due concetti diversi ma più o meno relativi fra loro dal punto di vista semantico. Complessità delle queries: capacità di risolvere queries linguisticamente complesse collegando entità diverse a richieste diverse. Domande procedurali, temporali, spaziali: indifferentemente dalla complessità, spesso i sistemi di QA hanno difficoltà a trattare questo tipo di richiesta
L’Approccio proposto Componenti del metodo: Dizionari e Finite State Grammar Schema Ontologico Motore di Ricerca dei Match Classificatore Automatico Motore di Composizione della risposta Output: Knowledge Base Strutturata Strutturazione della domanda Lista delle risposte possibili Risposta Finale
Analisi delle Domande ed Estrazione di Significato Le Interrogative Dirette Totali: la domanda investe l’intera frase, prevede una risposta si/no Interrogative dirette Disgiuntive i.e preferisci l’acqua naturale o / oppure frizzante? Interrogative dirette Parziali: Uso obbligatorio di un elemento interrogativo Presenza di una Variabile X di tipo x Il soggetto generalmente appare alla fine della frase Sono semanticamente caratterizzabili in base agli indicatori interrogativi
Analisi delle Domande ed Estrazione di Significato Identità chi (+ verbo + soggetto/oggetto)? i.e. chi ha chiamato il cliente? i.e. chi voleva l’offerta X? (che) (cosa) (verbo + soggetto)? i.e. (che) (cosa) ha chiesto il cliente? (Prep) quale (oggetto/complemento + verbo + soggetto) i.e. quale offerta ha preferito il cliente? i.e. a quale offerta era interessato il cliente? che (oggetto/complemento + verbo + soggetto) i.e. che offerta ha preferito il cliente? i.e. a che offerta si riferiva il cliente?
Analisi delle Domande ed Estrazione di Significato Modo come (verbo + oggetto/soggetto/complemen to) i.e. come mantengo il mio numero di telefono? Quantità Quant(-o, -a, -e, -i)1 (A + AVV) (+ argomento o predicato) i.e. quanto costa passare ad un altro operatore? i.e. quanto velocemente va l’adsl? i.e. quanti minuti sono inclusi nell’offerta X? Causa/scopo perché (+predicato) i.e. perché il mio tablet ha smesso di funzionare? Tempo (Prep) quando (verbo + oggetto /soggetto/complemento) i.e. quando si attiverà la nuova promozione? i.e. da quando partirà la nuova promozione? i.e. quando chiamerà l’operatore? i.e. quando arriverà nel negozio? Luogo (Prep) dove (verbo + oggetto/ soggetto/complemento) i.e. dove si trova l’ufficio del direttore? i.e. da dove parte la Sua chiamata?
Analisi delle Domande ed Estrazione di Significato Le Interrogative Indirette Frasi subordinate argomentali che esplicitano una domanda manifestata nelle frasi principali Contengono un predicato che indica domanda, dubbio, comunicazione, conoscenza Possono essere presenti operatori interrogativi Interrogativa indiretta totale: (V_comp + se + F_int) i.e. mi chiedo se sia possibile passare ad un nuovo operatore. Interrogativa Indiretta Parziale: (V_comp + complementatore + F_int) i.e. mi domandavo come fare per passare ad un nuovo operatore. Interrogativa Indiretta Disgiuntiva: i.e. mi chiedo se riuscirò ad attivare questa offerta o se sarò costretto ad aspettare la prossima.
Analisi delle Domande ed Estrazione di Significato La macroclasse di Verbi che selezionano Interrogative indirette è quella dei Verbi a Completiva Si tratta di predicati che possono selezionare un complemento frastico come complemento (Soggettive, Oggettive) Sottoinsiemi Lessicali coinvolti: Verbi Epistemici e di Comunicazione Verbi modali (Dovere, Potere, Volere) (voglio + vorrei) (devo + dovrei) (posso + potrei) chiedere (Vcomp Int) se la mia tariffa è conveniente o se non lo è (se F o se F) Domanda comunicare (Vcomp) che il mio tablet non funziona (Ch F) Richiesta d’azione inviare (Vt) i miei dati via e-mail (N1) parlare (Vi) con un operatore (Prep N1)
Analisi delle Domande ed Estrazione di Significato La promozione X durerà 10 giorni Frasi interrogative Dirette: Tipo di frase Interrogative Domanda Marker Risposta Totali La promozione X durerà 10 giorni? nessuno si/no Parziali Quale promozione durerà 10 giorni? DQ Identità-nsubj Che cosa durerà 10 giorni? PQ+DQ Quanto durerà la promozione X? PQ Quantità(Tempo)-nmod
Analisi delle Domande ed Estrazione di Significato Frasi interrogative Indirette: Tipo di frase Interrogative Domanda Risposta Totali Mi domando se la promozione X durerà 10 giorni. si/no (Non so + Vorrei sapere) se la promozione X durerà 10 giorni. Parziali Mi domando quale promozione durerà 10 giorni. Identità-nsubj (Non so + Vorrei sapere) quale promozione durerà 10 giorni. Mi domando cosa durerà 10 giorni. (Non so + Vorrei sapere) cosa durerà 10 giorni. Mi domando quanto durerà la promozione X. Quantità(Tempo)-nmod (Non so + Vorrei sapere) quanto durerà la promozione X.
Analisi della Knowledge Base Testuale ed Estrazione di Significato Analisi Sintattica dei Testi Non Strutturati o Parzialmente Strutturati appartenenti alla KB Testuale Preprocessing (Normalizzazione, Analisi delle forme clitiche, correzione di stile, POS Tagging, Lemmatizazione) Parsing (TINT) Pre-Strutturazione o Strutturazione Parziale dei Testi su base Ontologica Ontologia Compilata Manualmente ed eventualmente mutuata dal Sito Web del Cliente
Analisi della Knowledge Base Testuale ed Estrazione di Significato
Analisi della Knowledge Base Testuale ed Estrazione di Significato
Analisi della Knowledge Base Testuale ed Estrazione di Significato
Analisi della Knowledge Base Testuale ed Estrazione di Significato Esempio di frase estratta dalla possibile KB Testuale: Segreteria telefonica già attiva sulla SIM. Per ascoltarla basta digitare GRATUITAMENTE il 4200 dallo Smartphone in Italia e in Unione Europea. Per Personalizzarla o conoscere i costi all’estero visita la sezione dedicata. Per disattivare i trasferimenti basta digitare ##004## INVIO Possiamo identificare 4 periodi principali che verranno analizzati dal parser separatamente
Analisi della Knowledge Base Testuale ed Estrazione di Significato Esempio di frase estratta dalla possibile KB Testuale: Segreteria telefonica già attiva sulla SIM. Per ascoltarla basta digitare GRATUITAMENTE il 4200 dallo Smartphone in Italia e in Unione Europea. Per Personalizzarla o conoscere i costi all’estero visita la sezione dedicata. Per disattivare i trasferimenti basta digitare ##004## INVIO Possiamo identificare 4 periodi principali che verranno analizzati dal parser separatemente
Analisi della Knowledge Base Testuale ed Estrazione di Significato
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare adverbial modifier: gratuitamente
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare adverbial modifier: gratuitamente clausal complement with internal subject: per ascoltarla basta
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare adverbial modifier: gratuitamente clausal complement with internal subject: per ascoltarla basta direct object: il 4200
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare adverbial modifier: gratuitamente clausal complement with internal subject: per ascoltarla basta direct object: il 4200 nominal modifier: dallo Smartphone
Analisi della Knowledge Base Testuale ed Estrazione di Significato Root: digitare adverbial modifier: gratuitamente clausal complement with internal subject: per ascoltarla basta direct object: il 4200 nominal modifier: dallo Smartphone nominal modifier: in Italia e in Unione Europea
Analisi della Knowledge Base Testuale ed Estrazione di Significato
Analisi della Knowledge Base Testuale ed Estrazione di Significato Meta-informazioni mutuate da ontologia
Analisi della Knowledge Base Testuale ed Estrazione di Significato Meta-informazioni mutuate da ontologia Informazione derivata dal titolo
Analisi della Knowledge Base Testuale ed Estrazione di Significato Meta-informazioni mutuate da ontologia Informazione derivata dal titolo Schema mutuato dall’analisi sintattica
Matching tra domanda e risposta Domanda: Quanto costa passare ad un altro operatore?
Matching tra domanda e risposta
Matching tra domanda e risposta Indicatore di Quantità
Matching tra domanda e risposta
Matching tra domanda e risposta
Matching tra domanda e risposta Risposta: In caso di recesso o di passaggio ad altro operatore prima dei 24 mesi, l’importo di 10 euro scontati nella promozione sarà addebitato sul credito residuo
Matching tra domanda e risposta Come effettuare il matching tra parole semanticamente ‘simili’? Dizionario di nominalizzazioni e aggettivalizzazioni (correlazione diretta) Es. Quanto costa la promozione?/ il costo della promozione è… (costare, costo, costoso) Dizionario dei sinonimi (correlazione di dominio) Es. qual è il costo della promozione? / l’importo della promozione è di …. (costo, importo, prezzo, ecc.) Algoritmi di similarità semantica o distributional semantics (correlazione generica) Es. Quanto costa chiamare da un paese straniero? / Il costo delle chiamate dall’estero è… (estero, straniero, europeo, extraeuropeo, ecc.)
Disambiguazione e Dialogo In alcuni casi la domanda potrebbe non contenere tutte le informazioni necessarie a reperire una risposta: Il Dialog Bot deve entrare in azione e formulare a sua volta domande mirate a restringere il campo di azione Le domande di disambiguazione partiranno dai livelli più generici di informazione presenti nello schema dell’Ontologia: U: Quanto costa passare ad un altro operatore? B: ti riferisci alla Fibra o al Mobile? U: Mobile B: stai parlando di un piano Ricaricabile o in Abbonamento?
Matching tra domanda e risposta Una volta effettuato il matching tra domanda e KB delle risposte, l’ipotesi più plausibile è che esistano N risultati utili per domanda Un algoritmo di classificazione semi automatico, a partire da un training set di domande Strutturate e risposte strutturate potrebbe aiutare nella scelta del candidato giusto da scegliere come risposta
Grazie per l’attenzione amaisto@unisa.it