Kategorien für den Prototypen

Im Laufe der letzten Woche hat der Topic/S-Prototyp eine Aktualisierung erhalten, die ihn um ein paar wichtige Funktionen erweitert. Neu hinzugekommen ist die Kategorisierung von eingehenden Texten und die Verwendung von typspezifischen Regeln bei der Named Entity Extraction. Im Zuge der Erweiterung wurde auch ein Redesign einiger Klassen vorgenommen, sodass der Prototyp nun insgesamt runder läuft.

Automatische Klassifizierung

Das Hauptaugenmerk dieses Artikels liegt auf der Einführung des Klassifizierungstools, dass einlaufende Texte automatisch einer Kategorie zuordnet, da es sich hierbei um eine neue Funktion handelt. Erwähnenswert sind vor allem die quellenspezifische Kategorisierung und das verwendete Klassifizierungsschema.

Quellenspezifische Kategorisierung

Für jede Nachrichtenquelle wird ein separater Klassifizierer angelegt. Das erfordert natürlich ein klein wenig mehr Aufwand beim Training und der Verarbeitung der Texte, hat aber auch viele Vorteile. Zum einen können sich die Klassifizierer vollkommen auf die quellspezifischen Merkmale der Texte einstellen. So kommt es zu keinen gegenseitigen Beeinflussungen, weil Quelle 1 in ihren Wirtschaftsmeldungen gerne Formulierungen verwendet, die Quelle 2 niemals tippen würde. Eine Wirtschaftsmeldung ist es schließlich trotzdem.

Zum anderen bedienen nicht alle Quellen alle Kategorien. Quelle 1 hat sich z. B. auf Politik und Wirtschaft fokussiert und Quelle 2 veröffentlicht nur Meldungen zu Sport und Wirtschaft. Bei einem Klassifizierer für alle Quellen müsste für jeden Text entschieden werden, ob sich dieser Politik, Wirtschaft oder Sport zuordnen lässt. Bei der Verwendung quellspezifischer Klassifizierer müssen jeweils nur die zwei passenden Kategorien in Erwägung gezogen werden, was dem Klassifizierer die Entscheidung erleichtert und vielleicht auch etwas Zeit spart.

IPTC NewsCodes Media Topic

Bei der Suche nach einem passenden Klassifizierungsschema war es uns wichtig, dass dieses in einem standardisierten Format verfügbar ist, eine gewisse Verbreitung und Akzeptanz in der Medienbranche aufweist und unseren LinkedData-Ansatz entspricht. Als idealer Kandidat haben sich die IPTC NewsCodes herausgestellt. Sie besitzen Klassifizierungen für viele verschiedene Arbeitsbereiche. Für unseren Zweck sind aber vor allem die Media Topics aus den Descriptive NewsCodes  interessant. Sie bieten auf mehreren Hierarchiestufen Kategorien, die den groben Inhalt eines Medienelementes wiederspiegeln (z. B. Sport, Gesellschaft, Bildung usw.) können.

Die Media Topics bringen drei wesentliche Vorteile mit sich:

  1. In SKOS verfasst und somit in einem standardisierten Format verfügbar, das sich gut in den LinkedData-Ansatz von Topic/S einbinden lässt
  2. Jede Kategorie ist über ihre URI eindeutig identifiziert und erreichbar. Zusätzliche Informationen lassen sich somit ohne weiteres abfragen. Außerdem können andere Systeme unsere Klassifizierung also ohne weiteres verstehen.
  3. Standard der IPTC und somit eine breite Unterstützung in der Medienbranche

Regeln für die Named Entity Extraction

Auch der Bereich der Named Entity Extraction (NER) hat eine Erweiterung erfahren. In der neuen Version kann der Topic/S Prototyp die Vorteile des kombinierten Extraktionsansatzes aus Wortlisten und statistischer Erkennung besser ausnutzen. Über die neu hinzugefügten Regeln, ist er in der Lage die Auftrittsthäufigkeit von Personen in Texten genauer zu bestimmen. So werden jetzt die Nennungen von Nachnamen den passenden Personen im Text zugeordnet. Die Relevanz einer Person für einen Artikel lässt sich somit genauer bestimmen. Dadurch konnte aber auch noch ein anderes Problem in Angriff genommen werden. Manchmal kommt es vor, dass Nachnamen von Personen Ortsnamen gleichen. Ein Beispiel hierfür ist der deutsche Politiker Thomas Mirow. Sein Nachname ist gleichzeitig der Name der Kleinstadt Mirow in Mecklenburg-Vorpommern. Wird in Texten über Herrn Mirow stellenweise nur sein Nachname genutzt, kommt es bei der Erkennung durch die Wortliste zu Fehlern, da dies als der Ort Mirow erkannt wird. Mit Hilfe der neuen Regel, werden solche Fälle aufgespürt und ausgeblendet.

