Semantischer Content mit Open Calais: Inhalte automatisiert mit Metadaten anreichern
Als einer der interessantesten Ansätze auf dem Gebiet semantischer Webtechnologien erwies sich in den letzten Monaten das Textanalyse-Tool Calais. Entwickelt wurde es von dem auf Textmining und Natural Language Processing spezialisierten Softwarehaus ClearForest, das 2007 vom Medienkonzern Thomson Reuters gekauft wurde. Die Entwickler stellen mit Open Calais einen kostenlosen Web Service zur Verfügung, der sowohl über REST- als auch SOAP-Schnittstellen verfügt.
Zur Analyse schickt man den unstrukturierten, natürlichsprachigen Text an den Web Service und erhält semantische Metadaten über die Struktur des Inhalts zurück. Calais durchforstet die Blog-Postings oder beliebigen Nachrichtenartikel nach Personen, Orten, Unternehmen etc. und ordnet sie dem entsprechenden Typ zu. Die Auszeichnung erfolgt dabei vorzugsweise mit dem Resource Description Framework (RDF), dem Datenmodell des semantischen Webs, auch ein JSON-Output ist möglich.
Stellenweise können auch Fakten und Ereignisse extrahiert werden [1]. Dabei handelt es sich um Zusammenhänge zwischen den einzelnen Entitäten und die Art ihrer Beziehungen. Wird beispielsweise in einem Artikel eine Änderung im Management einer Firma erwähnt, erkennt Calais im Idealfall, dass zwischen den genannten Personen und dem Unternehmen ein Arbeitsverhältnis besteht beziehungsweise bestand.
Bei Unternehmen und Orten versucht Calais, Synonyme zu identifizieren und einander zuzuordnen. So durchschaut die Anwendung, dass es sich bei „IBM“, „International Business Machines“ und „IBM Corp.“ um mehrere Bezeichnungen für ein und die selbe Entität handelt. Ebenso probiert sie, verschiedene Entitäten, die jedoch mit dem selben Wort bezeichnet werden (Homonyme), zu unterscheiden. Um solche überaus schwierigen Disambiguierungen vorzunehmen und zum Beispiel herauszufinden, ob es sich bei „Cambridge“ um die Stadt in England oder jene in Massachusetts handelt, analysiert Calais den umliegenden Text und greift auf öffentliche Datenquellen zurück.
Zu jedem extrahierten Konzept liefert die Software eine Relevanzschätzung ab. Dabei gibt eine Prozentzahl an, wie wichtig ein Begriff zur Charakterisierung eines Texts ist. Pro Dokument erhält man außerdem eine ID, mit der die extrahierten Metadaten abgerufen und der Öffentlichkeit zugänglich gemacht werden können.
In der derzeitigen Version kann Calais nur englisch- und französischsprachige Texte analysieren, eine Unterstützung von Deutsch will ClearForest in 2009 realisieren.
Community als Erfolgsfaktor
Laut ClearForest-Vizepräsident Tom Tague spielt die Community, die sich um Calais gebildet hat, eine wichtige Rolle. Derzeit sorgen 9.000 registrierte Nutzer für ein tägliches Aufkommen von über einer Million Transaktionen. Ihr Feedback hat entscheidenden Einfluss auf die weitere Entwicklung von Open Calais.
Da ClearForest hauptsächlich den Web Service und einige Demoanwendungen entwickelt, ist man besonders auf die Zusammenarbeit mit der Entwickler-Community angewiesen: Sie soll die zur Verfügung gestellte Technologie dazu verwenden, um Anwendungen für die Endbenutzer zu entwickeln.
Open Calais ist bis zu einem Limit von 40.000 Transaktionen pro Tag sowohl für nicht-kommerzielle als auch für kommerzielle Anwendungen kostenlos. ClearForest stellt dabei sicher, dass der von den Benutzern übermittelte Content nicht gespeichert und in keiner Form veröffentlicht wird, behält sich aber das Recht vor, die extrahierten Metadaten mit ihren eigenen Daten zu verknüpfen und zu nutzen [2].
Mehr Transaktionen, größere Sicherheit oder einen garantierten Service-Level bietet die Firma mit ihren Premiumdiensten an. Für Unternehmen, die ihre internen Dokumente nicht an Dritte schicken wollen, stehen On-Premise-Lösungen [3] zur Verfügung.
Neue Möglichkeiten durch Linked Data
Zu den beschriebenen Features kommt mit der soeben veröffentlichten Version 4 von Open Calais ein besonders vielversprechender Teil hinzu. Metadaten werden nicht mehr nur extrahiert, sie weisen nun auch Verknüpfungen zu externen Datenquellen auf. Dies geschieht unter der Berücksichtigung der so genannten Linked-Data-Prinzipien, den von Tim Berners-Lee formulierten Grundsätzen zur optimalen Bereitstellung und Verknüpfung von Daten im Web. Berners-Lee bezeichnet die konsequente Umsetzung dieser Prinzipien als „the web done right“ [4].
Linked Data zeichnet sich dadurch aus, dass die auf Webseiten erwähnten Ressourcen (Personen, Gegenstände, Konzepte etc.) jeweils einen eigenen HTTP-URI besitzen und beim Aufruf dieses URI eine Beschreibung der Ressource verfügbar ist, vorzugsweise in RDF und HTML. Zudem sollen Ressourcen verschiedener Sites untereinander verlinkt sein, um geschlossene Datensilos zu vermeiden und ein „Web of Data“ zu realisieren [5].
Dementsprechend haben alle im System von Calais eindeutig identifizierbaren Personen, Orte und Organisationen einen URI. Ruft man diesen im Browser auf, wird eine Seite mit Zusatzinformationen zur Entität angezeigt. Mit verschiedenen Tools lassen sich über den Identifier die RDF-Version der Zusatzinfos und Links zu weiteren Ressourcen ausgeben, die in einer eigenen Anwendung weiterverarbeitet werden können. Ein Paradebeispiel für Linked Data ist die Verknüpfung der URIs einer Entität mit ihren Pendants in DBpedia, dem „semantischen Zwilling“ von Wikipedia (mehr dazu in t3n Nr. 12/2008, Seite 31).
Durch die Umsetzung bei Calais ist es bereits möglich, zu vielen in einem Text entdeckten Entitäten weitere Informationen aus DBpedia abzufragen. Auf diesem Weg ist die Realisierung sonst kaum umsetzbarer Use Cases denkbar [6] : Man stelle sich vor, jemand möchte täglich eine Liste aller aktuellen Unternehmensübernahmen erstellen, an denen Beratungsfirmen mit Hauptsitz in New York beteiligt waren. Er könnte nun eine Anwendung entwickeln, die sämtliche zur Verfügung stehenden Wirtschaftsnachrichten von Open Calais analysieren lässt und die erhaltenen RDF-Daten nach Artikeln absucht, in denen der URI für das Calais-Konzept „MergerAcquisition“ existiert. Bei jedem Treffer könnten die DBpedia-URIs der beteiligten Unternehmen abgefragt werden. Damit ließe sich wiederum durch Queries an DBpedia ermitteln, ob es sich um Beratungsunternehmen handelt und ob diese ihren Sitz in New York haben. Ist dies der Fall, könnte man zum Beispiel automatisch aktualisierte Widgets mit Informationen über Unternehmenszusammenschlüsse auf seiner Website anbieten.
Testfahrt von Open Calais
Wie gut funktioniert nun die Metadatenextraktion von Calais in der Praxis? Darüber kann man sich in der Online-Demo selbst einen ersten Eindruck verschaffen [7] oder eine Reihe von Tools für Browser, Desktop & Co. ausprobieren [8].
Die beispielhafte Analyse eines BBC-Nachrichtenartikels [9] zeigt die Möglichkeiten und Beschränkungen von Calais. Die im Artikel erwähnten Autohersteller Ford und Tata werden erkannt und auch richtig disambiguiert. Somit finden sich im RDF-Output die jeweiligen URIs, unter denen man sich weitere Informationen über diese Firmen anzeigen lassen kann. Ratan Tata wird als Person identifiziert, ebenso wurde richtig festgestellt, dass er Präsident von Tata ist und ein Zitat von ihm extrahiert. Das Unternehmen Jaguar Land Rover erkennt Calais allerdings nicht.
Die Anwendung versteht, dass in dem Beitrag von einer Unternehmensübernahme berichtet wird. Diesen Artikel hätte man mit einer einfachen Volltextsuche nach dem Wort „Acquisition“ nicht gefunden, da der Begriff im gesamten Text nicht vorkommt. Während die übernehmende Firma und das Übernahmedatum erkannt werden, fehlt die Information, welche Firma übernommen wurde. Geht man den Ergebnissen noch genauer nach, sieht man, dass zum Beispiel zur Entität Ford eine Verknüpfung mit DBpedia vorhanden ist, bei Tata hingegen nicht.
Fazit
Open Calais bietet bereits jetzt einen sehr interessanten Service, der beständig erweitert und verbessert wird. Obwohl die extrahierten Metadaten oft unvollständig und manchmal auch fehlerhaft sind, produziert die Analyse überraschend brauchbare Ergebnisse.
Die Identifikation von Entitäten, vor allem von Personen, Ländern und Organisationen funktioniert in vielen Fällen gut, doch man muss auch mit falsch-negativen oder falsch-positiven Ergebnissen rechnen. So vermutet Calais beispielsweise in einem Artikel über George Bush im simplen Fragesatz „Did Bush cause the financial crisis?“ eine Person namens „Did Bush“.
Fakten aus Sätzen zu extrahieren, klappt seltener, im beschriebenen Use Case zu Unternehmensübernahmen in New York würde wohl eine nicht unwesentliche Anzahl an eigentlich passenden Artikeln unentdeckt bleiben. Anwendungen solcher Art müssten also fehlertolerant sein. Die extrahierten Fakten beziehen sich zudem bisher hauptsächlich auf für Nachrichten relevante Konzepte, es werden aber laufend neue Faktenkategorien hinzugefügt.