Ein Gastbeitrag von Thomas Franz über riesige Datenmengen, die Tücken des Digital Asset Management und eine innovative Verschlagwortungstechnologie, die schlauer ist als jeder Archivar.
Das Problem der Auffindbarkeit
Die Anzahl der im privaten und professionellen Umfeld produzierten Bilder und Videos hat in den letzten Jahren rasant zugenommen. Gerade das Web wird immer „multimedialer“: Bild- und Videomaterial wird permanent zu Zwecken der Unterhaltung, Werbung, Berichterstattung und Schulung eingesetzt.
Ca. 35 Stunden Video-Content werden pro Minute auf YouTube hochgeladen, was bedeutet, dass auf der Plattform in nur zwei Monaten mehr Material zusammenkommt, als die drei größten US-Sender in den letzten 60 Jahren produziert haben (-> Statistik von Social Skinny). YouTube ist mitterweile die zweitgrößte Suchmaschine der Welt. Auf Facebook werden pro Minute ca. 136.000 Fotos bereitgestellt, auf Flickr sind es 210.000. Ingesamt stehen bereits mehrere Milliarden Bilder zur Verfügung.
Um der schnell wachsenden Anzahl von Fotos und Videos Herr zu werden, gibt es in Unternehmen heute sog. Document Management Systems (DMS) bzw. speziell für die Medienbranche auch Digital Asset Management (DAM). Diese Systeme ermöglichen die zentrale Ablage und den jederzeitigen Zugriff aller Mitarbeiter auf die Medieninhalte im Unternehmen. Für die Organisation von Fotos und Videos im privaten Bereich existieren abgespeckte Softwarelösungen für Laptop oder Tablet.
Wer nun allerdings versucht, nach einem konkreten Bild oder Video zu suchen – sei es bei YouTube oder Flickr, in einem professionellen DAM-System oder auf dem privaten Rechner – der merkt schnell, das der gewünschte Inhalt nicht immer einfach zu finden ist. Besonders, wenn man sich nicht daran erinnern kann, unter welchen Umständen, wann, wie und wo er produziert wurde.
Die Notwendigkeit der Verschlagwortung
Mediendokumente können – anders als Textdokumente – nur sehr bedingt von einer Maschine, z.B. einem Computer, „verstanden“ werden. Während Suchworte relativ einfach mit den Inhalten von Textdokumenten abgeglichen werden können um relevante Textdokumente zu identifizieren, z.B. mit der TF/IDF-Methode, ist der Abgleich von Suchworten mit den Inhalten von Mediendokumenten ungleich schwieriger – ein Mediendokument besteht nun einmal nicht aus Wörtern. Hinzu kommt, dass automatische Methoden für die Analyse der Inhalte von Mediendokumenten heute noch sehr eingeschränkt sind. Die Detektion und Erkennung von Gesichtern auf Fotos wurde kürzlich als neues Feature bei Facebook veröffentlicht, auch Apples iPhoto bietet diese Funktion. Außer den Namen von dem System bekannten Personen können heute allerdings nicht viel mehr suchrelevante Informationen zuverlässig aus Fotos und Videos extrahiert werden.
Fotos und Videos müssen deshalb händisch mit potentiellen Suchworten versehen werden. Dieser Prozess wird in der Literatur als Verschlagwortung oder Annotation bezeichnet. Es liegt also an uns, Mediendokumente mit geeigneten Keywords zu spicken, um sie später wieder finden zu können.
Die Schwierigkeit der Verschlagwortung
Genau an dieser Stelle wird die Sache kompliziert: Derjenige, der verschlagwortet, kann nämlich bestenfalls vermuten, unter welchen Schlagworten ein Kollege/Freund/Kunde später nach dem jeweiligen Foto oder Video sucht.
Ein Beispiel: Nachdem ein Unternehmen Aussteller auf einer Messe war, werden sämtliche Fotos dazu in einem DAM-System abgelegt. Dazu werden die Fotos mit dem Schlagwort „Messe“, dem Namen der Messe und den Namen der abgebildeten Personen und Produkte versehen.
Ein Jahr später soll nun in einer Jubiläumszeitschrift die Entwicklung des Unternehmens dokumentiert werden. Dafür werden Bilder von Veranstaltungen, Events, Meilensteinen etc. gesucht. Wenn man nun jedoch bei der Suche die Schlagworte „Veranstaltung“, „Event“, „Meilenstein“ verwendet, tauchen die Fotos der Messe nicht in der Ergebnisliste auf.
Die sorgfältige Verwendung von Synonymen (gleichbedeutenden Begriffen), Hyperonymen (Oberbegriffen), Hyponymen (Unterbegriffen) kann zwar derartige Probleme bei der Verschlagwortung lösen – aber es ist sehr aufwendig, stets einen kompletten Katalog naheliegender Schlagworte zu „erdenken“.
Der “Smart Keywording”-Ansatz
Wir, das heißt Forscher der Universität Koblenz und ein Wirtschaftswissenschaftler der FH Remagen, haben die Kreuzverweis Solutions GmbH gegründet, um die Auffindbarkeit von Medienassets zu verbessern. Die Grundidee bestand dabei darin, Forschungsergebnisse aus den Gebieten Semantic Web, Linked Data und Web Science zur Produktreife zu entwickeln und zu integrieren. Das Resultat dieser Entwicklung ist das Produkt Smart Keywording, die erste und bisher einzige Lösung, die mit einem hochinnovativen Ansatz die Verschlagwortung unterstützt.
Smart Keywording kann über eine Web-Schnittstelle (RESTful) in beliebige Software integriert werden und beantwortet zwei Typen von Anfragen:
1. “Vervollständige ein Schlagwortschnipsel”
2. “Liefere Schlagwortvorschläge für eine Schlagwortliste”
Die Antwort auf diese Anfragen ist jeweils eine sortierte Liste mit Schlagworten, das relevanteste ganz oben. Anfragen der ersten Sorte können genutzt werden, um Tippfehler bei der Schlagworteingabe durch eine automatische Vervollständigung zu vermeiden. Zusätzlich kann auch die Eingabegeschwindigkeit bei langen Schlagworten gesteigert werden.
Wesentlich interessanter ist allerdings die Verwendung des zweiten Anfragetyps, denn Schlagwortvorschläge können viele der angesprochenen Probleme lösen. Sie vereinfachen die Verschlagwortung erheblich, da sich der Archivar weniger Gedanken um „gute“ Schlagworte machen muss (d.h. Schlagworte, die ein Suchender verwenden könnte). Dies wirkt sich positiv auf den zeitlichen Aufwand, vor allem aber auf die Qualität der Verschlagwortung aus.
Auf eine Anfrage nach Vorschlägen rund um den Begriff “Messe” erhält man beispielsweise Schlagworte wie „Veranstaltung“, „Ausstellung“, „Tagung“, „Wissenschaftliche Konferenz“, „Schau“, „Kongress“, „Event“, „Konferenz“. Hätten Sie an alle diese Schlagworte gedacht? Und wenn ja, wie lange hätten Sie dafür gebraucht?
Smart Keywording „kennt“ über 3 Mio. Schlagworte in deutscher und englischer Sprache – ohne dass ein Nutzer dafür Schlagworte importieren oder dem System beibringen müsste. Der Bestand an Schlagworten wächst dabei ständig und entstammt dem „Web of Open Linked Data“. Gleichzeitig werden Schlagwortvorschläge kontinuierlich weiterentwickelt und automatisch an unterschiedliche Nutzer angepasst. Smart Keywording „lernt“ beispielsweise automatisch neue Schlagwortvorschläge und passt die Bewertung (das Ranking) von Schlagworten automatisch seinen Nutzern an. Dazu werden u.a. maschinelle Lernverfahren angewendet und semantische Verknüpfungen zwischen Schlagworten analysiert.
Aufgrund der hohen Berechnungskomplexität von Vorschlägen, der großen Datenmenge und der
ständigen Weiterentwicklung von Smart Keywording erfolgt die Bereitstellung von Smart Keywording in der Cloud. Eine reguläre Auslieferung der Software wäre auch wenig sinnvoll, da alleine die Datenbasis so groß ist, dass der Kunde eine extra Hard-Disk (oder ca. 60 DVDs) mitbestellen müsste.
Während die für Smart Keywording verwendeten Methoden alles andere als trivial sind, ist die Nutzung der Software sehr einfach. Wer eine kleine Anwendung (z.B. für ein Mobilgerät, für das Web oder eine spezielle Desktopanwendung) entwickeln möchte, findet hier eine Anleitung, mit der man Smart Keywording schnell und unkompliziert einbinden kann.
Semantische Verknüpfungen
Ein großer Vorteil von Smart Keywording liegt darin, nicht von einem bestimmten Medientyp abhängig zu sein. Die Software kann immer eingesetzt werden, egal ob Bilder, Videos, Audiofiles oder Texte verschlagwortet werden sollen – denn Smart Keywording betreibt keine Analyse des Inhaltes der Medien. Wie aber werden intelligente Annotationsvorschläge generiert, ohne Inhalte zu kennen? Die Antwort lautet kurz und knapp: Semantik. Smart Keywording „versteht“ Schlagworte und „kennt“ die genaue Beziehung zwischen ihnen.
Smart Keywording basiert auf dem Resource Description Framework (RDF), einem sehr flexiblen Modell für die Datenrepräsentation. In RDF werden Daten in der Form von Tripeln, d.h. Subjekt – Prädikat – Objekt repräsentiert: „Kreuzverweis“ – „entwickelt“ – „Smart Keywording“. Neue Beziehungen können in diesem Modell einfach hinzugefügt werden, z.B. die Hyperonymbeziehung „Smart Keywording“ – „hat Oberbegriff“ – „SaaS“. Diese Flexibilität in der Repräsentation von Begriffsbeziehungen wird für Smart Keywording genutzt. Die Bedeutungsbeziehungen zwischen unterschiedlichen Subjekten, Prädikaten und Objekten kann zusätzlich durch sogenannte Ontologien formalisiert werden. Das heißt, es kann zum Beispiel modelliert werden, dass das Prädikat „hat Oberbegriff“ transitiv ist. Wenn also ein weiteres Tripel „SaaS“ – „hat Oberbegriff“ – „Software“ existiert, kann das System automatisch schließen, dass Smart Keywording unter den Begriff Software fällt – obwohl dies nicht explizit gesagt wurde.
Es gibt noch viele weitere und weitaus komplexere Zusammenhänge, die mit Ontologien formal – also maschinenverständlich – ausgedrückt werden können. Die Forschung zu Semantic Web und Linked Data bietet hier zahlreiche Publikationen – u.a. auch von den Gründern von Kreuzverweis (-> Liste der Veröffentlichungen).
Die Technologien hinter „Smart Keywording“
Für ein Startup wie Kreuzverweis ist es notwendig, neue Ideen, Features und Kundenanforderungen schnell testen und implementieren zu können. Für Smart Keywording gibt es daher keinen festgelegten halbjährigen Releaseplan wie bei etablierter Standardsoftware, sondern vielmehr ein „kontinuierliches Deployment“ (-> Beitrag im O’Reilly Radard), d.h. der aktuelle Entwicklungsstand ist immer sehr nah am Stand des Produktivsystems, da Änderungen und Ergänzungen am Quellcode automatisiert sind und damit schnell in den Betrieb gehen. Für Smart Keywording gelten gleichzeitig hohe Anforderungen an die Verfügbarkeit, „Zero Downtime“ ist das Stichwort. Um kurze Entwicklungszyklen, eine schnelle Übertragung von neuen Features und hohe Ausfallsicherheit zu erzielen, nutzt Kreuzverweis einen modernen Mix aus Entwicklungsstrategien und Technologien, von denen im Folgenden ein paar kurz erläutert werden sollen.
SBT
Ein gut funktionierendes und leichtgewichtiges Buildsystem ist die Vorraussetzung für die schnelle Entwicklung von Smart Keywording. Wir verwenden SBT, da es einfach und ohne spezielle Tools bedient werden kann. Änderungen im Buildsystem können so per Texteditor und per Kommandozeile umgesetzt werden. Das schafft Geschwindigkeit und Unabhängig von komplexen Werkzeugen.
GIT
Sämtlicher Programmcode für Smart Keywording wird in den GIT repositories von Kreuzverweis gepflegt. So wird verteiltes Arbeiten, Revisionssicherheit und sogar automatisiertes Deployment möglich. Einige Komponenten von Smart Keywording werden beispielsweise automatisch erneuert, wenn der ausgeführte Programmcode aus dem GIT repository sich ändert. D.h., wenn ein Entwickler von Kreuzverweis neuen oder geänderten Code zur Verfügung stellt („pushed“), ändert sich die Anwendung, die diesen Code verwendet, nach kurzer Zeit ebenfalls. Einige Codebeispiele und User Interfaces für Smart Keywording sind öffentlich als Quellcode verfügbar.
NoSQL
Für die Speicherung der Datenbasis von Smart Keywording ist Modelierungsflexibilität sehr wichtig. Relationale Modelle, wie sie von SQL-Datenbanken verwendet werden, haben sich für uns als zu wenig flexibel herausgestellt. Das Hinzufügen neuer Tabellenspalten oder neuer Datenbeziehungen ist zum Beispiel in einem relationalen Modell aufwendig. Um schnelle Antwortzeiten und kurze Entwicklungszyklen zu ermöglichen, werden Daten für Smart Keywording in sogenannten NoSQL-Datenbanken wie mongoDB und Redis abgelegt. Die aktuelle Version von Smart Keywording benutzt tatsächlich keine einzige SQL-Datenbank.
Akka
Viele verschiedene Komponenten, die verteilt ausgeführt werden, stellen gemeinsam den Dienst Smart Keywording zur Verfügung. Die Entwicklung und Kommunikation der Komponenten implementieren wir mit Akka, einem ereignisbasierten Framework für die Entwicklung verteilter Anwendungen. Erste Versionen von Smart Keywording nutzten OSGI, die Ablösung durch Akka brachte jedoch einige Vorteile.
Fazit
Smart Keywording kann überall dort verwendet werden, wo Schlagworte benötigt werden. Dies reicht von der privaten Bilddatenbank über Mediendokumente in Netzlaufwerken oder Intranets von Unternehmen (z.B. mit Sharepoint) bis hin zu Document-Management-Systemen (DMS) und Digital Asset Management (DAM).
Smart Keywording ermöglicht Unternehmen und Privatpersonen die einfache und effiziente Verschlagwortung ihrer schnell wachsenden Anzahl von Mediendokumenten. Hochinnovative Technologien und die Bereitstellung in der Cloud machen die Software zu einer zukunftssicheren Lösung für multimediale Herausforderungen.
Eine einfache Live-Demo ist hier verfügbar.
Thomas Franz studierte Informatik in Köln, Freiburg, Göteborg und Clemson/South Carolina. Er arbeitete 5 Jahre in internationalen Forschungsprojekten zum Thema Semantic Web, Linked Data, Web Science und Personal Information Management, bevor er 2010 an der Universität Koblenz-Landau promovierte. 2011 gründete er gemeinsam mit weiteren Forschern Kreuzverweis Solutions. Der Picassospruch “Ich suche nicht, ich finde” gehört zu seinen Lieblingszitaten.
Pingback: oreillyblog 2012: viele Themen, viele Autoren, viele Leser – und ein Award! - oreillyblog