Web 3.0 – Semantic Web und KIs

Auf der Suche nach einen Thema für meine Diplomarbeit brauche ich etwas Hilfe … von DIR, lieber Leser :-) … als Motivation bitte ich das Video auf dieser Seite anzusehen, was ein Paradebeispiel dafür ist, wie eine Suche im Semantic Web Google und Wikipedia ersetzen könnte (Link öffnet sich in neuem Fenster).

Normalerweise beschäftige ich mich in diesem Blog nicht mit technischen Themen, aber ein Blogpost ist für mich der beste Weg, meine Gedanken zu ordnen und vielleicht neue Ideen zu finden. Und euch Lesern vielleicht nahezubringen, wie der nächste Level von Informationen im Internet aussehen könnte. Das Thema meiner Diplomarbeit ist bisher grob umrissen mit den Worten “Web 3.0 made easy”. Diverse Fragen müssen aber zuerst geklärt werden, zum Beispiel, was ist erstmal Web 2.0 und wie kriegen wir einen Versionssprung hin? Was ist Semantic Web, und was ist überhaupt Semantik? Hierbei gilt zu beachten, dass dieser Post keine wissenschaftliche Arbeit darstellt, und vielleicht auch ein bisschen in Richtung Science Fiction abschweift, was hier steht stimmt also nicht erwiesenermaßen – ausserdem ist es recht viel Text und nicht nur ein Blogpost zwischen Tür und Angel.

Von Web 2.0 zu Web 3.0

Web 2.0 könnte im allgemeinen als Mitmach-Web bezeichnet werden. Dass es um Internet geht, sollte der Begriff Web im Namen “Web 2.0″ klar machen. Der Inhalt dieser Seiten wird von Anwendern der Seite gefüllt, und die ersten Exemplare dieser 2.0 Seiten waren EBay und YouTube. Web 2.0 war so erfolgreich, weil sehr viel Content geboten wird, und der Verantwortliche ihn nicht selber erstellen muss, sondern nur Werbe- und andere Gebühren kassiert. Im Gegensatz zur vielgehegten Meinung ist Web 2.0 nicht gleich AJAX, es wurde eher zur selben Zeit eingeführt und findet auf vielen Web 2.0 Seiten Einsatz, aber es handelt sich dabei lediglich um eine Technologie und nicht wie bei Web 2.0 um eine Art Philosophie.

Web 3.0 muss nicht nur im Sinne seiner Namensgebung auf den Web 2.0-Gedanken aufbauen, d. h. auch hier soll der Internetseitenbetreiber seinen Content nur in begrenztem Maße selber bauen müssen; vielmehr ist ein Semantic Web ohne User-Generated Content kaum denkbar. Der Versionssprung von 2.0 zu 3.0 soll erreicht werden, indem das Semantic Web genutzt wird und die semantischen Informationen im Internetähnlich wie bei Web 2.0 von den Usern selbst bereitgestellt wird. Der gewaltige Datenmüllberg, der unstrukturiert im Netz liegt, müsste nach diversen Merkmalen von Menschen strukturiert und mit Bedeutung versehen werden. Das Semantic Web ist hier das Buzzword, was die Nutzung von Bedeutung oder auch Semantik im Internet beschreibt.

Was ist Semantik?

Semantik und Syntax kennen wird vielleicht noch aus dem Deutschunterricht aus der Schule. Wenn ich “Ich bringe Geld zur Bank” sage, hat dies eine Syntax, die die zusammenstehenden Worte grammatisch korrekt beschreibt und mir zum Beispiel vorgibt, dass der Satz nicht “Geld Bank zu bringe ich” heisst. Die Semantik dieses Satze sagt aus, was ich meine, also dass ich etwas Geld nehme, damit zu einem Geldinstitut gehe, und es auf ein Konto einzahle. Die Syntax des Wortes Bank ist die richtige Aneinanderreihung der Buchstaben b a n und k, wobei noch aufgrund des Nomens der erste Buchstabe gross geschrieben werden muss. Die Semantik des Wortes Bank ist in diesem Zusammenhang ein Geldinstitut (das eigentlich sehr viel komplexer zu beschreiben wäre), wohlgemerkt aber nicht eine Parkbank, auf der man sich ausruhen kann.

