Evaluation des Suffixtree-Document-Models

Ähnliche Dokumente
Vektormodelle. Universität zu Köln HS: Systeme der maschinellen Sprachverarbeitung Prof. Dr. J. Rolshoven Referentin: Alena Geduldig

Text-Mining: Einführung

Textklassifikation mit Support Vector Machines

Information Retrieval,

HS Information Retrieval

Dynamisches Huffman-Verfahren

Welche Textklassifikationen gibt es und was sind ihre spezifischen Merkmale?

EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

2. Datenvorverarbeitung

Clusteranalyse von Nachrichtenartikeln

Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

Vorlesung Datenstrukturen

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen & Algorithmen

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

Kurfzassung Deutsch. Poier Lorenz. MMag. Wilhelm Loibl

4. Kreis- und Wegeprobleme Abstände in Graphen

Nichtdeterministische Platzklassen

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Routing Algorithmen. Begriffe, Definitionen

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

Textklassifizierung nach Erbkrankheiten aus OMIM Exposé einer Diplomarbeit

WMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou

T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente.

Universität Duisburg-Essen, Standort Duisburg Institut für Informatik und interaktive Systeme Fachgebiet Informationssysteme

Referat zum Thema Huffman-Codes

Grundlegende Eigenschaften von Punktschätzern

Algorithmen und Datenstrukturen 1

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

37 Gauß-Algorithmus und lineare Gleichungssysteme

Topologische Begriffe

Vorlesung 4 BETWEENNESS CENTRALITY

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2006 Termin:

Frequent Itemset Mining + Association Rule Mining

Klausur Informatik B April Teil I: Informatik 3

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten

Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte

Im allerersten Unterabschnitt wollen wir uns mit einer elementaren Struktur innerhalb der Mathematik beschäftigen: Mengen.

Unterscheidung: Workflowsystem vs. Informationssystem

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Beispiele zu den Verknüpfungs-Technologien-5.3.0

Datenstrukturen & Algorithmen

Principal Component Analysis (PCA)

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Algorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22

Einführung in die Informatik I Kapitel II.3: Sortieren

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing

Bäume Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Übungen zu Programmierung I - Blatt 8

1 Zahlentheorie. 1.1 Kongruenzen

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Klausur Algorithmen und Datenstrukturen

9. Heuristische Suche

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Algorithmen und Formale Sprachen

Tutorium Algorithmen & Datenstrukturen

Was bisher geschah. Klassifikation: Zuordnung Merkmal (Symptom) Lösung (Diagnose)

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Detecting Near Duplicates for Web Crawling

Indexstrukturen in XML

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Das Gummibärchen-Orakel [1]

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Grundlagen der Elektrotechnik 1

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

generiere aus Textdokumenten zunächst Metadaten, wende Data Mining - Techniken dann nur auf diese an

Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus

1 Boolesches Retrieval (2)

Statistische Verfahren zur Maschinen- und Prozessqualifikation

2 Geschäftsprozesse realisieren

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

4 Greedy-Algorithmen (gierige Algorithmen)

Programmiertechnik II

x 2 x 1 x Lernen mit Entscheidungsbäumen

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Datenvorverarbeitung von nominalen Daten für Data Mining

Anhang C Jährliche Überprüfung der Vorgaben

3 Quellencodierung. 3.1 Einleitung

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

ADS: Algorithmen und Datenstrukturen 2

Mathematik für das Ingenieurstudium

Auf dem Weg zu Website-Fingerprinting in der Praxis

Opinion Mining Herausforderungen und Anwendung in der Politik

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Transkript:

Köln, den 19. Oktober 2015 Studiengang Informationsverarbeitung Sommersemester 2015 Sprachliche Informationsverarbeitung Hauptseminar: Systeme der maschinellen Sprachverarbeitung bei Prof. Dr. Jürgen Rolshoven Evaluation des Suffixtree-Document-Models als Repräsentationsmodell zur Textklassifikation vorgelegt von: Alena Tabea Geduldig

Inhaltsverzeichnis 1 Vektormodelle 1.1 Das Bag-of-Words-Model 1.2 Ziele und Umsetzung 1 2 5 2 Das Suffixtree-Document-Model 2.1 Suffixbäume für Dokumente 2.2 Dokumentenähnlichkeit im Suffixtree-Document-Model 2.3 Zusammenfassung 6 7 8 9 3 Evaluation von Vektormodellen zur Klassifikation von Stellenanzeigen 3.1 Ausgangsbasis und Aufbau des Experiments 3.2 Der Ukkonen-Algorithmus 3.3 Ergebnisse 11 11 12 17 4 Fazit und Ausblick 20 5 Literaturverzeichnis 21

