Post on 05-Apr-2015
Semantische Suche mit Technologien des Semantic Web
Projektgruppe Location-based Services for Wireless DevicesWS 2004/05Jan Hoffmann
AG Kao
Betriebssysteme und Verteilte SystemeInstitut für InformatikUniversität Paderborn
PG LBS: Semantische Suche 228.10.2003
Überblick
• Agenda, Einleitung
• Semantic Web – Vision• Technologien des SW• Existierende Lösungen• Zusammenhang zu Web Service Technologien
• Bedarf für semantische Suchen im Rahmen der PG• Empfehlung für PG-Verwendung
PG LBS: Semantische Suche 328.10.2003
Vision
• Entwickelt von Tim Berners-Lee Director des World Wide Web Consortiums „Erfand“ schon das WWW am CERN
• Beschrieben in „Weaving the Web“, 1997
• Umfasst Technologien wie XML, RDF oder Ontologien
• Soll maschinelles „Verstehen“ von Inhalten ermöglichen Darauf aufbauend: einfache logische „Folgerungen“ Basis für intelligentere Dienste
PG LBS: Semantische Suche 428.10.2003
Problem• Informationen im WWW zurzeit „schlecht“ auffindbar:
Markup von Dokumenten erfüllt Doppelfunktion: Prozedual:
Semantische Auszeichnung von Elementen z.B. HTML-Tags <em>, <h1>
Deskriptiv: Formatierung von Elementen z.B. HTML-Tags <i>, <b>, <font>
• Derzeitige Suchen basieren auf Teilstring- oder Pattern-Matching-Algorithmen: Unscharf Falsche Bedeutung gefundener Treffer (vgl. „Bank“ vs
„Bank“)
PG LBS: Semantische Suche 528.10.2003
Markup - Beispiel[http://www.verivox.de/Home/Webmaster/Fixed/Schnellabfrage.asp]
<form action="http://www.verivox.de/Fixed/output.asp" target="_blank" id=form2 name=form2> <table BORDER="0" CELLSPACING="0" CELLPADDING="1" bgcolor="888888"> <tr><td> <table w idth="100%" BORDER="0" CELLSPACING="0" CELLPADDING="5" bgcolor="888888"> <tr bgcolor="eeeeee"> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><b>von:</b></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><input type="text" size="6" name="Location" value="030"></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><b>nach:</b></font></td> <td colspan="3"><font face="arial,verdana,helvetica" size="-1" color="000000"><input type="text" size="6" name="Destination" value="040"></font></td> </tr><tr bgcolor="eeeeee"> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><b>am:</b></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><input type="text" size="6" name="Date" value="01.12.04"></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><b>um:</b></font></td>
<td><font face="arial,verdana,helvetica" size="-1" color="000000"><input type="text" size="6" name="Time" value="19:18"></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><b>Dauer:</b></font></td> <td><font face="arial,verdana,helvetica" size="-1" color="000000"><input type="text" size="6" name="Duration" value="00:03:00"></font></td> </tr><tr bgcolor="eeeeee"> <td colspan="4"><font face="arial,verdana,helvetica" size="-1" color="000000"><br><b>Tarife:</b> <select name="Tariffs" size="1"> <option value="1">Call-by-Call (ohne Anmeldung) <option value="2">Alle Call-by-Call <option value="3">Alle Tarife </select> </font></td> <td
colspan="2" align="right"><font face="arial,verdana,helvetica" size="-1" color="000000"> <br><br><center><input type="image" src="http://www.verivox.de/I/anzeigen.gif" name="suchen" id="suchen" value="OK" border="0"></center> </font> </td></tr></table> </td></tr></table> </form>
• Relevante Informationen: Service-Location Übergabeparameter (grober) Typ
• Nicht relevant: Farbe, Schriftart Gestaltung als Tabelle Button-Bild …
PG LBS: Semantische Suche 628.10.2003
Problemlösung (1)
• Überwindung dieser Probleme durch: Hochwertigere Auszeichnung von Inhalten und Services,
z.B.: Trennung von Semantik und Darstellung Anreicherung der Darstellung durch Semantik
Definitionen von allgemeinen Konzepten: Standards, z.B. in einer bestimmten Branche Beziehungen zwischen diesen Konzepten Analogien zwischen gleichartigen Konzepten
Vermeidung von Mehrfachbedeutungen: Konzepte eindeutig referenzieren Namensräume deklarieren
PG LBS: Semantische Suche 728.10.2003
Problemlösung (2)
• Maschinelle Verarbeitung ermöglichen: Einheitliche Syntax:
Erlaubt Verwendung allgemeiner Parser Bestenfalls auch durch Menschen les-/editierbar
Formelle und prüfbare Definitionen von Konzepten und Beziehungen
Hier gibt es bereits weit verbreitete Technologien
PG LBS: Semantische Suche 828.10.2003
Technologien – Überblick
Uniform Resource Identifier
XML / XML Schema
Unicode
RDF / RDF Schema
Ontologien (OWL)
Logik
Beweise
Vertrauen
• Semantic Web Pyramid of Languages [Quelle: iX Special 1/04, S.129]
PG LBS: Semantische Suche 928.10.2003
XML (1)
• eXtensible Markup Language Erweiterbar: Metasprache zur Definition von
Markupsprachen Anwendungsgebiete:
Dokumente: z.B. XHTML, MathML, LMML Grafik: z.B. SVG Konfiguration: z.B. Apache Tomcat / Cocoon Kommunikation: z.B. BizTalk, SOAP
XML-Dokumente können wohlgeformt sein: z.B. Korrektes Schließen von Tags (z.B. <p><ex /></p>) Korrekte Verwendung der XML-Syntax
XML-Dokumente können gültig sein: bzgl. einer bestimmten Definition (Schema, DTD, …) Korrekte Verwendung einer bestimmten Markupsprache
PG LBS: Semantische Suche 1028.10.2003
XML (2)• Definition der Markupsprachen:
Document Type Definition (DTD): Älterer Standard, weit verbreitet, intuitiv
XML Schema: Vorteil: Schema ist selbst XML einfache Validierung Erlaubt auch Datentypen, Objektorientierung Hoher Toolsupport
Relax NG Alternative zu Schemata, auch in XML Vorteile: einfache Kurznotation möglich
• Rolle im Semantic Web: XML: Definiert Syntax XML Schema: Definiert Struktur und evtl. Namespace Bis jetzt noch keine Semantik!
PG LBS: Semantische Suche 1128.10.2003
RDF (1)• Sprach[-Framework], um Dokumente auszuzeichnen
Erste Stufe der semantischen Anreicherung Verschiedene Darstellungsmethoden, in XML serialisierbar Kann Resourcen auszeichnen:
z.B. bei Bildern oder Binärformaten die ganze Datei Konzepte, z.B. Person, Auftrag „Anything that has idendity“
Dient somit der Repräsentation von Wissen
• Konzept: RDF beschreibt Zusammenhänge als Tripel: Subject: die zu beschreibende Resource Predicate: eine Relation zwischen Subject und Object Object: eine andere Resource oder ein Literal
PG LBS: Semantische Suche 1228.10.2003
RDF (2)
SubjectObject
LiteralPredicate
Predicate
#Lynne#Mike
33#age
#knows
• Wichtig: Eindeutige Bezeichnung der Konzepte/Resourcen
• Dafür URI verwenden: www.domain.org/ns/#concept
• Standardverzeichnisse für Konzepte verfügbar: Z.B. Dublin Core
PG LBS: Semantische Suche 1328.10.2003
RDF (3)• Vorteil: Eindeutige Auszeichnung von Dokumenten
Beispiel: Autor kann als solcher erkannt und von Herausgeber unterschieden werden zz. nicht möglich (Name ist String)
• Probleme: Verschiedene Darstellungsformen:
XML/RDF umständlich zu formulieren Andere einfachere Formate besser für Triples geeignet
(n3) Kaum Tools/Suchen, die Metadaten nutzen Daher keine weite Verbreitung
• Existierendes Beispiel: „Friend of a Friend“ http://www.foaf-project.org/
PG LBS: Semantische Suche 1428.10.2003
Ontologien
• Was sind Ontologien? „Formal definiertes System von Dingen“ „specification of a conceptualization“ Hier: Strukturen über Resourcen und Relationen (vgl.
RDF) Verknüpft Konzepte / Resourcen
• Klassen von Ontologien: Taxonomie: Hierarchische Gliederung von Konzepten
(z.B. A ist Untertyp von B) Therasaurus: Definiert z.B. Gleichheit von Konzepten
(z.B. Preis vs. Price)
PG LBS: Semantische Suche 1528.10.2003
OWL
• Web Ontology Language des W3C: Ontologie-Sprache, speziell für Benutzung im Web Seit 10.2.2004 Recommendation (≈ Standard!) Baut auf RDF und URIs (Naming) auf
• Ontologien in OWL erlauben logische Inferenzen: Klassisches Wein / Rotwein - Beispiel
Rotwein wird als Subtyp von Wein definiert Händler mit Rotwein-Webangebot kann als Weinhändler
identifiziert werden. Können auch Regeln / Constraints enthalten:
Z.B. bei Währungsumrechnung Z.B. für Relationen (bei istVater: mind. 1 Kind)
PG LBS: Semantische Suche 1628.10.2003
OWL - Probleme
• Web ist nicht zentral organisiert: Verschiedene Sites können verschiedene Definitionen
des semantisch gleichen Dinges anbieten Dies ist Design-Ziel und soll Flexibilität erhöhen Zusammenführung erfolgt dann auf Ontologieebene Ergo: Semantischer Suchdienst muss (alle) Ontologien
kennen Das Problem ist nur eine Ebene verschoben worden!
• Ontologien aber in kleinen Netzen möglich: Implementierungen / Ansätze existieren:
Jena Semantic Web Framework (HP Labs) DAML Ontology Library sammelt bereits viele Ontologien
PG LBS: Semantische Suche 1728.10.2003
Web Services - Kurzeinführung
• Definition: „Lose gekoppelte, programmtechnisch nutzbare und
wieder verwendbare Komponenten, die durch WWW-Standards kommunizieren.“
• Web Service: Mit entferntem Methodenaufruf (RPC) vergleichbar, aber:
Übertragung per http Nutzung / Codierung mit XML-Technologien
Asynchron, verteilt, zusammengesetzt Keine Methodenaufrufe von verteilten Objekten, sondern.. Austausch von Nachrichten, Protokoll auf
Anwendungsebene
PG LBS: Semantische Suche 1828.10.2003
WS-Technologien
WSProvider
WSBroker
WSClient
UDDI
WSDLSOAP
PG LBS: Semantische Suche 1928.10.2003
Web Services vs. Semantic Web
• Ziel: „A Semantic Web of Web Services“ Spezielle Semantiken, um Geschäftsprozesse in
bestimmten Domains / Branchen zu formalisieren Ontologien verknüpfen diese dann mit Services Ermöglicht smarte Software-Agenten
WWW Semantic Web
Web Services SemanticWeb Services
static
dynamic
InteroperableSyntax
InteroperableSemantics
PG LBS: Semantische Suche 2028.10.2003
Projektgruppen - Bedarf
• Art der Suchen (Use Cases): Suche nach Diensten:
Welche Dienste sind für eine bestimmte Aufgabe geeignet
Anfragen von Verzeichnissen Thema „Discovery“ Auswertung der Ergebnisse mit Methoden des SW
Welche bieten äquivalente Funktionalität? Welche sind Teildienste von anderen?
Suchfunktion innerhalb von Diensten: Z.B. nach Ortsbezeichnungen Sehr dienstabhängig, d.h. Ausnutzen von SW-
Technologien nicht immer notwendig / sinnvoll
PG LBS: Semantische Suche 2128.10.2003
Projektgruppen – Bedarf
• Art der zu verarbeitenden Informationen: Kaum Dokumente Eher Datenorientiert:
Dienst-Suchparameter Dienstbeschreibungen Ortsbeschreibungen (für speziellen Dienst)
PG LBS: Semantische Suche 2228.10.2003
Projektgruppen – Vorschlag• Erstellen einer semantischen Suche nach Diensten:
Auf Basis der durch ein „Discovery Layer“ zur Verfügung gestellten Informationen
Semantische Nachverarbeitung Auswahl eines oder mehrerer geeigneter Dienste
BeschreibungenOntologien
[Parameter]
Dienst-Verzeichnis
DienstListe
Ergebnisse
EinzelneDienste
Semantic Web-Engine, z.B. Jena-basiert
PG LBS: Semantische Suche 2328.10.2003
Projektgruppen – Vorschlag• Beschreibungen / Ontologien:
Vorhandene Verzeichnisse auf sinnvolle Einträge prüfen Ermöglicht Konformität mit anderen Diensten (falls nötig)
Ggf. selbst beschreiben / definieren Annahme: Nur unserer Server stellen Semantische
Informationen zur Verfügung (kein P2P zwischen Clients) D.h.: abgeschlossenes Semantisches Netz mit globalem
Wissen vermutlich realisierbar.
• Innerhalb von Diensten mit geografischen Suchen: Z.B. Verwendung von GML (Geographic ML) Definiert neben geogr. Konzepten auch Operationen über
diesen (z.B.: intersect, overlap, touch)
PG LBS: Semantische Suche 2428.10.2003
Ende
• Fragen?• Vielen Dank!