Semantic Web und Ontologien

Eine Ontologie in dem Sinne ist eine Abbildung menschlichen Wissens einer bestimmten Domäne auf eine computerverständliche Weise. Durch eine Beschreibungssprache namens RDF (Resource Description Framework) kann man so Aussagen wie in natürlicher Sprache computerverständlich abspeichern. Der Satz “Barack Obama gewinnt die US-Wahlen 2008″ könnte in RDF wie folgt modelliert werden:

<rdf:Statement rdf:about="#triple123456">
  <rdf:subject rdf:resource="http://www.example.com/persons/famous/us#barackobama"/>
  <rdf:predicate rdf:resource="http://www.example.com/terms#wins"/>
  <rdf:object rdf:resource="http://www.example.com/2008/events#uselection" />
</rdf:Statement>

Wie man sieht handelt es sich um eine in XML dargestellte Aussage, bei der es ein Subjekt, ein Prädikat und ein Objekt gibt (genau, wie im Deutschunterricht). Dabei sind die einzelnen Elemente auch entsprechend zu beschreiben, damit sie irgendeinen Sinn machen. So gibt es Klassen von Objekten, wie zum Beispiel Personen oder Ereignisse, die man als Konzepte beschreibt. In den Beschreibungen der einzelnen Resourcen (oder Instanzen) unter den entsprechenden Adressen wird auf das Konzept der Resource verwiesen, um zu klären, worum es sich bei der Resource handelt. So könnte unter http://www.example.com/persons/famous/us#barackobama in einer ähnlichen XML-Form beschrieben werden, dass es sich um eine Person handelt, die vielleicht unter www.w3c.org/ontology#person beschrieben wird. Die einzelnen Resourcen werden mit einer URL beschrieben, damit diese einzigartig ist und damit man ihre Beschreibung theoretisch auch unter dieser URL ablegen kann.

Wenn man nun alle wahren Aussagen zusammenfassen würde, so wäre das wissen der Welt für ein Computerprogramm verständlich und dieser könnte Lösungen für Probleme anbieten. Wobei dieses Computerprogramm praktisch eine künstliche Intelligenz sein müsste, weil es nicht wissen kann, wie das Wissen modelliert ist. Und soweit ist man bei der KI-Forschung noch nicht. Und bei den Ontologien wurden auch bisher nur relativ kleine Teilgebiete menschlichen Wissens dokumentiert, darunter Pizzen, amerikanische Präsidenten und demnächst auch Studiengänge. Für Personen wurden mit Sicherheit auch schon diverse Ontologien gebastelt.

Ontologien sind somit eine Art Datenansammlung wie in einer Datenbank, bei denen die einzelnen Tabellen Informationen enthalten und über Verbindungen zu anderen Tabellen Beziehungen geschaffen werden können. Ähnlich wie in Datenbanken kann Data Mining betrieben werden kann, d. h. man versucht über die bekannten Fakten und Informationen, die explizit in der Ontologie modelliert sind, automatisch Informationen zu gewinnen, die normalerweise nicht mittels Automatismen ausgewertet werden könnten und die sonst höchstens mit dem Gehirnschmalz von Menschen gewonnen werden können.