1 Vektormodelle Auf Grund der immensen und immer weiter zunehmenden Menge an online verfügbaren Texten wächst auch das Interesse daran, den Informationsgewinn aus diesen Texten zu automatisieren. Texte inhaltlich zu erfassen, Beziehungen zwischen Texten herzustellen und diese so aufzubereiten, dass ein schneller Zugriff auf gewünschte Informationen möglich ist, sind die Ziele von Text Mining und Information Retrieval Verfahren. Eine Herausforderung stellt hierbei die unstrukturierte Form natürlichsprachlicher Texte dar. Anders als die strukturierten Daten in einer Datenbank, die gezielt nach Informationen abgefragt werden können, stellen Texte unbeziehungsweise semistrukturierte Daten 1 dar. Um maschinell ausgewertet und inhaltlich interpretiert werden zu können, müssen Texte zunächst in ein strukturiertes Format übertragen werden, welches ein maschinelles Verständnis ihrer Bedeutung ermöglicht. Vektormodelle beschreiben eine Vorgehensweise, natürlichsprachlichen Text in numerische Vektoren zu überführen und liefern somit ein maschinell verarbeitbares Format für Textdaten. Ein Vektor besteht aus einer geordneten Liste von numerischen Werten, die auf einen festen Punkt innerhalb eines Vektorraums hinweisen. Jeder Wert gibt hierbei die Entfernung vom Koordinatenursprung auf einer der Dimensionsachsen an. Das Ziel von (Dokument-) Vektormodellen ist es, jedes Textdokument in einen eigenen Vektor zu überführen, der den Inhalt des Dokuments repräsentieren soll. Hierzu werden die Dokumente auf eine feste Anzahl von Merkmalen (sogenannten Features) reduziert. Assoziiert man jedes Merkmal mit einer Dimension im Vektorraum, können Dokumentvektoren als Listen von Attribut-Wert-Paaren interpretiert werden, dessen Dimensionseinträge Merkmalsausprägungen codieren. Durch ein Vektormodell wird festgelegt, welche Merkmale zur Repräsentation der Dokumente ausgewählt werden und wie diese aus dem Text extrahiert werden können. Eine Gewichtungsfunktion legt darüber hinaus die Berechnung der Merkmalswerte fest. Im Vordergrund steht dabei die Anforderung, dass inhaltliche oder semantische Beziehungen zwischen Dokumenten auch nach der Transformation in Vektoren erhalten bleiben, so dass die mathematische Ähnlichkeit zweier Vektoren mit der semantischen Ähnlichkeit ihrer Dokumente übersetzt werden kann. Mathematische Vergleichsmetriken, wie beispielsweise die Euklidische Distanz oder die Cosinus- Ähnlichkeit liefern somit ein maschinell berechenbares Maß für semantische Ähnlichkeit. (Zu Ähnlichkeitsmaßen für Vektoren siehe auch Feldman & Sanger 2007: S. 85.) Im Bereich des Text Mining kommen Dokumentvektoren zum Beispiel als Input für maschinell lernende Klassifikationsalgorithmen oder zum Clustern großer Textkorpora zum Einsatz. Im 1 Zu semistrukturierten Daten vgl. auch Abitebul et al. 2000. 2

Vektorraum Retrieval werden Vergleichsmetriken unter anderem benutzt, um relevante Dokumente zu Anfragen, die als Query-Vektor formuliert sind, zu ermitteln. 1.1 Das Bag-of-Words-Model Das klassische und am weitesten verbreitete Modell zur Vektorrepräsentation von Textdokumenten ist das auf Worthäufigkeiten basierende Bag-of-Words-Model (BoWM). Textdokumente werden in diesem Modell durch die Menge ihrer Wörter definiert, die als voneinander unabhängige und eigenständige Merkmale einen Featureraum aufspannen. Um alle Dokumente eines Korpus in demselben Featureraum zu modellieren, werden alle Wörter des Korpus zu einem gemeinsamen Vokabular V zusammengefasst. Häufig wird hierbei auf sogenannte Stoppwörter verzichtet. Dies sind meist hochfrequente Funktionswörter wie beispielsweise Artikel oder Konjunktionen, die mitunter als nicht aufschlussreich für den Inhalt eines Textes angesehen werden. Darüber hinaus können die Wörter zuvor auf ihre Stammformen zurückgeführt werden, so dass beispielsweise den Wörtern Bücher und Buches das lexikalische Wort Buch zugeordnet wird. Dieses Verfahren nennt sich Stemming und kann beispielsweise mit Hilfe des Porter-Stemming-Algorithmus durchgeführt werden (vgl. Porter 1980). Beide Verfahren dienen der Reduzierung beziehungsweise dem Ausschluss nicht relevanter Merkmale und werden unter dem Begriff Feature Reduction zusammengefasst. Zur Bestimmung der Merkmalsgewichte, die im BoWM mit der Wortrelevanz für den Textinhalt übersetzt werden können, existieren unterschiedliche Verfahren. Die einfachste Methode ist die Verwendung binärer Merkmale. Hierbei enthält der Dokumentvektor in der mit einem Wort assoziierten Dimension der Wert 1, falls das Wort im Dokument enthalten ist, oder 0 falls es nicht enthalten ist. Komplexere Gewichtungsverfahren berücksichtigen auch die Häufigkeit der Wörter und ihre Verteilung im Korpus. Ein oft angewendetes Termgewichtungsmaß ist das tf-idf- Maß, welches die Häufigkeit eines Wortes im Dokument in Relation zur Gesamtverteilung im Korpus setzt. Die Berechnung des Wertes basiert auf zwei Annahmen: 1. Die Termfrequenz (tf) eines Wortes beschreibt die Anzahl seines Vorkommens innerhalb eines Dokuments. Je höher die Termfrequenz eines Wortes ist, desto mehr Aussagekraft besitzt es für den Inhalt des Dokuments. 2. Die Dokumentfrequenz (df) eines Wortes beschreibt die Anzahl der Dokumente im Korpus, in denen es mindestens einmal auftritt. Je niedriger die Dokumentfrequenz eines Wortes ist, desto besser beschreibt es das Dokument, das es enthält. 3

