Websemantik
Knowledge Engineering
Knowledge Engineering
-
- 1 / 24
-
Flashcards
Knowledge Engineering (KE) - Abdeckung
- Wissenaquisition: Erfassen u. Strukturieren von implizitem und explizitem Wissen; „Flaschenhals des KE“
- Formalisierung: Computerverarbeitbare Modellierung u. Repräsentation des Wissens; Überbrückung der „KI-Lücke“
- Wissenverarbeitung zur Problemlösung: zB. mit Inferenzmechanismen (Reasonern) od. Expertensytemen
- Wissendarstellung (Visualisierung)
KE - Phase 1: Problembeschreibung
Identifikation der Aufgabe: Festlegen der Domäne, des Bereichs, Eruierung der Experten
Problembeschreibung u. Anforderungsanalyse: Herkömmliches SE Requirements Engineering problematisch f. KE - Anforderungen schwer analysierbar
keine Vorgehensmodelle in KE vorhanden
in wissensintensiven Problemdomänen für Anwender unklar, was sie vom Softwaresystem erwarten können
Anwendungsbeispiel:
Problembeschreibung
Anwendung zum Bestimmen von passenden Komibinationen von Wein und Essen.
Kompetenzfragen "Wine & Food"
Welche Weineigenschaften soll man bei Auswahl berücksichtigen?
Welcher Wein ist rot/weiß?
Welcher Wein passt zu Fleisch/Meerenfrüchten?
usw..
KE - Phase 2: Wissenserwerb
Sammeln von Wissen:
- direkt (Experte betreibt Wissenserwerb) oder indirekt (Knowledge Engineer nutz dieverse KM-Methoden zur Wissenteilung u. Wissensentwicklung)
- Automatisiert (maschinelles Lernen)
- Modellbasiert (KW Modelle)
- Dokumentation!
Wissenserwerb ist der Flaschenhals von KE! Entscheidend für Erfolg des Systems!
Anwendungsbeispiel:
- Brainstorming
- Begriffe u. Eigenschaften
- Simple Auflistung ohne Beziehungen, Arten, Eigenschaften
KE - Phase 3: Konzeptualisierung
Festlegen des Vokabulars (Ontologie):
- Transfer von Wissen von kognitiver Ebene auf Repräsentationsebene
- Einheitliche Darstellung des Wissens (besser Verwaltbarkeit)
- Ontology Engineering (erste Formalisierung /konzeptualisierung)
Anwendungsbeispiel:
Definition der Klassen u. deren Hierachie (Taxonomie)
KE - Phase 4: Formalisierung
Axiome (Vererbungshierarchie, Disjunktheit) und Instanzen
Wissenformalisierung (2. Formalisierung, Encoding)
Überarbeiten des Vokabulars
Auswahl eines geeigneten Repräsentationsformalismus in Hinsicht auf Syntax, Semantik u. Schlussfolgerungsmöglichkeiten des Wissens
Constraints: Kardinalitäten, Transivität, Symetrie
Anwendungsbeispiel:
- Definieren der Beziehungen/Eigenschaften (Slots) u. ihrer erlaubten Werte (Facets)
- Konkretisierunge der Konzepte
Festlegen von Bedingungen/Einschränkungen
KE - Phase 5: Evaluierung
Infererenzprozedur - Evaluierung und Test
- Validierung des erworbenen Wissens (Vollständig u. Zuverlässigkeit)
- Bei Bedarf Iteration (Schritt 2 Wissenserwerb)
Anwendungsbeispiel:
Formalisierung des Vokabulars
- Reasoning-Mechanismus zur Konsistenzprüfung
- Beantwortung der Kompentenzfragen
Resource Description Framework (RDF) : Definition
Graphische Sprache zur Repräsentation von Information über Ressourcen
Basis Ontologiesprache
Beschreibung von Ressourcen in Form von RDF-Anweisungen durch properties und property values
RDF-Anweisung = SPO-Tripel
resource-property-propertyvalue
zB. Kasperl - hat Freund - Petzi
Menge an RDF-Tripel --> RDF-Graph
Eindeutige Identifizierung von Resourcen via URIRefs
URI=Unique Resource Identifiers#Fragment Identifier (optional)
zB. http://ww.kasper.theater/figuren#petzi
RDF - Serialisierung
mittels XML, zwei Varianten.
1. Subjekte mit rdf:ID
2. Subjekte mit rdf:About
RDF - Konzepte
RDF - Konzepte:
- rdf:Resource
- rdf:Property
- rdf:Statement
Benötigt definiertes Vokabular zum Austausch!
RDF - Aussagen
als gerichteter Graph darstellbar
Identifikation über URIrefs
Verkettung der Aussagen möglich
Ressourcen ohne URI
Zusammenfassung von Ressourcen als Menge od. Liste (Container)
Verschachtelung der Aussagen möglich
Subjekt (Domäne): URI, blank node
Prädikat: URI
Objekt (Bereich - range) URI, blank node, Literal
Web Ontology Langeuge (OWL)
Ontologiesprache (fürs Web)
Entwicklung durch W3C
Formalismus für Design und Verbreitung von Ontologien
Beeinflußt von RDF, Beschreibungslogik, Framekonzepten
Sprache zur Ontologiebeschreibung und Schlussfolgerung in Ontologien -> Strukturierung und Verknüpfung von Information
- Welche Dinge gibt es?
- Wie stehen diese Dinge zu einander?
Festlegen der Aussagefähigkeit von Ontologien
Darstellung in RDF/XML Syntax und in Beschreibungslogik möglich
Vergleich Schemasprache mit DB: openWorld vs. closedWorld
Drei DIALEKTE:
- OWL-Full
- OWL-DL: eingeschränkt
- OWL-LITE: vereinfachte Verson von OWL-DL
Ontologien in OWL : 1
Ontologien beschreiben Weltausschnitt
- Welche Dinge (klassen, Individuen(Concepts)) gibt es?
- Wie stehen diese in Verbindung?
- Welche Charakteristika haben die Dinge und ihre Beziehungen?
- Eigenschaften/Beziehungen: Slots, properties
- Beschränkungen (restrictions)
Ontologien in OWL: Klassen
Arten:
benannt, Durchschnitt, Vereinigung, Komplementär, Aufzählungen, Beschränkungen
Ontologien in OWL: Beschränkungen
1. restrictions Existenzquantor (someValuesFrom, die zumindest zumindest ein Stofftier haben)
2. restrictions Allquantor (allValuesFrom, nur Stofftiere oder gar keine Freunde haben)
3. Kombination auch möglich zB.:
hatFreund someValues from Stofftier VEREINIGT hatFreund allValues from Stofftier
Einschränkung, dass Figuren Freunde haben (mindestens einen) UND das jeder dieser Freunde ein Stofftier sein muss
4. restrictions (Kardinalität): <= max, >= min, = genau..
5. restrictions (Wertzuweisung, hasValue): Individuen die (unter anderem) Stofftier Petzi als Freund haben
Ontologien in OWL: Klassen
1. Primitive Klassen vs. definierte Klassen (siehe Grafik)
primitiv: notwendige Bedingungen, partielle Klasse
definierte: notwendige und ausreichende Bedingungen, vollstände Klasse
2. Eigenschaften (properties):
- Objekteigenschaften (Beziehungen zwischen Klassen)
- Datentyp-Eigenschaften (integer,string)
- Zuweisung von Domäne und Bereich (range) -> Beschränkung
3. Eigenschaftsausprägungen (property characteristics)
- funktional: genau ein Wert möglich
- Invers funktional: inverse Eigenschaft ist funktional
- symmetrisch: A->B => B->A
- transitiv A-> B,B -> => A->C
3. Eigenschaftsbeschränkungen (property restrictions):
- Quantoren (existenz, all)
- Kardinalität
- Wertzuweisung (hasvalue)
Arten von Klassen
- benannt: Rotwein, Weisswein, Roséwein,..
- Durchschnitt: Burgunder mit Weisswein = Weisser Burgunder
- Vereinigung: Wien = Rotwein + Weisswein + Roséwein
- Komplementär: Rotwein = Wein + !Weisswein + !Rosewein
- Anonym
- Aufzählungen: rot, weis, rose
- Primitive u. definierte Klassen
Zusammenfassung OWL RDF
OWL - mächtige Sprache zur Beschreibung von Konzepten und ihren Beziehungen
Festlegung von Beschränkungen durch Eigenschaften und deren Ausprägungen
Baut auf RDF auf
OWL ist sichtiger Baustein fürs Semantic Web
OWL ist Vokabular-Erweiterung von RDF
OWL-Ontologien sind RDF Graphen
XML/RDF Syntax:
- OWL-Dokument = RDF-Dokument
- RDF-Dokument=OWL Full Dokument (nicht zwingend OWL-Lite od. OWL DL)
OWL vs. RDF-S
1. Angabe von Kardinalitäten (zB. Student hat genau ein Matrikelnr)
2. Bestimmen disjunkter oder äquivalenter Klassen
- Rotwein <> Weißwein
- rotwein == vin rouge == redwine --> ermöglicht Mapping/Import unterschiedlicher Ontologien.
3. Spezielle Ausprägung von Eigenschaften, zB Transitivität, Symmetrie (siehe Grafik)
SPARQL Protocoll And RDF Query Language (SPARQL)
RDF als Standard-Beschreibungsformat von Daten im Semantic Web
graphbasierte Abfragesprache (SQL-ähnlich)
Zugriffsprotokoll
XML Format von Abfrageergebnissen
KEINE Manipulationssprache!
Quellen:
XML-Quellen (RDF, XHTML, XML)
Verwendet Tripel - Muster zum Datenabgleich
SPARQL - Syntax
BASE&PREFIX: URI
SELECT/ASK/DESCRIBE/CONSTRUCT
FROM
WHERE { ?subject ?predicate ? object}
optional
FILTER: regex
OPTIONAL
UNION
LIMIT & OFFSET: Ausschnitt der Ergebnismenge
Einschränkungen:
- KEINE verschachtelung
- KEINE Aggregatsfunktion
- KEINE Gruppierung
- KEINE rekursiven Abfragen
Ergebnisformat:
XML
- Wurzelelement "sparql"
- "head"
- "results"
SPARQL als Zugriffsprotokoll
Protokoll zur Übertragung von SPARQL Abfragen an SPARQL-Service u. Rücklieferung der Ergebnisse
Verwendet WSDL 2.0
- Interface: Sparqlquery
- Operation:Query
HTTP/SOAP Binding
SPARQL - Zusammenfassung
1. Abfragesprache: Abfragen/Erzeugen v. RDF-Graphen
2. Ergebnisprotokoll: XML-Format f. Ergebnisse
3. Zugriffsprotokoll: Schnittstellendef. f. SPARQL Service