Hierbei haben Ontologien mehrere entscheidende Vorteile gegenüber Datenbanken:

  • Die bestehen aus Text, können also einfach von Menschen gelesen werden. Meist sind die Daten allerdings so komplex und verschachtelt, dass man sie im Endeffekt doch nicht wirklich lesen kann.
  • Text kann problemlos über HTTP übertragen werden und wohl von (fast) jeder Programmier- oder Skriptsprache manipuliert werden, ist also Technologie-”Freundlich”
  • Die Syntax ist standardisiert. So wie alle Datenbanken als Abfragesprache SQL-Dialekte benutzen, damit Menschen sich schnell an andere Datenbanken gewöhnen können, so ist die Syntax standardisiert, damit alle externen Quellen auch etwas mit den Daten anfangen können, ohne sich erst mit dem Daten-Französisch auseinandersetzen zu müssen.

Zukunftsmusik

Nun wäre es traumhaft, *irgendwie* bekanntes Wissen, das z. B. in Wikipedia-Artikeln abgelegt ist, in solche Aussagen zu verwandeln, denn diese sind ja beliebig kombinierbar. Wenn ich also die Aussagen erstelle, dass die Wichtigkeit eines Amtes mit dem Gehalt für die Person zusammenhängt; dass der Gewinn der US-Präsidentschaftswahl demjenigen, der diese Wahl gewinnt, das Amt des US-Präsidenten zuweist, und ich ausserdem modelliere, dass dieses Amt das wichtigste Amt der Welt ist (ja, alles hypothetisch!), dann kann ein Computer daraus ableiten, dass Barack Obama das höchste Gehalt der Welt verdient (da er ja nach obiger Aussage die Wahl gewinnt).

Hier zeigen sich allerdings wieder deutliche Probleme, die man mit der Wissensmodellierung in Ontologien hat:

  • Die Aussagen müssen wahr sein, sonst ist die Ontologie nicht konsistent. Das Wort Ontologie wird in der Logik für eine Aussage verwendet, die immer wahr ist. Wenn Barack Obama also die US-Präsidentschaftswahl nicht gewinnt, dann stimmen die oben angegebenen Zusammenhänge nicht mehr, da eine Aussage falsch ist.
  • Die Domänen müssen überschaubar sein. Wenn ich das Wissen abbilden will, nachdem eine US-Präsidentschaftswahl verläuft, dann scheint das Anfangs noch modellierbar zu sein: Die Personen haben eine Stimme, die sie für die Parteien abgeben können. Wenn mehr Stimmen für Obama abgegeben wurden, als für McCain, dann hat Obama gewonnen. Allerdings ist dieser Sachverhalt ein wenig reduziert im Vergleich zur Wahrheit. In Wirklichkeit müsste das komplette Wahlsystem der USA modelliert sein, mit allen Staaten, 300 Millionen Person-Instanzen mit den unterschiedlichsten Eigenschaften, lokalen Unterschieden und sämtlichen Sonderfällen – aber davon verstehe ich genauso wenig etwas wie der Leser dieses Artikels.
  • Diese können nicht automatisch erstellt werden. Wenn ich einen Text über den US-Wahlkampf in ein Computerprogramm gebe, können hieraus maximal Wahrscheinlichkeiten errechnet werden, welche Wörter zusammengehören könnten. Viele Projekte beschäftigen sich mit der Umwandlung von natürlicher Sprache in semantische Ausdrücke, doch wie man an semantischen Suchmaschinen sieht, funktioniert das nur sehr bedingt.

Wofür Ontologien? Und mehr Probleme!

Die Frage bleibt also: Wenn man sowiso nur kleine Domänen modelliert, lohnen sich dann Ontologien? In den seltensten Fällen, scheint die Antwort ja zu lauten. Denn theoretisch können wir weiterhin standardmäßige spezialisierte Anwendungen schreiben, die die entsprechenden Probleme der jeweiligen Anwendungsdomäne problemlos bewältigen können. Der Aufwand wäre geringer, Schnittstellen könnten einzeln für bestimmte Anwendungsfälle entwickelt werden und alles wäre wie gehabt.

