• Non ci sono risultati.

In questa sezione presentiamo il modello usato per annotare la base di conoscenza KB, in particolare per annotarne i predicati.

Remark 7.2 (Assunzioni). Per semplicit`a assumiamo senza perdita di genera- lit`a che ogni simbolo di predicato sia usato in KB con una sola arit`a, sicch´e il predicato `e univocamente rappresentato dal proprio nome. Assumiamo inoltre, per semplicit`a, che ogni entit`a di interesse sia identificata univocamente da un singolo argomento, in altri termini assumiamo che le chiavi delle relazioni usate nell’EDB siano dei singoletti.

Come gi`a illustrato nell’introduzione al capitolo, l’approccio qui descritto sfrutta il fatto che, tipicamente, la scelta dei termini che occorrono nella base di conoscenza `e fortemente legata alla semantica di ci`o che viene predicato, cio`e del significato delle estensioni di ogni predicato negli answer set. Alcuni aspetti comunicativi del significato di una base di conoscenza sono tuttavia implicitamente ricondotti all’interpretazione umana e, pertanto, spesso pre- clusi ai sistemi che dovessero interagire con essa in modo automatico e non supervisionato da un umano.

Per superare questo problema, nel presente lavoro assumiamo che il pro- gettista della base di conoscenza (o comunque colui che `e incaricato di in- terfacciarla col resto del mondo) provveda ad annotarne ciascun predicato con semplici informazioni di tipo semantico e con qualche indicazione sul ruo- lo svolto da ogni argomento nell’ambito del predicato stesso. Si noti infatti che non si sta assumendo alcuna limitazione sull’arit`a dei predicati in KB, sicch´e ogni predicato pu`o rappresentare facilmente molteplici relazioni tra i dati associati ai suoi argomenti.

Ci`o rappresenta ovviamente un problema significativo, ma anche una pe- culiarit`a di questo lavoro rispetto a precedenti esperienze in letteratura che si sono invece concentrate su modelli ristretti a relazioni binarie o a triple, cio`e a schema fissato a priori per tutta la base di dati (e di conseguenza privo di una propria rilevanza semantica) [7, 119, 120, 129]. Tra i lavori correlati sotto questo aspetto ricordiamo anche gli approcci descritti in letteratura per arricchire ontologie o, pi`u in generale, basi di conoscenza con informazioni au- siliarie. Ad esempio il modello lessicale per ontologie, LeMOn3, nasce appunto

7.2 Modello per l’annotazione dei predicati 115

col l’intento di fornire le possibili lessicalizzazioni per i concetti modellati da un’ontologia. Secondo le specifiche di questo modello, per ogni elemento del- l’ontologia `e prevista un’entit`a lessicale associata e corredata da riferimenti ad informazioni morfologiche e sintattiche. Altri approcci pi`u recenti, invece, sfruttano tecniche di apprendimento automatico per arricchire le entit`a della base di conoscenza con vettori di parole. Indipendentemente dalla tipologia di entit`a adottata, lo scopo di tali modelli rimane comunque lo stesso: facilitare l’allineamento di espressioni linguistiche a concetti definiti formalmente.

7.2.1 Il Modello PSA

Il modello di annotazione per i predicati che qui si propone, denominato PSA, generalizza i precedenti approcci in quanto `e in grado di gestire predicati di arit`a arbitraria e considera diverse tipologie di informazioni aggiuntive per permettere ulteriori forme di inferenza. Esso prevede informazioni lessicali, sintattiche e riferite al senso-comune della predicazione e delle entit`a in essa coinvolte.

Sul piano lessicale, PSA prevede che il simbolo di predicato ed i suoi ar- gomenti siano descritti da insiemi di espressioni linguistiche (anche multi- parole), relativi vettori di parola e possibilmente da riferimenti ai synset di BabelNet o ad altra risorsa similare. Ogni insieme `e caratterizzato da elemen- ti per i quali sussiste una relazione di similarit`a semantica circoscritta alla situazione descritta dal predicato.

Per esplicitare i ruoli svolti dai diversi argomenti rispetto al predicato in cui occorrono, sono inoltre fornite alcune descrizioni espresse in linguag- gio naturale, ad esempio “Il ricercatore X a↵erisce al dipartimento Y”. Tali descrizioni, in cui sono esplicitate le parole usate nei predicati ed i riferimen- ti agli argomenti del predicato stesso, sono accompagnate dalle annotazioni sintattiche descritte nella precedente sezione.

Si utilizzano infine le relazioni presenti su ulteriori risorse esterne quali ConceptNet o BabelNet per rappresentare conoscenza di senso-comune re- lativa a quel predicato. Tecnicamente si tratta di estendere KB con nuova conoscenza, rappresentata da sottoprogrammi Datalog che chiamiamo modu- li, che pu`o essere stata considerata implicita (per gli umani) in KB ma che, se esplicitata, pu`o rendere pi`u efficace il sistema per query in linguaggio naturale (in cui l’utente potrebbe appunto sottintendere tale conoscenza). Si pensi ad esempio a classiche relazioni IS-A come quelle che esprimono il fatto che un professore `e una persona, un ricercatore `e una persona, un tecnico `e una per- sona, etc. Per rispondere ad una query del tipo “le persone che a↵eriscono al DIMES” sarebbe ovviamente importante poter disporre di tale informazione. Altri esempi possono riguardare il concetto di (personale) dipendente e cos`ı via. `E importante notare che, grazie alla flessibilit`a di Datalog, ulteriori regole che si ritengano utili per le interrogazioni ma che non sono coperte dalle ri- sorse semantiche a disposizione possono essere facilmente aggiunte ai moduli in qualunque momento.

Sia P l’insieme dei predicati che occorrono in KB (come detto identi- ficati dal proprio simbolo), NC l’insieme delle costanti che occorrono nelle

regole IDB di KB e V = P [ NC. `E inoltre dato un lessico L (fornito di

espressioni multi-parola), un insieme WE di vettori di parole e una funzione fwe : L! 2WE che associa ad elemento l 2 L un sottoinsieme di WE. De-

notiamo inoltre con BN l’insieme degli identificativi dei synset di BabelNet e con FUN l’insieme dei ruoli funzionali, tratti da ConceptNet e illustrati in Figura 7.2.1, che useremo per le annotazioni.

Functional type Noun Agent A-Experiencer Theme Patient P-Experiencer Locative Context Modifier Adjective Verb

Goal Cause E↵ect

Figura 7.1. Tassonomia dei ruoli in FUN.

Definizione 7.2.1 L’annotazione P SAp di un predicato p2 P avente arit`a

r `e una triplahLex, Syn, Modi, in cui

Lex `e una sequenza triple della formahli, wei, bnii, dove li2 L, wei2 fwe(li)

e bni 2 BN, tale che |Lex | = r + 1 (abbiamo cio`e un elemento per il

predicato ed uno per ciascuno dei suoi argomenti) ed ogni elemento di L pu`o occorrere al pi`u in una tripla;

Syn `e una sequenza di coppie della forma ( ¯w, arg), in cui ¯

w `e una frase in linguaggio naturale che illustra il predicato p; arg `e una funzione che associa ad ogni indice 0 j  |Lex| (cio`e al nome del predicato o ad uno dei suoi r argomenti) un sottoinsieme di termini arg(j) che occorrono in ¯w; si noti che arg(j) pu`o essere vuoto se l’elemento (di indice) j non `e rilevante per la descrizione ¯w; Mod `e un insieme di regole Datalog, tipicamente semplici fatti derivati au-

tomaticamente dalle descrizioni e dalle risorse semantiche a disposizione, che formalizza i ruoli degli elementi rilevanti per il predicato p e come essi siano fra di loro collegati attraverso relazioni di senso comune. I simboli di constante che occorrono nel programma possono essere riferimenti ad

inner concepts (i conc,), cio`e a termini che occorrono nel predicato, ovvero negli altri elementi dell’annotazione; oppure ad

7.2 Modello per l’annotazione dei predicati 117

external concepts (e conc,), cio`e riferimenti a concetti esterni alla predicazione ma legati ad essi attraverso relazioni di senso comune presenti nelle risorse semantiche a disposizione.

I simboli di predicato di Mod sono l’insieme di relazioni usate nel fra- mework ConceptNet, i predicati unari riferiti alle tipologie delle costanti {i conc,e conc} ed il predicato binario hasFunctType.

In Lex la prima posizione del vettore `e occupata dalla costante o dal simbo- lo di predicato. In quest’ultimo caso, il vettore ha dimensione uguale all’arit`a del predicato pi`u uno cos`ı da avere nella posizione di indice i l’annotazione lessicale per l’i-esimo argomento di p. Gli elementi del vettore sono liste di realizzazioni lessicali accompagnate da una loro rappresentazione vettoriale e un riferimento al synset di BabelNet. Come sar`a descritto pi`u in dettaglio nel seguito, questi ultimi due elementi saranno utilizzati nella fase di allineamento degli elementi della domanda agli elementi formali della base di conoscenza.

Syn fornisce esempi illustrativi delle realizzazioni linguistiche associabili ad una costante o ad un predicato e ai suoi argomenti. Estendere gli ele- menti della base di conoscenza con evidenze della loro manifestazione nelle espressioni naturali agevola la risoluzione dei loro ruoli tematici.

L’insieme delle definizioni `e rivolto a catturare (anche se in modo ristret- to) la variabilit`a permessa dal linguaggio naturale nell’esprimere la situazione descritta dal predicato. Tali descrizioni, bench´e non formalmente vincolate in forma o contenuto, vanno espresse in una struttura sintattica il pi`u possibile semplice, evitando costrutti sintattici che possano portare ad ambiguit`a strut- turale come sequenze di clausole relative, quantificatori innestati, o espressioni ellittiche. Seguire questo principio ha il duplice vantaggio di rendere pi`u age- vole sia la comprensione della definizione da parte di un utilizzatore terzo della base di conoscenza, sia il suo utilizzo per scopi d’inferenza.

Infine l’insieme di regole M od rappresenta una formalizzazione delle si- tuazioni espresse dalle entit`a di KB secondo il modello concettuale propo- sto da ConceptNet, esplicitando formalmente i legami fra le entit`a coinvolte. Definisce inoltre vincoli di natura ontologica e funzionale su tali entit`a.

I vincoli ontologici sono in parte gi`a definiti attraverso l’associazione, de- scritta in Lex, tra il predicato ed i suoi argomenti e le informazioni della rete BabelNet. La metodologia adottata evita una descrizione accurata dell’argo- mento in termini di assiomi logici; invece essa si limita a definire la tipologia dell’argomento in termini di synset di BabelNet e accettare come argomento compatibile qualsiasi iponimo di tale concetto.

I vincoli funzionali, infine, sono definiti a partire dai ruoli semantici definiti nella tassonomia in Figura 7.2.1, ed assegnati agli elementi dell’annotazione mediante il predicato hasFunctType.

L’idea alla base dell’utilizzo delle relazioni di senso comune per descrivere l’interazione fra gli elementi della predicazione risiede nella possibilit`a di rap- presentare attraverso tali relazioni la funzione che un’entit`a gioca all’interno dello scenario descritto dal predicato.

La lista delle regole impiegate per l’assegnamento dei ruoli funzionali a partire dalle informazioni presenti in Syn (e dalle associate annotazioni sintattiche) `e mostrata nella tabella seguente:

Tabella 7.1. Regole di assegnamento funzionale

Tipo Regola

Actor definer hasFunctType(X,agent) :- capableOf(X,Y). Object definer hasFunctType(Y,patient) :- capableOf(X,Y). Location definer hasFunctType(Y,locative) :- atLocation(X,Y).

Example 7.3. In tabella 7.2 si riporta una possibile annotazione per l’atomo research(X, Y, Z)2 KB utilizzato per descrivere un’attivit`a di ricerca svolta da X su un argomento Y all’interno di un dipartimento Z.

Tabella 7.2. Annotazione PSA per il predicato research(X,Y,Z)

Lex h00research00, vresearch,00bn : 00095823v00i, h00researcher00, v researcher,00bn : 00047356n00i, h00topic0, vtopic,00bn : 00074900n00i h00department00, v dept,00bn : 00026308n00i,

Syn “A scientist researches on a topic at a department.” :

{(00scientist00, 1), (00researches on00, 0), (00topic00, 2), (00department00, 3)};

Mod

isA(researcharg0, bn00095823v). isA(researcharg1, bn00047356n). isA(researcharg2, bn00074900n). isA(researcharg3, bn00026308n). capableOf (researcharg1, researcharg0). hasP roperty(researcharg0, researcharg2). relatedT o(researcharg0, researcharg2). atLocation(researcharg0, researcharg3).

Osservazione 1 Il modello d’annotazione PSA segue le intuizioni alla base della risorsa lessicale FrameNet nella misura in cui essa abbraccia il principio di evocazione e circoscrizione semantica definita dalla semantica dei frame. E’ infatti immediato considerare la situazione espressa attraverso un predicato come un frame in miniatura, all’interno del quale si realizzano dei particolari ruoli semantici.

Le unit`a lessicali, che in FrameNet hanno il compito di evocare la situa- zione definita dal frame, sono qui le realizzazioni lessicali presenti in Lex che emulano l’azione evocativa abilitando la costante o il predicato collegato.