Natural Language Generation ((NLG)) 1 Argomenti trattati nella lezione: INTRODUZIONE ARCHITETTURA SURFACE REALIZER DISCOURSE PLANNER MICROPLANNING Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Introduzione Il Generazione di Linguaggio Naturale (NLG) si occupa della costruzione di sistemi che producano un testo comprensibile, in un qualsiasi linguaggio umano, a partire da una rappresentazione non linguistica della conoscenza. conoscenza Si tratta di un “problem solving linguistico”, cioè un tentativo di risolvere un goal di tipo comunicativo attraverso l’uso del linguaggio, in tutte le sue forme. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Introduzione Approcci semplici al NLG C Canned d test t t (testo ( inscatolato): i l ) il realizzatore li d dell software f iinserisce i iin chiaro il testo da generare: Pro: è semplice da implementare C t Contro: mall sii adatta d tt a nuove situazioni it i i e lascia l i l’ l’onere della d ll produziod i ne linguistica al programmatore e non al programma stesso. Template filling (compilazione modulo): Pro: è più flessibile e di largo uso Contro: talvolta è facile generare frasi senza senso compiuto User: ELIZA: User: ELIZA:: Let’s talk just about you – not me. Can you think? YOU LIKE TO THINK I – NOT YOU – DON’T YOU I think you are an extremely stupid program PERHAPS S YOU OU WOU WOULD LIKE TO O BE AN N EXTREMELY S STUPID U PROGRAM OG Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Introduzione Si rendono necessari approcci più elaborati che devono operare delle scelte: Selezione strutturale frase Selezio ne del contenuto Selezione lessicale Aggregazione Espressioni di riferimento Selei zione strutturale discorso Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Architettura Communication Goal Knowledge Base Discourse Planner Discourse Specification Surface Realizer Natural Language Output Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Communication Goall Knowledge Base Discourse Planner Discourse Specification Genera delle singole frasi in funzione delle sue risorse lessicali e grammaticali, che definiscono le potenzialità di generazione in uscita del componente. Surface Realizer Natural Language Output Systemic Grammar FUG Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Systemic Grammar Le frasi sono rappresentate come collezioni di funzioni, funzioni e si adoperano delle regole per il mapping di tali funzioni in esplicite forme grammaticali. Queste funzioni, dette meta meta-funzioni, funzioni, vengono organizzate secondo una gerarchia a livelli, e rappresentano i vari aspetti alla base di un task di generazione linguistica. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer I livelli di una systemic grammar sono: Le meta-funzioni interpersonali raggruppano quelle funzioni che stabiliscono e mantengono l’interazione tra lo scrittore e il lettore. Il mood layer determina se la frase ha un carattere imperativo, affermativo o interrogativo. f i i concettuali li sii riferiscono if i ll comunemente definito d fi i Le meta-funzioni a quello come il “propositional content” dell’espressione, ovvero la semantica della frase. Il transitivity layer determina la natura dell’informazione espressa. L meta-funzioni Le t f i i testuali t t li sii riferiscono if i all modo d con cuii le l espressioni i i sii adattano al discorso corrente. Ciò include le problematiche di thematization e reference. Il theme layer rappresenta la marcatura del tema della frase. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer La grammatica viene rappresentata usando un grafo and/or aciclico etichettato detto system network costituito da: work, Operatori “AND” Operatori “OR” Asserzioni realizzative Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Le realization statements sono impiegate da una systemic grammar per mappare le caratteristiche specificate della grammatica nella forma sistematica. Ogni caratteristica nella rete p può avere un insieme di asserzioni realizzative, che specificano dei limiti sulla forma finale dell’espressione. Le asserzioni realizzative sono ottenute impiegando i seguenti operatori: +X: specifica, ad esempio, che tutte le frasi devono avere un predicato; X/Y: usato, ad esempio, per combinare l’attore con il soggetto; X^Y: impiegato, ad esempio, per porre il soggetto prima del predicato nelle f i affermative; ff i frasi X:A: consente l’utilizzo ricorsivo della struttura grammaticale, in quanto notifica che l’elemento X verrà ulteriormente specificato da un’altra porzione d ll grammatica della ti stessa. t X!L: delinea l’assegnazione ad una precisa entità grammaticale un preciso elemento lessicale. Ad esempio, all’elemento finito del passivo è assegnato ll’elemento elemento lessicale “be” be . Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Procedura di generazione linguistica attraverso una systemic grammar Si attraversa la rete da sinistra verso destra, scegliendo la caratteristica appropriata e collezionando le associate asserzioni realizzative un’espressione Si costruisce un espressione intermedia che riconcilia l’insieme delle limitazioni imposte dagli statement realizzativi collezionati al passo precedente Si ripercorre la grammatica dal basso per ogni funzione che non è stata pienamente specificata Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Frase Affermativa “Save” è un verbo transitivo non usato nella forma passiva Poiché non è prep sente in ingresso alcuna specifica tematica, si sceglie uno schema di default Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Function Unification Grammar (FUG) Si usa ll’unificazione unificazione per manipolare e valutare le strutture caratteristiche. caratteristiche L’operazione di unione o merge prende in ingresso due strutture e ne restituisce una in uscita, fusione delle due in ingresso. Una grammatica ad unificazione è un insieme di tratti la cui unione costituisce la corretta struttura grammaticale di una frase. Faccia Occhi Naso Zigomi Cosa è un tratto?... Pupille p Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Una struttura di tratti, detta anche feature structure, è un insieme di coppie del tipo “tratto” e particolare valore assunto dal tratto. Diagramma ad archi orientati ed etichettati (DAG, Direct Acyclic Graph) Matrice di attributi e valore (AVM, Attribute-Value Matrix) Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Ha nell suo li H livello ll più iù alto lt una serie i di alternative per le frasi, interconnesse con l’operatore “OR” L’elemento sentence “S” si compone di un attore, un processo e uno scopo. Attore e processo si uniscono rispetto al numero dell’attore. Tale formalismo supporta una strutturazione a più livelli: la definizione degli g elementi di S si trovano ripercorrendo dall’inizio la grammatica. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer La struttura di input specifica i dettagli della particolare frase da generare, e viene rappresentata in una forma affine a quello della grammatica, che prende il nome di Functional Description o FD Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Surface Realizer Per generare l’uscita del componente, l’ingresso FD viene unificato con la grammatica, attraverso degli esami multipli l i li della d ll grammatica i stessa. L’unione preliminare fa corrispondere all’input, ll’i t il livello li ll S della d ll grammatica, ti ovvero la prima alternativa del top level, dando luogo a un FD pienamente unificato. unificato Ad esempio, la caratteristica associata ad ACTOR include anche ll’elemento elemento lessicale “system” proprio dell’FD di ingesso, congiuntamente con la categoria NP della grammatica. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Communication Goall Knowledge Base Discourse Planner Discourse Specification Seleziona il contenuto dalla base di conoscenza e successivamente struttura tale contenuto in maniera appropriata, specificando tutte le scelte operare. Surface Realizer Natural Language Output Text Schemata Rhetorical Relations Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner La base di conoscenza da dare in pasto al pianificatore del discorso può essere rappresentata nella forma KL-ONE. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Text T S h Schemata Si lega l l la struttura t tt d l del discorso con la struttura del-la base di conoscenza. Si cerca di realizzare uno schema raprap presentante tale struttura. Lo schema viene rappre rappresentato con un Augmented Transition Network o ATN, in cui ogni nodo è uno stato e ogni arco una transizione. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Rh Rhetorical i l Relations R l i Gli schemi sono affetti da due principali problemi: Gli schemi sono impraticabili quando il testo da generare richiede una maggiore varietà strutturale e ricchezza di espressione. La struttura del discorso generata dagli approcci con schemi, schemi è data da una semplice frase, senza includere alcuna struttura ad alto livello che pone in relazioni le frasi tra loro. e o ca Structure S c e Theory eo y o RST, S , una teoria o d o g o Il Rhetorical descrittiva d dell’organizzazione del testo basato sulle relazioni che sussistono tra le sue parti. Le relazioni che costituiscono tale teoria designano il segmento centrale di un discorso come nucleo,, mentre il segmento g periferico come satellite. p Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Le relazioni RST sono delle limitazioni sul nucleo nucleo, sul satellite o sulla loro unione: Elaboration: il satellite presenta dei dettagli aggiuntivi che si riferiscono al contenuto del nucleo; Contrast: i nuclei presentano elementi che, sebbene simili in alcuni aspetti, sono differenti in certi modi; Condition: il satellite presenta qualcosa che deve verificarsi prima della p situazione espressa nel nucleo;; Purpose: il satellite presenta lo scopo del verificarsi dell’azione espressa dal nucleo; Sequence: l’insieme dei nuclei sono realizzati in sequenza; q q Result: la situazione espressa dal nucleo deriva da quella del satellite. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Le relazioni RST vengono rappresentate graficamente … g … e possono essere organizzate in una gerarchia a livelli. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Discourse Planner Sebbene RST è stato originariamente proposto come strumento descrittivo, può essere anche impiegato come tool per NLG. NLG Le relazioni sono tipicamente usate come operatori per un planner basato sull’Intelligenza Artificiale. Ogni nodo della base della conoscenza diventa di volta in volta nucleo e satellite, e si valuta ll’applicabilità applicabilità delle varie regole RST, fino a giungere alla base di un albero retorico, non ulteriormente espandibile. Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale Microplanning p g Communication Goal Knowledge Base Discourse Planner Realizza il mapping delle strutture del discorso in uscita al Discourse Planner e l’ingresso del Surface Realizer Discourse Specification Microplanner Surface Realizer Natural Language Output L O t t Referring expressions: q p quali aspetti di un’entità usare per riferimenti in un particolare contesto Aggregation: come ripartire il contenuto t t dalla d ll bab se di conoscenza in frasi e parole Tecnologie per il trattamento e la comprensione automatica del linguaggio naturale