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
Scarica

Natural Language Generation (NLG) ( )