De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Kennis- voorstelling OWLEOLRedeneren met EOL Opdracht 1 Kies een interessant domein. Beantwoord een aantal vragen (30%): –Geef 3-5 voorbeelden van objecten,

Verwante presentaties


Presentatie over: "Kennis- voorstelling OWLEOLRedeneren met EOL Opdracht 1 Kies een interessant domein. Beantwoord een aantal vragen (30%): –Geef 3-5 voorbeelden van objecten,"— Transcript van de presentatie:

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 –hetzelfde + fragment –een relatief URI (met of zonder fragment) #md op 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: –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 € 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

21 Kennis- voorstelling OWLEOLRedeneren met EOL Relaties in RDF zijn unair of binair!

22 Kennis- voorstelling OWLEOLRedeneren met EOL … 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  `    22 µµ 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


Download ppt "Kennis- voorstelling OWLEOLRedeneren met EOL Opdracht 1 Kies een interessant domein. Beantwoord een aantal vragen (30%): –Geef 3-5 voorbeelden van objecten,"

Verwante presentaties


Ads door Google