Basierend auf diesen Prämissen berechnet sich der tf-idf-wert eines Wortes t für ein Dokument d wie folgt:, Maxtf bezeichnet hierbei die Termfrequenz des im Dokument am stärksten vertretenen Wortes. d steht für die Anzahl aller Dokumente im Korpus. (Vgl. hierzu auch Heyer et al. 2008: S. 203 ff.) In Abbildung 1.1 ist die Vektorerstellung im BoWM grafisch dargestellt. Nach der Auswahl der relevanten Wörter wird das übrig gebliebene Vokabular in eine beliebige aber feste Reihenfolge gebracht, welche die Zuweisung der Wörter zu je einer Vektorraumdimension festlegt. Die Beliebigkeit der Wortreihenfolge macht deutlich, was für ein Dokumentbegriff vom BoWM impliziert wird und ihm gleichzeitig seinen Namen gibt: Dokumente werden als bags of words, also als Behälter von Wörtern aufgefasst, die ungeachtet ihrer Position im Dokument, d.h. ihres Kontexts, zusammengefasst werden. Abbildung 1.1: Vektorerstellung im Bag-of-Words-Model mit dem tf-idf-maß als Gewichtungsfunktion 4

1.2 Ziele und Umsetzung Die Aufhebung der Wortreihenfolge und der dadurch implizierte Dokumentbegriff gehören zu den Hauptkritikpunkten am BoWM. Die Problematik hinter der Auffassung von Dokumenten als ungeordnete bags of words soll zu Beginn dieser Arbeit verdeutlicht werden. Darauf aufbauend wird ein zum BoWM alternatives Modell zur Vektorerzeugung vorgestellt. Das Suffixtree- Document-Model (STDM) wurde 2007 von H. Chim und X. Deng entwickelt und kann als Antwort auf die Hauptkritik am klassischen BoWM verstanden werden (vgl. Chim & Deng 2007). In Kapitel 2 wird das Konzept dieses Modells im Einzelnen erläutert und seine Vorzüge gegenüber dem klassischen BoWM aufgezeigt. Kapitel 3 befasst sich mit der Anwendung und Implementierung des STDMs als Repräsentationsgrundlage zur automatischen Textklassifikation. Das bestehende Softwareframework JASC (= Job-Ad-Section-Classifier) 2, ein Evaluationstool für Textklassifikationstechniken, wird durch eine neue Komponente ergänzt, welche die Klassifikation auf Grundlage des STDM ermöglicht. Der hierfür verwendete Ukkonen- Algorithmus wird in Abschnitt 3.2 erläutert. Durch die Einbindung des STDM in das bestehende Framework JASC wird ein direkter Vergleich der beiden Vektormodelle in verschiedenen Klassifikationsszenarien ermöglicht. Es können verschiedene Experimente ausgeführt werden, die Aufschluss darüber geben sollen, ob das STDM auch in der Praxis durch bessere Klassifikationsergebnisse überzeugen kann. Darüber hinaus soll evaluiert werden, welcher Klassifikationsalgorithmus durch das STDM positiv beeinflusst wird und wie sich unterschiedliche Gewichtungsfunktionen auf das Modell übertragen lassen. 2 JASC entstand im Zuge eines Kooperationsprojekts des Bundesinstitut für Bildung (BIBB) und der sprachlichen Informationsverarbeitung der Universität zu Köln. Siehe auch Kapitel 3. 5

2 Das Suffixtree-Document-Model Obwohl das in Abschnitt 1.1 beschriebene BoWM eine weit verbreitete und für viele Anwendungen bewährte Methode zur Vektorrepräsentation ist, gibt es insbesondere einen Kritikpunkt an dem Modell, der den zu Grunde gelegten Dokumentbegriff betrifft. Die Auffassung eines Dokuments als bag of words reduziert es allein auf die Anzahl seiner Wörter unabhängig davon, in welcher Reihenfolge sie im Ursprungstext vorzufinden sind. Jegliche Informationen über die Zusammensetzung und somit der Syntax eines Dokuments gehen bei der Übertragung in Vektoren verloren. Die Problematik bei diesem Vorgehen wird deutlich an den folgenden Beispieldokumenten: (a) Peter fährt zum Golf mit dem Bus (b) Zum Bus fährt Peter mit dem Golf Da in beiden Sätzen dieselben Wörter mit derselben Häufigkeit auftreten, werden sie im BoWM auf identische Vektoren abgebildet und gelten damit auch als semantisch gleich. Tatsächlich bedeutet der erste Satz aber, dass Peter zum Golfen fährt und dafür den Bus benutzt während Peter im zweiten Satz ein VW-Auto fährt, um einen Bus zu erreichen. Diese semantischen Unterschiede ergeben sich aber aus der Anordnung der Wörter und gehen daher im BoWM verloren. Erst aus dem Wortkontext ergeben sich auch die unterschiedlichen Bedeutungen des Wortes Golf, die auf Grund ihrer Synonymität fälschlicherweise zu einem Merkmal zusammengefasst werden. Mit Rücksicht auf diesen Schwachpunkt am BoWM stellten H. Chim und X. Deng 2007 ein alternatives Vektormodell für Textdokumente vor. Das Suffixtree-Document-Model zeichnet sich dadurch aus, dass es nicht allein auf Worthäufigkeiten basiert, sondern insbesondere Informationen über die Reihenfolge der Wörter codiert. Das Modell hebt also genau den Hauptkritikpunkt am BoWM auf und entspricht damit eher dem klassischen Bedeutungsbegriff nach Gottlob Frege. 3 Anstelle von bags of words werden im STDM Dokumente als strukturierte Bäume (sog. Suffixtrees) aufgefasst, eine Datenstruktur für Strings, die im Folgenden erläutert wird. 3 Das Frege-Prinzip auch Kompositionalitätsprinzip besagt, dass sich die Bedeutung eines sprachlichen Ausdrucks aus den darin enthaltenen Wörtern genauso wie der Zusammensetzung dieser Wörter ergibt (vgl. Bußmann 2002: Kompositionalitätsprinzip). 6

