Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdChristiaan Driessen Laatst gewijzigd meer dan 10 jaar geleden
1
Kennis- voorstelling OWLEOLRedeneren met EOL Opdracht 1 Kies een interessant domein. Beantwoord een aantal vragen (30%): –Geef 3-5 voorbeelden van objecten, types en relaties in het domein. –Welk kennisvoorstellingformalisme ga je gebruiken om kennis uit het domein voor te stellen? Waarom? –… Bouw een kennisbank en een (aantal van) redeneermodule(s) (70%)
2
Kennis- voorstelling OWLEOLRedeneren met EOL Kennisvoorstelling en basisredeneren
3
Kennis- voorstelling OWLEOLRedeneren met EOL Vorige keer Wat verwachten we van een representatie- formalisme? Vandaag: twee representatie- formalismen
4
Kennis- voorstelling OWLEOLRedeneren met EOL Vragen van de kennisingenieur (herhaling) Woordenschat –Wat zijn de belangrijke objecten? –Wat zijn de typen en de eigenschappen van deze objecten? –Wat zijn de relaties tussen verschillende objecten? Expliciete kennis –Basisfeiten over de individuele objecten –Algemene feiten over meerdere objecten Impliciete kennis
5
Kennis- voorstelling OWLEOLRedeneren met EOL Vandaag: Web Onthology Language en Eerste orde logica
6
Kennis- voorstelling OWLEOLRedeneren met EOL Huiswerk 0 Andere kennisvoorstellingformalismen! Kies en bespreek één van de volgende: semantic networks, frames and scripts, UML, production rules Wat zijn de sterke en de zwakke kanten?
7
Kennis- voorstelling OWLEOLRedeneren met EOL Representatieformalisme 1: OWL Web Ontology Language
8
Kennis- voorstelling OWLEOLRedeneren met EOL Ontologie? leer van de algemene eigenschappen van de dingen Wiki: een datamodel die een verzameling begrippen binnen een bepaald domein en relaties tussen deze begrippen voorstelt
9
Kennis- voorstelling OWLEOLRedeneren met EOL Is dat een ontologie? A. Ja B. Nee Carolus Linnaeus, “Systema Naturae” (1735)
10
Kennis- voorstelling OWLEOLRedeneren met EOL Internet Meer en meer semantische aspecten komen aan bod…
11
Kennis- voorstelling OWLEOLRedeneren met EOL OWL is de standaardmanier om Internet-kennis voor te stellen
12
Kennis- voorstelling OWLEOLRedeneren met EOL Internet kennisvoorstelling Toepassingen Implementatie OWLLogica RDF schema Nomina (Individuen) Basisontologie RDF en RDF/XMLRelaties XML en XMLS datatypesSyntaxis URI en naamruimtesVerwijzingen en symbolen
13
Kennis- voorstelling OWLEOLRedeneren met EOL Internet kennisvoorstelling Toepassingen OWL RDF schema Nomina (Individuen) RDF en RDF/XML XML en XMLS datatypes URI en naamruimtes Ontologieën Basis
14
Kennis- voorstelling OWLEOLRedeneren met EOL URI URI – unieke naam: –URI naam schema:schemaspecifiek deel http://www.google.com/ –hetzelfde + fragment http://www.win.tue.nl/~aserebre/2IF03/#md –een relatief URI (met of zonder fragment) #md op http://www.win.tue.nl/~aserebre/2IF03/ is identiek met de vorigehttp://www.win.tue.nl/~aserebre/2IF03/
15
Kennis- voorstelling OWLEOLRedeneren met EOL Huiswerk 1 XPath is een andere manier om naar delen van een XML document te verwijzen. Schrijf een rapportje over XPath. –Begin hier: http://www.w3.org/TR/xpathhttp://www.w3.org/TR/xpath –Kijk ook naar een paper van Maarten Marx.een paper van Maarten Marx Hoe zou je XPath gebruiken bij het bouwen van een kennissysteem?
16
Kennis- voorstelling OWLEOLRedeneren met EOL Naamruimtes Kortschrift die aangeeft dat namen tov een URI worden begrepen: xmlns l=“http://limburg.nl/”xmlns nh=“http://noord-holland.nl/”
17
Kennis- voorstelling OWLEOLRedeneren met EOL XML – eXtensible Markup Language - Belgische Wafels 5.00 € 650 - Wentelteefjes 4.50 € 600 Inhoud Declaratie Element
18
Kennis- voorstelling OWLEOLRedeneren met EOL XML is een veralgemening van HTML A.Ja B.Nee XML en XMLS datatypes URI en naamruimtes
19
Kennis- voorstelling OWLEOLRedeneren met EOL XMLS – XML schema –XMLS levert concrete datatypes Ingebouwde types: –xsd:int, xsd:date, xsd:string, xsd:boolean, … Manieren om nieuwe types aan te maken: XMLS Datatypes
20
Kennis- voorstelling OWLEOLRedeneren met EOL RDF drietal – RDF – Resource Description Framework http://www.literature.org/plays/RomeoAndJuliet http://www.literature.org/authors/Shakespeare http://www.literature.org/relations/author 1597 http://www.literature.org/relations/first_published
21
Kennis- voorstelling OWLEOLRedeneren met EOL Relaties in RDF zijn unair of binair!
22
Kennis- voorstelling OWLEOLRedeneren met EOL 1597 http://www.literature.org/authors/Shakespeare … RDF/XML– XML voorstelling van RDF
23
Kennis- voorstelling OWLEOLRedeneren met EOL RDF/XML– Lidmaatschap Kortschrift …xmlns:plays = “http://www.literature.org/plays/tragedy/” …
24
Kennis- voorstelling OWLEOLRedeneren met EOL RDF/XML– Nieuwe resources
25
Kennis- voorstelling OWLEOLRedeneren met EOL Welke deel van de kennis kan uitgedrukt worden met behulp van RDF? A.Algemene feiten over meerdere objecten B.Basisfeiten over de individuele objecten RDF en RDF/XML XML en XMLS datatypes URI en naamruimtes
26
Kennis- voorstelling OWLEOLRedeneren met EOL Klassen Eigenschappen = Binaire relaties RDFS – RDF Schema – Klassen en Eigenschappen
27
Kennis- voorstelling OWLEOLRedeneren met EOL Klassen: Vrachtwagen v Motorvoertuig – Eigenschappen: IsVaderVan v IsVoorouderVan – Eigenschappen en klassen: – RDFS – RDF Schema – v
28
Kennis- voorstelling OWLEOLRedeneren met EOL Dan A.het bereik van EigenschapE komt overeen met het bereik van EigenschapF. B.het domein van EigenschapE komt overeen met het domein van EigenschapF. C.A en B zijn waar. D.nog A nog B is waar. RDF schema RDF en RDF/XML XML en XMLS datatypes URI en naamruimtes
29
Kennis- voorstelling OWLEOLRedeneren met EOL Jan, Piet, Joris en Corneel OWLVoorbeeld Objectenrdf:Description Typenrdfs:Class Relatiesrdf:Property Basisfeitenrdf:Description
30
Kennis- voorstelling OWLEOLRedeneren met EOL OWL –vroegere versies, opmerkingen, … Stellingen over klassen, eigenschappen, …
31
Kennis- voorstelling OWLEOLRedeneren met EOL rdf:Class wordt vervangen door owl:Class – –owl:equivalentClass, owl:disjointWith, … rdf:Property –wordt vervangen door o.a. owl:ObjectProperty en owl:DatatypeProperty –owl:FunctionalProperty, owl:inverseOf, … OWL
32
Kennis- voorstelling OWLEOLRedeneren met EOL Vervangt OWL – Klassen
33
Kennis- voorstelling OWLEOLRedeneren met EOL OWL – Jan, Piet, Joris en Corneel
34
Kennis- voorstelling OWLEOLRedeneren met EOL OWL – Eigenschappen
35
Kennis- voorstelling OWLEOLRedeneren met EOL 1 OWL – Klassen en Eigenschappen
36
Kennis- voorstelling OWLEOLRedeneren met EOL Afhankelijk van de gebruikte elementen: OWL – talen LiteDLFull Meer – later.
37
Kennis- voorstelling OWLEOLRedeneren met EOL Welke stelling is juist? A.owl:maxCardinality kan uitgedrukt worden in eerste orde logica met =. B.rdf:resource="&owl;Sy mmetricProperty“ kan niet uitgedrukt worden in eerste orde logica met =. OWL-talen (Lite/DL/Full) RDF schema RDF en RDF/XML XML en XMLS datatypes URI en naamruimtes
38
Kennis- voorstelling OWLEOLRedeneren met EOL OWL talen zijn subtalen van de eerste orde logica
39
Kennis- voorstelling OWLEOLRedeneren met EOL Representatieformalisme 2: Eerste orde logica
40
Kennis- voorstelling OWLEOLRedeneren met EOL Objecten Typen Relaties Constanten Predikaten Hoe gaan we het in logica vertalen?
41
Kennis- voorstelling OWLEOLRedeneren met EOL Jan, Piet, Joris en Corneel CategorieënLogicaVoorbeeld ObjectenConstantenJan, Piet, Joris Types Eigenschappen Predikaten met één argument man(x) heeft_baard(x) RelatiesPredikaten met meerdere argumenten heeft(x,y) BasisfeitenAtomenman(Jan) heeft(Jan,baard) Algemene feiten Formules x (meevaarder(x) (man(x) heeft(x,baard))
42
Kennis- voorstelling OWLEOLRedeneren met EOL Samenvatting man(Jan). man(Piet). man(Joris). man(Corneel). heeft(Jan,baard ). heeft(Piet,baard). heeft(Joris,baard). heeft(Corneel,baard). meevaarder(Jan). meevaarder(Piet). meevaarder(Joris). meevaarder(Corneel). Impliciete kennis “die hebben baarden” “zij varen mee” meevaarder(x) man(x) meevaarder(x) heeft(x,baard) “al die willen …”
43
Kennis- voorstelling OWLEOLRedeneren met EOL
44
Kennis- voorstelling OWLEOLRedeneren met EOL Samenvatting man(Jan). man(Piet). man(Joris). man(Corneel). heeft(Jan,baard ). heeft(Piet,baard). heeft(Joris,baard). heeft(Corneel,baard). meevaarder(Jan). meevaarder(Piet). meevaarder(Joris). meevaarder(Corneel). meevaarder(x) man(x) meevaarder(x) heeft(x,baard)
45
Kennis- voorstelling OWLEOLRedeneren met EOL Feiten en regels Feiten –Gaan meestal over individuele objecten en eigenschappen “Jan is een man” Regels –Gaan meestal over types en relaties “Ieder meevaarder is een man”
46
Kennis- voorstelling OWLEOLRedeneren met EOL Structuur van de lessen Inleiding Voorstellen GebruikenVerwerven Redeneren OWL EOLLP BasisUitbreidingen van OWL
47
Kennis- voorstelling OWLEOLRedeneren met EOL Redeneren Verkrijgen van de nieuwe kennis vanuit de bestaande
48
Kennis- voorstelling OWLEOLRedeneren met EOL Logisch redeneren: ² en ` ² volgt (semantic entailment) – ² als zodra de formules van waar zijn, is ook waar. –{x >1, x < 4, x2 N } ² x is een priemgetal ` bewijsbaar – ` : er is een (mechanische) procedure die kan bewijzen als gegeven is –Bewijsprocedure: zeg “bewezen” voor ieder en
49
Kennis- voorstelling OWLEOLRedeneren met EOL ² en ` Voor de meeste systemen –Als ` dan ² –Controleren of ² vereist na te gaan alle situaties dat waar is Er zijn soms oneindig veel! –Daarom controleer of ` Voor logisch programmeren: –. ` dan en slechts dan als ²
50
Kennis- voorstelling OWLEOLRedeneren met EOL Twee voorbeelden van ` Top Down a.k.a. Backward chaining Bottom Up a.k.a. Forward chaining Bestaande kennis: feiten en regels Nieuwe kennis
51
Kennis- voorstelling OWLEOLRedeneren met EOL ` 22 µµ nee ja nee `` ja Bottom up
52
Kennis- voorstelling OWLEOLRedeneren met EOL ` Hoe komen we van naar ? 1.Begin met de . 2.Gebruik een regel waarvan zijn lichaam deel uitmaakt van de beschikbare kennis. 3.Voeg het hoofd van deze regel toe aan 4.Ga terug naar stap 2. meevaarder(Jan). meevaarder(x) man(x) meevaarder(x) heeft(x,baard) 1. meevaarder(Jan). 2.Iteratie 1. Regel: meevaarder(x) heeft(x,baard). meevaarder(Jan), dus voeg heeft(Jan,baard) toe aan . Regel: meevaarder(x) man(x). meevaarder(Jan), dus voeg man(Jan) toe aan 3.{heeft(Jan,baard), man(Jan)} µ {meevaarder(Jan) } ? Nee! 4.Iteratie 2. Regel: meevaarder(x) heeft(x,baard). meevaarder(Jan), dus voeg heeft(Jan,baard) toe aan . Regel: meevaarder(x) man(x). meevaarder(Jan), dus voeg man(Jan) toe aan 5.{heeft(Jan,baard), man(Jan)} µ {meevaarder(Jan), heeft(Jan,baard), man(Jan)}? Ja! 6.heeft(Jan,baard) 2 {heeft(Jan,baard), man(Jan)}? Ja! 7.Dus {meevaarder(Jan) } ` heeft(Jan,baard) {meevaarder(Jan) } ` heeft(Jan,baard)?
53
Kennis- voorstelling OWLEOLRedeneren met EOL Top-down 1.Begin met de te verkrijgen kennis (doel). 2.Gebruik een regel waarvan zijn hoofd deel uitmaakt van de te verkrijgen kennis. 3.Voeg het lichaam van deze regel toe en ga naar stap 2. meevaarder(Jan). meevaarder(Piet). meevaarder(x) man(x) meevaarder(x) heeft(x,baard) 1.Doel: heeft(Piet,baard). 2.Regel: meevaarder(x) heeft(x,baard). heeft(x,baard) maakt deel uit van het doel voor x = Piet dus voeg meevaarder(Piet) toe. 3.meevaarder(Piet) dus stop. heeft(Piet,baard) meevaarder(Piet) meevaarder(x) heeft(x,baard) meevaarder(Piet)
54
Kennis- voorstelling OWLEOLRedeneren met EOL Groep A: Bottom-up. Hoeveel iteraties hebben jullie nodig om te bewijzen dat Victor vliegt? Groep B: Top-down Hoeveel stappen hebben jullie nodig om tot te komen vanuit vliegt(victor)? x.(vogel(x) vliegt(x)). vogel(victor)
55
Kennis- voorstelling OWLEOLRedeneren met EOL vliegt(victor) vogel(victor) vliegt(X) :- vogel(X). vogel(victor). 1. vogel(victor). 2. Regel: vogel(x) vliegt(x). vogel(victor), dus voeg vliegt(victor) toe. 3.Nieuwe kennis is dus: vliegt(victor).
56
Kennis- voorstelling OWLEOLRedeneren met EOL Bottom-up vs. Top-down Top-down –Doelgericht, efficient –Weinig mogelijke conclusies zijn relevant Bottom-up –Weinig basiskennis is nodig –Veel mogelijke conclusies zijn relevant Aantal stappen is gelijk!
57
Kennis- voorstelling OWLEOLRedeneren met EOL Top-down: Meerdere regels van toepassing? vliegt(x) :- vogel(x). vliegt(x) :- vliegtuig(x). vliegt(x) :- vlinder(x). vliegt(x) :- varken(x). vliegt(victor) vogel(victor)varken(victor)vlinder(victor)vliegtuig(victor)
58
Kennis- voorstelling OWLEOLRedeneren met EOL Ter herinnering: breedte eerst of diepte eerst? Breedte eerst –De goede oplossingen liggen niet te diep –Geheugen is geen probleem Diepte eerst –Efficiënter qua geheugengebruik –Maar wat als we de verkeerde pad kiezen?
59
Kennis- voorstelling OWLEOLRedeneren met EOL Huiswerk 2 Kunnen we niet beter doen dan breedte eerst of diepte eerst? –Ja, als we meer weten over onze boom… Schrijf een rapportje over de heuristische zoekalgoritmen. –Wat is een heuristisch zoekalgoritme? –Wat zijn de aannames om die toe te passen? –Hoe kunnen we dat op de SLD-bomen toepassen? Sleutelwoorden: informed search, heuristic search, iterative diepening, A*, Hill Climbing Vervolgvak: 2IN40 - Heuristic search2IN40 - Heuristic search
60
Kennis- voorstelling OWLEOLRedeneren met EOL Wat hebben we vandaag gedaan? Kennisvoorstelling –OWL (XML, RDF, RDFS, OWL) –Eerste-orde logica Basisredeneren –Top-down of bottom-up –Breedte eerst of diepte eerst Toepassingen OWL RDF schema Nomina RDF en RDF/XML XML en XMLS datatypes URI en naamruimtes Top Down a.k.a. Backward chaining Bottom Up a.k.a. Forward chaining Bestaande kennis: feiten en regels Nieuw e kennis
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.