Finora si `e accennato alle difficolt`a relative alla definizione di cosa sia una do- manda. Anche se non esplicitamente espresso, tutte le interrogazioni trattate fanno tutte parte di una stessa classe. Tale classe pu`o essere definita come l’insieme di tutte le domande le cui risposte possono essere costruite a parti- re da qualche meccanismo di ricerca dell’informazione contenuta in una base di conoscenza. Esistono tuttavia domande, come quelle riportate nel seguito, che pur non essendo particolarmente difficili nella realt`a non possono essere risposte con la questa metodologia. Si considerino le seguenti domande:
What is one plus one?
How many legs does a dog have?
5.5 Complessit`a di una domanda 91
What was the dilemma facing Hamlet?
Ognuna delle precedenti domande `e caratterizzata da una particolare richiesta: sia essa di natura matematica, logica, di semplice stima, o d’interpretazione. Risolvere ognuna di queste richieste, impiegando la stessa tecnica utilizzata in precedenza, imporrebbe l’assunzione che l’informazione necessaria a costruire la risposta sia contenuta all’interno della base di conoscenza. Sfortunatamen- te, come discusso nel capitolo riguardante la semantica del linguaggio, un tale approccio `e destinato a fallire non solo per l’impresa infattibile di enumera- re la realt`a, ma soprattutto perch´e distante dal principio di sistematicit`a del linguaggio che guida la sua interpretazione. Quindi per fornire una risposta corretta alle domande riportate sopra la sola conoscenza di informazione non `e sufficiente, ma occorre equipaggiare il sistema QA di una forma di ragiona- mento pi`u avanzata in grado di costruire delle giustificazioni a supporto delle risposte generate.
Per chiarire questo punto si consideri la domanda d’esempio “What color does litmus paper turn when it comes into contact with a strong acid? ”. Per rispondere a tale domanda si pu`o assumere l’esistenza di un qualche docu- mento contenente il seguente passaggio “Litmus is the compound that turns red in acid solution.”. Sebbene attraverso la comune capacit`a interpretativa `e facile definire come risposta alla domanda precedente l’entit`a red, il passag- gio selezionato non `e da solo sufficiente a fornire una risposta esaustiva alla domanda posta. Detto in altri termini, l’esempio appena mostrato evidenzia la necessit`a di impiegare una certa quantit`a di conoscenza, che pu`o essere associata al senso comune, all’interno del processo d’inferenza.
Nell’esempio in corso, infatti,“ Litmus paper ” in quanto cartina deve essere assimilato ad un generico foglio di carta. Ma “paper ”, essendo parte di un’e- spressione nominale composta, riceve un insieme di caratteristiche derivanti dall’elemento di testa “Litmus”. Qui il primo problema da trattare riguarda la conoscenza dell’esatta misura di similarit`a che sussiste fra l’entit`a Litmus paper e l’entit`a Litmus. La seconda problematica da trattare riguarda invece l’interpretazione di “strong acid ”, contenuto nella domanda, ma che non trova un esatto equivalente all’interno del passaggio selezionato dal sistema come candidato a supporto della risposta. Se nell’esempio in questione non fa molta di↵erenza il livello di acidit`a della soluzione ai fini della colorazione della car- tina tornasole, in generale non `e cos`ı facile definire questo tipo di conoscenza e rendere equivalenti le due entit`a “strong acid ” e “acid solution”.
Rimane infine il problema di esplicitare lo stato di contatto che caratterizza gli elementi presenti in una soluzione, ma quest’ultimo tipo di informazione pu`o essere ricondotto a una qualche forma di ragionamento di senso comune e magari ricavato utilizzando qualche risorsa esterna.
Sulla base delle considerazioni appena trattate, `e opportuno identificare al- cuni modelli di ragionamenti capaci di semplificare il processo di risposta. Fra questi la possibilit`a di adottare un approccio composizionale per la definizione della semantica della domanda pu`o essere sicuramente interessante. Tuttavia
rimane da valutare se il ricorso ad un tale approccio sia sempre necessario. In presenza di informazione incompleta infatti `e preferibile tralasciare i costrutti della domanda che non ricevono una denotazione e proseguire l’analisi con la conoscenza assegnata ai restanti costrutti. Ma `e anche vero il contrario: anche semplici domande come “Who is the wife of the President? ” sono pi`u facili da trattare se decomposte in una serie di sotto-domande. Nel caso spe- cifico riconosce quale entit`a sia la denotazione della parola President facilita sicuramente il processo di risposta.
In generale altro aspetto problematico riguarda l’eccessiva specificazione che pu`o caratterizzare alcune domande. Per introdurre la nozione di eccessi- va specificazione `e preferibile utilizzare alcuni esempi. Nella domanda “Who coined the term cyberspace in his novel Neuromancer ? ” il ruolo della frase preposizionale “in his novel Neuromancer ” `e semplicemente descrittivo poich´e non esistono due entit`a distinte che hanno coniato il termine “cyberspace” e sono autori del romanzo “Neuromancer ”. Ciononostante la domanda suggeri- sce un vicolo di uguaglianza da imporre sulle entit`a presenti rispettivamente nei predicati per chi ha coniato il termine e per chi ha scritto il romanzo. Per trattare questo genere di casi si possono definire i seguenti principi:
Analisi della configurazione : alcune propriet`a strutturali delle domande sono indipendenti dall’entit`a coinvolte. L’insieme di domande riguardanti fatti o eventi tende il pi`u delle volte ad essere caratterizzato dalla stessa costruzione. Tuttavia la definizione degli schemi di domanda dovrebbe essere fatta con cautela per non incidere negativamente con le prestazioni del sistema.
Rilassamento dei vincoli : se non sia possibile conoscere a priori la funzione dei modificatori(descrittivi o restrittivi), `e opportuno utilizzarli tutti. Nel caso in cui l’insieme di risposta risulti vuoto si pu`o tentare la rimozione di qualche vincolo. Tuttavia occorre sottolineare come a volte una risposta vuota pu`o essere corretta, e che quindi non si debba sempre rimuovere vincoli.
Verifica della risposta : indipendentemente dalle entit`a selezionate per rap- presentare le entit`a della domanda occorre sempre garantire che la loro composizione si logicamente valida.
5.6 Sommario e ulteriori riferimenti
Il primo sistema QA presentato in letteratura fu baseball porposto da Green e colleghi in [55]. Dopo quasi un ventennio fu presentato lunar in [149]. In- formazioni sul sistema START1, sviluppato da Boris Katz, possono essere
trovate in [76], mentre i riferimenti per i sistemi lasso e falcono sono rispetti- vamente [109] e [60]. Gaizauskas e Humphreys presentarono invece il sistema
5.6 Sommario e ulteriori riferimenti 93
QA-LaSIE in [50]. I tentativi di applicare tecniche di apprendimento automa- tico ai sistemi QA sono poi documentati nei lavori di Zhang e Lee [151, 150]. Infine il sistema Watson fu presentanto publicamente nel lavoro [43].
Gli argomenti e la discussione condotta in questo capitolo `e largamente ispirata dal lavoro di Prager [122] sui sistemi di risposta per domini aperti. Dagli argomenti trattati `e facile concludere che la costruzione di un sistema QA sia in generale una faccenda abbastanza complessa. Sebbene vi siano ormai delle metodologie ben definite, risolvere le problematiche relative alla cono- scenza generica e al comune senso di ragionamento richiede ancora ulteriore investigazione. Nel prossimo capitolo sar`a presentato un tentativo di risolve- re alcuni dei problemi discussi qui sfruttando un approccio di ragionamento dichiarativo basato su programmi logici.
6
ASP : un formalismo per rappresentare e
ragionare sulla conoscenza
Rappresentare e manipolare informazioni di tipo complesso richiede un ade- guato formalismo logico. Oggigiorno la maggior parte delle basi di conoscenza pubblicamente disponibili, come Wikidata, il Knowledge Graph di Google etc., adottano formalismi basati su logiche pi`u o meno complesse.
Fra i formalismi logici presenti in letteratura la programmazione logica disgiuntiva (DLP) `e sicuramente una scelta solida, poich´e la ricerca e gli stru- menti ad essa associati hanno raggiunto un ragguardevole grado di maturit`a, che ne permette l’uso anche in applicazioni reali di larga scala.
Lo scopo di questo capito `e quello di introdurre i concetti di base riferiti alla sintassi di DLP ed alla sua semantica in termini di Answer-set Program- ming (ASP). Sar`a presentata una metodologia di programmazione semplice ed efficace e saranno presentati alcuni esempi di rappresentazione in ASP di problemi computazionalmente difficili, in modo da evidenziare le capacit`a espressive del linguaggio.