2.1 Suffixbäume für Dokumente Ein Suffixtree ist eine Baumdatenstruktur, die sämtliche Suffixe eines Dokuments enthält. Unter dem i-ten Suffix eines Dokuments d={w 1, w 2,,w n } wird hierbei der Substring von d verstanden, der mit dem Wort w i beginnt und mit dem Wort w n endet. Ausgehend von einem Wurzelknoten repräsentiert jeder Pfad im Baum ein Suffix, dessen Kanten mit den entsprechenden Wörtern gelabelt sind. Außerdem wird ein zusätzliches Symbol ($) zur Markierung des Dokumentendes eingefügt, das folglich am Ende jedes Pfades (den Blättern des Baumes) steht. Mit einer naiven straight-forward -Methode kann der Aufbau eines Suffixbaums in quadratischer Laufzeit zur Anzahl der Wörter gelöst werden. 4 Beginnend beim kleinsten Suffix {w n } wird nacheinander jedes weitere Suffix in den Baum eingefügt. Um das i-te Suffix einzufügen, wird ausgehend vom Wurzelknoten nach einer Kante gesucht, die mit dem Wort w i beginnt. Existiert so eine Kante wird der entsprechende Pfad traversiert und dieselbe Überprüfung am Folgeknoten für das Wort w i+1 wiederholt. Wird ein Knoten erreicht, der keine passende Kante besitzt, wird eine neue Kante hinzugefügt und mit dem entsprechenden Wort gelabelt. Abbildung 2.1 zeigt den schrittweisen Aufbau eines Suffixtrees an dem Beispielsatz cat ate cheese. Abbildung 2.1: Aufbau eines Suffixtrees 4 Eine effizientere Lösung ist der nach seinem Erfinder benannte Ukkonen-Algorithmus. Siehe hierzu Kapitel 3.2 7

2.2 Dokumentenähnlichkeit im Suffixtree-Document-Model Basierend auf der oben beschriebenen Datenstruktur definieren Chim und Deng die Ähnlichkeit zweier Dokumente anhand der Übereinstimmungen ihrer Suffixtrees. Um diese zu ermitteln, werden sämtliche Dokumente des betrachteten Korpus in einen gemeinsamen Suffixbaum (generalized Suffixtree) überführt. Bereits beim Aufbau dieses alle Dokumente übergreifenden Suffixbaums wird in jedem Knoten gespeichert, welche Dokumente den Knoten mit welcher Häufigkeit traversiert haben. In Abbildung 2.2 ist der generalized Suffixtree für die beiden Dokumente cat ate cheese und mouse ate cheese dargestellt. Abbildung 2.2: Generalized Suffixtree der Dokumentecat ate cheese und mouse ate cheese. Jeder Knoten im generalized Suffixtree repräsentiert einen Teilstring des Korpus die Kantenlabels von der Wurzel bis zum entsprechend Knoten. Dokumente, die denselben Knoten traversiert haben, teilen dementsprechend auch den zugehörigen Teilstring miteinander. Zwei Dokumente können somit als umso ähnlicher bewertet werden, desto mehr Knoten sie gemeinsam traversiert haben. Diese Knoten, bzw. die dazugehörigen Teilstrings fungieren im STDM als Merkmale und werden, analog zum BoWM, mit jeweils einer Vektorraumdimension assoziiert. Chim und Deng verwenden nur die Knoten, die von mindestens zwei Dokumenten traversiert wurden. Sie repräsentieren die Menge aller überlappenden Teilstrings des Korpus. 8

Analog zum BoWM lassen sich die Konzepte zur Termgewichtung auch auf die Knotengewichtung im Suffixbaum übertragen. Entsprechend schlagen Chim und Deng das tf-idf- Maß vor. Die Termfrequenz (tf) wird hierzu durch die Knotenfrequenz (kf) ersetzt. Sie definiert sich durch die Häufigkeit mit der ein Dokument einen Knoten traversiert hat und somit durch die Häufigkeit des entsprechenden Teilstrings im Dokument. Analog entspricht die Dokumentfrequenz eines Knoten k der Anzahl der Dokumente, die k traversiert haben. Abbildung 2.3 veranschaulicht die Knotengewichtung im STDM. Abbildung 2.3.: Knotengewichtung im STDM. Dokument- und Knotenfrequenz werden in jedem Knoten des Generalized Suffixtrees gespeichert. 2.3 Zusammenfassung Anders als im BoWM fungieren im STDM nicht nur einzelne Wörter als Dokumentmerkmale, sondern auch Teilstrings, die mehrere Wörter umfassen. Dies hat den Vorteil, dass zum Vergleich von Dokumenten auch die Abfolge der Wörter berücksichtigt wird, und somit ein differenzierter Bedeutungsbegriff zu Grunde gelegt wird. Sätze wie Der Mann beißt den Hund und Der Hund beißt den Mann werden auf Grund ihrer verschiedenen Wortstellung nicht mehr als identisch bewertet. Dennoch wird ihre Ähnlichkeit durch die gemeinsamen Teilstrings (hier Wörter) ausgedrückt. Auch im Umgang mit Synonymen ist dieses Konzept vorteilhaft. Zwar werden Synonyme auch im STDM nicht explizit als solche erkannt, eine Differenzierung ergibt sich aber automatisch 9

durch ihre meist sehr verschiedenen Kontexte. Ähnlich verhält es sich auch mit Homonymen, dessen Ähnlichkeit durch ähnliche Wortfolgen im Kontext ausgedrückt wird. Die umfangreiche Differenzierung von Merkmalen erfordert allerdings auch einen höheren Implementierungsaufwand und durch die größere Zahl an Merkmalen auch einen höheren Speicherbedarf, was bei großen Korpora durchaus von Bedeutung sein kann. Das BoWM ist daher auf Grund seiner Einfachheit auch weiterhin ein bewährtes Verfahren und es ist zu testen, ob der Mehrwert des STDM das komplexere Repräsentationsmodell rechtfertigt. Im nachfolgenden Kapitel werden die beiden Vektormodelle als Repräsentationsgrundlage zur automatischen Textklassifikation evaluiert. 10