Aber andererseits haben wir hier eine Art Datenbanksystem, dessen Struktur von allen Systemen verstanden wird, so dass Schnittstellen einfacher zu machen sind. Wenn also in dieser Form Informationen gesammelt werden, dann sind sie später benutzbar, in Gegensatz zu einer Word-Datei, aus der nicht sinnvoll Aussagen über ihren Inhalt geschlossen werden können. Das gesamte Wissen einer Domäne wäre extern durch entsprechende Programme auswertbar.

Der Hauptvorteil ist somit, dass diese semantischen Informationen etwas meinen oder bedeuten. So ist es theoretisch möglich, dass jeder Webseiten-Verantwortliche sich selbst als Person computerverständlich modelliert und diese Daten auf seinen Server hinterlegt. So könnte jemand automatisiert von meinem Server auslesen, wie mein Name oder meine Telefonnummer lauten, oder dass ich Student bin, für die Inhalte meiner Webseiten verantwortlich bin oder dass ich einen Führerschein habe. Über einen semantischen Webcrawler könnte man so auch semantische Informationen finden und aggregieren, um beispielsweise eine Statistik darüber anzufertigen, wieviele Leute einen Führerschein haben. Über ein ist_Freund_von-Prädikat könnten diese einzeln modellierten Menschen in einen solzialen Zusammenhang gebracht werden. Wenn ich und meine Freundin also als semantische Informationen auf meinem Webserver abgelegt sind und über eine parship-Beziehung verknüpft sind, dann sagen wir der Welt: Wir sind ein Paar! Ist das Web 3.0? Allein über das Konzept Person und einige Eigenschaften könnte so ein solziales Netzwerk entstehen, was nur noch von einem entsprechenden StudiVZ-Ersatz ausgelesen werden muss.

Wenn ich mich aber nun als Person beschreibe, und dabei ein Konzept nehme, dass als http://www.people.com/ontology#person modelliert wurde und jemand anderes sich als Person beschreibt, die nach einer anderen Ontologie (zum Beispiel http://www.w3c.org/ontology#person) modelliert wurde, dann können diese beiden Personen zuersteinmal nicht verglichen werden, obwohl beide dasselbe Konzept meinen, aber ein unterschiedliches benutzen.

Dies könnte man über ein istGleich-Prädikat zusammenführen, durch welches das eine Konzept als gleich mit einem anderen Konzept verbunden würde.  Trotzdem wären dann weitere Eigenschaften wie z. B. URL1#hat_Führerschein und URL2#besitzt_Führerschein vorhanden, die zwar dasselbe meinen, aber wiederrum nicht als gleich betrachtet werden können, bis sie als gleich identifiziert wurden. An dieser Stelle fehlt noch eine Art automatisches Tool, welches ausgehend von einem oder einer kleinen Menge identifizierter Konzepte beliebige durch Prädikate verbundene Konzepte als gleich erkennt und entsprechende Annotation vornimmt.

Mehr Zukunftsmusik

Wäre ein solches Tool vorhanden, könnte über einen Webcrawler automatisiert nach Ontologien gesucht werden und einem Menschen zwei ähnliche Konzepte vorgeschlagen werden. Je besser dieser Vorschlag-Algorithmus funktioniert, desto öfter würden hier nur sinnvolle Verbindungen abgefragt werden. Zum Beispiel: “URL1#hat_Führerschein istGleich URL2#besitzt_Führerschein?” Antwort ja des Menschen produziert ein entsprechendes Prädikat. Möglicherweise kann der Algorithmus sogar erkennen, dass diese Prädikate gleich sein müssen, wenn er über einen anderen Weg bereits die Semantik von Führerschein und Person auf beiden Seiten feststellen konnte.

Sobald dieser Algorithmus die Konzepte als gleich identifiziert hat, können in einer relativ kurzen Prozedur weitere ähnliche Elemente in beiden Ontologien identifiziert werden, die ebenfalls als gleich bezeichnet werden. Dies könnte helfen, identische Wissensatome als gleich zu erkennen und auf diesen Daten kann man arbeiten. Was für eine Revolution. A ist Gleich A.

