Dr. Sabin Buragawww.purl.org/net/busaco

Dezvoltarea aplicațiilor Web

inginerie ontologică
Charles Darwin

Dr. Sabin Buragawww.purl.org/net/busaco

“It is not the strongest of the species
that survive, nor the mo...
Data interoperability across applications
and organizations (for IT)

conform Tim Berners-Lee

Dr. Sabin Buragawww.purl.o...
A set of interoperable standards
for knowledge exchange

conform Tim Berners-Lee

Dr. Sabin Buragawww.purl.org/net/busaco...
An architecture for interconnected
communities and vocabularies

conform Tim Berners-Lee

Dr. Sabin Buragawww.purl.org/ne...
Dr. Sabin Buragawww.purl.org/net/busaco

meta-date și relații descrise semantic
în cadrul și între documentele Web
Dr. Sabin Buragawww.purl.org/net/busaco

Web-ul semantic oferă un punct de vedere abstract
“ascunde” documentele
Dr. Sabin Buragawww.purl.org/net/busaco

se oferă premisele modelării conceptuale a resurselor
modelul
RDF

se oferă premisele modelării conceptuale a resurselor
(date, informații, cunoștințe)

Dr. Sabin Buragawww.pu...
Dr. Sabin Buragawww.purl.org/net/busaco

Există metode de proiectare (modelare)
a cunoștințelor (ontologiilor)?
Aspect de interes:
crearea de ontologii din diverse surse

Dr. Sabin Buragawww.purl.org/net/busaco

managementul cunoștin...
Aspect de interes:
crearea de ontologii din diverse surse
scheme XML,
scheme de baze de date,
diagrame UML,
foi de calcul ...
Dr. Sabin Buragawww.purl.org/net/busaco

fragment de ontologie exprimat sub forma diagramelor de clasa UML
exemplu oferit...
Aspect de interes:
gestiunea versiunilor

Dr. Sabin Buragawww.purl.org/net/busaco

managementul cunoștințelor
Aspect de interes:
constituirea/folosirea colecțiilor de ontologii

Dr. Sabin Buragawww.purl.org/net/busaco

managementul...
Aspect de interes:
constituirea/folosirea colecțiilor de ontologii
asocieri
comparații
reconcilieri
validări
conversii
asi...
Aspect de interes:
obținerea, organizarea & vizualizarea
domeniului de cunoaștere
înainte și în timpul creării unei ontolo...
Aspect de interes:
utilizarea ontologiilor în funcție de context

Dr. Sabin Buragawww.purl.org/net/busaco

managementul c...
Aspect de interes:
utilizarea ontologiilor în funcție de context
axate asupra modelării – exhaustive – a unei lumi (web)
s...
Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)

Dr. Sabin Buragawww.purl.org/net/busaco

...
Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)

Dr. Sabin Buragawww.purl.org/net/busaco

...
Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)

Dr. Sabin Buragawww.purl.org/net/busaco

...
Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
procesele, limbajele și instrumentele folos...
Metodologii de inginerie a cunoștințelor
(knowledge engineering methodologies)
pot recurge la abordări de tip Model-Driven...
Dr. Sabin Buragawww.purl.org/net/busaco

necesitate

D. Gasevic, D. Djuric, V. Devedzic, Model Driven Engineering
and Ont...
Tradiționale, din ingineria software clasică
exemplificări:
CommonKADS (Scheriber et al., 2000)
UOL – Unified Ontology Lan...
Agile – mai flexibile și facile
eXtreme Programming
exemple:
XP.K (Knublauch, 2002)
RapidOWL (Auer, 2005)

Dr. Sabin Burag...
Pentru detalii, a se studia articolele:
A. Denicola et al., “A Software Engineering Approach
to Ontology Building”, Inform...
Dr. Sabin Buragawww.purl.org/net/busaco

Care sunt procesele de modelare ontologică?
Dezvoltarea unei ontologii implică
partajarea de informații
+
colaborare

Dr. Sabin Buragawww.purl.org/net/busaco

observ...
“Knowledge is fractal” (Alan Rector, 2004)
ontologiile prezintă aceeași structură
la fiecare nivel de granularitate (detal...
Dr. Sabin Buragawww.purl.org/net/busaco

observații

Atenție la dezvoltările exponențiale ale ontologiei!
fenomenul “expl...
Necunoașterea a-priori a dimensiunii ontologiei
Numărul persoanelor implicate

Folosirea ontologiei de către utilizatori
c...
Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat

Dr. Sabin Buragawww.purl.org/net/busaco

ingineri...
Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat

experții în domeniu sunt conduși de obisnuințe
și ...
Conflicte privitoare la intuiții
intuițiile sunt dificil de formalizat

logicienii sunt motivați de logică și computabilit...
transparență și predictibilitate
versus
rigoare + completitudine

Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dif...
Persoanele
– ontologiști, programatori, utilizatori –
fără (prea multă) experiență

Dr. Sabin Buragawww.purl.org/net/busa...
Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)

Dr. Sabin Buragawww.purl.org/net/busaco

ingineri...
Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)
acces urgent la informații exacte și utile
credibil...
Studiu de caz – Peter Morville, 2007
alergia la alune (peanut allergy)

Dr. Sabin Buragawww.purl.org/net/busaco

ingineri...
rezultate
oferite de
Bing

Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Dr. Sabin Buragawww.purl.org/net/busaco

rezultate
întoarse de
DuckDuckGo
rezultate oferite
de Google
Dr. Sabin Buragawww.purl.org/net/busaco
rezultate furnizate
de Siri

Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Modelarea
semantica (meaning)
corectitudinea clasificărilor și extragerii cunoștințelor

Dr. Sabin Buragawww.purl.org/net...
Modelarea
indexarea
vizează activitățile de descoperire,
căutare și găsire a cunoștințelor

Dr. Sabin Buragawww.purl.org/...
Modelarea
popularea
introducerea datelor (e.g., indivizi)
+
procesul decizional
eventual, alte aspecte de interes

Dr. Sab...
Modelarea
achiziția
capt(ur)area cunoștințelor

Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Asigurarea calității + managementul modificărilor
calitat...
Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Asigurarea calității + managementul modificărilor
evoluți...
Dr. Sabin Buragawww.purl.org/net/busaco

inginerie: dificultăți
Asigurarea calității + managementul modificărilor
testare...
Privitoare la factorul uman
apariția confuziilor privitoare la termeni
și la utilizarea ontologiei în practică

Dr. Sabin ...
Privitoare la factorul uman
persoane provenind din medii eterogene
inteligență artificială, interacțiune om-calculator,
de...
Referitoare la interoperabilitate
recurgerea la sintaxe diferite

utilizarea de instrumente de modelare eterogene
folosire...
Vizualizarea (redarea) ontologiilor
prezentări alternative

documentare automată
navigare bazată pe context + faceted sear...
Dr. Sabin Buragawww.purl.org/net/busaco

VOWL – Visual Notation for OWL Ontologies
reprezentarea grafică a elementelor un...
Vizualizarea (redarea) ontologiilor
descoperirea datelor și relațiilor (data/relation mining)

eventual, folosind instrume...
găsirea de relații între conceptele oferite de DBpedia
instrumentul RelFinder
http://www.visualdataweb.org/relfinder.php