3 Evaluation von Vektormodellen zur Klassifikation von Stellenanzeigen Im Zuge eines Kooperationsprojekts vom Bundesinstitut für Berufsbildung (BIBB) und der Sprachlichen Informationsverarbeitung der Universität zu Köln wurde im vergangenen Jahr ein Softwareframework 5 (JASC) zur automatischen Klassifikation von Abschnitten aus Stellenanzeigen entwickelt (vgl. Hermes 2015). Das Framework ermöglicht es, verschiedene Klassifikationsalgorithmen und Verfahren zur Präprozessierung miteinander zu kombinieren und durch ein Kreuzvalidierungsverfahren gegeneinander zu evaluieren. Auf diese Weise können zahlreiche Experimente ausgeführt werden und die für diese Problemstellung geeignetsten Verfahren ermittelt werden. 3.1 Ausgangsbasis und Aufbau des Experiments Abbildung 3.1: Module des Textklassifikation-Frameworks JASC Das Framework lässt sich, wie in Abbildung 3.1 dargestellt, grob in vier Hauptmodule einteilen, die jeweils unterschiedlich konfiguriert werden können (für eine detaillierte Beschreibung siehe auch Hermes 2015 & Geduldig 2015). Das erste Modul Feature Selection ist für die Auswahl der Merkmale zuständig, anhand derer die Vektorrepräsentationen der einzelnen Textabschnitte erstellt werden. Zur Auswahl stehen bisher einzelne Wörter oder n-gramme über Wörter, die jeweils zusätzlich durch ein Stoppwortfilter- oder Stemmingverfahren reduziert werden können. Im zweiten Modul Feature Quantifying wird eine Gewichtungsfunktion ausgewählt, die die Berechnung der Merkmalswerte festlegt. Neben dem in Kapitel 1 vorgestellten tf-idf-maß können 5 Github-Repository: https://github.com/spinfo/ja_prof 11

die absolute Termfrequenz und die relative Termfrequenz (im Verhältnis zur Dokumentlänge) ausgewählt werden. Weiter kann der Loglikelihood-Quotient zur Gewichtung der Merkmale verwendet werden. Hierbei wird die Häufigkeit eines Merkmals im Dokument mit seiner Gesamthäufigkeit im Korpus verglichen. Im dritten Modul Classification wird schließlich der Algorithmus ausgewählt, der die eigentliche Klassifikation der Dokumentvektoren vornimmt. Hierzu zählen der Rocchio-Algorithmus (ein lineares Klassifikationsverfahren), ein statistischer Naive-Bayes-Klassifikator und ein k-nearest-neighbour-klassifikator. (Zu den einzelnen Klassifikationsverfahren siehe auch Manning et al. 2008.) Zudem wurde die Klassifikation mit Support Vector Machines hinzugefügt (vgl. Geduldig, 2015), so dass insgesamt fünf verschiedene Klassifikationsalgorithmen verwendet werden können. Im letzten Modul Evaluation kann anhand eines Kreuzvalidierungsverfahrens die zuvor ausgewählte Konfigurationskombination evaluiert werden. Über den Vergleich mit dem Gold-Standard der manuell vorgenommenen Vorauszeichnungen werden die gängigen Evaluationswerte Precision, Recall, Accuracy und F-Measure berechnet. (Zu den Evaluationswerten siehe auch Carstensen et al. 2010: S. 155.) Im Zuge der vorliegenden Hausarbeit wurde das Modul Feature Selection, welches für die Auswahl der zur Klassifikation herangezogenen Merkmale zuständig ist, durch eine neue Komponente, den SuffixtreeFeatureGenerator, erweitert. Die Komponente ermöglicht die Verwendung des STDM zur Repräsentation der Textdokumente. Hierfür wird aus sämtlichen zu klassifizierenden Textabschnitten ein Generalized Suffixtree erzeugt, aus dem die entsprechenden Knotenmerkmale, wie in Kapitel 2 erläutert, extrahiert werden können. Zum Aufbau des Generalized Suffixtrees wird der nach seinem Erfinder benannte Ukkonen-Algorithmus benutzt, der der im folgenden Abschnitt erläutert wird. 3.2 Der Ukkonen-Algorithmus Der Ukkonen-Algorithmus ist ein Verfahren zum Erzeugen eines Suffixtrees, das 1995 von dem Informatiker Esko Ukkonen vorgestellt wurde (vgl. Ukkonen 1995). Der Vorteil dieses Algorithmus gegenüber dem in Kapitel zwei erläuterten naiven Verfahren ist in erster Linie seine lineare Laufzeit. Hinzu kommt, dass der Eingabestring on-line von links nach rechts verarbeitet wird und somit auch noch während dem Aufbau um weiter Zeichen erweitert werden kann. (Vgl. zu den folgenden Erläuterungen auch Gusfield 1997: Kap. 6.1.) Der Ukkonen-Algorithmus baut auf sogenannten impliziten Suffixtrees, eine leicht abgewandelte und vereinfachte Form von Suffixtrees, auf. Diese Datenstruktur soll zunächst definiert werden: 12