Nun würden schnell sehr viele istGleich-Beziehungen entstehen. Um diese abzubauen könnte ein Webcrawler statistisch ermitteln, welches das meistbenutzte Prädikat (zum Beispiel für zusammen sein) bzw. das meistbenutzte Konzept (z. B. für Person) ist, und den für diese Dateien verantwortlichen Personen eine E-Mail schicken, mit Vorschlägen zur Angleichung ihrer Daten. Dies würde in einem Wikipeida ähnlichen Maßstab eine Einigung auf bestimmte Konzepte auslösen.

Wenn man nun noch seine persönliche Personen-Ontologie problemlos erweitern könnte, dann hätten wir eine Form von selbstwachsendem Wissen. Mal angenommen, ich will sagen, dass ich mit meiner Freundin zusammen bin (was vorher noch kein Computer ermitteln konnte) und verweise mittels eines parship-Prädikates auf die URI, unter der ihre Personen-Instanz eindeutig identifiziert ist. Der oben genannte Algorithmus könnte nun nachforschen, was ich damit eigentlich meine, und könnte ähnliche Prädikate anbieten, die andere Internetuser benutzen. Vielleicht ist togetherWith das allgemein benutzte Prädikat, und dieses wird mir zusammen mit einigen anderen Prädikaten zur Auswahl angeboten.

Noch mehr Probleme

Doch was ist mit Datenschutz? Wenn ich meine E-Mail-Adresse für alle sichtbar im Web hinterlege und meine persönlichen Daten mit dieser verknüpft sind und das auch noch in einer allgemein verständlichen Weise, dann würden mir die Semantic-Spammer wahrscheinlich bald die Tür einrennen. Auch möchte Sicherlich Barack Obama nicht alles Wissen, was über ihn existiert, im Internet wissen. Aber das sind natürlich Probleme, mit denen man sich im Informationszeitaler schon jetzt auseinandersetzen muss. Sicher ist aber, das nicht alle diese Daten unverschlüsselt im Web liegen werden. Auch das Firmenintere Wissen einer Firma wird aus offensichtlichen Gründen nicht offen zugänglich sein können, auch wenn es existiert.

Und was ist mit dem ganzen Kram, der bereits aufgeschrieben wurde? Viele Menschen haben sich soviel Mühe gemacht, Diplomarbeiten geschrieben, Erhebungen gemacht, Wissenaquisen durchgeführt … und sie in einem Worddokument oder auf Papier geschrieben. Kann man das nicht einfach in semantische Daten umwandeln?

Was man machen kann, ist beispielsweise statistisch zu ermitteln, wie oft ein Wort in einem Satz vorkommt, und zu welchem Prozentsatz ein anderes Wort in diesem Satz benutzt wird. Man kann möglicherweise auch die einzelnen Wort mit den Benennungen von Konzepten oder Instanzen vergleichen. Vielleicht kann man sogar zu einer Aussage kommen, dass das Wort “Bank” häufig mit dem Wort “Geld” in einem deutschen Satz vorkommt. Von den restlichen Worten eines Satzes könnten wir annehmen, dass es sich dabei um ein Prädikat handelt, oder dass eines darin vorkommt. Nun könnten wir jeden Satz nehmen, und versuchen, Aussagen daraus zu generieren. “Geld kann man bei einer Bank abheben” wäre hierbei schon zu kompliziert, “Banken handeln mit Geld” wäre vielleicht denkbar, wenn der Computer weiß, dass “Banken” auch “Bank” meint. Mit anderen Worten: hier haben wir statistisch Möglichkeiten, aber praktisch gesehen steht uns dass Problem im Weg, dass gemachte Aussagen wahr sein sollen, damit sie die Konsistenz der Ontologie nicht gefährden. Ein Computer kann leider natürliche Sprache nicht verstehen, ansonsten wäre der ganze Semantic Web-Kram ja längst überholt.

