Lexikon

Semantic Wiki

Das Thema „Semantic Wikis“ als Verknüpfung von Wiki-Konzepten mit semantischen Technologien gewinnt in den letzten Jahren zunehmend an Bedeutung, weil es „soziale Intelligenz“ und „künstliche Intelligenz“ miteinander verknüpft. Ziel des Artikels ist es, einen Überblick über das Thema Semantic Wikis zu schaffen. Wir gehen dabei insbesondere auch auf Anwendungsfelder ein und geben einen kurzen Vergleich ausgewählter Systeme.

Wiki und Semantic Wiki

Ein Wiki [WikiAS] ist ein Web-basiertes System, das das kollaborative Verfassen und Aktualisieren von Webseiten ermöglicht. Die wichtigsten Eigenschaften eines Wikis sind die Offenheit, welche es jedem Benutzer erlaubt, an der Erstellung von Inhalten teilzunehmen, und die Flexibilität bezüglich der unterschiedlichen Arbeitsweisen verschiedener Benutzer, ohne einen technologischen Zwang auszuüben. Weitere Eigenschaften eines typischen Wikis sind ein aus einem Webbrowser abrufbarer Texteditor mit einer einfachen Wiki-Syntax zur Erstellung von Webseiten, eine Versionsverwaltung der verwalteten Seiten zwecks Verfolgung von Änderungen sowie Suche über die im Wiki enthaltenen Texte.
 

Mit der Nutzung eines Wikis ergibt sich meist das Bedürfnis, zusätzlich zur Volltextsuche inhaltliche Informationen durchsuchen bzw. zu Übersichtsseiten zusammenfassen zu können. In Wikipedia z.B. fallen strukturierte Daten in großen Mengen zu Orten und Personen an (bei Orten Geokoordinaten oder Relationen wie liegt-in; bei Personen Lebensdaten oder erstellte Werke). Um den Umgang mit diesen Informationen für den Benutzer komfortabler zu gestalten, werden meist zwei unterschiedliche Ansätze verfolgt: Zum einen werden von Hand Übersichtsseiten erstellt, die Wiki-Seiten nach dem jeweiligen Kriterium ordnen, was allerdings einen hohen Wartungsaufwand darstellt. Zum anderen bieten die meisten Wikis Hilfsmittel wie Kategoriensysteme oder Erweiterungen für bestimmte Arten von Metadaten. Kategoriensysteme sind leider verhältnismäßig unflexibel; bei Erweiterungen für spezielle Metadaten muss abgewogen werden, ob der Aufwand für die Einarbeitung der Benutzer den Gesamtnutzen rechtfertigt.

Ein Semantic Wiki versucht, die Flexibilität eines normalen Wikis bei der Bearbeitung von Texten auch auf strukturierte Daten auszuweiten. Dazu unterstützt es Metadaten in Form von semantischen Annotationen zu Wiki-Seiten und zu Verknüpfungen zwischen Seiten (Semantische Annotationen korrespondieren in der Regel mit einer Ontologie, in der definiert wird, welche Eigenschaften welchen Objekttypen zugeordnet werden können. Die Ontologie wird ebenfalls durch die einzelnen Wiki-Artikel erstellt und gewartet. Die erstellten Wissensmodelle werden meist in den Ontologiesprachen RDF/S bzw. OWL repräsentiert.). Semantische Annotationen können beispielsweise für erweiterte Anfragen oder sogar Adaption der Darstellung an verschiedene Benutzer und Domänen genutzt werden.

Der Begriff „Semantic Wiki“ wird für eine Vielzahl verschiedener Systeme verwendet. Allgemein vereinen Semantic Wikis Methoden des Semantic Webs mit den Funktionalitäten eines gewöhnlichen Wiki. Durch die interne Repräsentation der Annotation in RDF/OWL wird der Austausch von Daten mit anderen Applikationen erleichtert, so kann z.B. eine externe Suche benutzt werden. Außerdem können Deduktionsverfahren genutzt werden, um weitere Schlussfolgerungen abzuleiten. Semantic Wikis bieten darüber hinaus folgende Funktionalitäten:

  • einen einfachen Formalismus zur semantischen Annotation von Links und von Wiki-Artikeln oder anderen Inhalten (hochgeladene Dateien...),
  • eine semantische Suche, welche nicht nur nach Schlüsselwörtern, sondern auch nach semantisch zusammenhängenden Inhalten (z.B. Oberbegriffe des Suchwortes oder Suchbegriffe, welche eine bestimmte Eigenschaft erfüllen) suchen kann,
  • zusätzlich eine möglicherweise automatische oder halbautomatische Extraktion von Metadaten aus den Wiki-Artikeln, um die Annotation zu erleichtern.

