Questo sito web utilizza cookie tecnici e, previo Suo consenso, cookie di profilazione, nostri e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsente all'uso dei cookie. Leggi la nostra Cookie Policy per esteso.OK

intelligenza artificiale

Teoria dell’argomentazione nell’intelligenza artificiale: cos’è e a che serve

Cos’è la teoria dell’argomentazione e perché è importante nell’intelligenza artificiale. Cosa sono i sistemi di argomentazione astratti e le semantiche e come si fa a calcolarne le estensioni, grazie alla suite ConArg dell’Università di Perugia per lo sviluppo di soluzioni applicative che usano processi di argomentazione

05 Feb 2019

Stefano Bistarelli

professore, Nodo UniPG Cybersecurity lab

Carlo Taticchi

PhD student at GSSI

teoria dell'argomentazione

Situata nell’ambito dell’Intelligenza Artificiale, più in particolare nella branca della “Knowledge Representation and Reasoning” (rappresentazione della conoscenza e ragionamento), la Teoria dell’Argomentazione studia il modo in cui avviene il ragionamento umano e si occupa di fornire mezzi per formalizzare la conoscenza, in modo da renderla comprensibile alle macchine che ne faranno uso per inferire nuove informazioni. Tra i modelli con i quali la conoscenza può essere rappresentata ed analizzata, il più diffuso fa utilizzo dei cosiddetti “Abstract Argumentation Frameworks”. Nel Dipartimento di Matematica e Informatica dell’Università degli Studi di Perugia è stata messa a punto una suite di strumenti, denominata ConArg, volta a facilitare la ricerca nell’ambito della Teoria dell’Argomentazione ed a permettere lo sviluppo di soluzioni applicative che fanno uso di processi di argomentazione. Vediamo di cosa si tratta e perché è importante con qualche esempio per renderne più agevole la comprensione ma partiamo, ovviamente, con un po’ di filosofia.

Logos e teoria dell’argomentazione

Molte applicazioni dell’informatica (come i sistemi di raccomandazione, la guida assistita o, ancora, i controlli antifrode delle banche) prevedono l’utilizzo di strumenti per la rappresentazione strutturata di dati e tecniche di ragionamento automatico per trarre conclusioni utili a partire dalle informazioni inizialmente disponibili. Ad esempio, le piattaforme che offrono servizi di compravendita online sono in grado di stabilire quali interessi o preferenze abbiano i propri utenti, così da poter suggerire ad ognuno un insieme di articoli ai quali potrebbe essere interessato. Il semplice asserire un fatto come conseguenza di questo tipo di ragionamento non è sufficiente per provarne la veridicità, ma bisogna altresì fornire le ragioni per giustificarne la credibilità agli occhi di una persona razionale. Scienziati come Galileo, non si sono limitati a proclamare le proprie convinzioni, ma hanno, invece, fornito argomentazioni valide per giustificare le teorie proposte, al fine di renderle accettabili anche da parte di altre persone.

Il processo dialettico del convincere gli altri per mezzo di un ragionamento strutturato viene descritto da Aristotele attraverso il concetto di Logos (in greco “scegliere”, “raccontare”, “pensare”), che corrisponde al fornire fatti che supportano una particolare tesi allo scopo di persuadere gli ascoltatori. Un esempio comune di utilizzo del Logos può essere riscontrato nelle promozioni di prodotti i cui slogan pubblicitari recitano: “costa meno di un caffè al giorno”. Il ragionamento logico che il destinatario della promozione è portato a seguire è del tipo: posso permettermi un caffè al giorno, pertanto posso permettermi anche di comprare il prodotto.

Gli Abstract Argumentation Frameworks

