Aspecte referitoare la managementul cunostintelor si inginerie ontologica: integrarea datelor, potrivirea de ontologii (ontology matching), alinierea si fuziunea de ontologii, modularizarea ontologiilor etc. De asemenea, discutii privind sabloanele de proiectare ontologica (design patterns)
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
Web09 Semantic Web: Inginerie Ontologica (II)
1. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Web semantic
Dr. SabinCorneliu Buraga
Facultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
3. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“Este dificil sa vezi un tablou
atunci când esti în interiorul ramei.”
/usr/games/fortune
Dr. Sabin Buraga http://www.purl.org/net/busaco
4. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intrebare
Cum integram diferite ontologii descriind
aceleasi cunostinte, dar prezentind definitii,
puncte de vedere si notiuni diferite?
Dr. Sabin Buraga http://www.purl.org/net/busaco
5. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
realitati
existenta unor ontologii diverse,
modelind puncte de vedere diferite
Dr. Sabin Buraga http://www.purl.org/net/busaco
6. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
preliminarii
Expresivitatea limbajului ontologii folosit vs.
complexitatea inferentelor ce pot fi efectuate
Dr. Sabin Buraga http://www.purl.org/net/busaco
7. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
preliminarii
Cerinte (Calvanese, Giacomo & Rodriguez‐Muro, 2008):
utilizarea constructiilor ontologice diferite
inferente
recurgerea la volum mare de date (indivizi)
baze de date
flexibilitate privind realizarea interogarilor
limbaje de interogare (specifice)
realizarea de asocieri intre date, pastrand sursele originare
asocieri (mapping)
Dr. Sabin Buraga http://www.purl.org/net/busaco
8. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
preliminarii
Context: integrarea datelor – data integration
data integration is the problem of providing unified
and transparent access to a set of autonomous and
heterogeneous sources
Bernstein & Haas, Communications of the ACM, sept. 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
9. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
necesitati
Crearea corespondentelor dintre ontologii
merging
mapping
articulation
O1 O2
O1 O2
Om
Dr. Sabin Buraga http://www.purl.org/net/busaco
10. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Context:
integrarea datelor
scheme de baze de date
inteligenta artificiala
Web (semantic)
Dr. Sabin Buraga http://www.purl.org/net/busaco
11. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Motivele existentei nepotrivirilor – mismatches
conform (Noy, 2005)
reprezentarea subiectiva a unui domeniu (a unei lumi)
existenta diferitelor cerinte si
fluxuri de activitati in cadrul aplicatiilor
folosirea altor conventii de reprezentare a cunostintelor
…
Dr. Sabin Buraga http://www.purl.org/net/busaco
12. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tipuri de nepotriviri:
la nivel de limbaj
la nivel ontologic
Dr. Sabin Buraga http://www.purl.org/net/busaco
13. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Nepotriviri la nivel de limbaj
diferente de sintaxa, expresivitate sau semantica
a limbajelor ontologice actuale
Dr. Sabin Buraga http://www.purl.org/net/busaco
14. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Nepotriviri la nivel ontologic
diferente in structura semantica
exemple: termeni diferiti descriind acelasi concept,
acelasi termen descriind mai multe concepte,
conventii/paradigme de modelare eterogene,
puncte de vedere diferite etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
15. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor – exemplu
www.aktors.org/ontology/ vs. ebiquity.umbc.edu/ontology/
Nume diferite pentru acelasi concept:
PhD-Student vs. PhDStudent
Scop: periodice, publicatii compuse vs. absolventi, invitati
Definire diferita a conceptelor:
Publication (restrictii privitoare la citari, referinte) vs.
Publication (restrictii referitoare la rezumat)
Dr. Sabin Buraga http://www.purl.org/net/busaco
16. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor – exemplu
www.aktors.org/ontology/ vs. ebiquity.umbc.edu/ontology/
Conventii de modelare diferite:
Journal (clasa) vs. journal (proprietate)
Granularitate:
Professor-In-Academia vs. adjunct, affiliated, associate,…
Conventii de modelare & nivel de detaliere: proprietatea
address compusa din alte fragmente de informatie vs.
proprietatea address de tip sir de caractere (nestructurat)
Dr. Sabin Buraga http://www.purl.org/net/busaco
17. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Problema:
date la intrare ontologii – exprimate prin entitati
discrete (tabele, XML, clase, proprietati etc.) –,
trebuie determinate relatiile (e.g., echivalenta,
subsumare,…) care au loc intre aceste entitati
ontology matching
www.ontologymatching.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
18. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Pavel Shvaiko & Jerome Euzenat, 2006
Dr. Sabin Buraga http://www.purl.org/net/busaco
19. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Pavel Shvaiko & Jerome Euzenat, 2006
Dr. Sabin Buraga http://www.purl.org/net/busaco
20. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Reducerea eterogenitatii poate fi realizata in 2 pasi
potrivire (match) – determinarea alinierii
la momentul proiectarii sau (re)utilizarii ontologiei
procesarea alinierii
fuzionare (merging), transformare etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
21. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Corespondenta (matching) M intre O1 si O2 este
< id, e1, e2, R, n >, unde:
id = identificator unic al corespondentei
ei entitate din ontologia Oi (element XML, clasa,…), i=1,2
R = relatie: echivalenta (=), disjunctia ( ) etc.
n = masura de incredere (conforma cu o anumita structura
matematica aleasa); uzual, are valori in intervalul [0, 1]
Dr. Sabin Buraga http://www.purl.org/net/busaco
22. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Alinierea (alignment) A intre O1 si O2 este
o multime de corespondente peste O1 si O2
prezinta o anumita cardinalitate: 1 la 1, 1 la N etc.
pot fi folosite meta‐date aditionale
(metoda de aliniere, data alinierii, proprietati etc.)
Dr. Sabin Buraga http://www.purl.org/net/busaco
23. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Alinierea (alignment)
Dr. Sabin Buraga http://www.purl.org/net/busaco
24. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Utilizari (Jérôme Euzenat & Pavel Shvaiko, 2007):
Dr. Sabin Buraga http://www.purl.org/net/busaco
25. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel de termeni
pe baza sirurilor de caractere
prefixul: net = network, pin = pinguin (?)
sufixul: ID = PID, word = sword (?)
distanta editarii (numarul de operatii de inserare, stergere,
substitutie a caracterelor pentru transformarea
unui termen in altul): EditDistance (NKN, Nikon) = 4
Dr. Sabin Buraga http://www.purl.org/net/busaco
26. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel de termeni
bazate pe limbaj
procesarea entitatilor (tokenization)
Hands-Free Kits → < hands, free, kits >
analiza morfologica pentru gasirea
tuturor formelor de baza (lemmalization): Kits → Kit
eliminarea cuvintelor nerelevante: “a”, “the”, “by” etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
27. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel de termeni
pe baza sensurilor – cazul WordNet
hiponimie, meronimie: Brand [ Name
hipernimie, holonimie: Europe ] Romania
sinonimie
antonimie sau relatii de siblings: Microprocessors PC Board
Dr. Sabin Buraga http://www.purl.org/net/busaco
28. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel de termeni
pe baza glossei – se foloseste WordNet
numarul acelorasi cuvinte prezente
in ambele glosse de intrare
conduce la cresterea valorii de similaritate
a termenilor
Dr. Sabin Buraga http://www.purl.org/net/busaco
29. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel de termeni
pe baza glossei – se foloseste WordNet
exemplu:
Maltese dog is a breed of toy dogs having
a long straight silky white coat
Afghan hound is a tall graceful breed of hound with a long silky coat
Dr. Sabin Buraga http://www.purl.org/net/busaco
30. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel structural
pe baza taxonomiei
potriviri ale drumurilor marginite in graful ontologiilor
(bounded path matching)
Dr. Sabin Buraga http://www.purl.org/net/busaco
31. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel structural
pe baza taxonomiei
reguli privitoare la super/sub‐concepte
daca super‐conceptele sunt similare,
conceptele (copii ale acestora) sunt si ele similare
Dr. Sabin Buraga http://www.purl.org/net/busaco
32. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel structural
bazate pe modele
verificarea satisfiabilitatii (SAT) folosind axiome:
Axioms → rel (context1, context2)
Dr. Sabin Buraga http://www.purl.org/net/busaco
33. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel structural
bazate pe modele
Dr. Sabin Buraga http://www.purl.org/net/busaco
34. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Tehnici de potrivire la nivel structural
bazate pe modele – utilizind logicile descrierii
Dr. Sabin Buraga http://www.purl.org/net/busaco
35. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Procesele de potrivire pot avea loc secvential
Dr. Sabin Buraga http://www.purl.org/net/busaco
36. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Procesele de potrivire pot avea loc in paralel
Dr. Sabin Buraga http://www.purl.org/net/busaco
37. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
potrivirea ontologiilor
Remarca:
“Matching, however, requires explanations
because mappings between terms are not always
intuitively obvious to human users.”
Pavel Shvaiko, 2005
Dr. Sabin Buraga http://www.purl.org/net/busaco
38. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Procesul general: metodologie pentru crearea
asocierilor – mappings (M. Ehrig, 2006)
Dr. Sabin Buraga http://www.purl.org/net/busaco
39. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Intrarea: se dau 2 ontologii O1 si O2
eventual, pot fi oferite asocieri cunoscute
(realizate manual)
Iesirea: reprezentarea alinierilor
tabel indicind relatia alignO1,O2
eventual, se pot oferi si valori de incredere
Dr. Sabin Buraga http://www.purl.org/net/busaco
40. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 1: feature engineering
sunt selectate fragmente mici descriind entitati
specifice – reprezentind anumite semantici
ulterior, aceste trasaturi vor fi folosite
pentru compararea ontologiilor
Dr. Sabin Buraga http://www.purl.org/net/busaco
41. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 2: search step selection
se cauta candidati pentru aliniere
se calculeaza similaritatea unor perechi
de concepte (c1, c2), cu c1 din O1, c2 din O2
Dr. Sabin Buraga http://www.purl.org/net/busaco
42. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 2: search step selection
se cauta candidati pentru aliniere
unele constructii pot fi ignorate
de exemplu, se poate compara o1:car cu o2:automobile,
dar nu cu o2:hasMotor
se pot adopta strategii de reducere a spatiului
comparatiilor pentru ontologii largi
Dr. Sabin Buraga http://www.purl.org/net/busaco
43. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 3: similarity computation
pentru descrierile date ale 2 entitati din spatiul
de candidati ai alinierii, se indica o similaritate
Dr. Sabin Buraga http://www.purl.org/net/busaco
44. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 3: similarity computation
exemplu:
simlabel(o1:car, o2:automobile) = simsyntactic(“car”, “automobile”) = 1
masura similaritatii poate fi data de una
sau mai multe caracteristici (trasaturi, features)
Dr. Sabin Buraga http://www.purl.org/net/busaco
45. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 4: similarity aggregation
pot exista mai multe similaritati pentru 2 entitati,
conform criteriilor considerate
e.g., privind etichetele conceptelor sau
relatiile cu alte entitati
aceste valori se agrega
intr‐o unica valoare de similaritate
Dr. Sabin Buraga http://www.purl.org/net/busaco
46. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 4: similarity aggregation
exemplu:
(simlabel(o1:car, o2:automobile) + simsubconcepts(o1:car, o2:automobile)
+ siminstances(o1:car, o2:automobile)) / 3 = 0.5
combinarea acestor valori se realizeaza
prin mai multe strategii
Dr. Sabin Buraga http://www.purl.org/net/busaco
47. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 5: interpretation
valorile de similaritate individuale & agregate
sunt utilizate pentru alinierea entitatilor
aceste similaritati vor fi interpretate
(se aleg diverse criterii: prag limita, structura etc.)
la final, se ofera sau nu o schema de aliniere
a entitatilor considerate – e.g., align(o1:car) =‘ ’
Dr. Sabin Buraga http://www.purl.org/net/busaco
48. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 6: iteration
similaritatea e propagata in ontologii
pe baza relatiilor intre entitati
la fiecare interatie, va fi recalculata similaritatea
unei alinieri candidate pe baza similaritatii
perechilor entitatilor vecine
Dr. Sabin Buraga http://www.purl.org/net/busaco
49. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Pasul 6: iteration
dupa o interatie, pot rezulta alte similaritati
procesul se termina cind nu se propun noi alinieri
Dr. Sabin Buraga http://www.purl.org/net/busaco
50. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
Observatii
Metodele avansate de aliniere utilizeaza:
Metode euristice si bazate pe reguli
Analiza grafurilor
Invatare automata
Tehnici de rationament, theorem proving
Exista mai multi algoritmi propusi
Competitia OAC – Ontology Alignment Contest
http://oaei.inrialpes.fr/
Dr. Sabin Buraga http://www.purl.org/net/busaco
51. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
alinierea ontologiilor
De asemenea, se pot folosi cunostintele anterioare
(background knowledge), inclusiv:
WordNet
ontologii de referinta ale domeniului
ontologii de nivel superior – e.g., SUMO
resurse textuale online
ontologii disponibile online
Dr. Sabin Buraga http://www.purl.org/net/busaco
52. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Procesele privind alinierea
Lambrix & Tan, 2005
Dr. Sabin Buraga http://www.purl.org/net/busaco
53. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
fuziunea ontologiilor
Merging ontology – algoritmul general:
Dr. Sabin Buraga http://www.purl.org/net/busaco
54. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
implementari (initiale)
SF (Similarity Flooding)
Artemis (Analysis of Requirements: Tool Environment for
Multiple Information Systems)
Cupid
COMA (Combination Of Matching Algorithms)
NOM (Naive Ontology Mapping)
QOM (Quick Ontology Mapping)
OLA (OWL Lite Aligner)
SMatch
Dr. Sabin Buraga http://www.purl.org/net/busaco
55. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
implementari (actuale)
Cadre de lucru (frameworks):
Alignment API
COMA++
PROMPT – extensie Protégé
Sisteme de matching – textual sau general:
FOAM, OLA, Rondo etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
56. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
(re)gasirea ontologiilor
Necesitatea existentei unor motoare de cautare
Sindice (DERI, Ireland)
Swoogle (UMBC, USA)
SWSE (DERI, Ireland)
Watson (Open University, UK)
Dr. Sabin Buraga http://www.purl.org/net/busaco
57. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
(re)gasirea ontologiilor
Watson – http://watson.kmi.open.ac.uk
mecanisme de control al calitatii:
detectare de duplicate, fixarea unor probleme de sintaxa,…
API public
suport pentru interogari SPARQL
Dr. Sabin Buraga http://www.purl.org/net/busaco
58. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
(re)gasirea ontologiilor
Watson – http://watson.kmi.open.ac.uk
structureaza ontologiile intr‐o retea ontologica
(proiectul NeOn) – relatii intre ontologii:
extends, inconsistentWith, duplicates etc.
plugin‐uri pentru Protégé si NeOn Toolkit
Dr. Sabin Buraga http://www.purl.org/net/busaco
59. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reutilizarea ontologiilor
Initiativa NeOn (networked ontologies)
conform (E. Motta et al., 2007)
Dr. Sabin Buraga http://www.purl.org/net/busaco
60. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
modularizarea ontologiilor
“Imprumutarea” entitatilor specificate de ontologii
practica obisnuita in ingineria software
faciliteaza dezvoltarea colaborativa a ontologiei
exemple demonstrative:
http://owl.cs.manchester.ac.uk/2008/iswctones/
Dr. Sabin Buraga http://www.purl.org/net/busaco
61. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
modularizarea ontologiilor
Matthew Horridge & Uli Sattler, 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
62. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
modularizarea ontologiilor
Matthew Horridge & Uli Sattler, 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
63. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Clasificare (Suárez‐Figueroa et al., 2007)
vezi NeOnproject.org
logical ontology design patterns (LP)
architectural patterns (AP)
content design patterns (CP)
Dr. Sabin Buraga http://www.purl.org/net/busaco
64. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Logical ontology design patterns (LP)
corespund contructiilor OWL, la nivel semantic
Dr. Sabin Buraga http://www.purl.org/net/busaco
65. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Architectural patterns (AP)
“retete” de modelare de structuri exprimate
cu ajutorul LP care caracterizeaza ontologia
in ansamblu
Dr. Sabin Buraga http://www.purl.org/net/busaco
66. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content design patterns (CP)
“retete” de specificare a structurii conforme
unui tip, exprimata printr‐un vocabular
specific (non‐logic)
referitor la un domeniu de interes
Dr. Sabin Buraga http://www.purl.org/net/busaco
67. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Logical ontology design patterns (LP)
exemple:
modelarea unei clase primitive,
a relatiei subClassOf,
a proprietatilor functionale de tip datatype,
a unui individ
etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
68. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Logical ontology design patterns (LP)
Class (BusinessTask subClassOf Task)
DatatypeProperty (name
domain (Task)
range (xsd:string)
)
Dr. Sabin Buraga http://www.purl.org/net/busaco
69. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Logical ontology design patterns (LP)
specificarea relatiilor N‐are
dupa (Aldo Gangelmi, 2008)
Dr. Sabin Buraga http://www.purl.org/net/busaco
70. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Architectural patterns (AP)
taxonomia,
ontologia simpla (lightweight),
modularizarea ontologiilor,
…
controlul versiunilor
Dr. Sabin Buraga http://www.purl.org/net/busaco
71. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Architectural patterns (AP)
Dr. Sabin Buraga http://www.purl.org/net/busaco
72. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP)
exemple:
participation, descriptionsituation,
roletask, roleentity, collectionentity,
simple partwhole relations,
designartifact pattern,…
Dr. Sabin Buraga http://www.purl.org/net/busaco
73. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP)
a se vizita:
www.cs.vu.nl/~guus/public/ekaw-tutorial/content-patterns.pdf
Dr. Sabin Buraga http://www.purl.org/net/busaco
74. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP): RoleTask
Dr. Sabin Buraga http://www.purl.org/net/busaco
75. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP): RoleTask
Class (Role subClassOf owl:Thing)
Class (Object subClassOf owl:Thing)
Class (Task subClassOf owl:Thing)
Class (Event subClassOf owl:Thing)
Class (Description subClassOf owl:Thing)
Class (Situation subClassOf owl:Thing)
Dr. Sabin Buraga http://www.purl.org/net/busaco
78. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP): PartWhole relation
la nivel de OWL nu exista constructii specifice,
dar se poate recurge la unele facilitati
exemplu:
avind specificate relatiile tranzitive
Finger isPartOf Hand, Hand isPartOf Arm, Arm isPartOf Body
se poate deduce
Finger isPartOf Body
Dr. Sabin Buraga http://www.purl.org/net/busaco
79. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Content patterns (CP): kindOf relation
probleme privitoare la relatia kindOf:
Hand is not kindOf Body
insa, ranirea unui brat este kindOf ranirea unui trup
idem, in situatia conceptelor Motor si Automobil
oamenii se asteapta sa obtina ierarhii de tip partonomic
Dr. Sabin Buraga http://www.purl.org/net/busaco
80. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
Alan Rector et al., 2005
Injury to Arm Arm OR part of arm
has_locus
(or part of arm)
some
Part of
Arm
Arm
has_locus
Hand Forearm
Injury to Hand some
Dr. Sabin Buraga http://www.purl.org/net/busaco
81. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
La nivelul Consortiului Web:
Semantic Web Best Practice Working Group
www.w3.org/2001/sw/BestPractices/
Dr. Sabin Buraga http://www.purl.org/net/busaco
82. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
La nivelul Consortiului Web:
Semantic Web Best Practice Working Group
solutii multiple pentru aceeasi problema
aspecte de evitat – pitfalls, antipatterns
comunitate de practica privind obtinerea/partajarea
de experiente in domeniul Web‐ului semantic
ofera cerinte specifice implementatorilor de instrumente
Dr. Sabin Buraga http://www.purl.org/net/busaco
83. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
sabloane de proiectare
O alta clasificare:
recurgerea la sabloane la nivel logic, privind deductiile,
arhitectural, vizand numirea entitatilor, reengineering,
privind continutul
www.ontologydesignpatterns.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
84. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intrebare
Avand un model (consistent) bazat pe logicile
descrierii, nu s‐ar putea specifica diverse
constructii (reguli) privind entitatile modelate?
Dr. Sabin Buraga http://www.purl.org/net/busaco
85. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli
Nu exista inca nici un standard Web
privind exprimarea regulilor
propuneri:
RuleML
SWRL (Semantic Web Rule Language)
F‐Logic (Frame Logic)
RIF (Rule Interchange Format)
vezi si www.w3.org/2005/rules/
Dr. Sabin Buraga http://www.purl.org/net/busaco
86. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli
Forma generala a unei reguli:
if situation1/action1 then situation2/action2
antecedent consecvent
Dr. Sabin Buraga http://www.purl.org/net/busaco
87. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli
SWRL – Semantic Web Rule Language
(Horrocks et. al, 2004)
foloseste puterea OWL de exprimare a axiomelor
+ permite utilizarea regulilor in stilul Horn
expresivitate mare, dar complexitate majora
www.w3.org/Submission/SWRL/
Dr. Sabin Buraga http://www.purl.org/net/busaco
88. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli
FLogic (Kifer, Lausen & Wu, 1995)
logica deductiva, orientata‐obiect
regulile pot fi deduse din fapte anterior precizate
X, Y, Z : Person [ getsSupport → Z ] ←
X : Person [ isOnline → Y ] Y : Group [ isMember → Z ]
Dr. Sabin Buraga http://www.purl.org/net/busaco
89. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli
Reprezentarea grafica a unei reguli ce stipuleaza faptul
ca o organizatie detine un contract daca numarul de client
indicat de contract este egal cu cel detinut de organizatie
(Jürgen Angele & Michael Gesmann, 2007)
Dr. Sabin Buraga http://www.purl.org/net/busaco
90. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli – exemple
toti oamenii
au urechi
Specificarea regulilor in CycL
(Witbrock, Grobelnik & Fortuna, 2008):
(#$forAll ?HUMAN
(#$implies
(#$isa ?HUMAN #$Human)
(#$anatomicalBodyParts ?HUMAN #$Ear)))
Dr. Sabin Buraga http://www.purl.org/net/busaco
91. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli – exemple Everybody
is loved by
someone
Specificarea regulilor in CycL
(Witbrock, Grobelnik & Fortuna, 2008):
(#$forAll ?PERSON
(#$implies
(#$isa ?PERSON #$Person)
(#$thereExists ?LOVER
(#$and
(#$isa ?LOVER #$Person)
(#$loves ?LOVER ?PERSON))))
Dr. Sabin Buraga http://www.purl.org/net/busaco
92. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
reguli – exemple
Specificarea regulilor SWRL pentru procesarea in Jena
(Sergiu Bursuc, 2005):
#reguli pentru descoperirea cunostintelor despre un regizor
[(?movie cinema:directedBy ?director) ->
[(?director cinema:directsGenre ?genre) <-
(?movie cinema:hasGenre ?genre) ]
[(?director cinema:investigatesTheme ?theme) <-
(?movie cinema:hasTheme ?theme) ]
[(?director cinema:usesImagery ?imagery) <-
(?movie cinema:hasImagery ?imagery) ] ]
Dr. Sabin Buraga http://www.purl.org/net/busaco
93. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studii de caz
Utilizarea ontologiilor in context multimedia
Raphaël Troncy & Lynda Hardman, 2008
Managementul cursurilor academice via ontologii
Jorge Cardoso, 2007
Ontologii folosite in domeniul financiar
Amit Sheth, 2006
Ontologiile in contextul business intelligence
Thierry Declerck et al., 2008
Dr. Sabin Buraga http://www.purl.org/net/busaco
94. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Troncy & Hardman, 2008)
Specificarea – la nivel ontologic – a proceselor
de baza (canonical processes) privind
producerea online de artefacte multimedia
exemple:
crearea de albume fotografice digitale
prezentarea de interviuri video adnotate de utilizatori
Dr. Sabin Buraga http://www.purl.org/net/busaco
97. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Jorge Cardoso, 2007)
Sistemul S‐CMS
(Semantic Course Management System)
arhitectura stratificata
recurge la ontologii specificate in OWL,
reguli declarate via SWRL, interogari etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
99. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Amit Sheth, 2006)
Ontologii in contextul aplicatiilor financiare
Scop: automatizarea detectarii inconsistentelor &
neregulilor financiare
Specificarea riguroasa a terminologiei
din sistemul financiar
Integrarea datelor din surse multiple structurate
& semi‐structurate
Managementul & executia formulelor analitice
asupra datelor financiare
Dr. Sabin Buraga http://www.purl.org/net/busaco
100. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Amit Sheth, 2006)
Crearea ontologiei – financial domain ontology –,
populata din surse de incredere
Implementarea unor extractori software
pentru dezambiguizarea datelor si formarea relatiilor
relevante dintre acestea
Dezvoltarea unui cadru de lucru
pentru specificarea formulelor/regulilor (rules)
si pentru interogarea ontologiei
Dr. Sabin Buraga http://www.purl.org/net/busaco
103. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Amit Sheth, 2006)
Specificarea calculului valorii contului bancar:
Dr. Sabin Buraga http://www.purl.org/net/busaco
104. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Thomas Declerck et al., ‘08)
Proiectul MUSING
studiul managementului cunostintelor
in contextul afacerilor, in special business intelligence
adopta diverse ontologii:
generale – BACH, XBRL (eXtensible Business Reporting
Language), PROTON, privind sectorul industrial etc.
+ cele modelind timpul: 4D, OWL‐Time
se considera aspectele referitoare la serviciile financiare,
la managementul riscurilor, la internationalizare
Dr. Sabin Buraga http://www.purl.org/net/busaco
105. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Thomas Declerck et al., ‘08)
Proiectul MUSING
sursele de date provind de la partenerii MUSING
(balante contabile, profiluri de companii, informatii de
presa, date oferite de siturile Web etc.) + cele publice:
Wikipedia, CIA Fact Book,…
ontologia a fost dezvoltata manual, in cooperare cu experti
Dr. Sabin Buraga http://www.purl.org/net/busaco
106. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
studiu de caz (Thomas Declerck et al., ‘08)
Proiectul MUSING – provocari:
extragerea informatiilor din documente nestructurate
(s‐au folosit instrumente precum GATE si ANNIE)
fuziunea datelor extrase din diverse tipuri de surse
structurate & nestructurate,
recurgind la baze de cunostinte, analiza lingvistica,
machine learning etc.
Dr. Sabin Buraga http://www.purl.org/net/busaco
109. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“concluzii”
Dezvoltarea unei/unor ontologii trebuie
sa reprezinte doar primul pas
un model conceptual nu are sens daca nu e utilizat
Dr. Sabin Buraga http://www.purl.org/net/busaco
110. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“concluzii”
ontologii declara o maniera
de structurare
ofera o descriere
a unui domeniu
baze de date
agenti
baze de
software problemsolving
cunostinte
methods
servicii
alte aplicatii
Web
semantice
adaptare dupa Alan Rector et al., 2005
Dr. Sabin Buraga http://www.purl.org/net/busaco
111. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“concluzii”
Privire de ansamblu:
aplicatii aliniate problematicilor Web‐ului semantic
Ora Lassila & James Hendler, IEEE Internet Computing, July 2007
Dr. Sabin Buraga http://www.purl.org/net/busaco
112. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
Modelarea unor domenii necesitati expresivitati
care nu sunt oferite de actualul OWL
extinderea OWL cu noi constructii care insa sa pastreze
proprietatile din cadrul OWL DL
OWL 2
www.w3.org/2007/OWL/
Dr. Sabin Buraga http://www.purl.org/net/busaco
113. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
expresivitate ridicata – via logica SROIQ
restrictii de cardinalitate calificate si privind reflexivitatea,
inlantuirea proprietatilor (property chains) etc.
suport pentru meta‐modelare & adnotari
asocierea de profile
stabilirea constructiilor OWL 2 ce corespund
unei anumite complexitati computationale in vederea
efectuarii rationamentelor automate
Dr. Sabin Buraga http://www.purl.org/net/busaco
114. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
OWL EL
efectuarea de rationamente in timp polinomial
utilizare mai ales in cazul ontologiilor din domeniul
stiintelor vietii (e.g., FMA, NCI Thesaurus, SNOMED CT,
Gene Ontology etc.) care vizeaza mai ales scalabilitatea
la nivel formal, se bazeaza pe logica descrierii EL++
ce permite exprimarea restrictiilor existentiale
(Baader, Brandt & Lutz, 2005, 2008)
Dr. Sabin Buraga http://www.purl.org/net/busaco
115. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
OWL QL
suport pentru efectuarea de interogari (optimizate)
in stilul bazelor de date conventionale
se preteaza pentru ontologii avind un volum mare de fapte
ofera expresivitatea necesara specificarii de tezaure sau
de scheme de tip UML ori ER (entityrelation)
Dr. Sabin Buraga http://www.purl.org/net/busaco
116. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
OWL RL
permite exprimarea regulilor in cadrul ontologiilor
poate fi implementat in cadrul sistemelor conventionale
de baze de date relationale
la nivel formal, se bazeaza pe
DLP – Description Logic Programs (Grosof et al., 2003)
si pD* (Horst, 2005)
Dr. Sabin Buraga http://www.purl.org/net/busaco
117. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: owl 2
Pentru alte detalii, a se consulta:
Christine Golbreich & Evan K. Wallace,
OWL 2 Web Ontology Language:
New Features and Rationale,
W3C Working Draft, 02 December 2008
http://www.w3.org/TR/owl2newfeatures/
Dr. Sabin Buraga http://www.purl.org/net/busaco
118. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
viitor: fuzzy logic & semantic web
Utilizarea unor modele ontologice bazate pe logica fuzzy
a se consulta:
Elie Sanchez (Editor), Fuzzy Logic and the Semantic Web,
Elsevier, 2006
Dr. Sabin Buraga http://www.purl.org/net/busaco
119. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Rezumat
Inginerie ontologica
alinieri, sabloane de proiectare, reguli, studii de caz
Dr. Sabin Buraga http://www.purl.org/net/busaco