Web Semantico e Logica Fuzzy

30

description

Uso della logica fuzzy all'interno di ontologie scritte in OWL2, basato sul lavoro di U. Straccia e F. Bobillo. Presentazione fatta per il corso di Web Semantico @ Università degli studi di salerno.

Transcript of Web Semantico e Logica Fuzzy

Page 1: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Web Semantico e Logica Fuzzy

Antonio Sanfelice

Università degli Studi di Salerno

18 Novembre 2011

Page 2: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Problemi della logica classica

Paradosso del mucchio

1 Un �lm che dura 5 minuti è breve;

2 un �lm breve che dura un minuto in più è ancora breve;

3 =⇒ Un �lm che dura 1030 anni è breve (?!)

Vi è piaciuto il �lm?

Si (true);

No (false);

Abbastanza (?!);

Non proprio (?!!).

Page 3: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Problemi della logica classica

Il problema

La teoria naive degli insiemi non permette di de�nireinsiemi vaghi (�lm brevi o recenti);

La logica classica non permette di trattare la conoscenzavaga e imprecisa (Il �lm è molto divertente);

La soluzione

La soluzione arriva nei primi anni '60 da un matematico azero:Lofti A. Zadeh, che de�nisce due strumenti:

Insiemi Fuzzy

Logica Fuzzy

Page 4: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

L'idea di base

Fuzzy Set

Consideriamo il grado di appartenenza dell'elementoall'insieme:

Il signore degli anelli ∈ Film Lunghi con grado 0.9

Star Wars ∈ Film Fantasy con grado 0.3

The Eye 3 ∈ Film Horror con grado 0.1

Fuzzy Logic

Consideriamo il grado di verità dell'asserzione:

Twilight è un bel �lm: abbastanza falso (verità 0.1)

Paranormal Activity è spaventoso: meh (verità 0.5)

Una settimana da Dio è divertente: vero (verità 1.0)

Page 5: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

De�nire un fuzzy set

De�nizione

Dato un insieme U de�nito universo, un fuzzy set A su U è unafunzione

µA : U → [0, 1]

µA è anche detta funzione di appartenenza (membership)

Un fuzzy set viene de�nito

nel caso U discreto

A= ∑x∈U

x/µA(x)

nel caso U continuo

A=∫U

x/µA(x)

Page 6: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Funzioni di appartenenza

Lineare Triangolare

Spalla destra Trapezoidale

Page 7: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Relazioni fuzzy binarie

Premesse

Siano U e V due insiemi classici.Sia A un fuzzy set de�nito su U con f.a. µA

Sia B un fuzzy set de�nito su V con f.a. µB

Prodotto cartesiano fra insiemi fuzzy

Il prodotto cartesiano S fra A e B si ottiene come segue:

1 S ← UxV

2 µS(x ,y)←min(µA(x),µB(y)) : x ∈ U, y ∈ V

Relazione fuzzy

come nel caso classico, R(A,B)⊆ AxB ;simili(Avatar, Pocahontas) = 0.65

Page 8: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Logica Fuzzy

Predicati Fuzzy

Nella Logica Fuzzy i predicati sono espressi nella forma

A è T

dove:

A è una Variabile Linguistica

T è un Termine, ovvero un valore assumibile dalla V.L.,rappresentato da un fuzzy set.

Esempi