La Teoria dell’Argomentazione offre diversi modelli con i quali la conoscenza può essere rappresentata ed analizzata, che differiscono sia per come viene strutturata l’informazione iniziale, sia per il tipo di ragionamento che viene effettuato per dedurre ulteriore conoscenza. Uno dei modelli più diffusi e studiati negli ultimi venti anni fa utilizzo dei cosiddetti “Abstract Argumentation Frameworks” (sistemi di argomentazione astratti), ovvero strutture dati che permettono la formalizzazione di dibattiti tra due o più parti che manifestano posizioni differenti riguardo ad una certa tematica. Tali sistemi possono essere rappresentati mediante un grafo orientato i cui nodi vengono detti argomenti; gli archi che mettono in relazione i nodi del grafo simboleggiano gli attacchi che gli argomenti conducono l’uno verso l’altro. Il contenuto dei nodi è un’astrazione dell’informazione originale che permette di concentrarsi sul cosiddetto stato di accettazione degli argomenti: in un discorso che considereremmo coerente, infatti, occorre che ogni affermazione sia giustificata affinché possa essere considerata valida.

L’analisi delle relazioni tra argomenti permette di identificare quali tra di essi sono i più attendibili e quindi accettabili. Pensiamo, ad esempio, ad un dibattito condotto sull’utilità del praticare sport, al quale i partecipanti contribuiscono con diverse argomentazioni e diversi punti di vista. In particolare, le posizioni emergenti sono le seguenti.

  1. Si dovrebbe praticare sport due volte a settimana.
  2. Chi si sente già in forma può astenersi dall’esercizio fisico.
  3. Praticare sport richiede tempo libero che non tutti hanno a disposizione.
  4. Praticare sport è un’attività salutare che contribuisce a mantenersi in forma.
  5. Bastano pochi minuti di esercizio fisico al giorno.

A partire da queste informazioni è possibile ricavare un abstract argumentation framework come quello riportato nella figura qui sotto, in cui ogni argomento è identificato con una lettera corrispondente ad uno dei punti sopra elencati.

Le relazioni di attacco (le frecce nel grafo) sono costruite a partire da deduzioni logiche: il fatto che praticare sport richiede di avere tempo libero a disposizione (punto c), ad esempio, costituisce un ostacolo al fare esercizio due volte a settimana (punto a). Tuttavia, l’osservazione fatta nel punto e, cioè che bastano pochi minuti di esercizio fisico al giorno per mantenersi allenati, smentisce quanto affermato nel punto c e per questo mettiamo una freccia che va da e a c. Similmente vengono individuati anche gli eventuali altri attacchi da e verso gli altri argomenti.

I criteri di accettazione degli argomenti

Una volta costruito il grafo rappresentante il dibattito, è possibile iniziare a ragionare (in maniera automatica) su quali siano gli argomenti che verrebbero accettati più facilmente da una persona  razionale e quelli che, invece, verrebbero respinti. Esistono diversi criteri con i quali verificare lo stato di accettazione dei vari argomenti. Tali criteri vengono detti semantiche e consentono di selezionare sottoinsiemi di nodi del grafo che rappresentano una parte coerente del discorso. Risolvere un problema di argomentazione equivale a trovare tali sottoinsiemi. Il requisito più basilare che richiediamo per un sottoinsieme accettabile di argomenti è che questi non si attacchino tra di loro (e in tal caso il sottoinsieme viene detto conflict-free). Nell’abstract argumentation framework in figura, gli insiemi di nodi {a,d}, {a,d,e} e {b,c} sono tutti esempi di sottoinsiemi di questo tipo, mentre {a,c} ed {e,c} non lo sono. In altre parole, è coerente ritenere vero che non tutti abbiano il tempo di praticare sport e che, contemporaneamente, le persone già in forma non ne abbiano bisogno, mentre è poco ragionevole sostenere che basti allenarsi per pochi minuti al giorno e continuare a pensare di non aver abbastanza tempo a disposizione.

La semantica admissible

