Semantic Web - Quo Vadis Internet? (Teil 3 - Semantische Applikationen)
Eine „semantische Applikation“ wird häufig mit künstliche Intelligenz assoziiert – eine Anwendung die „schlauer“ ist, die „mitdenkt“. In diesem Artikel werden wir uns anschauen, wie eine „kluge“ Applikation konzipiert werden kann. Dabei werden wir als erstes betrachten, wie „schlau“ genau diese Anwendung sein muss. Außerdem, besprechen wir die 2 mögliche Ansätze, wie man die Semantik realisieren kann.
Semantic Web wird häufig mit künstliche Intelligenz verwechselt. Dabei geht es bei eine semantische Applikation gar nicht darum, dass diese intelligent wird, sondern dass die notwendigen, bzw. verfügbaren Daten und ihre Bedeutung für Maschinen verständlich dargestellt sind. Die logische Ebene, die mit diese Daten arbeitet ist fast identisch zu den herkömmlichen Web 2.0 Anwendungen. Die „schlauen“ Daten erlauben jedoch begrenzte logische Rückschlüsse, und vermeiden Mehrdeutigkeit. Doch das ist weitgehend von künstliche Intelligenz entfernt, da komplexe Algorithmen mehr Ressourcen und Rechenzeit verbrauchen, was nur dann gerechtfertigt werden kann, wenn die Anwendung davon profitiert. Die meisten Anwendungen beziehen sich jedoch auf einen speziellen Anwendungsgebiet, und nur dieses lohnt sich zu modellieren.
Nachdem wir gesehen haben, dass eine semantische Applikation sich im Grunde genommen in der Art der Datenrepräsentierung von Web 2.0 Anwendungen unterscheidet, betrachten wir einen Beispiel davon (Quelle: http://applied-semantic-web.org):

Eine semantische Applikation besteht aus einer Benutzeroberfläche (z.B. eine Webseite, Suchmaske, etc.) und den dahinter liegenden Datenbestand, der nach Semantic Web Standards modelliert wurde (RDF, OWL, etc.). Die Daten die wir für unsere Applikation verwenden wollen, können sowohl in strukturierte Form vorliegen (RDF, Excel, SQL, XML), als auch einfach Texte sein (Word, PDF, TXT).
Somit gelangen wir an dem wichtigsten Punkt – wie repräsentieren wir die Daten, in einer zusammenhängender und semantisch angereicherte Form. Die Ansätze sind zwei und hängen von den vorliegenden Daten ab:
- Konvertierung - sollten uns die Daten in strukturierter Form vorliegen, dann können wir herkömmliche Tools benutzen, um diese zu konvertieren (z.B. GRDDL um XML in RDF zu konvertieren). Das Semantic Web wächst rasant und somit auch der Bestand an strukturierten Daten, die man verwenden kann (z.B. DBPedia, MusicMoz, MusicBrains, Freebase, etc.)
- Extrahierung – auch bekannt als Natural Language Processing (NLP). Wenn die Daten als unstrukturierter Text vorliegen, können wir die semantische Zusammenhänge automatisch extrahieren lassen. Das ist der Hauptfokus unserer Technologie – RoboTagger. Die Texte werden automatisch auf semantische Inhalte analysiert, und diese werden extrahiert und mit zusätzliches Wissen angereichert. Damit ist es später möglich Suchfilter zu erstellen, oder etwa Relationen zwischen Texte zu finden.
Wir können also ohne Vorkenntnisse die Daten, die wir für unsere Applikation benötigen in RDF Format bringen. Diese können ähnlich einer Datenbank abgefragt werden, haben jedoch den Vorteil, dass wir uns des riesigen Wissens des Semantic Webs bedienen können, um unsere Daten semantisch anzureichern, da diese eindeutig definiert sind. Diese Eindeutigkeit, sowie die Verfügbarkeit an Zusatzwissen sind es, die eine semantische Applikation „schlauer“ machen, nicht die dahinter liegende Algorithmen.
Im nächsten Blogeintrag der Serie „Semantic Web - Quo Vadis Internet?“ werden wir uns eine Demo einer semantischen Applikation anschauen, die wir mit Hilfe der hier beschriebenen Ansätzen und RoboTagger implementieren werden. Doch bis dahin schöne Feiertage und frohe Weihnachten!
- Blog von IavorJelev
- Zum Verfassen von Kommentaren bitte Anmelden oder Registrieren.