7° lezione Scaletta argomenti: Rappresentazione della conoscenza z
Logica del primo ordine
z
Logiche non-monotone
z
Reti semantiche
z
Frame e script
z
Regole di produzione
Logica del Primo Ordine - Logica proposizionale
ha poco potere espressivo in quanto ha un’ontologia limitata: il mondo consiste di fatti, es. il fiore è giallo - Logica del primo ordine
fa assunzioni ontologiche più forti: i fatti di cui consiste il mondo vengono distinti in componenti: 9 OGGETTI, caratterizzati da proprietà 9 RELAZIONI tra gli oggetti
Logica del Primo Ordine SINTASSI Prima avevo solo simboli e connettivi; ora oggetti, relazioni,connettivi e quantificatori per creare formule 9 Per rappresentare gli oggetti (individui, termini): -
Simboli di costanti, es. Mario, A, B, ecc. Variabili, es. x, y Simboli di funzioni che descrivono un oggetto es. padre di
9Per rappresentare le relazioni (predicati): -
Simboli di predicati, es. Fratello, HaColore, Rosso, ecc.
Logica del Primo Ordine Formule atomiche: applicazione di un predicato a n termini Es. giallo (x)
// x è giallo: x appartiene all’insieme “giallo”
fratello (Marco,Giovanni) //Marco è fratello di Giovanni: Marco e Giovanni appartengono all’insieme “fratello”: sono due oggetti di una stessa tupla della relazione “fratello”
Formule complesse (o composte): applicazione di connettivi logici e quantificatori a formule atomiche
Logica del Primo Ordine QUANTIFICATORI: strumenti sintattici che consentono di rappresentare regole generali, esprimendo relazioni tra insiemi di oggetti e non solo tra oggetti specifici. Due tipi: 9 Quantificatore universale rappresentato dal simbolo Es.
V
// “per ogni….”
V x Gatto(x) Æ Mammifero (x) // per ogni x tale per cui x è un gatto, x è un mammifero”
9Quantificatore esistenziale rappresentato dal simbolo // “esiste almeno uno….” Es. x Fratello(x,Pluto) Λ Cane(x) //esiste almeno un x tale per cui x è fratello di Pluto e x è un cane
Logica del Primo Ordine Quantificatori annidati: permettono di scrivere formule complesse usando più quantificatori Es.
Vx(
y Fratello(x,y) )Æ
~ FiglioUnico(x)
Logica del Primo Ordine SEMANTICA Per interpretare le formule e dire se sono vere o meno, è necessario: - associare individui e oggetti ai simboli di costanti,
variabili, … - associare relazioni ai simboli di predicato - verificare l’appartenenza degli oggetti alle relazioni,
in particolare:
Logica del Primo Ordine 9 Verifica delle formule atomiche
La formula è vera se tutti gli n individui corrispondenti agli n termini appartengono alla relazione rappresentata dal predicato Es. Sorella (a,b) considero tutti gli individui che nell’universo corrispondono ad a e b e verifico se appartengono alla relazione
Logica del Primo Ordine 9
Verifica delle formule complesse 1.
Si stabilisce la verità delle formule atomiche
2.
Per le formule composte mediante connettivi logici, si usano le tabelle di verità
3.
Per le formule che contengono il quantificatore universale, si deve verificare che per qualunque individuo che inserisco nella formula, questa è vera
4.
Per le formule che contengono il quantificatore esistenziale, si deve verificare che la relazione esista per almeno uno degli individui specificati dalla relazione
Logica del Primo Ordine Come può essere utilizzata nella personalizzazione? Estensione del MU tramite ragionamento - definizione delle regole
(conoscenza universale, non specifica per un solo individuo, grazie ai quantificatori universali) - fatti ai quali applico le regole
Æ classificazione, predizione di caratteristiche Esempio?
Problemi della logica classica Tre classi principali di problemi che hanno originato nuovi sistemi di rappresentazione della conoscenza
Monotonicità
Æ logiche non-monotone Non strutturazione
Æreti semantiche, frame Scarsa capacità di trasformare gli stati del mondo
Æ regole di produzione
7° lezione Scaletta argomenti: Rappresentazione della conoscenza z
Logica del primo ordine
z
Logiche non-monotone
z
Reti semantiche
z
Frame e script
z
Regole di produzione
Logiche NON-MONOTONE La logica classica richiede: - conoscenza completa - conoscenza consistente - conoscenza fissa (non variabile) Æ Si definisce MONOTONA perché al crescere delle formule, la conoscenza può solo crescere, non diminuire o modificare quella precedente
Logiche NON-MONOTONE Le logiche NON-MONOTONE, invece permettono di: Arrivare a conclusioni in assenza di evidenza
contraria: assunzione di mondo chiuso Ragionamento per default Abduzione:
AÆB
B A
Logiche NON-MONOTONE
Molto utili nei problemi di personalizzazione, in quanto tipicamente si effettua ragionamento in condizioni di conoscenza non completa Tipo di ragionamento simile a quello umano
7° lezione Scaletta argomenti: Rappresentazione della conoscenza z
Logica del primo ordine
z
Logiche non-monotone
z
Reti semantiche
z
Frame e script
z
Regole di produzione
Reti Semantiche Sono reti che derivano dalla logica, finalizzate a strutturare la conoscenza intorno a dei concetti detti Nodi: attorno a un concetto vengono raggruppate tutte le k che si hanno di quel concetto: proprietà, formule logiche, relazioni tra concetti, ecc. Reti semantiche e modello E/R nascono quasi insieme, e infatti condividono i principi di base, anche se poi le reti semantiche saranno usate per compiere ragionamenti in campo AI, mentre E/R nella modellazione concettuale delle basi di dati.
Reti Semantiche Quando possono essere utili nella personalizzazione? Per rappresentare la conoscenza di dominio Esempio: Un documento può essere rapp. - associando i concetti trattati (o le parole utilizzate per riferirli) a nodi della rete. - congiungendo coppie di nodi in relazione tra loro mediante archi che esprimono il tipo di relazione intercorrente (es. sinonimia, gerarchia, ecc.).
Reti Semantiche Per rappresentare le caratteristiche dell’utente (tipicamente le sue conoscenza, nella forma di overlay model del domani model) Esempio:
proprietà
concetto che costituisce il dominio della proprietà
concetto da imparare action Form
method
URL Metodi HTTP
name
caratteri Set di caratteri alfanumi
7° lezione Scaletta argomenti: Rappresentazione della conoscenza z
Logica del primo ordine
z
Logiche non-monotone
z
Reti semantiche
z
Frame e script
z
Regole di produzione
FRAME Frame = lett. cornice, immagine struttura, framework Nascono intorno alla metà anni ’70 in ambito psicologico per la classificazione e il riconoscimento di forme visive (Minsky) Precedono di poco le Reti Semantiche e come queste derivano dalla logica, come formalismo per strutturare la conoscenza, che nella logica si presenta invece non strutturata (insieme di formule).
FRAME Il Frame è una descrizione stereotipale di oggetti/concetti. Come le reti semantiche, i frame sono caratterizzati da: un insieme di proprietà, qui dette SLOT, per i quali si
definisce il dominio dei valori possibili relazioni che possono collegare i diversi frame e gli
esemplari ai frame (es. relaz. ISA equivale a "include", relaz. "Esemplare di" equivale a "appartiene)"
FRAME Diversamente dalle Reti Semantiche però i frame hanno introdotto dei componenti procedurali, ossia delle procedure attivabili al verificarsi di eventi: trigger = proprietà o regole che attivano il frame
immediatamente facets = attachment procedurali che istruiscono una
proprietà su come ottenere i suoi valori o cosa fare se i suoi valori cambiano, ecc. = vincoli su valori di certe proprietà che attivano delle procedure
FRAME Trigger Slot proprietà facets Slot proprietà facets
istanze
FRAME Come la logica e le reti semantiche, gli stereotipi consentono di classificare e di predire caratteristiche. - Classificazione: a partire anche da pochi elementi è
possibile classificare un oggetto come appartenente a un certo frame - Predizione: l'oggetto eredita dal frame le caratteristiche
non note
SCRIPT Gli Script sono il corrispondente del Frame, per la rappresentazione stereotipale di situazioni. (Schank e Abelson, 77) Es. -lo script del viaggio in treno -lo script dell’acquisto al supermercato
FRAME Nella personalizzazione i Frame sono molto utilizzati per rappresentare la base di conoscenza che descrive tipologie di utenti diversi, caratterizzati da specifiche proprietà Æ di solito in UM si chiamano Stereotipi. Es. stereotipi Eurisko utilizzabili per classificare, predire caratteristiche, nonché attivare procedure
FRAME Quindi, il ragionamento effettuato dal sistema è confrontare l’utente (cioè i fatti, i dati noti dell’utente) con gli stereotipi memorizzati nella Base di Conoscenza e associare l’utente allo stereotipo che meglio lo descrive, magari anche solo in modo probabilistico Æ CLASSIFICAZIONE Nb: anche la classificazione può essere vista come un’estensione del Modello Utente in quanto consiste nell’acquisire l’informazione che l’utente appartiene a un certo Stereotipo
FRAME PREDIZIONE La predizione, e quindi l’inferenza di caratteristiche non note, può avvenire in due modi:
- classificazione - predizione
- all’interno del frame - tramite regole con o meno ragionam.
FRAME all'interno del frame: utilizzabile se ho definito degli slot per classificare (=slot con proprietà note) e altri per predire (non note). z con sistemi a regole: le regole vengono definite sugli slot del frame (anche con ragionamento approssimato) z
NB: gli stereotipi producono assunzioni sull’utente di solito deboli, appunto stereotipate Æ spesso sono usati solo nell’inizializzazione del modello, è poi necessario aggiornamento del modello in base ai feedback
7° lezione Scaletta argomenti: Rappresentazione della conoscenza z
Logica del primo ordine
z
Logiche non-monotone
z
Reti semantiche
z
Frame e script
z
Regole di produzione
Regole di produzione Rappresentano un’evoluzione della logica, con l’obiettivo di aumentare la capacità di trasformazione degli stati del mondo. Sono regole del tipo
if
then antecedente
conseguente
Regole di produzione Tipi di regole: Regole di inferenza della logica classica:
l’azione produce nuova conoscenza Inferenza nelle logiche non monotone:
l’azione produce nuova conoscenza L’azione è una procedura
Sistemi a regole Un sistema a regole di produzione prevede: Due Memorie e un motore inferenziale Short Term Memory: contiene la descrizione di ciò che è vero in un certo istante, es. le caratteristiche note dell’utente Long Term Memory: insieme di regole Motore inferenziale: a ogni ciclo applica le regole della LTM ai fatti della STM. Usa delle strategie di ricerca per decidere quale regola applicare.
Sistemi a regole Strategie di Ricerca -
Forward chaining Backword chaining
Esempio: STM a,b,c,d
LTM If a Λ bÆ e aggiungi If c Æ f aggiungi If a Λ c Æ c rimuovi
Goal: verificare f
.....
Sistemi a regole Forward chaining While (non verifico f nella STM) { 1° MATCH: determina l'insieme delle regole applicabili (cioè le regole il cui antecedente è soddisfatto dai fatti contenuti nella STM) 2° CONFLICT_RESOLUTION: seleziona la regola da applicare 3° FIRE: esecuzione dell’azione associata alla regola }
Sistemi a regole Backword chaining While (non verifico f nella STM) { 1° MATCH: determina l'insieme delle regole che contengono il goal (f) nel conseguente 2° CONFLICT_RESOLUTION: seleziona la regola da applicare 3° FIRE: l’antecedente della regola diventa il nuovo goal }
Sistemi a regole Inferenza approssimata A fatti e regole possono essere associati dei CERTAINTY FACTORS (CF) Esempio: STM a(0.8) B(0.9) LTM a Λ bÆ (0.7) c
Sistemi a regole Probabilità del conseguente: P(conseg)=P(conseg | anteced) * P(anteced) Infatti
a Λ bÆ (0.7) c (0.7)
equivale a:
aΛb Æ c
equivale a:
P(c | a Λ b )=0.7
da cui:
P(c) =P(c| a Λ b )*P(a Λ b) P(c) =0.7 * P(a Λ b) da cui, se a e b sono indipendenti: P(c) =0.7 * (0.8*0.9) = 0.7*0.72 = 0.504
8° lezione Scaletta argomenti: Probabilità z
Richiami di probabilità
z
Reti Bayesiane
z
Decision Theory e Utilità
Es. Netica
Richiami di probabilità - La formalizzazione deriva da Boole - Concetto di VARIABILE (x), che può assumere certi
valori in un insieme (dominio) - Definire la PROBABILITA’ per la variabile x significa
stabilire la probabilità per OGNI VALORE del DOMINIO, con la proprietà che - la somma sia 1 (dominio discreto) - l’integrale dia 1 (dominio continuo)
Richiami di probabilità PROBABILITA’ A PRIORI: P(x) = {v1,v2,v3,vn} ∑ =1 (dominio discreto)
PROBABILITA’ A PRIORI dell’EVENTO CONGIUNTO: P(x Λ y) = {vx1y1,vx2y2,vx3y3,vn} ∑ =1 (dominio discreto)
Richiami di probabilità PROBABILITA’ CONDIZIONATA (o A POSTERIORI)= Probabilità che si verifichi x, sapendo che si è verificato y
P(x|y)=
P(xΛy)
casi favorevoli = casi totali
P(y)
Richiami di probabilità Esempi: - Probabilità a priori che esca 4 lanciando un dado
P(4)=1/6 - Probabilità condizionata che esca 4 sapendo che è
uscito pari P(4|pari)=1/3 P(x|y) =
P(xΛy) P(y)
=
1/6 1/2
= 1/3
Richiami di probabilità Esempio partendo da una MATRICE CONGIUNTA di PROBABILITA’ a PRIORI per due variabili: Mal di denti Carie
SI
NO
SI
0.05
0.03
NO
0.02
0.9
∑ =1
- Calcolo probabilità CONDIZIONATA: - P(carie | mal di denti) =
P(carieΛmal di denti) P(mal di denti)
=
0.05 0.07
Richiami di probabilità ASSIOMI della PROBABILITA’ PROBABILITA’ DELL’AND P(x Λ y) = P(x | y) * P(y) E’ la probabilità dell’evento congiunto Deriva dalla formula della P condizionata PROBABILITA’ DELL’OR P(x V y) = P(x) + ( y) - P(y Λ Y) PROBABILITA’ DEL NOT P( ~x ) = 1 - P(x)
= 1/3
Richiami di probabilità Se P(x | y ) = P(x)
indipendenza di x e y
PROBABILITA’ DELL’AND P(x Λ y) = P(x | y) * P(y) = P(x) * P(y) Es. la probabilità che lanciando i dati esca 12 è 1/36
PROBABILITA’ DELL’OR P(x V y) = P(x) + P(y) - P(xΛy) = P(x) + P(y) - P(x) * P(y) Es. la probabilità che lanciando i dati esca almeno un 6 è 11/36
= formula additiva di Bernoulli
Richiami di probabilità TEOREMA DI BAYES Rappresenta un modo per calcolare la probabilità condizionata, senza dover conoscere la probabilità dell’evento congiunto. Si calcola a partire dall’assioma della Probabilità dell’AND
Richiami di probabilità P(xΛy) = P(x|y) * P(y) P(yΛx) = P(y|x) * P(x)
P(y|x) * P(x) = P(x|y) * P(y) P(x|y) = P(y|x) * P(x) P(y)
Teorema di Bayes