Evolution Topic/S Medienontologie (V 0.3)

Nachdem wir Version 0.2 unserer Medienontologie mit Hilfe des Prototyps im praktischen Einsatz ausprobieren konnten, war es Zeit einige Anpassungen vorzunehmen. Neben der Einführung neuer Klassen und Properties wurde auch die Auswahl der importierten Ontologien für Version 0.3 überarbeitet.

Mehr Schema.org

Um die Anzahl der Importe auf einem überschaubarem Stand zu halten und eine konsistente Ontologie zu erhalten, entschieden wir uns dafür die aus der Friend of a Friend-Ontologie genutzen Klassen foaf:Person, foaf:Organization sowie die aus der Event-Ontologie stammende Event-Klasse durch ihre jeweiligen Entsprechungen aus Schema.org zu ersetzen. Auf diesem Weg lassen sich bereits definierte Beziehungen zwischen den Klassen und Properties von Schema.org besser nutzen. Außerdem reduziert sich so die Fragmentierung unseres Models, was das Verständnis und die Arbeit mit der Ontologie vereinfacht.

Erweiterungen 

Neben der Anpassung bereits bestehender Konstrukte wurden auch neue Klassen und Properties eingeführt.

Der Umgang mit Named Entities (SemItems - SI) hat uns gezeigt, das es neben einem bevorzugtem Namen oft noch viele weiter Schreibweisen gibt, die einem SI zugeordnet sind. Aus diesem Grund wurde das Property http://schema.org/name durch die beiden SKOS-Properties skos:prefLabel und skos:altLabel ersetzt, die die Unterscheidung zwischen bevorzugtem Namen und Alternativbezeichnungen zulassen.

Eine weitere Anpassung der Ontologie betrifft die Genauigkeit mit der die Ergebnisse der NER abgelegt werden. Um Auftrittshäufigkeiten von SIs in Medienobjekten ausdrücken zu können, führen wir zwischen Medienobjekt und SI einen Zwischenknoten ein, der neben dem extrahierten SI die Auftrittshäufigkeit in verschiedenen Ebenen des Medienobjektes angibt. Bei einem Artikel kann so z. B. angegeben werden, wie oft ein SI in der Überschrift oder im Haupttext vorkommt. Die Abbildung veranschaulicht den Unterschied zwischen den Versionen noch einmal.

Unterschied zwischen neuer und alter Verknüpfung zwischen Media und SemItem

Eine weitere wichtige Änderung an der Ontologie betrifft die Modellierung des Zeitlichen Aspektes. Im Hinblick auf das Erkennen von Trends und Themen spielt das zeitliche Auftreten von Medienobjekten und den darin enthaltenen SIs eine Schlüsselrolle. Um diesen Bezug festhalten zu können, erhält die Topic/S Medienontologie eine Klasse Date, deren Instanzen jeweils einen Tag repräsentieren. Über Properties wird diese Instanz mit einem xsd:Date sowie separaten Repräsentationen des Tages, Monates und Jahres in nummerischer Form verknüpft. Durch das getrennte Ablegen der Zeitinformationen vereinfacht sich die Abfrage/Ermittlung von Zeitspannen und Distanzen zwischen Zeitpunkten.

Einsatz im Prototyp

Die hier vorgestellten Neuerungen der Version 0.3 kommen bis auf das Property für die alternativen Bezeichnungen (skos:altLabel) im Prototyp zum Einsatz. Das gleiche Schicksal teilen auch die Geokoordinaten für alle Arten von Locations. Wir lassen sie aktuell aus, um die Anzahl der Triple auf einem verträglichen Niveau zu halten.

Außerdem fehlen aktuell noch Kategorien zu den Medienobjekten. Die werden noch nicht extrahiert und können somit auch nicht eingetragen werden. Die Kategorisierung kommt aber mit der nächsten Version des Protoyps hinzu.