Die verschiedenen Semantic Wiki-Systeme haben unterschiedliche Ziele: die Einen versuchen, mit semantischen Annotationen die Navigation und die kollaborative Arbeit erleichtern, die anderen möchten Wikis als Werkzeug für die kollaborative Entwicklung von Ontologien etablieren. Das Spannungsfeld der Forschung und Entwicklung um Semantic Wikis liegt also zwischen dem Einsatz von Semantic Web-Methoden für Wikis und der Konzeption von Wikis für das Semantic Web. Semantic Wikis werden folglich auch „Semantic Web im Kleinen“ genannt.

Semantic Wiki am Beispiel

Die Ontologie innerhalb eines Semantic Wiki wird erstellt und aktualisiert, indem jeder Instanz und jedem Konzept der Ontologie eine Seite im Wiki zugeordnet wird. Über Links bzw. Annotationen werden die jeweiligen Konzepte bzw. Artikel miteinander verknüpft. Semantic Wiki-Systeme verfolgen bei der eigentlichen Annotation zwei unterschiedliche Ansätze: Während die meisten eine erweiterte Wiki-Syntax im Editor verwenden, bieten einige eine Annotation der Artikel durch Formulare.

In Abbildung 1 ist eine direkte Annotation im Wiki-Artikel am Beispiel des Systems Semantic MediaWiki [SMW] gezeigt. Hier kennzeichnet beispielsweise die Annotation [[coded in::Java]], dass zwischen den Konzepten IkeWiki und Java eine Relation mit dem Namen coded in existiert. Diese formal repräsentierte Relation kann beispielsweise genutzt werden, um nach allen Semantic Wikis zu suchen, die in Java geschrieben wurden.

Annotation mittels Formularen zeigt Abbildung 2 am Beispiel von IkeWiki [IkeWiki]. Im dargestellten Artikel wird im Rahmen einer Bioinformatik-Anwendung der Begriff Bilberry näher beschrieben. Im System können Benutzer durch entsprechende Links auf der linken Menüseite sowohl Wiki-Seiten als auch Klassen und Eigenschaften erzeugen und ändern.

Die zugeordneten Typen des Wiki-Artikels sind unter dem Seitentitel aufgelistet (im Beispiel bio:Species, skos:Concept, rdfs:Resource); bereits annotierte Textphrasen werden durch Icons entsprechend im Text gekennzeichnet. Beziehungen zu anderen Wiki-Artikeln bzw. Konzepten der Ontologie sind auf der rechten Seite unter References aufgeführt und visualisieren die vorhandenen Annotationen. Diese „Referenzbox“ dient ebenfalls zu einer erleichterten Navigation durch das erstellte semantische Netz. Durch Anklicken der +-Symbole können neue Annotationen einer Seite oder einem Link hinzugefügt werden. Abbildung 2 zeigt die Erstellung einer neuen Instanz der Relation bio:isSpeciesFor mit dem Subjekt Bilberry und dem Objekt Vaccinium. Der Benutzer kann im Formular dialog-unterstützt für das gewählte Attribut einen passenden Typ aus der Ontologie wählen.

Systeme im Vergleich

Im Folgenden versuchen wir, wesentliche Gesichtspunkte einiger ausgewählter Semantic Wikis herauszustellen. Zu beachten ist jedoch, dass sich die meisten Semantic Wiki-Systeme derzeit noch im Prototyp-Stadium befinden, sich deren Merkmale also schnell ändern können.  

Semantic MediaWiki konzentriert sich auf den Wikipedia/Enzyklopädie-Anwendungsfall und legt dementsprechend Wert auf Skalierbarkeit und Abwärtskompatibilität. Außerdem wird kein festes Schema für Annotationen verlangt – Benutzer können Annotationen hinzufügen, für die noch kein Schema definiert wurde. Da in näherer Zukunft nicht mit frei verfügbaren Inferenzmaschinen zu rechnen ist, die bis zur Größe der Wikipedia skalieren, wird Inferenz in Semantic MediaWiki nicht abgedeckt.  