Zurück zum Gedanken Web 3.0

Was wäre nun, wenn Fakten semantisch Vorliegen würden? Wem würde das etwas bringen? Es gibt bereits Tools, mit denen man Ontologien anzeigen und erstellen kann, ich nutze momentan Protege, weil dies kostenlos nutzbar ist. Mit diesem oder auch anderen kostenpflichtigen Tools kann eine Ontologie gebaut und Instanzen erzeugt werden.  Freebase sammelt semantische Informationen. Um hier nocheinmal ein bisschen zu motivieren, wie Web 3.0 aussehen kann, würde ich empfehlen sich dieses Video anzusehen, bei der auf Freebase die Erschaffung neuen semantischen Wissens durch einen User auf der Weboberfläche von Freebase demonstriert wird.

Künstliche Intelligenz

So, nun haben wir also einen Haufen semantische Daten. Diese können von spezialisierten Programmen ausgelesen und genutzt werden. Mal angenommen eine recht komplexe Ontologie würde das Wissen von Gesetzestexten in den deutschen Gesetzbüchern beschreiben, könnte ein ebenfalls komplexes Programm bestimmte Umstände einer Straftat nehmen und versuchen, den Straftatbestand laut Gesetz zu ermitteln. Aus diesem und den Daten der beteiligten Personen könnte dann ein Strafmaß ermittelt werden. Dieses komplexe Programm müsste eine künstliche Intelligenz sein, um diverse nicht automatisch zu treffende Entscheidungen irgendwie entscheiden zu können – oder diese Aufgaben an einen Menschen, der das Programm bedient, abgeben.

Solche Entscheidungen können vom Menschen aufgrund seines Wissens getroffen werden. Nicht automatisch zu treffende Entscheidungen beruhen somit auf Fakten, die nicht in der Ontologie enthalten sind. Theoretisch sind aber alle denkbaren entscheidbaren in Ontologien modellierbar. Wenn nun also ein Computerprogramm im Falle einer aufgrund fehlender Bewertungslage nicht zu treffenden Entscheidung einen Menschen konsultiert, dann wird dieser Wissen anwenden, um die Entscheidung zu Fällen. Würde er statt dem Treffen der Entscheidung alle benötigten Konzepte und Prädikate modellieren, so könnte das Programm dieses Problem in Zukunft bei ausreichender Datenlage vermeiden. Hierbei geraten wir allerdings schon bald in die Bereiche von künstlicher Intelligenz. Dass ein Programm schon erkennt, dass Wissen fehlt und dass daher eine Entscheidung nicht zu treffen ist, wäre Teil eines KI-Modells. Wenn man nun einem Programm bzw. einem sogenannten “Agenten” mit der Ontologie spezielle Verfahrenshinweise geben würde, wie mit den Daten der Ontologie umzugehen ist, dann könnte dieser Agent mit diesen Vorgehenshinweisen möglicherweise sein Ziel erfüllen. Agenten sind hierbei Programme, die ein Ziel und bestimmte Vorgehensweisen kennen, um dieses Ziel zu erreichen.