A partire da questo primo criterio di selezione, che tiene conto solamente dell’esistenza o meno di una relazione di attacco tra due argomenti, se ne possono derivare altri, più complessi, che considerano anche una nozione di difesa. Rifacendoci al detto “il nemico del mio nemico è mio amico”, possiamo dire che un nodo ne difende un altro se il primo attacca gli attaccanti del secondo. Nel nostro esempio, e difende a dall’attacco di c e d difende a da entrambi gli attacchi di b e c. Considerando il concetto di difesa, possiamo quindi raffinare il nostro criterio di accettabilità e selezionare solamente gli argomenti che non si attaccano a vicenda e che, inoltre, sono difesi da eventuali attacchi. Chiamiamo questa semantica admissible. Gli insiemi di argomenti di questo tipo sono chiaramente meno numerosi di quelli conflict-free. Nell’esempio in figura, {a,d} e {a,d,e}, sono sottoinsiemi admissible, mentre {b,c} no. Infatti, le affermazioni “chi si sente già in forma può astenersi dall’esercizio fisico” e “praticare sport richiede tempo libero che non tutti hanno a disposizione” non sono giustificate di fronte al fatto che “praticare sport è un’attività salutare che contribuisce a mantenersi in forma”.

Semantiche complete e grounded

I sottoinsiemi admissible che lasciano fuori solo gli argomenti attaccati e non difesi appartengono alla semantica complete. Nel nostro esempio, l’estensione {a,d,e} è complete mentre {a,d} no lo è in quanto esclude l’argomento e che, però, non ricevendo attacchi, non ha motivo di essere reputato non valido. Molto più restrittiva della semantiche precedentemente introdotte, quella grounded rappresenta il più piccolo insieme complete ed è pertanto unica. Nel nostro esempio, l’estensione {a,d,e} è la grounded e costituisce il nucleo di informazione che siamo razionalmente spinti a ritenere vera. L’interpretazione dell’estensione grounded {a,d,e} nell’esempio condotto è la seguente. “Tutti dovrebbero praticare sport almeno due volte a settimana, anche chi si sente in forma e pensa di non averne bisogno. Il poco tempo libero a disposizione non deve essere una scusa per sottrarsi all’esercizio fisico! Infatti, un allenamento regolare contribuisce a mantenersi in salute. Oltretutto bastano pochi minuti al giorno.”

Semantiche  preferred e stable

Nel nostro particolare esempio, l’estensione {a,d,e} appartiene, oltre che alle semantiche admissible, complete e grounded, anche alla cosiddette preferred e stable. La preferred è costituita dalle più grandi estensioni admissible (le massime per inclusione insiemistica), mentre la stable caratterizza i sottoinsiemi conflict-free i cui argomenti attaccano tutti quelli fuori dall’estensione.

A seconda della finalità, una o più semantiche possono essere considerate per spigare/confutare una certa teoria o posizione. Calcolare le estensioni per una determinata semantica non è tuttavia un compito facile: un argumentation framework di soli dieci argomenti (da ritenersi, dunque, di piccole dimensioni) può arrivare ad ammettere più di mille estensioni conflict-free. Si rivelano pertanto necessari strumenti per la risoluzione automatica dei problemi di argomentazione astratta.

Nel Dipartimento di Matematica e Informatica dell’Università degli Studi di Perugia è stata messa a punto una suite di strumenti, denominata ConArg, volta a facilitare la ricerca nell’ambito della Teoria dell’Argomentazione ed a permettere lo sviluppo di soluzioni applicative che fanno uso di processi di argomentazione. In particolare, vengono fornite funzionalità per calcolare gli insiemi di estensione per tutte le semantiche più utilizzate e studiate, visualizzare gli abstract argumentation frameworks e le estensioni trovate, programmare applicativi attraverso un’apposita libreria e studiare le proprietà inerenti alle varie semantiche.

Nell’immagine riportata di seguito viene mostrata l’interfaccia grafica di ConArg che consente di creare in maniera intuitiva un abstract argumentation framework sul quale è poi possibile andare a studiare le varie semantiche. Le estensioni per ogni semantica vengono mostrate direttamente sul grafo visualizzato, attraverso una differente colorazione.

@RIPRODUZIONE RISERVATA

Articolo 1 di 4