owl dl ontolo ijas un datorlingvistikapodnieks/slides/descrlog/tre5app.pdf · kas ir owl dl...
TRANSCRIPT
OWL DL Ontoloģijasun Datorlingvistika
29/03/2006Guntis BārzdiņšLU MII
Saturs
OWL DL, teorija, secinātāji un spēļu piemērsReāls piemērs, kur tas viss tiešām ir vajadzīgs
OWL DLOWL Full – nav definēta formāla semantikaOWL DL – formāla semantika, bagāta valodaOWL Lite – formāla semantika, nabadzīga valoda
T.B.Lee: “OWL came out better than expected..”
Kas ir OWL DL ontoloģija?
ontology is a set of axioms used to formally define concepts and relations that exist in a certain domain and assert information about individuals in that domain
OWL is the de-facto standard for the ... Semantic Web. One of the main benefits of OWL is the support for formal reasoning. OWL-DL is its most relevant subsetsince its semantics are firmly rooted in Description Logic, a decidable fragment of First Order Logic.
OWL DL Rediģēšana = Racer + Protégé
TCPport 8088
DIG protocol
RacerPro 1.9vai
PelletProtégé 3.1
my.owl
OWL DL Izmantošana = Jena, Prolog
rdf_load(‘my.owl’).rdf_save(‘my.owl’).
my.owl
rdf triples
aplikācija
5MB
50MB
rdf(A,B,C).
OWL DL Izmantošana = Jena, Prolog
rdf_load(‘my.owl’).rdf_save(‘my.owl’).
my.owl
rdf triples
txt2owl
inst.owl
“uz cehu skrien
strādnieki”
morfoloģija sintakse
5MB
50MB
vārdnīca
OWL DL mini-secinātājs SWI-Prologā: “redundant_subclass_relation”
:- use_module(rdf_db).:- use_module(rdfs).
:- rdf_load('ont.owl').
redundant_subclass(A,C) :-rdf(A,'http://www.w3.org/2000/01/rdf-schema#subClassOf',C),
concat('http',_,C), rdf(B,'http://www.w3.org/2000/01/rdf-schema#subClassOf',C), not(A=B), rdfs_subclass_of(A,B).
Picu ontoloģija
PizzaPizzaBase
DeepPan ThinAndCrispy
NamedPizza
PizzaTopping1..N
1
CheeseTopping
MeatTopping
VegetarianPizza
VegetableTopping
MargheritaPizza
AmericanaPizza
1
1
0..1
0..1
1
MyNewPizza
Picu ontoloģija
PizzaPizzaBase
DeepPan ThinAndCrispy
NamedPizza
PizzaTopping1..N
1disjointWith
CheeseTopping
MeatTopping
disjointWith
VegetarianPizza
VegetableTopping
disjointWith
disjointWith
MargheritaPizza
AmericanaPizza
1
1
0..1
0..1
1
MyNewPizza
disjointWith
Picu ontoloģija
PizzaPizzaBase
DeepPan ThinAndCrispy
NamedPizza
PizzaTopping1..N
1disjointWith
CheeseTopping
MeatTopping
disjointWith
VegetarianPizza
VegetableTopping
disjointWith
disjointWith
MargheritaPizza
AmericanaPizza
1
1
0..1
0 0..1
0
1
MyNewPizza
0
disjointWith
Picu ontoloģija
PizzaPizzaBase
DeepPan ThinAndCrispy
NamedPizza
PizzaTopping1..N
1disjointWith
CheeseTopping
MeatTopping
disjointWith
VegetarianPizza
VegetableTopping
disjointWith
disjointWith
MargheritaPizza
AmericanaPizza
1
1
0..1
0 0..1
0
1
MyNewPizza
0
RacerProreasoner
inconsistency
classification
disjointWith
UNA (Unique Name Assumption) =dažādos vārdos nosauktas klases vaiindividuāļi ir atšķirīgi.OWL DL nelieto UNA, ja vien tas nav expliciti pateikts ar differentFrom vai AllDifferent(individuāļiem) vai disjointWith(klasēm)
Primitive and Defined classes
Classification
SemTi-Kamols projekts
Projekta mērķis ir nodrošināt semantiskā tīmekļa tehnoloģiju sekmīgu ieviešanu Latvijā, tajā skaitā izveidojot nepieciešamos resursus latviešu valodas un semantiskā tīmekļa sasaistei
Pirmā posma galvenie sasniegumi:– Eksperimentālas metodikas un programmatūras izstrāde
automātiskai semantisko relāciju izguvei un klasificēšanai no skaidrojošās vārdnīcas.
– Izveidota Semantiskā tīmekļa pilotaplikācija, kas, izmantojot ierobežotus gramatikas likumus, formālo leksikonu un ontoloģiju, prot ierobežotas sintakses teikumu nozīmireprezentēt OWL formā.
– Sagatavotas 2 publikācijas
Pilota aplikācija(pieejama http://www.semti-kamols.lv/)
<teach rdf:ID="teach_956"><GramTense>
<Present rdf:ID="Present_448"></Present>
</GramTense><agent>
<teacher rdf:ID="teacher_978"><GramGender>
<male rdf:ID="male_845"></male>
</GramGender><GramCount>
<Singular rdf:ID="Singular_929"></Singular>
</GramCount><literal-object-attribute>
<Functional rdf:ID="Functional_178"></Functional>
</literal-object-attribute></teacher>
</agent><experiencer>
<sports-role rdf:ID="sports-role_151"><GramGender>
<male rdf:ID="male_693"></male>
</GramGender><GramCount>
<Singular rdf:ID="Singular_728"></Singular>
</GramCount><literal-object-attribute>
<Material rdf:ID="Material_725"></Material>
</literal-object-attribute></sports-role>
</experiencer></teach>
Ierobežotam latviešu valodas leksikonam, pilota aplikācija nodrošina automātisku “tulkošanu” uz Semantiskā tīmekļa valodu OWL DL (atbilstoši dotai augšējā līmeņa ontoloģijai)
Pilotaplikācija www.semti-kamols.lv
<teach rdf:ID="teach_726"><GramTense>
<Present rdf:ID="Present_967"/></GramTense><agent>
<parent rdf:ID="parent_155"><GramGender>
<female rdf:ID="female_718"/></GramGender><GramCount>
<Singular rdf:ID="Singular_263"/></GramCount><literal-object-attribute>
<Functional rdf:ID="Functional_432"/></literal-object-attribute>
</parent></agent><experiencer>
<offspring rdf:ID="offspring_918">...
</offspring></experiencer>
</teach>
Vārdnīca
Sintaktiskie šabloni
Ontoloģija
MorfoloģijaTxt2Owl
analizators
* Angļu valoda OntoSem ontoloģijā tiek lietota kā metavaloda
Ontoloģiju struktūra
metafizika
ekon
omik
a
astro
nom
ija
med
icīn
a
TOP
BOTTOM
OntoSem ontoloģijas augšējie līmeņi
IN
Kopā ~8000 klases un ~700 property tipi
ALL
PROPERTY OBJECT EVENT LITERAL
ATTRIBUTECASE-ROLEACCOMPANIERAGENTBENEFICIARYDESTINATIONEXPERIENCERINSTRUMENTLOCATIONPATHSOURCETHEMESPATIAL-RELATIONABOVEACROSSACROSS-FROMBEHINDBELOW-AND-TOUCHINGBESIDEBETWEEN-SPATIALCENTER-OFDIRECTIONAL-RELATIONSPATIAL-PATH
PHYSICAL-OBJECTANIMATEANIMALINVERTEBRATEMITESCORPIONSPIDERTICKCRABCRAWFISHCYCLOPSLOBSTERPRAWNINTANGIBLE-OBJECTENERGYNUCLEAR-ENERGYRADIATIONSOLAR-ENERGYENTROPYFORCECURRENTTIDEWIND
MENTAL-EVENTANALYZEDETERMINECOMPAREDIFFERENTIATEDECIDEDEFINEEVALUATEIDENTIFYSOLVETESTPHYSICAL-EVENTAPPLY-FORCEBANGBEAR-WEIGHTBITECHEWBREAK-OPENCAPTURECOLLIDECRUSHCUT
COLOR-VALUEBLACKBLUEBROWNCOLORLESSCYANGRAYGREENPINKREDTANVIOLETWHITEYELLOWSHAPECONICALIRREGULARRECTANGULARROUNDSEMISPHERICALSPHERICALTRAPEZOIDALOVAL
OntoSem ontoloģijas augšējie līmeņi
Semantiskais tīmeklis: ontoloģiju apvienošana
Ontoloģijas var apvienot tieši vai caur “same-as”
Tapēc svarīgi lietot standartizētus URI
(namespaces)!
OntoSem
Pizza
Vārdu (leksikas) piemēriALL
PROPERTY OBJECT EVENT LITERAL
sarakstssiltumsskaņdarbsskolēnsskolotājssportistsstāvsstiklsstilsstrādnieksstumbrsaudumsšķidrumsaugstekststērpstēvstīklsauguststrauksuzņēmumsvadītājs
stāvētdziedātmācītspēlētstrādātteiktredzētrunātrakstītplūstsairtražotraudātpazītrautjautātjustkarsētkļūtkristceltceļot
nopietnsbrīvssensgudrspilnīgspareizsgrūtssmalksbagātsdārgsvieglsvajadzīgsparastsīpašsderīgsīstsdrošstuvstālszilsbrūnssauss
Ontoloģija tagotā HTML formātā
Tags palīdz ontoloģiju “uzšķirt” uz vajadzīgo šķirkli
Vārdnīcas formātsdivx("dzert",["dzer","dzer","dzēr","dzer"],['#2-1849-0-1-dzert-lietot','#drink',[intrans,tieš,dicc],'DRINK','Ņemt (šķidrumu) mutē un norīt; lietot pārtikā,uzņemt (šķidrumu) mutē un norīt; lietot pārtikā, uzņemt (šķidrumu vai kopā ar šķidrumu).','lietojuma piemērs']).
divx("ēst",["ēs","ēd","ēd","ēd"],['#2-1901-0-1-ēst-lietot','#eat-meal',[trans,tieš,dicc],'EAT-MEAL','Uzņemt barību; lietot uzturā.','lietojuma piemērs']).
divx("dzimt",["dzim","dzimst","dzim","dzimsti"],['#2-1857-0-1-dzimt-atdalīties','#animal-living-event',[intrans,tieš,dicc],'ANIMAL-LIVING-EVENT','Fizioloģisku procesu rezultātā atdalīties no mātes organisma.','lietojuma piemērs']).
divx("dzirdēt",["dzirdē","dzird","dzirdēj","dzirdi"],['#2-1858-0-1-dzirdēt-uztvert','#involuntary-auditory-event',[intrans,tieš,dicc],'INVOLUNTARY-AUDITORY-EVENT','Uztvert ar dzirdi (skaņas, trokšņus).','lietojuma piemērs']).
Sintakses Apraksta Formāts
lietv_izt([B, ['#Dzimte',X3,[DZ]],['#Skaitlis',X2,[SK]], ['#ApzimetajsIpasiba',X,[A]]],LOC,SK) -->
(term(A,[ip, DZ, SK, LOC, NENOT|_]);{A=['fig','#furl']}), term(B,[lietv, DZ, SK, LOC|_]).
Kontekstbrīva gramatika, papildināta ar morfoloģiskiem atribūtiem
txt2owl (pilnās analīzes) aplikācija
Morfoloģiski-sintaktiskās analīzes rezultāts
gudra māte māca labu stilu mazai meitai
māca
māte stilu meitai
gudra labu mazai
KasSubjekts
KoObjektsKamObjekts
ApzīmētājsĪpašība ApzīmētājsĪpašība ApzīmētājsĪpašība
Teikuma attelošana ontoloģijā
SintaktiskāLoma SemantiskāLoma#ParKoRuna #applies-to#KurVietaLaiks #location#KurVietaLaiks #inside-of#KurVietaLaiks #between-temporal#ZemKaaVieta #under#NoKurienesAvots #source#UzKaaVieta #on-top-of#KoObjekts #theme#KoObjekts #experiencer#PaKoParvietojas #path#ApzimetajsIpasiba #literal-object-attribute#ArKoInstrumentalis #instrument#ArKoInstrumentalis #accompanier#ApzimetajsGenitiva #object-relation#Artikuls #GramArticle#Dzimte #GramGender#Laiks #GramTense#KasSubjekts #agent#Skaitlis #GramCount#UzKurieniMerkis #destination#KamObjekts #experiencer#KamObjekts #beneficiary
[māca, #teach]#Laiks --> [tag, #Present]#KasSubjekts --> [māte, #parent]
#Dzimte --> [siev, #female]#Skaitlis --> [viensk, #Singular]#ApzimetajsIpasiba --> [gudra, #Functional]
#KoObjekts --> [stilu, #artistic-style]#Dzimte --> [vir, #male]#Skaitlis --> [viensk, #Singular]#ApzimetajsIpasiba --> [labu, #Material]
#KamObjekts --> [meitai, #offspring]#Dzimte --> [siev, #female]#Skaitlis --> [viensk, #Singular]#ApzimetajsIpasiba --> [mazai, #Amount]
gudra māte māca labu stilu mazai meitai
ClassProperty
ApzīmētājsĪpašība ApzīmētājsĪpašība ApzīmētājsĪpašība
LiteralObjectAttribute LiteralObjectAttribute LiteralObjectAttribute
KasSubjekts KoObjekts KamObjekts
agent theme experiencer
QualityL parent teach materialL artisticStyle amount offspring
Semantiskās analīzes rezultāts
[māca, #teach]
#Laiks, #GramTense --> [tag, #Present]
#KasSubjekts, #agent --> [māte, #parent]
#Dzimte, #GramGender --> [siev, #female]
#Skaitlis, #GramCount --> [viensk, #Singular]
#ApzimetajsIpasiba, #literal-object-attribute --> [gudra, #Functional]
#KoObjekts, #theme --> [stilu, #artistic-style]
#Dzimte, #GramGender --> [vir, #male]
#Skaitlis, #GramCount --> [viensk, #Singular]
#ApzimetajsIpasiba, #literal-object-attribute --> [labu, #Material]
#KamObjekts, #experiencer --> [meitai, #offspring]
#Dzimte, #GramGender --> [siev, #female]
#Skaitlis, #GramCount --> [viensk, #Singular]
#ApzimetajsIpasiba, #literal-object-attribute --> [mazai, #Amount]
Semantiskās analīzes rezultāts OWL<teach rdf:ID="teach_821">
<agent><parent rdf:ID="parent_769">
<literal-object-attribute><Functional rdf:ID="Functional_478“/>
</literal-object-attribute></parent>
</agent><theme>
<artistic-style rdf:ID="artistic-style_102"><literal-object-attribute>
<Material rdf:ID="Material_853“/></literal-object-attribute>
</artistic-style></theme><experiencer>
<offspring rdf:ID="offspring_817"><literal-object-attribute>
<Amount rdf:ID="Amount_111“/></literal-object-attribute>
</offspring></experiencer>
</teach>
Literatūrahttp://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdfhttp://protege.stanford.edu/plugins/owl/publications/KRMed2004-protege-owl.pdfhttp://www.semti-kamols.lv