Definition 3.1: Impliziter Suffixtree Ein impliziter Suffixtree für einen String S kann aus einem Suffixtree erzeugt werden, indem zunächst sämtliche das String-Ende markierenden Symbole ($) entfernt werden und anschließend alle nun Label-losen Kanten und alle (inneren) Knoten, die nicht mindestens zwei Kindknoten besitzen, entfernt werden. Die nachfolgende Abbildung zeigt den Suffixtree und daraus abgeleiteten impliziten Suffixtree für den String abcba. Suffixtree implicit Suffixtree Abbildung 2.4: Suffixtree und impliziter Suffixtree des Strings abcba Die Abbildung veranschaulicht, dass durch das Überführen in den impliziten Suffixtree ein Informationsverlust stattfindet. Nicht jedes Suffix des Eingabestrings endet in einem Blatt und kann somit explizit identifiziert werden. Dennoch ist jedes Suffix im impliziten Suffixbaum enthalten, durch die fehlenden terminalen Symbole aber nicht mehr eindeutig gekennzeichnet. Konzeptuell kann der Ukkonen-Algorithmus beschrieben werden als ein naives und simples Verfahren mit einer Laufzeit von O(n 3 ). Durch einige Implementierungstricks lässt sich die 13

Laufzeit aber nachträglich verbessern, so dass die lineare Worst-Case-Laufzeit O(n) erreicht wird. Der naive Algorithmus zum Aufbau des impliziten Suffixtrees ist nachfolgend skizziert. Sukzessive wird für jedes Präfix des Eingabestrings S[1, i] ein impliziter Suffixtree konstruiert. Beginnend beim kleinsten Präfix S[1] wird der implizite Suffixtree (IS 1 ) in jedem Iterationsschritt zum impliziten Suffixtree des nächstgrößeren Präfix IS i+1 erweitert bis schließlich ein impliziter Suffixtree des gesamten Eingabestrings erstellt wurde. Dieser wird anschließend in einen richtigen Suffixbaum überführt. Naiver Aufbau des impliziten Suffixtrees Konstuiere IS 1 Fori = 1 to m-1 erweitereis i zu IS i+1 for j = 1 to i+1 finde das Ende des Pfades S[j..i] erweitere den Pfad um S[i+1] end end Bei der Erweiterung des Pfades S[i j] um das Zeichen S[j+1] können drei Fälle auftreten. Die folgenden Regeln definieren, wie die Erweiterung in jedem dieser Fälle zu lösen ist. Regel1 (Der gesuchte Pfad (S[j,..,i]) endet in einem Blatt): Das neue Zeichen (S[i+1])wird ans Ende des entsprechenden Kantenlabels angehängt. Regel 2 (Der gesuchte Pfad befindet sich bereits im Baum, endet aber nicht in einem Blatt, sondern wird durch mindestens ein weiteres Zeichen, das nicht S[i+1] ist, fortgeführt): Am Ende des gesuchten Pfades wird eine neue Kante eingefügt, die mit dem Zeichen S[i+1] gelabelt wird. Regel 3 (Im Baum befindet sich bereits der Pfad S[j, i+1]) In diesem Fall ist keine Erweiterung mehr notwendig. In Abbildung 3.2 ist der Aufbau des impliziten Suffixtree für den Eingabestring abcba skizziert. 14

Abbildung 3.2: Sukzessiver Aufbau des impliziten Suffixtrees für den Eingabestring abcba Verbesserung der Laufzeit Der erste Schlüssel zur Verbesserung der Laufzeit des oben skizzierten Algorithmus liegt darin, die Enden der Pfade, an die ein neues Zeichen angefügt werden muss, schnell zu finden. Müsste in jedem Iterationsschritt der gesuchte Pfad von der Wurzel ausgehend gesucht werden, würde jede Erweiterung im Worst-Case die Traversierung des vollständigen Baumes erfordern. Durch die Einführung sogenannter Suffix-Links, lässt sich die Suche nach der richtigen Position im Suffixbaum jedoch beschleunigen. 15

Definition 3.2: Suffix-Links Sei xα ein String, wobei x ein einzelnes Zeichen und α einen (möglicherweise leeren) Substring bezeichnet. Sei v ein interner Knoten mit dem Kantenlabel xα und s(v) ein weiterer Knoten mit dem Kantenlabel α. Dann ist ein Suffix-Link ein Zeiger vom Knoten v auf den Knoten s(v) Unter Berücksichtigung des oben skizzierten Algorithmus kann man feststellen, dass jeder innerer Knoten (mit Ausnahme des zuletzt eingefügten Knotens) im impliziten Suffixtree einen Suffix-Link besitzt. (Der dazugehörige Teilstring wurde jeweils im vorangegangenen Erweiterungsschritt gebildet.) Diese Suffix-Links sind ein erster Schritt zur Beschleunigung des naiven Algorithmus. Bei der Suche des Pfad-Endes, an das ein neues Zeichen eingefügt werden soll, muss dank der eingeführten Suffix-Links nicht mehr in jedem Schritt bei der Wurzel begonnen werden. Stattdessen wird beim ersten Knoten oberhalb des zuletzt eingefügten Suffixes begonnen. Dieser ist entweder die Wurzel, oder ein interner Knoten dessen Suffix-Link auf den Knoten zeigt, an dem die Suche fortgesetzt werden muss. Das Folgen der Suffix-Links stellt zwar zunächst eine Verbesserung dar, im Worst-Case (nämlich dann, wenn ein Baum keine inneren Knoten besitzt), wird die Laufzeit des Algorithmus aber dennoch nicht verbessert. Zum Erreichen der Linearen Laufzeit O(n) sind noch drei weitere Tricks notwendig: 1. Der Skip/Count-Trick Ist man einem Suffix-Link gefolgt, muss von dort aus nach dem Ende der Zeichenkette S[j,..,i] gesucht werden, an die das neue Zeichen S[i+1] angehängt werden muss. Findet man eine Kante, die mit dem richtigen Zeichen beginnt, wird zunächst die Länge dieser Kante überprüft. Ist sie kleiner als die Länge der gesuchten Kante, kann sie als Kandidat ausgeschlossen werden, ohne traversiert werden zu müssen. 2. Abbruch bei Regel 3 Sobald in einer Phase einmal Regel 3 angewendet wurde, wird sie auch in allen weiteren Erweiterungsschritten dieser Phase Anwendung finden, denn wenn S[j,,i] im Baum enthalten ist, ist automatisch auch S[j+1,, i] im Baum. Die Phase kann somit vorzeitig beendet werden. 3. Verwendung eines globalen Index Zu diesem Trick führt die Beobachtung, dass Blätterknoten immer Blätterknoten bleiben und niemals eine Kante an ein Blatt angefügt wird. Somit kann an einem Blatt nur Regel 1 16