(l'età di) Harry Potter 7 è nuovo(l'età in) Una notte da leoni è recente(l'età di) La storia in�nita è vecchio

Page 9: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Esempio

Variabile linguistica Età (�lm)

Page 10: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori Fuzzy

E se volessi modi�care il signi�cato di un termine?

Questo �lm è molto vecchio;

Questo �lm è abbastanza recente;

È possibile de�nire dei modi�catori fuzzy

Modi�catori Fuzzy

Un modi�catore fuzzy è una funzione che agisce sulla funzionedi appartenenza del fuzzy set. Si dividono in diverse categorie

Restrittivi;

Espansivi;

. . .

Page 11: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori: Esempi

Elevamento a potenza

mα(A) :U → [0, 1]

x 7→ (µA(x))α

Page 12: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori: Esempi

Traslazione

mα(A) :U → [0, 1]

x 7→ µA(x−α)

Page 13: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Logiche Fuzzy

Diversi tipi di logiche

Si distinguono a seconda di come de�niscono le operazioni di:

T-Norma (Intersezione);

T-Conorma (Unione);

Negazione;

Implicazione;

Page 14: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Logiche Fuzzy

Famiglie di logiche fuzzy

Famiglia Zadeh Gödel �ukasiewicz

t-Norma min{α,β} min{α,β} max{α +β −1,0}

t-Conorma max{α,β} max{α,β} min{α +β ,1}

Negazione 1−α

{1, α = 0

0, α > 01−α

Implicazione max{1−α,β}{

1, α ≤ β

β , α > βmin{1−α +β ,1}

Page 15: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Ontologia

De�nizione Formale

È una tuplaO ≡ (C , T , R, σ)

Dove

C insieme di concetti;

T relazione d'ordine parziale

Ri�essivaAnti-SimmetricaTransitiva

R è un insieme di relazioni;

σ : R → C+ funzione che associa ad ogni relazione la suaarietà;

Page 16: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Ontologia Fuzzy

De�nizione Formale

È una tuplaO ≡ (C , T , R)

Dove

C insieme di concetti fuzzy (fuzzy sets);

T Tassonomia Fuzzy

A è un B con grado α

R è un insieme di relazioni fuzzy;

Page 17: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Scelta dello strumento

Come rappresentare la conoscenza imprecisa?

Attualmente non ci sono standard e non sembra che ce nesaranno a breve termine;

Si è ancora alla ricerca di una soluzione che o�ra un buontradeo� fra capacità espressiva e semplicità d'uso.Possiamo identi�care principalmente due �loni:

Estendere un linguaggio esistente con meccaniche fuzzy;

Usare un linguaggio esistente per rappresentare concetti

fuzzy;

Nella situazione attuale conviene sicuramente usare unlinguaggio già esistente: usiamo OWL2

Page 18: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Caratteristiche dello strumento

Cosa dobbiamo riuscire a fare con OWL2?

rappresentare fuzzy set;

de�nire ruoli astratti fuzzy;

de�nire ruoli concreti fuzzy;

de�nire modi�catori fuzzy;

de�nire relazioni tassonomiche fuzzy.

Page 19: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Una possibile soluzione

Fuzzy OWL2

Utilizza il meccanismo delle annotazioni di OWL2.Ciò consente di:

Estendere ontologie esistenti con concetti fuzzy;

Utilizzare editor testati e ra�nati per creare le ontologie;

Continuare ad usare reasoner non-fuzzy, i quali scarterannosemplicemente le annotazioni;

Page 20: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Annotazioni

Sintassi OWL/XML

<AnnotationAssertion >

<AnnotationProperty IRI="# annotationProperty "/>

<IRI >#className </IRI >

<Literal datatypeIRI ="&rdf;PlainLiteral">

annotationValue

</Literal >

</AnnotationAssertion >

Fuzzy OWL2

Usa una propria annotation property: fuzzyLabel;

Un elemento può avere al massimo una annotazione fuzzy;Ogni annotazione fuzzy deve essere delimitata dai tag<fuzzyOwl2></fuzzyOwl2>;

L'attributo fuzzyType speci�ca il tipo di elementoannotato;

Page 21: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Fuzzy Ontology

Scelta della logica

Tramite la fuzzyLabel è possibile sceglire quale logica usare.Sono supportate:

Zadeh

�ukasiewicz

Sintassi

<fuzzyOwl2 fuzzyType =" ontology">

<FuzzyLogic logic= <FUZZY_LOGIC >/>

</fuzzyOwl2 >

<FUZZY_LOGIC > := "lukasiewicz" | "zadeh"

Page 22: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Fuzzy Datatype

Sintassi

<fuzzyOwl2 fuzzyType =" datatype">

<DATATYPE >

</fuzzyOwl2 >

<DATATYPE >:=

<Datatype type=" leftshoulder" a="<DOUBLE >" b="<DOUBLE >"/> |

<Datatype type=" rightshoulder" a="<DOUBLE >" b="<DOUBLE >"/>|

<Datatype type=" triangular" a="<DOUBLE >" b="<DOUBLE >"

c="<DOUBLE >"/> |

<Datatypetype =" trapezoidal" a="<DOUBLE >" b="<DOUBLE >"

c="<DOUBLE >" d="<DOUBLE >"/>

Page 23: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Fuzzy Datatype: Esempio

Datatype classico

<DatatypeDefinition >

<Datatype IRI='#Vecchio '/>

<DataIntersectionOf >

<DatatypeRestriction >

<Datatype abbreviatedIRI='xsd:double '/>

<FacetRestriction facet='&xsd;minInclusive '>

<Literal datatypeIRI ='&xsd;integer '>0</Literal >

</FacetRestriction >

</DatatypeRestriction >

<DatatypeRestriction >

<Datatype abbreviatedIRI='xsd:double '/>

<FacetRestriction facet='&xsd;maxInclusive '>

<Literal datatypeIRI ='&xsd;integer '>200</Literal >

</FacetRestriction >

</DatatypeRestriction >

</DataIntersectionOf >

</DatatypeDefinition >

Page 24: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Fuzzy Datatype: Esempio

L'annotazione Fuzzy

<AnnotationAssertion >

<AnnotationProperty IRI='#fuzzyLabel '/>

<IRI >#Vecchio </IRI >

<Literal datatypeIRI ='&rdf;PlainLiteral '>

<fuzzyOwl2 fuzzyType =" datatype">

<Datatype type=" leftshoulder" a="5" b="7"/>

</fuzzyOwl2 >

</Literal >

</AnnotationAssertion >

Page 25: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori Fuzzy

Sintassi

<fuzzyOwl2 fuzzyType =" modifier">

<MODIFIER >

</fuzzyOwl2 >

<MODIFIER >:=

<Modifier type=" linear" c="<DOUBLE >"/>|

<Modifier type=" triangular" a="<DOUBLE >" b="<DOUBLE >"

c="<DOUBLE >"/>

Page 26: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori Fuzzy: Esempio

Annotazione

<AnnotationAssertion >

<AnnotationProperty IRI='#fuzzyLabel '/>

<IRI >#molto </IRI >

<Literal datatypeIRI ='&rdf;PlainLiteral '>

<fuzzyOwl2 fuzzyType =" modifier">

<Modifier type=" linear" c="0.8"/ >

</fuzzyOwl2 >

</Literal >

</AnnotationAssertion >

Page 27: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Modi�catori Fuzzy: Applicazione

Sintassi

<fuzzyOwl2 fuzzyType =" datatype">

<Datatype type=" modified" modifier="<STRING >"

base="<STRING >"/>

</fuzzyOwl2 >

Annotazione

<AnnotationAssertion >

<AnnotationProperty IRI='#fuzzyLabel '/>

<IRI ># MoltoVecchio </IRI >

<Literal datatypeIRI ='&rdf;PlainLiteral '>

<fuzzyOwl2 fuzzyType =" datatype">

<Datatype type=" modified" modifier =" molto"

base=" vecchio">

</fuzzyOwl2 >

</Literal >

</AnnotationAssertion >

Page 28: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Asserzioni Fuzzy

Sintassi

<fuzzyOwl2 fuzzyType ="axiom">

<Degree value="<DOUBLE >"/>

</fuzzyOwl2 >

Esempio

<ClassAssertion >

<Class IRI='#Spaventoso '/>

<NamedIndividual IRI='#paranormalActivity '/>

<Annotation >

<AnnotationProperty IRI='#fuzzyLabel '/>

<Literal datatypeIRI ='&rdf;PlainLiteral '>

<fuzzyOwl2 fuzzyType ="axiom">

<Degree value ="0.5"/ >

</fuzzyOwl2 >

</Literal >

</Annotation >

</ClassAssertion >

Page 29: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Plugin per Protégé

Page 30: Web Semantico e Logica Fuzzy

WebSemantico eLogica Fuzzy

AntonioSanfelice

Introduzione

OntologieFuzzy

Fuzzy OWL2

Riferimenti

U.Straccia, F.BobilloFuzzy Ontology Representation Using OWL 2

Martine De CockRepresenting the Adverb Very in Fuzzy Set Theory