IkeWiki wurde entwickelt als Werkzeug zur kollaborativen Entwicklung von Ontologien und für das Wissensmanagement und ist in Java implementiert. Im Gegensatz zu Semantic MediaWiki liegt der Fokus auf einer möglichst umfangreichen semantischen Unterstützung des Benutzers; dafür wird eine geringere Skalierbarkeit in Kauf genommen. IkeWiki unterstützt sowohl das Verwenden als auch das Bearbeiten von OWL-Ontologien. Als Inferenzmechanismen können derzeit OWL-RDFS und OWL-DL verwendet werden; eine regelbasierte Inferenz befindet sich derzeit in Entwicklung.  

Kaukolu ist ein Forschungsprototyp, der auf JSPWiki aufbaut. Es erlaubt sowohl Annotationen mittels erweitertem Wiki-Markup als auch mittels Web-Formularen, die dynamisch aus den dem Wiki zur Verfügung stehenden Ontologien generiert werden. Annotationen können sich dabei auf die ganze Seite, aber auch auf beliebige Textteile beziehen, und können auch automatisch von externen Systemen generiert werden - zur Zeit wird u.a. mit einem Eyetracker experimentiert. Anwendungsfall ist dabei die Annotation von bestehenden Dokumenten wie z.B. juristischen Texten.

SWEET Wiki ist ein Forschungsprototyp von INRIA Sophia-Antipolis und wurde in Java implementiert. SWEET Wiki zeichnet sich einerseits aus durch die Kombination von Social Tagging-Ansätzen und formalen Ontologien: Benutzer können auf einfache Weise Seiten mit Tags versehen, die wiederum an Ontologien angebunden werden können. Andererseits verwendet SWEET Wiki die CORESE-Inferenzmaschine, die für Conceptual Graphs entwickelt wurde und weitreichende Funktionalitäten bietet.  

OntoWiki unterscheidet sich von den obigen drei Systemen insofern als dass der klassische textuelle Inhalt nicht mehr im Vordergrund steht. Stattdessen bietet OntoWiki eine leicht zu verwendende Schnittstelle zur kollaborativen Erstellung und Wartung von Ontologien. Hervorzuheben sind weiters die weitreichenden Möglichkeiten der semantischen Suche und Navigation und die Unterstützung der Versionierung von Metadaten.

Einen Standard wird es für Semantic Wikis genausowenig wie für Wikis geben, weil jedes System einen eigenen Fokus hat, und damit seine eigenen Stärken und Schwächen aufweist. Eine ausführlichere Übersicht gibt es u.a. auf den Seitem zum Thema Semantic Wiki im Ontoworld-Wiki .

Anwendungsbereiche

Da Semantic Wikis eine Erweiterung von herkömmlichen Wikis darstellen, überschneiden sich die Anwendungsbereiche der beiden Ansätze in weiten Teilen. Darüber hinaus können Semantic Wikis dem Benutzer durch die explizite Repräsentation von Metadaten in vielen Anwendungsgebieten eine stärkere Unterstützung bieten, beispielsweise durch verbesserte Navigation und Suche, kontextabhängiger Darstellung oder Personalisierung. Exemplarisch wollen wir uns im Folgenden die zwei Anwendungsbereiche Wissensmanagement und Ontology Engineering anschauen, die unterschiedliche Aspekte des Einsatzes von Semantic Wikis erläutern.  

Wissensmanagement. In den letzten Jahren werden zunehmend Wikis als Werkzeug zur Unterstützung des Wissensmanagements eingesetzt. Beispielsweise wird das Wissen über Softwareprojekte (Source Code, Dokumentation, Projektpläne, Bug Tickets, Screencasts, etc) inzwischen in vielen Firmen und Projekten über Wikis verwaltet und miteinander geteilt. Das so in Wikis erfasste Wissen ist zwar leicht zu erstellen, aber zunehmend schwer wieder zu finden. Auch ist das Projektwissen oft über eine Vielzahl von Wikis verteilt. So werden beispielsweise für die Entwicklung der IDE Netbeans bei Sun Microsystems inzwischen mehr als ein Dutzend Wikis eingesetzt, die nicht miteinander integriert sind.

