SMART Systems (Vorlesung: KI & XPS) Ralf Möller, Univ. of Applied Sciences, FH-Wedel Beim vorigen Mal: Einführung, Grundprobleme, Fokussierung Inhalt heute: Einfache symbolische Repräsentationsansätze Lernziele: Entwicklungsgrundlage von heute vieldiskutierten Repräsentationstechniken kennenlernen Einschätzen der Möglichkeiten und Grenzen Wiederholung: Regelbasiertes Vorgehen Regelbasis (rule base) Regeln konjunktiv verknüpfte Vorbedingungen (auch: Antezedenzen) Nachbedingungen (auch: Konklusionen, Konsequenzen) Vorbedindungen ggf. negierbar (Konklusionen nicht negierbar) Arbeitsspeicher (working memory) Elemente: (<Objekt> <Attribut> <Wert>)-Tripel Regelanwendung (Feuern einer Regel) auf Elemente, die zu Vorbedingungen passen (match) und im Arbeitsspeicher sind oder "gerade" nicht im Arbeitsspeicher sind (bei Negation) Hinzufügung der Nachbedingungen zum Arbeitsspeicher Regelbasiertes Vorgehen: Beispiel Regelmenge … z.B. wenn ein Auto nicht anspringt Regel 1 Wenn(Anlasser Zustand normal) dann (Batterie Zustand OK) Regel 2 Wenn (Batterie Zustand OK) Und (Tankuhr Wert > 0) Und (Benzinfilter Zustand sauber) Dann (Problem Ort Zündanlage) Inferenzkomponente (Anlasser Zustand normal) (Scheibenw. Zustand OK) (Licht Zustand OK) (Tankuhr Wert > 0) (Benzinfilter Zustand sauber) Regel 3 Wenn (Batterie Zustand OK) Und (Tankuhr Wert > 0) Und (nicht (Benzinfilter Zustand sauber)) Dann (Problem Ort Benzinzuleitung) Regel 4 Wenn (nicht (Scheibenw. Zustand OK)) Und (nicht (Licht Zustand OK)) Dann (Defekt Wert Batterie_leer) Arbeitsspeicher (Verteilerdose Zustand OK) (Batterie Zustand OK) Hinzufügung Regel 5 Wenn (nicht Wert Tankuhr > 0) Dann (Defekt Wert Tank_leer) Regel 6 Wenn (Problem Ort Zündanlage) Und (Verteilerdose Zustand OK) Dann (Defekt Wert Zündspule) © Bernd Neumann Regelbasiertes Vorgehen: Probleme Operationale Semantik, Mehrdeutigkeiten Negation nicht wohlverstanden Datenrepräsentation mit Tripeln skaliert nicht für große Anwendungen Betrachtung aller Attribute eines Objekts erschwert Keine Strukturierung der Objekte in Kategorien Wertebereiche von Attributen nicht festlegbar Keine indefiniten Angaben über Werte (siehe ">0" im Diagnosebeispiel) Deduktion vs. Reaktion Deduktion: Nur Hinzufügung von durch Nachbedingungen beschriebene Elemente zum Arbeitspeicher Regelverkettung (vorwärts und rückwärts) Reaktion: Auch Löschen von Elementen des Arbeitspeichers, die durch Nachbedingungen beschrieben werden Zustandsmodellierung Vorwärtsverkettung Kommt später im Kontext von Planungsaufgaben Symbolische Datenrepräsentation (<Objekt> <Attribut> <Wert>)-Tripel gehen auf philosophische Arbeiten zurück Leibniz: ca. 1690 Frege: Begriffsschrift (concept notation), 1879 Anwendungsorientierte Sichtweisen in der KI (ab ca. 1967) Statt Tripelsichtweise auf Daten: Netzwerksichtweise ("Semantische Netze", Quillian, 1967) Objekte sind Knoten, Attribute definieren Kanten Ausgezeichnetes Attribut ISA zur Kategorisierung Problem: Einige Knoten sind Objekte, einige Knoten repräsentieren Kategorien Konventionen: z.B. Objekte mit Nummern und klein Regeln mit Variablen Schema: Wenn (?x ISA Batterie) Dann (?x ISA Elektrisches-Bauteil) Anwendung im Diagnosebeispiel: Wenn (?x ISA Elektrisches-Bauteil) Und (tankuhr-1 Wert >0) Dann (problem-1 Ort ?x) Im Arbeitspeicher: (batterie-1 ISA Batterie) (tankuhr-1 Wert >0) Weitere Arbeiten Bisheriger Fokus: Daten: Objekte (im Sinne von atomaren Symbolen) Neuer Fokus: Kategorien ("Frames", Minsky 1975) Beschreibung von Attributen von Objekten und ihren Wertebereichen Der Wert eines Attributs kann eine Menge von Objekten sein, die durch Frame beschrieben werden Bevorzugte Anwendung: Ereignisbeschreibung (z.B. Restaurantbesuch) Frames (Rahmen) Objekte spielen bei Ereignissen eine best. Rolle Ereignisattribute heißen "Rollen" oder auch "Slots" Beispiel: Agens, Thematisches-Objekt, Instrument, ... "Robbie hit the ball with a bat" Wertebereichsangaben für Slots Vererbungsprinzip: Angaben von "Ober-" bzw. "Unterframes" Idee: Wertebereichsangaben für Slots auf Unterframe(s) übertragen Frame-Systeme: ein Beispiel Define-frame Husband ISA: Person Married-to: Person Hinreichende oder Define-frame Parent nur notwendige Has-child: Person Definitionen? Define-frame ralf-1 ISA: Husband AND Parent Married-to: silvia-1 Has-child: marcus-1 Frame-Systeme: weitere Schwierigkeiten Datenbeschreibung (Frames) und Daten (Objekte) immer noch vermischt Kann ein Objekt zu mehreren Frames in einer ISABeziehung stehen? Kann ein Objekt zu mehreren Frames in einer Oberframe/Unterframe-Beziehung stehen? Sind Frames mit verschiedenen Namen disjunkt? Kann indefinites Wissen repräsentiert werden? ralf-1 ISA Mercedes-Fahrer OR BMW-Fahrer Was ist mit Negation? "ralf-1 ISA Not Rolls-Royce-Fahrer" Ausprägungen ab ca. 1979 (ggf. mehr Möglichkeiten) Erweiterte Entity-Relationship-Modellierung + Relationale Sicht: <Attribut> (<Objekt>, <Wert>) + n-stellige Relationen + Kardinalitätsangaben UML (Unified Modeling Language) + Verhaltensbeschreibung von Objekten XML (eXtensible Markup Language) + Verteilung RDF (Resource Description Framework) + Definition von Beschreibungssprachen XML: eXtensible Markup Language Ursprung: strukturierter Text (HTML4.0 XML SGML) Web-Standard (W3C) zum Datenaustausch: Ein- und Ausgabedaten von Anwendungen können mittels XML beschrieben werden Industrie muß sich nur noch auf standardisierte Beschreibung einigen Komplementärsprache zu HTML: HTML beschreibt die Präsentation XML beschreibt den Inhalt Datenbank-Sichtweise: XML als Datenmodell für semistrukturierte Daten © Steffen Staab Dokumenttyp vs. Dokument XML DTD Dokument Parser Parse-Baum Parse-Baum = Datenstruktur XML-Modell als linearer Text <Bib id=“o1”> <paper id=“o12”> <title> Foundations of Databases </title> <author> <firstname> Serge </firstname> <lastname> Abiteboul </lastname> </author> <year> 1997 </year> <publisher> Addison Wesley </publisher> </paper> ... </Bib> © Steffen Staab XML-Modell als Graph (oder auch Netz) Objektidentifikator als Attribut im Knoten vermerkt Knoten sind markiert Bib paper &o12 author firstname Serge year Abiteboul &o1 &o24 book page 1997 lastname &o29 paper author firstname Victor lastname Vianu Text im Knoten vermerkt first 122 133 last © Steffen Staab Schemata in XML (optional) DTD – Document Type Definitions: Einfache Grammatik für ein XML-Dokument Deklaration von Elementen, Attributen, u.a. Beschränkt die beliebige Verschachtelung von Elementen und Attributen Ist Teil des XML-Standards Erbe von SGML XML-Schema: Komplexere Datendefinitionssprache: Viele standardisierte Basistypen, z.B. float, double, decimal, boolean Typen und typisierte Objektreferenzen Klassenhierarchien / Vererbung Konsistenzbedingungen Standard in Ergänzung zu XML (noch nicht verabschiedet!) Abwärtskompatibel zu DTD © Steffen Staab XML-Schemata I: DTD Eine DTD definiert eine kontextfreie Grammatik für ein XML-Dokument Zuvor beliebige Elemente und Attribute werden auf eine definierte Auswahl und Struktur eingeschränkt <bib> <paper id=“o12”> <title> Foundations of Databases </title> <author> <firstname> Serge </firstname> <lastname> Abiteboul </lastname> </author> <year> 1997 </year> <publisher> Addison Wesley </publisher> </paper> ... XML </bib> <!DOCTYPE bib [ <!ELEMENT bib (paper*)> <!ELEMENT paper (author+, year, publisher?)> <!ATTLIST paper id ID #REQUIRED> <!ELEMENT author (firstname*, lastname)> <!ATTLIST author age CDATA #IMPLIED> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT publisher (#PCDATA)> ... DTD ]> © Steffen Staab DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: <!ELEMENT Name (Definition)> <!DOCTYPE bib [ Einziger atomarer Typ: #PCDATA <!ELEMENT bib (paper*)> (Parsed Character DATA) <!ELEMENT paper (author+, year, publisher?)> <!ATTLIST paper id ID #REQUIRED> (a,b,c): Liste von Unterelementen <!ELEMENT author (firstname*, lastname)> (a|b|c): Alternativen <!ATTLIST author age CDATA #IMPLIED> Kardinalitäten: * keinmal oder beliebig oft + einmal oder beliebig oft ? kein- oder einmal (optional) (ohne Angabe): genau einmal <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT publisher (#PCDATA)> ... ]> EMPTY : Erzwingen von leerem Element DTD © Steffen Staab Syntax ist nicht ausreichend <Bestellung> <Anzahl>500</Anzahl> <Objekt>Schekel</Objekt> ..... </Bestellung> Hintergrundwissen/Kontext: Die israelische Währung ist der Schekel (Mehrzahl: Schekelim), offiziell Neuer Israelischer Schekel (NIS). Er setzt sich aus 100 Agorot (Einzahl: Agora ) zusammen ? © Steffen Staab Hinter XML steckt noch mehr... Moduln/Namensräume XLink, XPoint: Einbetten von Links und Verzweigungen (zum Aufbau von Graphstrukturen) XML-Stylesheets CSS, Cascading Style Sheets (z.B. für HTML) XML-Transformationen (XSLT) Knotentests (mit Prädikaten) XPATH: Adressierung von Elementen im Graph XML-QL: Anfragesprache XML: ein Blick zurück Sind mit XML die Probleme von Frame-Sprachen beseitigt worden? Mengenwertige Attribute UND- oder ODER-Semantik? Anzahlbegrenzung? <!ELEMENT author (firstname*, lastname)> firstname firstname author-1 firstname lastname XML vs. Frame-Systeme + Datenbeschreibung vs. Daten - Kategorien vs. Objekte - Indefinites Wissen Mercedes-Fahrer OR BMW-Fahrer - Negation Not Rolls-Royce-Fahrer" RDF: Resource Description Format Nicht alle Daten symbolisch beschreibar (z.B. AV-Daten) Idee: Beschreibung von "Daten" durch Zusatzangaben (Meta-Daten) Verfügbare "Daten" werden als Ressource aufgafaßt Ressourcen sind durch URI's gekennzeichnet URI: Unified Resource Identifier, Ressourcenbeschreibungen Ressourcen haben Eigenschaften (Properties) Beziehungen zu anderen Ressourcen oder atomare Werte Aussagen über Ressourcen (Statements) "Ressource x hat Eigenschaft y mit Wert z" Kategorien: RDF(S) RDF: Resource Description Format(Schemata) Beschreibung von Kategorien (Klassen) Idee: Festlegung von Ober- und Unterkategoriebeziehungen Damit Maschinen die Bedeutung von Metadaten erfassen können, sind Standard-Schemata nötig PICS (Platform for Internet Content Selection): Schema zur Beurteilung von Internet-Inhalten World Wide Web Consortium: PICS Rating Vocabularies in XML/RDF, W3C NOTE DC (Dublin Core): Schema zur Beschreibung von Inhalten Dublin Core Metadata Initiative. (http://purl.org/dc) Ausdrucksstärke stark eingeschränkt Kategorien: XMLS, XML-Schema Beschreibung einer Menge (Klasse) von "Dokumenten" Kernideen: Spezifikation des Typs von Elementen Spezifikation der Min/Max-Anzahl von Elementen Details: http://www.w3.org/TR/xmlschema-0/ XML-Schema: Typen Typdefinition durch Erweiterung (engl. extension) oder Restriktion (engl. restriction) einer bestehenden Typdefinition Alle Typen in XML-Schema sind entweder Atomare Typen (z.B. string, int) oder Erweiterung bzw. Restriktion bestehender Typen Alle Typen bilden eine Typhierarchie Baum mit Wurzel: Typ Zeichenkette Keine Mehrfachvererbung Typen sind entlang der Typhierarchie abwärtskompatibel: Für Typinstanzen gilt das Substituierbarkeitsprinzip Elemente eines bestimmten Typs akzeptieren auch Daten einer Erweiterung oder Restriktion des geforderten Typs XML-Schema Es soll viel mehr "Semantik in einem Schema eingefangen werden" als mit DTDs Für viele Anwendungen reicht die Modellierungskraft nicht (siehe die Kritik an Frame-Systemen) Was heißt "Semantik in einem Schema einfangen" ? XML-Schema noch kein W3C-Standard Web-Kontext: Viele, meist unbekannte Partner © Rudi Studer RDF(S) und XML-Schema: Probleme Verarbeitung von Informationen an einem Knoten nur möglich, wenn Repräsentationsschema bekannt Verwendung unterschiedlicher Schemata an unterschiedlichen Knoten Leicht: netzwerkweiter Zugriff auf Schemata Hart: Berücksichtigung der Bedeutung der in einem Schema repräsentierten Begriffe bei der Verarbeitung Bedeutung ist relativ zu verstehen! Ontologie Ursprünglich eine philosophische Disziplin zur Untersuchung und Beschreibung der Realität Wissenschaft vom Seienden vgl. Aristoteles „Metaphysik“ In der Informatik wird der Begriff Ontologie häufig folgendermaßen definiert: "An ontology is an explicit, formal specification of a shared conceptualisation." [Gruber 95] Symbolische Art und Weise, eine Welt zu modellieren © Steffen Staab Gemeinsame Konzeptualisierung Verständnis eines Anwendungsbereichs getragen von einer Gruppe von Menschen, z. B. einer Abteilung intensionale Charakterisierung der relevanten Konzepteund Beziehungen eines Anwendungsbereiche Gekennzeichnet wohldefiniertes Vokabular an Lexemen (lexical entries) einheitliches Verständnis welche Begriffe (concepts) und Beziehungen (relations) durch die Lexeme referenziert werden © Steffen Staab Syntax, Semantik, Pragmatik Syntax: Menge von Zeichen (Symbolen, Lexemen), Zeichen tragen Bedeutung für Menschen, nicht für eine Maschine Semantik: Beziehungen zwischen den Zeichen und der realen (oder einer fiktiven) Welt Pragmatik: Welche Zeichen werden zu welchem Zweck wie gebraucht? Semiotisches Dreieck © Steffen Staab Abbildung von Symbolen auf Dinge der Welt © Steffen Staab Gemeinsames Verständnis bei der Kommunikation © Steffen Staab Ontologien Menge von Annahmen, die dazu dienen die Abbildung von Symbolen auf Dinge der Welt weniger mehrdeutig zu machen Kommunikation kann nur stattfinden, wenn bezüglich der Annahmen Konsenz herrscht © Rudi Studer Die Idee des Semantic Web Bei Interpretation (z.B. zur Recherche) von Web-Daten auf Bedeutung Bezug nehmen Nicht nur oberflächennahe, syntaktische Operationen anbieten Zusammenfassung, Kernpunkte Abriß der Historie von Repräsentationssprachen Von Frames und Semantischen Netzen zu XML und RDF Neuerdings: Wildwuchs an Standardisierungsvorschlägen Primär "Vererbung" als Inferenzschema Ausdrucksstärke (z.B. XML/RDF(S)) zu schwach Syntax und Tools im Vordergrund, nicht Semantik Die Idee des Semantic Web Semantik im Vorderung, nicht Syntax oder Präsentation Was kommt beim nächsten Mal? Beschreibungslogiken als Grundlage für formale Repräsentations- und Inferenzsysteme Grundlage von Ontologien