...
Alegerea dificilă a unor criterii formale
(i.e. privind calitatea cunoștințelor modelate)
consistență
completitudine
conci...
Generarea manuală a ontologiilor
taxonomii navigabile: Open Directory, Yahoo!,...
folksonomii – vezi sistemele de tagging ...
Ontologiile generale (top-level)
nu sunt cu adevărat utile în practică

Dr. Sabin Buragawww.purl.org/net/busaco

ingineri...
Apar probleme teoretice/practice privind:
asigurarea coerenței

facilitarea procesării
folosirea surselor de date multiple...
Diferite vocabulare în vigoare
clasa ≈ concept ≈ categorie ≈ tip
instanță ≈ individ
entitate ≈ obiect (clasă/individ)
prop...
Sintaxe diverse existente
sintaxa abstractă – vezi OWL Manchester
N3 (Turtle)
XML/RDF
logica de ordin I
formatul Protégé
l...
1.
2.
3.
4.
5.

Stabilirea domeniului de cunoaștere
Organizarea ontologiei
Popularea (“umplerea”) ontologiei
Verificarea o...
Stabilirea domeniului de cunoaștere
asamblarea surselor de date și expertiza
în domeniu pentru a constitui concepte (thing...
Organizarea ontologiei
proiectarea pe ansamblu a structurii conceptuale
identificarea principalelor concepte concrete
și a...
Popularea ontologiei

adăugarea conceptelor
inserarea relațiilor + constrângerilor/axiomelor
adăugarea indivizilor
…la niv...
Verificarea ontologiei
reconcilierea inconsistențelor dintre elemente,
la nivel sintactic, logic și semantic

Dr. Sabin Bu...
Verificarea ontologiei
reconcilierea inconsistențelor dintre elemente,
la nivel sintactic, logic și semantic
verificarea c...
Publicarea ontologiei
verificarea finală de către experți ai domeniului
publicarea + utilizarea efectivă
în cadrul comunit...
Procesul ideal de dezvoltare a unei ontologii
determine
scope

consider
reuse

enumerate
terms

define
classes

define
pro...
Procesul realist de dezvoltare a unei ontologii
determine
scope

consider
reuse

define
properties

define
classes

consid...
1. Stabilirea scopului
2. Colectarea cunoștințelor
la nivel informal ori semi-formal

3.
4.
5.
6.

Rafinarea cerințelor + ...
Stabilirea scopului
cerințe
evaluare
reutilizare

…

Dr. Sabin Buragawww.purl.org/net/busaco

metodologie
Colectarea cunoștințelor
la nivel informal ori semi-formal
stabilirea termenilor
organizarea informală a termenilor
parafr...
Rafinarea cerințelor + testarea

Dr. Sabin Buragawww.purl.org/net/busaco

metodologie
Implementarea – modelarea propriu-zisă
parafrazare și comentare la fiecare fază

dezvoltarea unei scheme normalizate și
a ...
Evaluarea + asigurarea calității
urmărirea scopului inițial

Dr. Sabin Buragawww.purl.org/net/busaco

metodologie

includ...
Monitorizarea utilizării și a evoluției
(mentenanță)

“process not product”
Alan Rector, 2004

Dr. Sabin Buragawww.purl.o...
Raționamentul lumilor închise vs. deschise
lumi deschise (open world reasoning)
negația reprezintă contradicție – orice po...
Raționamentul lumilor închise vs. deschise
lumi închise (close world reasoning)
negația înseamnă esec – orice nu poate fi ...
Raționamentul lumilor închise vs. deschise
ontologiile sunt considerate lumi deschise,
iar bazele de date lumi închise

Dr...
Knowledge Base vs. Data Base
o bază de cunoștințe nu definește un model unic,
ci reprezintă un set de constrângeri
care po...
Knowledge Base vs. Data Base
o bază de cunoștințe nu definește un model unic,
ci reprezintă un set de constrângeri
care po...
Knowledge Base vs. Data Base
o baza de date definește un model unic
(Bechhofer, 2004)
numele diferite sunt interpretate ca...
Knowledge Base vs. Data Base
model unic
expresivitate redusă – nu există negații/disjuncții
nu poate captura informații in...
Knowledge Base vs. Data Base
modele multiple
expresivitate ridicată – conectori booleeni, reuniune,...
se pot captura/expr...
Activitatea de reasoning

poate fi realizată automat de un reasoner
clasificarea conceptelor
rezultă:
un arbore – ierarhie...
Activitatea de reasoning

poate fi realizată automat de un reasoner
normalizare
separarea conceptelor de bază în arbori di...
Exemplu: o ontologie privitoare la animale
înainte de clasificare

după clasificare

arbore de concepte

digraf aciclic

D...
Dezvoltarea unei ontologii normalizate presupune:
1.
2.
3.
4.
5.

Identificarea conceptelor de bază de sine-stătătoare
Sep...
1. Identificarea conceptelor de bază de sine-stătătoare
(cu comentarea celor mai puțin evidente)
2. Separarea conceptelor ...
“Trusa” ontologistului
cerințe
formalisme (construcții logice)
ontologii existente
resurse de cunoștințe informale
convenț...
“Trusa” ontologistului

Dr. Sabin Buragawww.purl.org/net/busaco

considerații privind modelarea

cerințe – e.g., “un mode...
Înțelegerea clară a distincțiilor (Franconi, 2003)
concept (clasă) vs. individ
concept (clasă) vs. proprietate (rol)
entit...
Clasă (concept) versus instanță (individ)
o mulțime de indivizi este una numărabilă, discretă
spațiul privitor la concepte...
Clasă (concept) versus instanță (individ)
fiecare individ posedă o identitate clară

Dr. Sabin Buragawww.purl.org/net/bus...
Clasă (concept) versus instanță (individ)
dacă două concepte au descrieri echivalente,
atunci desemnează același concept
d...
Clasă (concept) versus instanță (individ)
uzual, actualizările vizând indivizii
nu schimbă ierarhia conceptelor

Dr. Sabin...
Clasă (concept) versus instanță (individ)
alegerea “clasă vs. individ” depinde de granularitate

Dr. Sabin Buragawww.purl...
Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drep...
Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drep...
Clasă (concept) versus proprietate (rol)
nu e ușor de decis dacă o entitate trebuie să fie modelată
ca un concept sau drep...
Fiecărui concept ales i se pot asocia:
proprietăți intrinseci
caracteristice naturii conceptului
proprietăți extrinseci
ex...
Fiecărui concept ales i se pot asocia:
proprietăți intrinseci
caracteristice naturii conceptului
exemplu: identitatea unei...
Fiecărui concept ales i se pot asocia:

Dr. Sabin Buragawww.purl.org/net/busaco

considerații privind modelarea

părți, f...
Fiecărui concept ales i se pot asocia:

Dr. Sabin Buragawww.purl.org/net/busaco

considerații privind modelarea

părți, f...
Raționamentele automate privitoare la indivizi
sunt dificil de realizat
ontologiile vizează în special clasele
ontologii ≠...
O ontologie urmează un ciclu de viață (lifecycle),
fiind creată, evaluată, ajustată, exploatată
ca și alt artefact softwar...
O ontologie urmează un ciclu de viață (lifecycle),
fiind creată, evaluată, ajustată, exploatată
ca și alt artefact softwar...
Dr. Sabin Buragawww.purl.org/net/busaco

J. Benedict, D. McGuinness, P. Fox (2007)
Modelarea unei ontologii privitoare la animale

adaptare după Alan Rector

Dr. Sabin Buragawww.purl.org/net/busaco

studi...
Intenții și scopuri
realizarea unei cărți electronice (e-book)
despre animale, oferind informații precum:
locul unde trăie...
Colectarea conceptelor
se pot folosi carduri de concepte

se lucrează în grupuri mici de persoane
se pot atrage experți ai...
Dog
Cat
Cow
Person
Tree
Grass
Herbivore
Male
Female

Carnivore
Plant
Animal
Fur
Child
Parent
Mother
Father

Dangerous
Pet
...
Dog
Cat
Cow
Person
Tree
Grass
Herbivore
Male
Female

Carnivore
Plant
Animal
Fur
Child
Parent
Mother
Father

Dangerous
Pet
...
Extinderea conceptelor
gruparea unor concepte
și determinarea caracteristicilor comune:
Plant, Animal ↦ Living Thing
ar pu...
Dr. Sabin Buragawww.purl.org/net/busaco

studiu de caz
Pentru facilitarea clasificării, colecțiile de subclase
trebuie de...
Alegerea unor axe conceptuale
adăugarea de termeni abstracți
de exemplu: “Living thing”

Dr. Sabin Buragawww.purl.org/net...
Alegerea unor axe conceptuale
identificarea relațiilor
de pildă: “eats”, “owns”, “parent of”

Dr. Sabin Buragawww.purl.or...
Alegerea unor axe conceptuale
identificarea entităților ce pot fi definite
(în relație cu altele)
e.g., “child”, “parent”,...
Alegerea unor axe conceptuale
numirea explicită a conceptelor
utilizarea cunoștințelor anterioare
(background knowledge)
...
Living Thing
Mammal
Cat
Dog
Cow
Person

Fish

Modifiers
Domestic
Pet
Farmed
Food

Wild
Health
healthy
sick

Goldfish

Plan...
Stabilirea entităților de sine-stătătoare
“lucruri” ce există conform substantivelor lor
oameni, animale, edificii, acțiun...
Reorganizăm conceptele, grupând entitățile
care pot fi definite în arbori separați
constituirea conceptelor de bază (prim...
Living Thing
Animal
Mammal
Cat
Dog
Cow
Person
Fish
Gold
fish

Plant
Tree
Grass
Fruit

Modifiers

Domestication
Use
Risk

D...
Living Thing
Animal
Mammal
Cat
Dog
Cow
Person
Fish
Gold
fish

Plant
Tree
Grass
Fruit

Concept abstract incluzând toate ent...
Identificarea constrângerilor privitoare la domeniu
(domain) și interval (range) pentru fiecare proprietate:
Animal eats L...
Pentru entitățile ce pot fi definite,
trebuie comentate și formalizate
definițiile acestora în termeni de primitive,
relaț...
Exemplu
“A ‘Parent’ is an animal that is the parent of
some other animal” – ignore plants for now
Parent = Animal and pare...
Exemplu
“A ‘Herbivore’ is an animal that eats only plants”
NB: All animals eat some living thing
Herbivore = Animal and ea...
Stabilirea proprietăților ce pot apărea
la nivel de clasă

Dr. Sabin Buragawww.purl.org/net/busaco

studiu de caz
Ce se poate afirma privitor la toți membrii clasei?
exemplu: eats
All cows eat some plants
All cats eat some animals
All p...
Verificarea clasificării
“Cows should be Herbivores”
Cows are animals and, amongst other things,
eat some grass and
eat so...
Verificarea clasificării

Dr. Sabin Buragawww.purl.org/net/busaco

studiu de caz

trebuie specificată axioma de închidere...
Verificarea clasificării – aici, folosind Protégé

Dr. Sabin Buragawww.purl.org/net/busaco

studiu de caz
Examinarea listei de modificatori
identificarea modificatorilor
care au valori mutual exclusive
Domestication, Risk, Gende...
Domestication

Risk

Domestic
Wild
Feral

Dangerous
Risky
Safe

Gender
Age

Male
Female
Infant
Toddler
Child
Adult
Elderly...
Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționează o calitate
Dangerousness cu subcalitățile di...
Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționează o calitate
se poate specifica proprietatea f...
Animal
hasDangerousness
someValuesFrom

Risky

Dangerous

Dangerous
animal
Cookie
the Lion

Dangerousness
Cookie’s
Danger
...
Specificarea valorilor (soluția 1)
partiții de valori: clase ce partiționeaza o calitate
calitatea

partițiile de
valori

...
Partițiile de valori în stilul UML
Animal

Dangerousness_
Value
owl:unionOf

Safe_
value

Risky_
value

Dangerous_
value

...
Specificarea valorilor (soluția 2)
valori simbolice: indivizii pot enumera
toate valorile unei calități (caracteristici)
î...
Specificarea valorilor (soluția 2)
valori simbolice: indivizii pot enumera
toate valorile unei calități (caracteristici)
s...
Valorile simbolice – stilul UML
Person

Gender
_value

owl:oneOf
female

hasGender

male

Man

Sabin

Dr. Sabin Buragawww...
Specificarea valorilor (design pattern)
valori distincte exprimate via Disjoint pentru clase
sau allDifferent pentru indiv...
Specificarea valorilor (design pattern)
valorile “acoperă” un tip de date
Calitate = Part1 or Part2 or Part3 or … or Partn...
Exprimarea rolurilor (proprietăților)
apare necesitatea distingerii rolurilor
pe care le joacă entitățile în diferite situ...
Exprimarea rolurilor (proprietăților)
apare necesitatea distingerii rolurilor
pe care le joacă entitățile în diferite situ...
Exprimarea rolurilor (proprietăților)
deseori, calificările trebuie distinse față de roluri
e.g., o persoană poate avea ca...
Exprimarea rolurilor (proprietăților)
uzual, rolurile desemnează relații
Animal

Food_animal
Cow
Horse

Pet_animal
Horse
D...
Exprimarea rolurilor (proprietăților)
situație:
Horse plays_role some Food_role
toți caii au rol de animale bune de consu...
Exprimarea rolurilor (proprietăților)
soluții:
ignorarea problemei într-un anumit context
sau
înlocuirea lui has_role cu m...
Observație:
anumite entități pot fi deduse pe baza inferențelor
– via reasoners (e.g., FaCT++, HermiT, Pellet)
Grass and L...
Comentarea și parafrazarea tuturor claselor
din cadrul ontologiei
foarte util pentru alte persoane care vor folosi
și/sau ...
Oferirea unui set de clase de probă și
a unui cadru de testare a ontologiei

Dr. Sabin Buragawww.purl.org/net/busaco

stu...
Living Thing

Body Part

eats
has part

Arm

Plant
eats

Animal

Leg

eats

Herbivore

Grass
Tree

Person
Carnivore
Cow

D...
Modelarea unui web privitor la un muzeu de artă
eronată!

adaptare după Enrico Franconi

Dr. Sabin Buragawww.purl.org/net...
Dr. Sabin Buragawww.purl.org/net/busaco

TBox redundant + ciclic
nu se pot detecta ușor inconsistențele
La nivel de ABox se specifică:
Dali este pictor, Pescuit de ton este tablou,
tabloul Pescuit de ton al lui Dali se găsește...
Etape importante privind crearea unei ontologii:
initial feasibility study & requirement specification
knowledge acquisiti...
Adoptarea unei/unor metodologii
exemplu de referință:
NeOn methodology (A. Gómez-Pérez et al., 2010)
propune diverse scena...
Dezvoltarea unei/unor ontologii
trebuie să reprezinte doar primul pas
un model conceptual nu are sens
dacă nu e utilizat î...
oferă o descriere
a unui domeniu (web)

aplicații
software
servicii
Web

declară o manieră
de structurare

baze de date
pr...
knowledge engineering
metodologii de proiectare a ontologiilor
studii de caz

Dr. Sabin Buragawww.purl.org/net/busaco

re...
Dr. Sabin Buragawww.purl.org/net/busaco

episodul viitor: inginerie ontologică (II)
alinierea ontologiilor & șabloane de ...
Upcoming SlideShare
Loading in …5
×

Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cunoştinţe. Metodologii de proiectare

468 views

Published on

Dezvoltarea aplicațiilor Web (11/12) — detalii la http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cunoştinţe. Metodologii de proiectare

  1. 1. Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web inginerie ontologică
  2. 2. Charles Darwin Dr. Sabin Buragawww.purl.org/net/busaco “It is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change.”
  3. 3. Data interoperability across applications and organizations (for IT) conform Tim Berners-Lee Dr. Sabin Buragawww.purl.org/net/busaco ce este web-ul semantic
  4. 4. A set of interoperable standards for knowledge exchange conform Tim Berners-Lee Dr. Sabin Buragawww.purl.org/net/busaco ce este web-ul semantic
  5. 5. An architecture for interconnected communities and vocabularies conform Tim Berners-Lee Dr. Sabin Buragawww.purl.org/net/busaco ce este web-ul semantic
  6. 6. Dr. Sabin Buragawww.purl.org/net/busaco meta-date și relații descrise semantic în cadrul și între documentele Web
  7. 7. Dr. Sabin Buragawww.purl.org/net/busaco Web-ul semantic oferă un punct de vedere abstract “ascunde” documentele
  8. 8. Dr. Sabin Buragawww.purl.org/net/busaco se oferă premisele modelării conceptuale a resurselor
  9. 9. modelul RDF se oferă premisele modelării conceptuale a resurselor (date, informații, cunoștințe) Dr. Sabin Buragawww.purl.org/net/busaco relație atomică
  10. 10. Dr. Sabin Buragawww.purl.org/net/busaco Există metode de proiectare (modelare) a cunoștințelor (ontologiilor)?
  11. 11. Aspect de interes: crearea de ontologii din diverse surse Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  12. 12. Aspect de interes: crearea de ontologii din diverse surse scheme XML, scheme de baze de date, diagrame UML, foi de calcul tabelar, alte specificații – e.g., microformate, microdate HTML5 Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  13. 13. Dr. Sabin Buragawww.purl.org/net/busaco fragment de ontologie exprimat sub forma diagramelor de clasa UML exemplu oferit de Cranefield (2001)
  14. 14. Aspect de interes: gestiunea versiunilor Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  15. 15. Aspect de interes: constituirea/folosirea colecțiilor de ontologii Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  16. 16. Aspect de interes: constituirea/folosirea colecțiilor de ontologii asocieri comparații reconcilieri validări conversii asigurarea calității Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  17. 17. Aspect de interes: obținerea, organizarea & vizualizarea domeniului de cunoaștere înainte și în timpul creării unei ontologii Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  18. 18. Aspect de interes: utilizarea ontologiilor în funcție de context Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  19. 19. Aspect de interes: utilizarea ontologiilor în funcție de context axate asupra modelării – exhaustive – a unei lumi (web) specifice unui set de task-uri/procese – workflow-uri mixte Dr. Sabin Buragawww.purl.org/net/busaco managementul cunoștințelor
  20. 20. Metodologii de inginerie a cunoștințelor (knowledge engineering methodologies) Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  21. 21. Metodologii de inginerie a cunoștințelor (knowledge engineering methodologies) Dr. Sabin Buragawww.purl.org/net/busaco necesitate procesul prin care experți ai domeniului și ontologiști vor constitui o bază de cunoștințe (KB – Knowledge Base), modelată într-un limbaj de reprezentare a cunoștințelor și gestionată via o suită de instrumente adiționale
  22. 22. Metodologii de inginerie a cunoștințelor (knowledge engineering methodologies) Dr. Sabin Buragawww.purl.org/net/busaco necesitate procesul prin care experți ai domeniului și ontologiști vor constitui o bază de cunoștințe (KB – Knowledge Base), modelată într-un limbaj de reprezentare a cunoștințelor și gestionată via o suită de instrumente adiționale
  23. 23. Metodologii de inginerie a cunoștințelor (knowledge engineering methodologies) procesele, limbajele și instrumentele folosite se bazează pe diverse paradigme de reprezentare a cunoștințelor Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  24. 24. Metodologii de inginerie a cunoștințelor (knowledge engineering methodologies) pot recurge la abordări de tip Model-Driven Engineering de (re)văzut MDA – Model Driven Architecture Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  25. 25. Dr. Sabin Buragawww.purl.org/net/busaco necesitate D. Gasevic, D. Djuric, V. Devedzic, Model Driven Engineering and Ontology Development (2nd Edition), Springer, 2009
  26. 26. Tradiționale, din ingineria software clasică exemplificări: CommonKADS (Scheriber et al., 2000) UOL – Unified Ontology Language (Baclawski et al., 2002) Dr. Sabin Buragawww.purl.org/net/busaco abordări
  27. 27. Agile – mai flexibile și facile eXtreme Programming exemple: XP.K (Knublauch, 2002) RapidOWL (Auer, 2005) Dr. Sabin Buragawww.purl.org/net/busaco abordări
  28. 28. Pentru detalii, a se studia articolele: A. Denicola et al., “A Software Engineering Approach to Ontology Building”, Information Systems 34(2), 2009 wwwusers.di.uniroma1.it/~navigli/pubs/De_Nicola_Missikoff_Navigli_2009.pdf M. Jarrar, R. Meersman, “Ontology Engineering – The DOGMA Approach”, LNCS 4891, Springer, 2008 http://www.jarrar.info/publications/JM08.v7.pdf Dr. Sabin Buragawww.purl.org/net/busaco abordări
  29. 29. Dr. Sabin Buragawww.purl.org/net/busaco Care sunt procesele de modelare ontologică?
  30. 30. Dezvoltarea unei ontologii implică partajarea de informații + colaborare Dr. Sabin Buragawww.purl.org/net/busaco observații
  31. 31. “Knowledge is fractal” (Alan Rector, 2004) ontologiile prezintă aceeași structură la fiecare nivel de granularitate (detaliu) Dr. Sabin Buragawww.purl.org/net/busaco observații
  32. 32. Dr. Sabin Buragawww.purl.org/net/busaco observații Atenție la dezvoltările exponențiale ale ontologiei! fenomenul “exploding bicycle”
  33. 33. Necunoașterea a-priori a dimensiunii ontologiei Numărul persoanelor implicate Folosirea ontologiei de către utilizatori care nu sunt experți ai domeniului modelat Natural laziness  ... Dr. Sabin Buragawww.purl.org/net/busaco complicații
  34. 34. Conflicte privitoare la intuiții intuițiile sunt dificil de formalizat Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  35. 35. Conflicte privitoare la intuiții intuițiile sunt dificil de formalizat experții în domeniu sunt conduși de obisnuințe și practică (șabloane de proiectare) prototipuri + generalizări Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  36. 36. Conflicte privitoare la intuiții intuițiile sunt dificil de formalizat logicienii sunt motivați de logică și computabilitate definiții/axiome (formale) + operatori universali Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  37. 37. transparență și predictibilitate versus rigoare + completitudine Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  38. 38. Persoanele – ontologiști, programatori, utilizatori – fără (prea multă) experiență Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  39. 39. Studiu de caz – Peter Morville, 2007 alergia la alune (peanut allergy) Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  40. 40. Studiu de caz – Peter Morville, 2007 alergia la alune (peanut allergy) acces urgent la informații exacte și utile credibilitatea surselor este esențială Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  41. 41. Studiu de caz – Peter Morville, 2007 alergia la alune (peanut allergy) Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți orice căutare folosind un motor de căutare clasic eșuează popularitate ≠ autoritate în domeniu cunoștințele (relevante) trebuie să fie regăsite pe Web necesită expertiză în domeniu + abilități avansate de căutare pe Web
  42. 42. rezultate oferite de Bing Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  43. 43. Dr. Sabin Buragawww.purl.org/net/busaco rezultate întoarse de DuckDuckGo
  44. 44. rezultate oferite de Google Dr. Sabin Buragawww.purl.org/net/busaco
  45. 45. rezultate furnizate de Siri Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  46. 46. Modelarea semantica (meaning) corectitudinea clasificărilor și extragerii cunoștințelor Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  47. 47. Modelarea indexarea vizează activitățile de descoperire, căutare și găsire a cunoștințelor Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  48. 48. Modelarea popularea introducerea datelor (e.g., indivizi) + procesul decizional eventual, alte aspecte de interes Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  49. 49. Modelarea achiziția capt(ur)area cunoștințelor Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  50. 50. Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți Asigurarea calității + managementul modificărilor calitatea stabilirea de criterii privitoare la ceea ce este “corect” (e.g., grad de expresivitate, ușurința refolosirii, volumul entităților modelate: clase/proprietăti/restricții/indivizi,…)
  51. 51. Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți Asigurarea calității + managementul modificărilor evoluția luarea în calcul a schimbărilor viitoare ale ontologiei
  52. 52. Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți Asigurarea calității + managementul modificărilor testarea controlul modificărilor asigurarea – eventual, (semi-)automată – a calității de exemplu, detectarea inconsistențelor
  53. 53. Privitoare la factorul uman apariția confuziilor privitoare la termeni și la utilizarea ontologiei în practică Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  54. 54. Privitoare la factorul uman persoane provenind din medii eterogene inteligență artificială, interacțiune om-calculator, dezvoltare Web, inginerie software, lingvistică (computațională), științe cognitive, filosofie, ... Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  55. 55. Referitoare la interoperabilitate recurgerea la sintaxe diferite utilizarea de instrumente de modelare eterogene folosirea unor limbaje având diverse expresivități Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  56. 56. Vizualizarea (redarea) ontologiilor prezentări alternative documentare automată navigare bazată pe context + faceted search aspect important: ontologiile de mari dimensiuni Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  57. 57. Dr. Sabin Buragawww.purl.org/net/busaco VOWL – Visual Notation for OWL Ontologies reprezentarea grafică a elementelor unei specificații OWL (Ștefan Negru & Steffen Lohmann, 2013) http://vowl.visualdataweb.org/
  58. 58. Vizualizarea (redarea) ontologiilor descoperirea datelor și relațiilor (data/relation mining) eventual, folosind instrumente de realizare a raționamentelor automate (reasoners) Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultăți
  59. 59. găsirea de relații între conceptele oferite de DBpedia instrumentul RelFinder http://www.visualdataweb.org/relfinder.php Dr. Sabin Buragawww.purl.org/net/busaco inginerie: dificultati
  60. 60. Alegerea dificilă a unor criterii formale (i.e. privind calitatea cunoștințelor modelate) consistență completitudine concizie expresivitate ... Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  61. 61. Generarea manuală a ontologiilor taxonomii navigabile: Open Directory, Yahoo!,... folksonomii – vezi sistemele de tagging social ontologii publice – e.g., YAGO, UMBEL ontologii interne – exemplu: Daimler-Chrysler Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  62. 62. Ontologiile generale (top-level) nu sunt cu adevărat utile în practică Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  63. 63. Apar probleme teoretice/practice privind: asigurarea coerenței facilitarea procesării folosirea surselor de date multiple Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  64. 64. Diferite vocabulare în vigoare clasa ≈ concept ≈ categorie ≈ tip instanță ≈ individ entitate ≈ obiect (clasă/individ) proprietate ≈ slot ≈ relație ≈ atribut ≈ ≈ rol ≈ legătură semantică Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  65. 65. Sintaxe diverse existente sintaxa abstractă – vezi OWL Manchester N3 (Turtle) XML/RDF logica de ordin I formatul Protégé limbajul natural (parafraza) ... Dr. Sabin Buragawww.purl.org/net/busaco inginerie: realități
  66. 66. 1. 2. 3. 4. 5. Stabilirea domeniului de cunoaștere Organizarea ontologiei Popularea (“umplerea”) ontologiei Verificarea ontologiei Publicarea ontologiei Dr. Sabin Buragawww.purl.org/net/busaco metodologie (Noy & McGuinness, 2003)
  67. 67. Stabilirea domeniului de cunoaștere asamblarea surselor de date și expertiza în domeniu pentru a constitui concepte (things) Dr. Sabin Buragawww.purl.org/net/busaco metodologie se vor asigura – măcar informal – consensul și consistența
  68. 68. Organizarea ontologiei proiectarea pe ansamblu a structurii conceptuale identificarea principalelor concepte concrete și a proprietăților acestora identificarea relațiilor dintre concepte crearea conceptelor abstracte (de nivel înalt) identificarea instanțelor referențierea/includerea altor ontologii ... Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  69. 69. Popularea ontologiei adăugarea conceptelor inserarea relațiilor + constrângerilor/axiomelor adăugarea indivizilor …la nivelul de detaliere necesar pentru realizarea scopurilor ontologiei Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  70. 70. Verificarea ontologiei reconcilierea inconsistențelor dintre elemente, la nivel sintactic, logic și semantic Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  71. 71. Verificarea ontologiei reconcilierea inconsistențelor dintre elemente, la nivel sintactic, logic și semantic verificarea consistenței poate implica o clasificare automată, rezultând noi concepte bazate pe proprietăți individuale sau relații între clase Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  72. 72. Publicarea ontologiei verificarea finală de către experți ai domeniului publicarea + utilizarea efectivă în cadrul comunității de practică Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  73. 73. Procesul ideal de dezvoltare a unei ontologii determine scope consider reuse enumerate terms define classes define properties define constraints create instances Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  74. 74. Procesul realist de dezvoltare a unei ontologii determine scope consider reuse define properties define classes consider reuse define properties enumerate terms define properties define constraints consider reuse define constraints create instances define classes enumerate terms define classes create instances define classes create instances Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  75. 75. 1. Stabilirea scopului 2. Colectarea cunoștințelor la nivel informal ori semi-formal 3. 4. 5. 6. Rafinarea cerințelor + testarea Implementarea – modelarea propriu-zisă Evaluarea + asigurarea calității Monitorizarea utilizării și a evoluției Dr. Sabin Buragawww.purl.org/net/busaco metodologie (Rector & Horrocks, 2004)
  76. 76. Stabilirea scopului cerințe evaluare reutilizare … Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  77. 77. Colectarea cunoștințelor la nivel informal ori semi-formal stabilirea termenilor organizarea informală a termenilor parafrazarea și clarificarea termenilor definiții informale ale conceptelor realizarea de diagrame informale Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  78. 78. Rafinarea cerințelor + testarea Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  79. 79. Implementarea – modelarea propriu-zisă parafrazare și comentare la fiecare fază dezvoltarea unei scheme normalizate și a unui “schelet” de ontologie Dr. Sabin Buragawww.purl.org/net/busaco metodologie implementarea unui prototip (consemnând intențiile) verificarea scalabilității popularea ontologiei – text mining, procesare a limbajului uman, JSON, microdate, RDFa, baze de date,…
  80. 80. Evaluarea + asigurarea calității urmărirea scopului inițial Dr. Sabin Buragawww.purl.org/net/busaco metodologie includerea de verificări privind evoluția ontologiei și ajustarea manierei de management al ei proiectarea de teste și “probe” în mod similar testării aplicațiilor software
  81. 81. Monitorizarea utilizării și a evoluției (mentenanță) “process not product” Alan Rector, 2004 Dr. Sabin Buragawww.purl.org/net/busaco metodologie
  82. 82. Raționamentul lumilor închise vs. deschise lumi deschise (open world reasoning) negația reprezintă contradicție – orice poate fi adevărat până când se poate demonstra că e fals Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  83. 83. Raționamentul lumilor închise vs. deschise lumi închise (close world reasoning) negația înseamnă esec – orice nu poate fi găsit este fals Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  84. 84. Raționamentul lumilor închise vs. deschise ontologiile sunt considerate lumi deschise, iar bazele de date lumi închise Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  85. 85. Knowledge Base vs. Data Base o bază de cunoștințe nu definește un model unic, ci reprezintă un set de constrângeri care pot defini o mulțime de modele posibile Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  86. 86. Knowledge Base vs. Data Base o bază de cunoștințe nu definește un model unic, ci reprezintă un set de constrângeri care pot defini o mulțime de modele posibile nici o constrângereorice model e posibil cu cât există mai multe constrângeri, cu atât numărul modelelor posibile scade Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  87. 87. Knowledge Base vs. Data Base o baza de date definește un model unic (Bechhofer, 2004) numele diferite sunt interpretate ca indivizi distincți domeniul e compus numai din indivizii numiți în cadrul bazei de date – modelul lumii inchise extensiile sunt cât mai reduse posibil Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  88. 88. Knowledge Base vs. Data Base model unic expresivitate redusă – nu există negații/disjuncții nu poate captura informații incomplete non-monoton: adăugarea de noi date nu păstrează adevărul procesul de reasoning (interogare) este facil și rapid Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  89. 89. Knowledge Base vs. Data Base modele multiple expresivitate ridicată – conectori booleeni, reuniune,... se pot captura/exprima informații incomplete monotonie – adăugarea de noi date păstrează adevărul procesul de reasoning (interogare) este dificil și lent Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  90. 90. Activitatea de reasoning poate fi realizată automat de un reasoner clasificarea conceptelor rezultă: un arbore – ierarhie strictă, taxonomie sau un digraf aciclic (DAG) – poli-ierarhie, graf conceptual Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  91. 91. Activitatea de reasoning poate fi realizată automat de un reasoner normalizare separarea conceptelor de bază în arbori disjuncți, arborii având legături între ei via definiții și restricții Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  92. 92. Exemplu: o ontologie privitoare la animale înainte de clasificare după clasificare arbore de concepte digraf aciclic Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  93. 93. Dezvoltarea unei ontologii normalizate presupune: 1. 2. 3. 4. 5. Identificarea conceptelor de bază de sine-stătătoare Separarea conceptelor în arbori de concepte Identificarea relațiilor Crearea descrierilor și definițiilor Identificarea modului în care entitățile-cheie trebuie clasificate 6. Utilizarea clasificatorului pentru a genera digraful 7. Verificarea satisfacerii testelor Dr. Sabin Buragawww.purl.org/net/busaco aspecte importante
  94. 94. 1. Identificarea conceptelor de bază de sine-stătătoare (cu comentarea celor mai puțin evidente) 2. Separarea conceptelor în arbori de concepte (poate implica specificarea unor proprietăți/concepte auxiliare) 3. Identificarea relațiilor (comentarea acelor relații care nu sunt evidente) 4. Crearea descrierilor și definițiilor (cu oferirea de parafraze pentru fiecare) 5. Identificarea modului în care entitățile-cheie trebuie clasificate (crearea unor teste de regresie) 6. Utilizarea clasificatorului pentru a genera digraful 7. Verificarea satisfacerii testelor Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea unei ontologii normalizate presupune:
  95. 95. “Trusa” ontologistului cerințe formalisme (construcții logice) ontologii existente resurse de cunoștințe informale convenții și practici instrumente adaptare după Aldo Gangemi (2008) Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  96. 96. “Trusa” ontologistului Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea cerințe – e.g., “un model ideal de specificare a lumii”  construcții logice: subClassOf, restricții de cardinalitate,… ontologii existente – e.g., DOLCE, FOAF, UMBEL, YAGO etc. resurse de cunoștințe informale: servicii Web, API-uri,… convenții și practici – inclusiv șabloane de proiectare instrumente – editoare, instrumente de reasoning, convertoare, sisteme de stocare etc. (Disco, GATE, Protégé, NeOn Toolkit, FaCT++, Jena, Triplr, Virtuoso,…)
  97. 97. Înțelegerea clară a distincțiilor (Franconi, 2003) concept (clasă) vs. individ concept (clasă) vs. proprietate (rol) entitate definită vs. entitate dedusă Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  98. 98. Clasă (concept) versus instanță (individ) o mulțime de indivizi este una numărabilă, discretă spațiul privitor la concepte e ideal continuu și infinit Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  99. 99. Clasă (concept) versus instanță (individ) fiecare individ posedă o identitate clară Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  100. 100. Clasă (concept) versus instanță (individ) dacă două concepte au descrieri echivalente, atunci desemnează același concept descrierile privitoare la indivizi pot fi alterate (pot evolua) Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  101. 101. Clasă (concept) versus instanță (individ) uzual, actualizările vizând indivizii nu schimbă ierarhia conceptelor Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  102. 102. Clasă (concept) versus instanță (individ) alegerea “clasă vs. individ” depinde de granularitate Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  103. 103. Clasă (concept) versus proprietate (rol) nu e ușor de decis dacă o entitate trebuie să fie modelată ca un concept sau drept proprietate Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  104. 104. Clasă (concept) versus proprietate (rol) nu e ușor de decis dacă o entitate trebuie să fie modelată ca un concept sau drept proprietate Persoana este un concept (clasă) Mama ca și concept nu există dacă nu considerăm ce rol joacă într-o relație parentală (este un concept dependent de o relație) Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  105. 105. Clasă (concept) versus proprietate (rol) nu e ușor de decis dacă o entitate trebuie să fie modelată ca un concept sau drept proprietate convenție: alegerea de nume neambigue pentru roluri e.g., hasParent, areMama, areGen etc. Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  106. 106. Fiecărui concept ales i se pot asocia: proprietăți intrinseci caracteristice naturii conceptului proprietăți extrinseci externe – pot să se modifice pe parcurs Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  107. 107. Fiecărui concept ales i se pot asocia: proprietăți intrinseci caracteristice naturii conceptului exemplu: identitatea unei persoane proprietăți extrinseci externe – pot să se modifice pe parcurs e.g., ocupația unei persoane: student, programator, artist Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  108. 108. Fiecărui concept ales i se pot asocia: Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea părți, fragmente – în cazul obiectelor structurate/compuse fizice abstracte
  109. 109. Fiecărui concept ales i se pot asocia: Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea părți, fragmente – în cazul obiectelor structurate/compuse fizice “studenții dintr-un an”, “componentele unei tablete”, “boabele unui strugure” etc. abstracte “prezentările unei materii”, “subiectele unui blog”,…
  110. 110. Raționamentele automate privitoare la indivizi sunt dificil de realizat ontologiile vizează în special clasele ontologii ≠ baze de date Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  111. 111. O ontologie urmează un ciclu de viață (lifecycle), fiind creată, evaluată, ajustată, exploatată ca și alt artefact software Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  112. 112. O ontologie urmează un ciclu de viață (lifecycle), fiind creată, evaluată, ajustată, exploatată ca și alt artefact software aspecte de interes: datele tipurile de workflow-uri șabloanele de proiectare (reguli de bună practică) utilizarea propriu-zisă Dr. Sabin Buragawww.purl.org/net/busaco considerații privind modelarea
  113. 113. Dr. Sabin Buragawww.purl.org/net/busaco J. Benedict, D. McGuinness, P. Fox (2007)
  114. 114. Modelarea unei ontologii privitoare la animale adaptare după Alan Rector Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  115. 115. Intenții și scopuri realizarea unei cărți electronice (e-book) despre animale, oferind informații precum: locul unde trăiesc ce consumă – carnivore, ierbivore, omnivore cât de periculoase pot fi ce anatomie de bază au – e.g., numărul picioarelor,... ce greutate au ... Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  116. 116. Colectarea conceptelor se pot folosi carduri de concepte se lucrează în grupuri mici de persoane se pot atrage experți ai domeniului Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  117. 117. Dog Cat Cow Person Tree Grass Herbivore Male Female Carnivore Plant Animal Fur Child Parent Mother Father Dangerous Pet Domestic animal Farm animal Food animal Fish Goldfish clase posibile Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  118. 118. Dog Cat Cow Person Tree Grass Herbivore Male Female Carnivore Plant Animal Fur Child Parent Mother Father Dangerous Pet Domestic animal Farm animal Food animal Fish Goldfish Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz: organizarea conceptelor
  119. 119. Extinderea conceptelor gruparea unor concepte și determinarea caracteristicilor comune: Plant, Animal ↦ Living Thing ar putea fi adăugați ulterior și termeni ca Bacteria, Fungi Cat, Dog, Cow, Person ↦ Mammal alți candidați ar putea fi Goat, Sheep, Horse, Lion etc. Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  120. 120. Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz Pentru facilitarea clasificării, colecțiile de subclase trebuie declarate explicit disjuncte exemplificare: Plant disjointWith Animal
  121. 121. Alegerea unor axe conceptuale adăugarea de termeni abstracți de exemplu: “Living thing” Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  122. 122. Alegerea unor axe conceptuale identificarea relațiilor de pildă: “eats”, “owns”, “parent of” Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  123. 123. Alegerea unor axe conceptuale identificarea entităților ce pot fi definite (în relație cu altele) e.g., “child”, “parent”, “Mother”, “Father” Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  124. 124. Alegerea unor axe conceptuale numirea explicită a conceptelor utilizarea cunoștințelor anterioare (background knowledge)  axiome Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  125. 125. Living Thing Mammal Cat Dog Cow Person Fish Modifiers Domestic Pet Farmed Food Wild Health healthy sick Goldfish Plant Tree Grass Fruit eats owns parent-of … Gender Male Female Age Adult Child Definables Carnivore Herbivore Child Parent Mother Father Food Animal Dr. Sabin Buragawww.purl.org/net/busaco Animal Relations
  126. 126. Stabilirea entităților de sine-stătătoare “lucruri” ce există conform substantivelor lor oameni, animale, edificii, acțiuni, procese,… se utilizează majoritatea substantivelor modificatori (modifiers) “lucruri” ce se pot preschimba în altele se folosesc adjectivele și adverbele Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  127. 127. Reorganizăm conceptele, grupând entitățile care pot fi definite în arbori separați constituirea conceptelor de bază (primitives) Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  128. 128. Living Thing Animal Mammal Cat Dog Cow Person Fish Gold fish Plant Tree Grass Fruit Modifiers Domestication Use Risk Domestic Wild Food Pet Dangerous Safe Gender Age Male Female Adult Child Relations eats owns parent-of … Definables Carnivore Herbivore Child Parent Mother Father Food Animal Dr. Sabin Buragawww.purl.org/net/busaco Self_standing
  129. 129. Living Thing Animal Mammal Cat Dog Cow Person Fish Gold fish Plant Tree Grass Fruit Concept abstract incluzând toate entitățile vii – aici, restricționat la plante și animale. adăugarea comentariilor clarificatoare (parafraze) Dr. Sabin Buragawww.purl.org/net/busaco Self_standing
  130. 130. Identificarea constrângerilor privitoare la domeniu (domain) și interval (range) pentru fiecare proprietate: Animal eats Living_thing eats domain: range: Animal Living_thing Person owns Living_thing except Person owns domain: range: Person Living_thing and not Person Living_thing parent_of Living_thing parent_of domain: range: Animal Animal Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  131. 131. Pentru entitățile ce pot fi definite, trebuie comentate și formalizate definițiile acestora în termeni de primitive, relații și alte entități ce pot fi specificate Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  132. 132. Exemplu “A ‘Parent’ is an animal that is the parent of some other animal” – ignore plants for now Parent = Animal and parent_of some Animal Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  133. 133. Exemplu “A ‘Herbivore’ is an animal that eats only plants” NB: All animals eat some living thing Herbivore = Animal and eats only Plant Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  134. 134. Stabilirea proprietăților ce pot apărea la nivel de clasă Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  135. 135. Ce se poate afirma privitor la toți membrii clasei? exemplu: eats All cows eat some plants All cats eat some animals All pigs eat some animals and eat some plants Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  136. 136. Verificarea clasificării “Cows should be Herbivores” Cows are animals and, amongst other things, eat some grass and eat some leafy_plants Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  137. 137. Verificarea clasificării Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz trebuie specificată axioma de închidere (closure axiom) Cows are animals and, amongst other things, eat some plants and eat only plants
  138. 138. Verificarea clasificării – aici, folosind Protégé Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  139. 139. Examinarea listei de modificatori identificarea modificatorilor care au valori mutual exclusive Domestication, Risk, Gender, Age precizarea mai precisă a unora Age ↦ Age_group Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  140. 140. Domestication Risk Domestic Wild Feral Dangerous Risky Safe Gender Age Male Female Infant Toddler Child Adult Elderly noua listă de modificatori Dr. Sabin Buragawww.purl.org/net/busaco Modifiers
  141. 141. Specificarea valorilor (soluția 1) partiții de valori: clase ce partiționează o calitate Dangerousness cu subcalitățile disjuncte Dangerous, Risky, Safe Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  142. 142. Specificarea valorilor (soluția 1) partiții de valori: clase ce partiționează o calitate se poate specifica proprietatea funcțională hasDangerousness : Animal ↦ Dangereousness Dangerous_animal = Animal and hasDangerousness some Dangerous Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  143. 143. Animal hasDangerousness someValuesFrom Risky Dangerous Dangerous animal Cookie the Lion Dangerousness Cookie’s Danger Safe www.w3.org/TR/swbp-classes-as-values Dr. Sabin Buragawww.purl.org/net/busaco diagrama partițiilor de valori
  144. 144. Specificarea valorilor (soluția 1) partiții de valori: clase ce partiționeaza o calitate calitatea partițiile de valori Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  145. 145. Partițiile de valori în stilul UML Animal Dangerousness_ Value owl:unionOf Safe_ value Risky_ value Dangerous_ value hasDangerousness someValuesFrom Dangerous Animal Cookie’s Dangerousness hasDangerousness Cookie the Lion Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  146. 146. Specificarea valorilor (soluția 2) valori simbolice: indivizii pot enumera toate valorile unei calități (caracteristici) în acest caz, calitatea specificată este Gender_value, pentru fiecare valoare existând o mulțime de indivizi valorile vor fi diferite, date ca o enumerare: Gender_value = { male, female } Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  147. 147. Specificarea valorilor (soluția 2) valori simbolice: indivizii pot enumera toate valorile unei calități (caracteristici) se definește o proprietate funcțională hasGender : Animal ↦ Gender_value Male_animal = Animal and hasGender is male Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  148. 148. Valorile simbolice – stilul UML Person Gender _value owl:oneOf female hasGender male Man Sabin Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  149. 149. Specificarea valorilor (design pattern) valori distincte exprimate via Disjoint pentru clase sau allDifferent pentru indivizi Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  150. 150. Specificarea valorilor (design pattern) valorile “acoperă” un tip de date Calitate = Part1 or Part2 or Part3 or … or Partn sau Calitate = { v1 , v2 , v3 ,…, vn } proprietățile exprimate sunt deseori funcționale Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  151. 151. Exprimarea rolurilor (proprietăților) apare necesitatea distingerii rolurilor pe care le joacă entitățile în diferite situații Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  152. 152. Exprimarea rolurilor (proprietăților) apare necesitatea distingerii rolurilor pe care le joacă entitățile în diferite situații exemple: “pet” versus “farm animal” “elev” versus “student” versus “profesor” “medic” versus “pacient” Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  153. 153. Exprimarea rolurilor (proprietăților) deseori, calificările trebuie distinse față de roluri e.g., o persoană poate avea calificare de medic, dar joacă rol de pacient Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  154. 154. Exprimarea rolurilor (proprietăților) uzual, rolurile desemnează relații Animal Food_animal Cow Horse Pet_animal Horse Dog Animal Mammal Cow Horse Dog Animal_use_role Food_role Pet_role Food_animal = Animal and has_role some Food_role Pet_animal = Animal and has_role some Pet_role Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  155. 155. Exprimarea rolurilor (proprietăților) situație: Horse plays_role some Food_role toți caii au rol de animale bune de consum o afirmație prea categorică Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  156. 156. Exprimarea rolurilor (proprietăților) soluții: ignorarea problemei într-un anumit context sau înlocuirea lui has_role cu may_have_role se poate specifica Food_Horse = Horse and has_role Food_role Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  157. 157. Observație: anumite entități pot fi deduse pe baza inferențelor – via reasoners (e.g., FaCT++, HermiT, Pellet) Grass and Leafy_plants are both kinds of Plant revezi exemplele din cursul anterior Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  158. 158. Comentarea și parafrazarea tuturor claselor din cadrul ontologiei foarte util pentru alte persoane care vor folosi și/sau vor extinde ontologia Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  159. 159. Oferirea unui set de clase de probă și a unui cadru de testare a ontologiei Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz clase de probă = clase suplimentare care pot să fie sau nu satisfiabile sau clasificabile într-un context particular – “excepțiile de la regulă” în ontologia finală, vor fi eliminate
  160. 160. Living Thing Body Part eats has part Arm Plant eats Animal Leg eats Herbivore Grass Tree Person Carnivore Cow Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz: privire de ansamblu
  161. 161. Modelarea unui web privitor la un muzeu de artă eronată! adaptare după Enrico Franconi Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  162. 162. Dr. Sabin Buragawww.purl.org/net/busaco TBox redundant + ciclic nu se pot detecta ușor inconsistențele
  163. 163. La nivel de ABox se specifică: Dali este pictor, Pescuit de ton este tablou, tabloul Pescuit de ton al lui Dali se găsește în Madrid tabloul Pescuit de ton, pictat de Dali în 1966, se găsește în Madrid etc. date specificate redundant: Painter (dali), PAINTING (dali, tuna-fishing), Painting (tuna-fishing), AUTHOR (tuna-fishing, dali),... Dr. Sabin Buragawww.purl.org/net/busaco studiu de caz
  164. 164. Etape importante privind crearea unei ontologii: initial feasibility study & requirement specification knowledge acquisition conceptualization formalization evaluation refinement Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  165. 165. Adoptarea unei/unor metodologii exemplu de referință: NeOn methodology (A. Gómez-Pérez et al., 2010) propune diverse scenarii, adaptate scopului și domeniului modelat http://www.neon-project.org/nw/NeOn_Book Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  166. 166. Dezvoltarea unei/unor ontologii trebuie să reprezinte doar primul pas un model conceptual nu are sens dacă nu e utilizat în practică Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  167. 167. oferă o descriere a unui domeniu (web) aplicații software servicii Web declară o manieră de structurare baze de date problem-solving methods baze de cunoștințe recomandare, filtrare, analiză,… adaptare după Alan Rector et al., 2005 Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  168. 168. knowledge engineering metodologii de proiectare a ontologiilor studii de caz Dr. Sabin Buragawww.purl.org/net/busaco rezumat
  169. 169. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: inginerie ontologică (II) alinierea ontologiilor & șabloane de proiectare

×