Grammatiche basate sulla Unificazione

 

Attributi

 

Possiamo associare a ciascuna parola di una frase degli attributi, che ne determinano la funzione e ne restringono l'uso.

Il

ragazzo

canta

 

 

La categoria di una parola ha una importanza primaria e puo' essere estratta dalla struttura.

Possiamo cosi' scrivere una regola del tipo:

Frase

SN

SV

 

 

Che esprime l' idea che una frase e' formata da un sintagma nominale seguito da un sintagma verbale,

e che la persona e il numero del nome e del verbo debbono coincidere.

Analogamente possiamo scrivere una regola per il sintagma nominale

SN

Det

Nome

 

 

Che impone l' accordo in genere e numero fra articolo e nome.

 

Ogni struttura contiene una serie di attributi a ciascuno dei quali e'associato un valore:

.

A questa struttura puo essere associato un grafo orientato aciclico (DAG).

 

Una valore puo' a sua volta essere una struttura di attributi come in:

.

 

 

Unificazione

Due strutture di attributi possono essere fuse fra loro mediante lóperazione di unificazione. L'unificatore C di due strutture A e B è la più piccola struttura che contiene sia le informazioni di A che quelle di B.

L'unificazione di due strutture di attributi A e B é definita dalle seguenti regole (dando luogo alla struttura C):

  1. Ciascun attributo che compare in A ma non in B , o in B ma non in A, compare in C con il medesimo valore.
  2. Ciascun attributo che compare sia in A che in B compare anche in C ed il suo valore è l'unificatore dei suoi valori in A e B.

I valori degli attributi vengono unificati come segue:

  1. Se entrambi I valori sono simboli atomici, essi devono coincidere, altrimenti l'unificazione fallisce.
  2. Una variabile si unifica con ogni oggetto divenedo quell'oggetto, due variabili unificano divenendo la stessa variabile.
  3. Se due valori sono strutture di attributi, essi unificano ripetendo il processo ricorsivamente.

Esempi:

e unificano dando

mentre

e unificano istanziando X=b e Y=d.

 

Una notazione per le strutture di attributi

 

L'operatore ":" lega un attributo al suo valore, mentre l'operatore ".." combina coppie attributo-valore in una struttura di attributi. Entrambi gli operatori sono associativi a destra. Ad esempio a:b:c = a:(b:c)).

La struttura

viene scritta come:

a:b..c:d

Mentre la struttura

può essere scritta come

a:b..c:(d:e..f:g)

Un modo equivalente di rappresentare la struttura è

che può essere espressa come:

a:b..c:d:e..c:f:g

La regola :

SN

Det

Nome

 

 

Può essere espressa mediante le regole grammaticali del Prolog come:

sn --> det(Det),nome(N),

{Det=genere:X,

Det=numero:Y,

N=genere:X,

N=numero:Y}.

Concordanze

L'esempio 1 mostra come sia possibile gestire concordanze in genere e numero fra articolo e nome, e in genere, numero e persona fra soggetto e verbo.

Ogni verbo viene anche sottocategorizzato come transitivo o intransitivo.

 

 

Controlli semantici

L'esempio 2 mostra invece come sia possibile realizzare dei semplici controlli semantici:

Il lessico dei verbi contiene delle indicazioni sulle categorie semantiche cui debbono appartenere soggetto e l'eventuale complemento. I nomi sono classificati a loro volta secondo queste categorie.

 

Estraposizione

In proposizioni interrogative o relative vi è un movimento (estraposizione) di un componente(il pronome interrogativo o relativo.

Ad esempio:

A chi Mario a regalato un libro.

Oppure anche uno spostamento da un livello più profondo

A chi Mario ha detto di aver regalato un libro.

Analogo fenomeno si ha nelle frasi relative

Ho letto il libro che Mario mi ha regalato.

Per analizzare queste frasi è necessario disporre di un meccanismo che rimetta a posto il componente spostato.

 

L'esempio 3 mostra questa tecnica.