zur Anwendung kommen, das heißt ein zusätzliches Zeichen angefügt werden. Anstatt dieses Zeichen in jeder Phase separat hinzuzufügen, wird ein globaler Index eingeführt, der die Position dieses Zeichens im gesamten String S angibt. Dieser muss lediglich in jeder Phase um 1 erhöht werden, was automatisch und in konstanter Zeit ausgeführt werden kann. Mit Hilfe von Suffix-Links und der Anwendung der darauf aufbauenden Tricks, kann der implizite Suffixtree eines Strings S in linearer Zeit zur Länge S erzeugt werden. Um aus dem impliziten Suffixtree einen richtigen Suffixtree zu erzeugen, muss nun nur noch eine letzte Phase des Algorithmus für die Zeichenkette S$ ausgeführt werden. Abbildung 3. 3 veranschaulicht diesen Vorgang. Abbildung 3.3: Erweiterung des impliziten Suffixtrees zu einem Suffixtrees 3.3 Ergebnisse Nach der Integration des STDM in das Klassifikationsframework JASC wurden Experimente mit sämtlichen Konfigurationsmöglichkeiten in den unterschiedlichen Modulen durchgeführt. Hierfür wurde jeweils das STDM als Repräsentationsmodell verwendet und das BoWM, inklusive verschiedener Varianten mit N-Grammen statt Wörtern. In der nachfolgenden Tabelle sind die besten F-Score Werte, einer Kombination aus Precision und Recall, des STDM aufgelistet. Als Vergleich ist diesen jeweils das äquivalente Ergebnis des BoWM gegenübergestellt. 17

Classifier Quantifier Feature- Reduction n-grams F-Score STDM F-Score BoWM KNN (k=4) loglikelihood tf-idf stemming 2-grams 2-3-grams 2-grams 0,9526 0.8946 0.9298 0.8820 0.8585 KNN (k=5) loglikelihood tf-idf stemming 2-grams 0,9520 0.8842 0.8528 SVM tf-idf loglikelihood 3-grams 0,9318 0.9015 0.9098 Rocchio loglikelihood _ 2-grams 0,9166 0.5559 Bayes - _ 3-grams 0,6625 0.6527 Tabelle 3.1: Die besten F-Score Ergebnisse im Suffixtree-Document-Model Der beste F-Score, der mit dem STDM als Repräsentationsgrundlage erzielt werden konnte beträgt 0,9526. Als Klassifikator wurde hierbei ein k-nearest-neighbour Verfahren verwendet, das die vier nächsten Nachbarn im Trainingsdatensatz zur Klassifikationsentscheidung verwendet. Als Knotengewichte wurde das Loglikelihood-Maß verwendet und zusätzlich wurde vor der Suffixbaumerstellung ein Stemming angewendet. Unter denselben Voraussetzungen erzielte das BoWM einen F-Score von 0,8946. Ein ähnlich gutes Ergebnis konnte auch mit Support Vector Machines als Klassifikationsverfahren erzielt werden (0,9318). Das entsprechende Experiment mit dem BoWM erreicht ebenfalls einen F-Score Wert von über 90 % (0,9015). Auffällig ist hingegen der Vergleich der beiden Vektormodelle bei der Verwendung des Rocchio-Klassifikators. Während im STDM ein F-Score von 0,9166 erzielt wurde, liegt dieser bei äquivalenter Konfiguration im BoWM bei lediglich 0,5559. Ähnlich schlechte Ergebnisse wurden, unabhängig von der Auswahl des Vektormodells, mit dem Naive-Bayes-Klassifikator erzielt. (0,6625 im STDM und 0,6527 im BoWM) Tabelle 3.2 zeigt die besten Klassifikationsergebnisse mit dem BoWM. Diesen gegenübergestellt sind die äquivalenten Ergebnisse unter Verwendung des STDM. Das beste Ergebnis wird auch im BoWM mit Hilfe des k-nearest-neighbour Verfahrens erreicht. Es liegt mit einem F-Score von 0,9409 nur knapp unter dem besten STDM-Ergebnis. Unter denselben Voraussetzungen schneidet dieses jedoch nach wie vor minimal besser ab. (0,9462). Auch bei Verwendung der 18

anderen Klassifikatoren liegt der F-Score bei Verwendung des STDM durchgehend knapp über dem des BOWM. Classifier Quantifier Feature- Reduction n-grams F-Score BoWM F-Score STDM KNN (k=4) loglikelihood _ stemming _ 3-grams 2-grams 0,9409 0,9402 0,9397 0,9462 0,9487 0,9475 KNN (k=6) logliklihood _ 2-3-grams 0,9383 0,9455 SVM loglikelihood _ 3-grams 0,9098 0,9318 Rocchio loglikelihhod _ words 0,8814 0,8941 Bayes - _ 3-grams 0,6527 0,6625 Tabelle 3.2: Die besten F-Score Ergebnisse im Bag-of-Words-Model Zu erwähnen ist, dass das von Chim und Deng beschriebene Verfahren zur Merkmalsauswahl leicht abgeändert wurde. Statt nur die Knoten als Merkmale zu verwenden, die von mindestens zwei unterschiedlichen Dokumenten traversiert wurden, wurden in diesem Experiment sämtliche Knoten zur Vektorerstellung herangezogen. In vorgeschalteten Experimenten hat sich dieses Vorgehen als effektiver herausgestellt. Dies hat jedoch den Nachteil, dass die Anzahl der Merkmale und somit auch der Speicherbedarf gestiegen sind. 19