Semantic Wikis bieten das Potential, diese Probleme zu lösen, ohne gleichzeitig die Flexibilität und Offenheit von Wikis aufzugeben. Wo semantische Annotationen und damit Strukturen vorhanden sind, kann das System gezielt unterstützen, beispielsweise durch eine Visualisierung eines semantisch repräsentierten Projektplans, durch Austausch von Annotationen bzw. Ontologien mit Geschwister-Wikis, oder durch eine semantische Suchfunktion. Wo (noch) keine semantischen Annotationen vorhanden sind oder noch nicht alle Benutzer Annotationen nutzen, kann ein Semantic Wiki wie ein herkömmliches Wiki funktionieren. Wie bei einem normalen Wiki, bei dem häufig Kurzzeitnutzer Inhalte beitragen und die saubere Einbettung in das restliche Wiki von Langzeitnutzern übernommen wird, können bei einem Semantic Wiki Kurzzeitnutzer – ohne lange Einarbeitungszeit – Informationen beitragen, die dann von Langzeitnutzern „semantifiziert“ werden. Ein schöner Nebeneffekt dieser „evolutionären Formalisierung“ ist, dass Benutzer einen unmittelbaren Nutzen (verschiedene Formen der Unterstützung) für den Mehraufwand der Annotation erhalten. Letzteres ist ein entscheidendes Kriterium in der Motivation von Benutzern. Wissensmanagement mit Hilfe von Semantic Wikis wird u.a. in den EU-Projekten KIWI (Knowledge in a Wiki) und NEPOMUK (Social Semantic Desktop), aber auch im Project Halo untersucht.  

Ontology Engineering. Das Entwickeln von Ontologien für das Semantic Web ist ein sehr aufwändiger Prozess, ähnlich der Softwareentwicklung. Ein wesentliches Problem ist, dass Domänenexperten (z.B. Biologen) zwar ihre jeweilige Domäne sehr gut kennen, aber mit den Formalismen zur Wissensrepräsentation nicht vertraut sind, und umgekehrt Informatiker zwar mit den Formalismen vertraut sind, aber meist keinen tiefen Einblick in die jeweilige Domäne haben. Als Konsequenz gibt es außerhalb der Informatik derzeit nur für einige Spezialbereiche gute Ontologien.  

Semantic Wikis können den Prozess der Ontologieentwicklung entscheidend vereinfachen. Ausgehend von einer durch den Domänenexperten erstellten textuellen Beschreibung der Domäne, die als Sammlung von Wiki-Seiten repräsentiert ist, kann das Wissen schrittweise und in enger Interaktion zwischen Domänenexperten und Informatikern formalisiert werden. Die so entstandene Ontologie kann dann beispielsweise in anderen Werkzeugen oder Anwendungen weiterverwendet werden. Semantic Wikis sind auch für die Aktualisierung und Pflege einer Ontologie interessant: Während Werkzeuge wie Protégé auch für solche Aufgaben viel Verständnis für die Formalismen erfordern, können die meisten Änderungen in einem Semantic Wiki auch von Domänenexperten vorgenommen werden. Erste Erfahrungen im Projekt Dynamont sind vielversprechend.

Aktuelle Forschung

Die derzeit vorhandenen Semantik Wiki-Systeme bieten nur sehr einfache Annotationen und wenn überhaupt nur sehr elementare Deduktionsmöglichkeiten, die für die oben erwähnten Anwendungen kaum ausreichen. Im Allgemeinen überschneiden sich viele Forschungsgegenstände mit denen des Übergebietes Semantic Web, wobei für das Thema Semantic Wiki oft ein starker Fokus auf die Benutzbarkeit der Methoden gelegt wird. Die Einfachheit der Schnittstelle für den Benutzer ist für den Erfolg entscheidend, da bei Semantic Wikis auch ungeübte Personen zum Benutzer der Technologie gemacht werden sollen. Folgende Punkte sind Gegenstand der aktuellen Forschung:  

Flexibilität. Normale Wikis stellen kaum Anforderungen an die Struktur der verwalteten Daten. Semantic Wikis dagegen haben als Ziel, den Benutzer strukturierte Daten hoher Qualität erzeugen zu lassen. Dabei treten die gleichen Probleme auf, wie sie von Ontologieeditoren bzw. Datenbanksystemen bekannt sind und die in erster Linie den Bereich Usability betreffen – letztendlich befinden sich Semantic Wikis im Spannungsfeld der unstrukturierten Daten (Daten ohne Schema – leicht einzugeben, aber von geringer Qualität und mit hohem Rauschen) und dem Erzwingen des Einhaltens von Schemata (schwer einzugeben, hoher Aufwand bei der Pflege der Ontologien).