Ein anderes Beispiel: Eine Reisefirma stellt dem Webanwender einen Urlaubsplanungsagenten zur Verfügung. Dieser nimmt bestimmte Eingaben über die Art, den Zeitpunkt und die maximalen Kosten sowie bestimmte Umgebungsparameter als Grundlage für seine Recherchen. Dies könnte er mit einer Datenbankabfrage über alle erfassten Daten des Reiseportals machen, und eine Antwort zurückliefern. Oder aber er bedient sich einer Ontologie, die eine Reise modelliert, und versucht Anhand dieser alle einzelen Punkte der Reise zu planen. Wenn er 7 Tage “Tauchurlaub” und “mediterranes Klima” bei maximal 1500€ für 2 Personen in der Herbstferien als Eingabe bekommt, muss er zuerst alle Orte in mediterranem Klima finden, an denen man Tauchen kann, dann überprüfen, wieviel Geld die einzelnen Hotels für eine Woche und 2 Personen Urlaub nehmen. Aufgrund der Tatsache, dass ein Tauchurlaub gewünscht wird muss ausserdem noch ein Preis für’s Tauchen im jeweiligen Ort bestimmt werden. Dann könnten noch Randbedingungen abgefragt werden. Wenn beispielsweise das Urlaubsland das Prädikat benötigt hat und dies auf eine Instanz von Einreiseerlaubnis zeigt, dann muss dem Agenten klar werden, dass dies dem Anwender weitergeleitet werden muss, zusätzlich zu der Information, wo man diese Einreiseerlaubnis bekommen kann, insofern solche Daten modelliert sind.

Die Prozedur des Datenabfragens ist hierbei vielleicht in einer Wissensdarstellung namens http:www.tui.de/ontology/reiseplanung.owl gespeichert. Dies würde die Prozedurale Logik von der Programmierung des Agenten auf die Wissensdarstellung des Reiseanbieters verlegen, so dass externe Agenten leichter verstehen könnten, was man mit den semantischen Daten der Webseite anfangen kann. Vielleicht könnt mit solchen Daten irgendwann ein generischer Browser-Agent auf eine Internetseite stoßen und dem Benutzer anbieten, eine Reise zu planen. Davon sind wir allerdings noch sehr weit entfernt, fürchte ich. Vielleicht fürchte ich auch, dass wir davon gar nicht mehr soweit entfernt sind ;-)

Auf dem Weg dorthin

Nun will ich ja keine Doktorarbeit schreiben, sondern eine Diplomarbeit, und die geht nicht über 3 Jahre sondern über 6 Monate. Außerdem habe ich die Möglichkeit, diese bei RedDot zu schreiben, und diese produzieren ein Content Management System mit einem entsprechenden dahinter laufenden Serverprodukt. Über dieses können Redakteure Internetseiten für ihre Firma erstellen bzw. Inhalte bereitstellen, ohne dafür etwas von HTML, CSS, PHP, o. ä. verstehen zu müssen. Das bedeutet erstens, dass die Redakteure, die mit diesem System arbeiten, kein technisches Verständnis haben müssen und mit Sicherheit niemals das Wort Ontologie hören wollen, und zweitens, dass man mit diesem System vielleicht die Semantik relativ unbemerkt von der Welt im Web streuen kann, ohne dass es jemanden stört. Andererseits bedeutet das auch, dass die anzustrebende Domäne einer Ontologie nicht festzulegen wäre, denn ein Kunde von Reddot könnte Autos herstellen, Reisen anbieten oder vielleicht Fernsehen machen.