4 Fazit und Ausblick Das Ziel dieser Arbeit war es, das Suffixtree-Document-Model als eine Alternative zur klassischen Vektorerstellung mit dem Bag-of-Words-Model vorzustellen. Hierzu wurden zunächst die Schwächen des klassischen BoWM aufgezeigt und anschließend die Vorzüge des STDM erläutert. Anhand eines direkten Vergleichs in einem konkreten und typischen Anwendungsfall konnten die beiden Vektormodelle anschließend gegeneinander evaluiert werden. Durch die Integration des STDM in das Klassifikationsframework JASC konnten zahlreiche Experimente ausgeführt werden, die einen direkten Vergleich der Vektormodelle in verschiedenen Klassifikationsszenarien ermöglichen. Die Experimente haben gezeigt, dass unter Verwendung des STDM als Repräsentationsgrundlage das beste Ergebnis erzielt wurde. Mit dem k-nearest-neighbour-verfahren wurde ein F-Score von 0,9526 erreicht, welcher deutlich über dem Vergleichswert (0,8946) mit dem BoWM liegt. Doch auch mit dem BoWM konnten bei anderer Konfiguration ähnlich gute Ergebnisse erzielt werden. Dennoch lag der entsprechende Vergleichswert beim STDM durchgängig etwas über dem besten BoWM-Wert. Abschließend kann also festgestellt werden, dass die Verwendung des STDM tatsächlich einen positiven Einfluss auf die Qualität der Klassifikationsergebnisse hat. In diesem Anwendungsfall, der Klassifikation von Textabschnitten aus Stellenanzeigen, ist der Gewinn jedoch nur sehr gering und das BoWM eine bereits sehr gut funktionierende Methode zur Vektorerstellung. Möglicherweise stellen Stellenanzeigen nicht die optimale Textsorte zur Klassifikation mit dem STDM dar. Die zu klassifizierenden Textabschnitte sind sehr kurz und bestehen oft nur aus einem Satz. Ein großer Teil besteht zudem häufig nur aus Stichpunkten und unvollständigen Sätzen. So werden die vom Bewerber geforderten Qualifikationen, oder die Beschreibung von Tätigkeiten oft in Form von Listen aufgezählt, die nur einzelne Stichwörter (z.b. Englischkenntnisse oder Flexibilität) umfassen. In diesem Fall ist also ohnehin nur sehr wenig Syntaxinformation im Text enthalten, die von einer Repräsentation als Suffixtree profitieren könnte. In Zukunft wäre es also interessant ähnliche Experimente, wie die im Rahmen dieser Arbeit durchgeführten, auf anderen Textdaten zu erproben. Dies ist mit dem Framework JASC nun, dank des universellen SuffixtreeFeatureGenerator möglich. Die klassifizierten Abschnitte der Stellenanzeigen bilden eine gute Grundlage zur automatischen Informationsextraktion. Durch die Klassifikation in inhaltsmotivierte Kategorien ist der Suchraum für bestimmte Informationen erheblich reduziert. Dies erleichtert zum Beispiel die Extraktion von Bewerberkompetenzen, was auch das nächste Ziel des Kooperationsprojekts mit dem Bundesinstitut für Berufsbildung darstellt. 20

5 Literaturverzeichnis ABITEBOUL, S. & BUNEMAN, P. & SUCIU, D. (2000) Data on the Web - From Relations to Semistructured Data and XML. Morgan Kaufman, San Francisco. BUSSMANN, H. (2002) Kompositionalitätsprinzip. In: Lexikon der Sprachwissenschaft, Kröner, Stuttgart. CARSTENSEN, K.-U. et al. (Hrsg.) (2004) Computerlinguistik und Sprachtechnologie. Eine Einführung. Elsevier, München. CHIM, H. & DENG, X. (2007) A new suffix tree similarity measure for document clustering. In: Proceedings of the 16th international conference on World Wide Web, S. 121-130. FELDMAN, R. & SANGER, J. (2007) The Text Mining Handbook. Advanced Approaches in Analyzing Unstructured Data. Cambridge University Press, New York. GEDULDIG, A. (2015) Textklassifikation mit Support Vector Machines. http://www.spinfo.philfak.uni-koeln.de/sites/spinfo/geduldia/svm_klassifikation.pdf, zuletzt aufgerufen: 20.10.2015. GUSFIELD, D. (1997) Algorithms on Strings, Trees and Sequences. Computer Science and Computational Biology. Cambridge University Press, New York. HERMES, J. (2015) Text Mining auf Stellenanzeigen. Erscheint in: Wissenschaftliche Diskussionspapiere, Bundesinstitut für Berufsbildung. HEYER, G. & QUASTHOFF, U. & WITTIG, T. (2008) Text Mining: Wissensrohstoff Text. Konzepte, Algorithmen, Ergebnisse. W3L, Herdecke, Bochum. MANNING, C. D. & RAGHAVAN, P. & SCHÜTZE, H. (2008) Introduction to Information Retrieval. Cambridge University Press, New York. PORTER, M.F. (1980) An Algorithm for suffix stripping. In: Electronic Library & Information Systems, Vol. 40, No. 3. UKKONEN, E. (1995) On-line construction of suffix trees. In: Algorithmica, Vol. 14, No. 3. 21