Anfragesprachen. Mit SPARQL ist ein Standard für Ontologie-Anfragesprachen entstanden, welcher sich in seiner Notation an SQL orientiert. Für normale Wiki-Benutzer dürfte diese Syntax aber weniger geeignet sein, weil die Formulierung von konkreten Anfragen für ungeübte Anwender oft zu schwierig ist. Eine deutlich vereinfachte Sprache, welche sich eventuell an der Wiki-Syntax orientiert, erscheint für die Zukunft wünschenswert. Visuelle Web- und Semantic Web-Anfragesprachen, wie visXcerpt [visXcerpt], stellen einen erfolgversprechenden Ansatz dar.  

Extraktion von semantischen Annotationen. Die Erstellung von Annotationen in Semantic Wikis ist häufig eine zeitaufwändige und komplexe Aufgabe. Die automatische oder halbautomatische Extraktion von semantischen Annotationen aus Wiki-Seiten ist daher ein attraktiver Ansatz. Hier werden Ergebnisse aus dem Bereich Ontologie-Lernen und Text Mining zur Anwendung kommen.  

Reasoning. Mit einfachen Annotationen wie RDF-Tripeln lassen sich nur grundlegende semantische Eigenschaften ausdrücken. Neben Ontologie-Sprachen wie OWL ist für ein Semantic Wiki die Existenz einer Regelsprache, womit einfache Schlussfolgerungen ausgedrückt werden können. Die Schwierigkeit in Bezug auf Semantic Wikis liegt hierbei darin, eine Regelsprache zu entwickeln die einfach benutzbar ist und es auch „normalen“ Wiki-Benutzern ermöglicht, Schlussfolgerungen zu spezifizieren.  

Visualisierung. Eine nicht rein textuelle Visualisierung von möglicherweise komplexen semantischen Annotationen, einschließlich Regeln, wäre für viele potentielle Benutzer sehr wichtig. Die Visualisierung von Tabellen, Gantt-Diagrammen, UML-Diagrammen und von Terminbüchern ist für viele der oben erwähnten Anwendungsbereiche unabdingbar.  

Personalisierung. Viele der oben erwähnten Anwendungen verlangen eine Anpassung, oder „Adaptation“, der Inhalte sowie der semantischen Annotationen auf die Vorlieben und Eigenschaften einzelner Benutzer oder Benutzergruppen.

Zusammenfassung

Semantic Wikis bieten im Vergleich zu herkömmlichen Wikis durch die semantische Annotation eine explizite Repräsentation des beinhalteten Wissens. Diese Erweiterung ermöglicht unter anderem die Verwendung von semantischer Suche, automatischer Deduktion und intelligenter Navigation. Als Anwendungen bieten sich diese Systeme besonders für das verteilte Wissensmanagement und Ontologie Engineering an.

Literatur

[WikiAS] Anja Ebersbach und Markus Glaser: Wiki (Aktuelles Schlagwort), Informatik Spektrum, 28(2), Springer Verlag, 2005  

[IkeWiki] Sebastian Schaffert: IkeWiki: A Semantic Wiki for Collaborative Knowledge Management. In: Proceedings of the 1st International Workshop on Semantic Technologies in Collaborative Applications (STICA), 2006.  

[SMW] Markus Krötzsch, Denny Vrandecic und Max Völkel: Wikipedia and the Semantic Web – The Missing Links. In: Proceedings of 1st International Wikimedia Conference (WikiMania), 2005  

[visXcerpt] Sacha Berger, François Bry, Oliver Bolzer, Tim Furche, Sebastian Schaffert, and Christoph Wieser: Querying the standard and Semantic Web using Xcerpt and visXcerpt. In: Proceedings of the 2nd European Semantic Web Conference (ESWC), 2005  

[OntoWiki] Sören Auer, Sebastian Dietzold and Thomas Riechert: OntoWiki - A Tool for Social, Semantic Collaboration, In: The Semantic Web (ISWC 2006), LNCS 4273, pp. 736-749, Springer, 2006

Autoren und Copyright

Sebastian Schaffert (1), François Bry (2), Joachim Baumeister (3) und Malte Kiesel (4)

(1) Salzburg Research Forschungsgesellschaft, www.salzburgresearch.at

(2) Institut für Informatik, Ludwig-Maximilians-Universität München, pms.ifi.lmu.de

(3) Institut für Informatik, Universität Würzburg, ki.informatik.uni-wuerzburg.de

(4) DFKI GmbH, www.dfki.de

© Springer-Verlag 2007