Meine bisherigen Ideen sind, vielleicht eine Semantik-gestützte Personen-Verwaltung zu entwerfen, oder aber eine semantische Dateiverwaltung. Die Personen-Idee habe ich ja oben bereits vorgestellt, diese wäre wahrscheinlich sehr gut geeignet, eine “gewöhnliche” Personenverwaltung zu ersetzen. Hier kann man sich beliebige Verknüpfungen zu Themenbereichen, bisherigen Erfahrungen, Interessensgebieten, Qualifizierungen, Kontakten, Freundschaften und vielem mehr vorstellen – im Gegensatz zu festen Textfeldern. Die Dateiverwaltung könnte ähnlich sein: Ein Bild oder Video könnte so ähnlich wie beim Tagging einem Thema oder Bereich zugeordnet werden, einem Ort an dem es geschossen wurde, oder einem Zeitpunkt oder Zeitbereich. Der künstlerische Hintergrund könnte angegeben werden, die Beziehung zu Personen oder anderen Objekten der realen Welt. Wenn man beides zusammen einsetzen würde könnte zum Beispiel auch das Video-Team abgebildet werden. Dann wären Fragen des Chefs wie “Hey Redakteur, besorge mir mal die E-Mailadressen alle Videoregisseure, die Videos zum Thema US-Wahlen gemacht haben, ich will die was fragen” nicht mehr mit einem ratlosen Gesichtsausdruck des Redakteurs zu beantworten, sondern mit einer Anfrage an ein entsprechendes Programm, das diese Beziehungen ermitteln kann. Ähnlich wie in Paralax werden dann alle Videos gesucht, die als Thema die US-Wahlen 2008 haben, von diesen die Redakteure, und von denen die E-Mailadressen. Zukunftsmusik? Na ja, mit Datenbanken ist sowas ja heutzutage prinzipiell auch denkbar. Wenn aber nun der Redakteur von der Autofirma in die Reisefirma wechselt und dort dieselbe Anfrage stellen kann? Oder man auf externe semantische Daten zurückgreifen will?

Na ja als zweite Idee wäre da die Modellierung eine speziellen Anwendungsdomäne für einen Kunden von Reddot denkbar, um erstmal die Möglichkeiten auszuloten, wie man solche Informationen in einem CMS überhaupt nutzen kann.

Auch eine Anbindung an Freebase oder eine andere Ontologie wäre als dritte Idee denkbar. Vielleicht kann ein Kunde seine Webinhalte mit dort vorhandenen Instanzen verknüpfen. So könnte man sich bei einem Autohersteller vielleicht vorstellen, dass er eine kleine Box oder Sidebar mit zusätzlichen Informationen zum Thema auf der aktuellen Seite anbietet. Diese Box könnte dann entweder auf ein konkret semantisch modelliertes Thema Freebase abfragen und zusätzliche Links anbieten oder Informationen darstellen. Oder aber die Seite nach Text durchsuchen, welcher zu modellierten Instanzen in Freebase passt, und die dazu hinterlegten Informationen abfragt. Auch könnte man sich vorstellen, dass die Redakteure nicht verfügbare Informationen über das CMS in Freebase einstellen können, so dass eine solche Infobox auch mit zusätzlichen externen Informationen aufwarten kann, falls noch keine Benutzer-modellierten Daten vorliegen. In jedem Fall sollten die einzelnen erstellten Internetseiten sie selbst und das behandelte Thema beschreiben, sowie eine Metadaten semantisch Hinterlegen, die ansonsten nur in die Datenbank des CMS fliessen würden.

Hilfe

Nun wo ich ein paar Einblicke vermittelt habe und meine Sichtweise der Situation dargestellt habe, hoffe ich, dass dem einen oder anderen unter euch vielleicht eine Idee gekommen sein könnte, was man sonst noch so im Rahmen einer Diplomarbeit machen könnte, wenn man ein weitreichendes CMS zur Verfügung hat und vielleicht die großartigen Ideen des Semantic Web nutzen will. Dann schreibt mir bitte einen Kommentar oder nehmt über mein Kontaktformular oder über ideen(at)ithoughts.de Kontakt mit mir auf. Ich würde mich sehr freuen und definitiv Rückmeldung geben :-)

Related Posts:

490 Views, Posted Sunday, September 28th, 2008 under Projekte.

2 comments

  1. Sebastian says:

    Hi,
    hast Du schon ein Thema gefunden? Wir sind ein Kunde von RedDot und auch am Thema Sematic Web interessiert. Fertige Idee habe ich auch nicht, aber vielleicht kann man sich mal austauschen.

    Grüße aus Berlin

  2. Ja, inzwischen hat sich doch ein Thema aufgetan. Es geht im großen und ganzen um die Vereinfachung des Einstellens von RDF-Tripeln für DAUs auf Internetseiten, innerhalb eines semantischen Blogsystems.

Leave a Reply