Bericht

Transcription

Bericht
Prof. Dr. Ingo Claßen
Studiengang Wirtschaftsinformtik
FB Informatik, Kommunikation und Wirtschaft
Projektbericht
Titel
Machbarkeitsanalyse der Teil- oder Vollautomatisierung eines
Kategorisierungsprozesses mittels Text Mining-Funktionalitäten
Autoren
Oliver Arlt
Daniel Horlbeck
Sascha Kowark
Christian Mewes
Inhaltsverzeichnis
Abbildungsverzeichnis ................................................................................... III
Tabellenverzeichnis ........................................................................................ IV
1 Vorbemerkung .............................................................................................. 1
2 Text Mining – Theoretische Grundlagen .................................................... 2
2.1 Definition .................................................................................................. 2
2.2 Text Mining Prozess ................................................................................ 2
3 Evaluierung................................................................................................... 5
3.1 Marktübersicht ......................................................................................... 5
3.2 Text Mining Software ............................................................................... 5
3.2.1 Kommerzielle Text Mining Software ................................................ 6
3.2.2 Open Source Text Mining Software ................................................. 8
3.3 Auswertung ............................................................................................ 11
4 Text Mining mit dem RapidMiner .............................................................. 12
4.1 Text Mining Komponenten und Prozesse im RapidMiner ...................... 12
4.1.1 Import- und Vorverarbeitungsprozess ........................................... 13
4.1.2 Trainingsprozess ........................................................................... 17
4.1.3 Anwendungsprozess ..................................................................... 18
4.2 Mustererkennungsmodelle..................................................................... 19
4.2.1 Naive Bayes .................................................................................. 19
4.2.2 K-Nearest Neighbor....................................................................... 22
4.2.3 Support Vector Maschine .............................................................. 24
4.2.4 Decision Tree ................................................................................ 30
4.3 Weitergehende Fragestellungen ............................................................ 33
4.3.1 Kategorisierung auf mehreren Ebenen .......................................... 33
4.3.2 Mehrere Meinungen pro Datensatz ............................................... 36
4.3.3 Optimierungsversuche .................................................................. 38
4.3.3.1 Stemming-Dictonary ........................................................ 38
4.3.3.2 Aufbereitung Trainingsdatensatz ..................................... 38
5 Zusammenfassung/ Schlussfolgerung .................................................... 41
6 Literaturverzeichnis ................................................................................... 44
II
Abbildungsverzeichnis
Abbildung 1 Text Mining Prozess .................................................................... 3
Abbildung 2 Übersicht Softwareprodukte......................................................... 5
Abbildung 3 Schematische Darstellung des Kategorisierungsprozesses ...... 12
Abbildung 4 Process Document from Data .................................................... 16
Abbildung 5 Validation ................................................................................... 18
Abbildung 6 Performance .............................................................................. 18
Abbildung 7 Prozess der Modelanwendung .................................................. 19
Abbildung 8 Performance Naive Bayes (1000 pro Kategorie) ....................... 20
Abbildung 9 Performance Naive Bayes (Kompletter Datensatz) .................... 22
Abbildung 10 Falsche Klassifizierung ohne Gewichtung (Hoffmann, 2002)... 23
Abbildung 11 Performance K-NN (1000 pro Kategorie) ................................. 24
Abbildung 12 Prinzip SVM (Enzyk, 2011) ...................................................... 25
Abbildung 13 SVM Kernel Ansatz (Takahashi, 2006) .................................... 26
Abbildung 14 Performance DecisionTree (1000 pro Kategorie) .................... 32
Abbildung 15 Entscheidungsbaum (1000 pro Kategorie) .............................. 32
Abbildung 16 Trainingsprozess angepasst für Kategorisierung auf
mehreren Ebenen ................................................................... 35
Abbildung 17 Ergebnisvergleich Iterativ vs. Konkatenation ........................... 36
Abbildung 18 Performance Naive Bayes (500 pro Kategorie) ....................... 39
Abbildung 19 Performance K-NN (500 pro Kategorie) ................................... 39
Abbildung 20 Performance Decision Tree (500 pro Kategorie) ..................... 40
III
Tabellenverzeichnis
Tabelle 1 Vergleich kommerzieller Text Mining Software ................................. 6
Tabelle 2 Vergleich Open-Source Text Mining Software ................................ 10
Tabelle 3 Parameterliste der Importkomponente Read Excel ......................... 13
Tabelle 4 Struktur der zu importierenden Dateien .......................................... 14
Tabelle 5 Parameterliste der Komponente Process Document from Data ...... 15
Tabelle 6 RapidMiner Textprozessing-Komponenten ..................................... 15
Tabelle 7 Konfiguration SVM Operator RapidMiner ........................................ 27
Tabelle 8 Konfiguration Fast Large Margin Operator RapidMiner................... 28
Tabelle 9 Ergebnisse SVM (1000 DS) ............................................................ 28
Tabelle 10 Ergebnisse SVM (ca 50.000 DS) .................................................. 29
Tabelle 11 Konfiguration Decision Tree-Operator........................................... 31
IV
Vorbemerkung
1
Vorbemerkung
Im Rahmen der Lehrveranstaltung Projekt Data-Warehousing, im Studiengang
Wirtschaftsinformatik Master an der HTW Berlin, sollte eine Machbarkeitsanalyse
durchgeführt werden bezgl. der Teil- oder Vollautomatisierung eines Kategorisierungsprozesses mittels Text Mining-Funktionalitäten. Die Arbeit wurde in Kooperation mit dem Onlineshop myToys.de durchgeführt, welcher die Daten zur Verfügung stellte und sich für die fachliche Ausgestaltung der Aufgabe verantwortlich
zeichnete. Ziel dieser Arbeit soll es sein, das Vorgehen und die Ergebnisse der
Machbarkeitsanalyse darzustellen, um letztlich Handlungsoptionen für das Partnerunternehmen daraus abzuleiten.
Dazu wird im folgenden Kapitel auf Text Mining als Analyseverfahren im weiteren
Sinne eingegangen um ein grundsätzliches Verständnis zu schaffen. Das sich daran anschließende Kapitel thematisiert den Evaluierungsprozess bezüglich des zu
verwendenden Werkzeuges. Darauf folgt die Beschreibung der Analysen im engeren Sinne. Hier wird zum Einen auf die verwendeten Komponenten der Analysesoftware eingegangen und auf die damit realisierten Modelle, deren Vor- und
Nachteile, Konfigurationsmöglichkeiten und erreichten Genauigkeiten. Abgeschlossen wird dieses Kapitel durch die Beschreibung einzelner zusätzlicher Aufgabenstellungen, unter anderem wird erläutert, wie versucht wurde die Kategorisierungsergebnisse durch Optimierungen zu verbessern. Das letzte Kapitel soll
verwendet werden um die wichtigsten Resultate noch einmal zusammenzufassen
und in einen Kontext zu setzen. Darüber hinaus sollen aus den gewonnenen Erkenntnissen Handlungsoptionen für das Partnerunternehmen abgeleitet werden.
1
Text Mining – Theoretische Grundlagen
2
Text Mining – Theoretische Grundlagen
Das Kapitel soll einen Einstieg in die sehr komplexe Thematik des Text Mining
ermöglichen. Dazu wird eine Definition diskutiert und Technologien und Prozesse
beschrieben.
2.1
Definition
Text Mining ist eine Sammlung von Techniken und Algorithmen zur automatischen
Analyse (Typisierung, Organisation und Strukturierung) von unstrukturierten Daten. Dafür wendet Text Mining Methoden des Data Mining auf unstrukturierte Daten an. Der Unterschied zwischen Text- und Data Mining ist die zugrunde liegende
Datenbasis d.h. die Daten bzw. Attribute können nicht in einer Datenbank ausgewählt werden, sondern die Texte müssen vor der Auswahl in ein strukturiertes
Format übertragen werden. Um Texte anwendbar zu machen, müssen sie in eine
numerische Form transformiert bzw. quantifizierbare Merkmale extrahiert werden
(Spiliopoulou & Winkler, 2002, S. 118).
Grundsätzlich kann Text Mining als ein Prozess der Zusammenstellung, Organisation und Analyse großer Dokumentsammlungen zur bedarfsgerechten Distribution
von Informationen an Entscheidungsträger und der Entdeckung versteckter Beziehungen zwischen Texten und Textfragmenten gesehen werden (Spiliopoulou &
Winkler, 2002, S. 117). Das Ziel ist durch automatisches Textverstehen die Gewinnung von neuem potenziell nützlichem Wissen.
2.2
Text Mining Prozess
Die Text Mining Prozesse werden nach Sullivan (Sullivan, 2001, S. 324) in insgesamt vier Prozessschritte dargestellt: Suche, Vorverarbeitung, Bewertung/ Selektion und Extrahierung/ Mustererkennung (Abbildung 1). Im Folgenden werden die
eingesetzten Prozesse näher erläutert.
2
Text Mining – Theoretische Grundlagen
Abbildung 1 Text Mining Prozess
Suche
Im ersten Prozessschritt werden durch Techniken des Information Retrieval aus
einer großen Menge von Dokumenten, eine Teilmenge möglichst relevanter Dokumente zurück geliefert. Das Ziel ist es, möglichst viele relevante und möglichst
wenig irrelevante Dokumente zurückzugeben. Dabei liegt der Fokus auf natürlich
sprachigen Texten, die meist keine definierte Struktur besitzen.
Vorverarbeitung
Das Ergebnis des Information Retrieval ist eine Vorsortierung von eventuell relevanten Dokumenten, was immer noch eine zu große Menge von Dokumenten ist,
um diese zu lesen und bearbeiten zu können. Deshalb werden diese so vorverarbeitet, dass die in der Sprache verwendete generische Struktur aus Sätzen, Phrasen und Worten durch automatisierte Datenverarbeitung erkannt und verarbeitet
werden können. Daher werden Werkzeuge benötigt, die Strukturen innerhalb eines Textes erkennen, um die Möglichkeit zu geben in späteren Schritten genau
die gesuchten Informationen extrahieren zu können.
Bewertung und Selektion
Nachdem Dokumente identifiziert wurden und ihre sprachliche Struktur erkannt
worden ist, werden die vorverarbeiteten Dokumente miteinander in Beziehung gesetzt d.h. sie können je nach Anforderungen von der Benutzerseite Themengebieten zugeordnet und mit ähnlichen Dokumenten gruppiert werden.
3
Text Mining – Theoretische Grundlagen
Mustererkennung und Informationsextraktion
Im letzten Schritt werden gezielt Informationen extrahiert auf denen Mustererkennungsalgorithmen eingesetzt werden können. Ein Informationsextraktions-System
modelliert komplexe, zusammenhängende Antwortmuster bezüglich wer, was,
wem, wann, wo und eventuell warum. Die gewonnenen Daten können der Unterstützung im Text Mining Prozess dienen, um textuelle Informationen zu strukturieren und Data Mining Analysen anwendbar zu machen (Neumann, 2001, S. 448).
Ziel des Text Mining ist die Transformation freier Texte in eine Form, die es ermöglicht Data Mining Methoden anzuwenden. Die Interpretation und Evaluation
der Ergebnisse erfolgt dabei stets in Anbetracht einer klar definierten Zielstellung.
4
Evaluierung
3
Evaluierung
Gegenstand dieses Kapitels ist die Beschreibung des im Rahmen dieser Arbeit
angewendeten Evaluierungsprozesses. Zunächst wird eine Übersicht über die
gängigsten Anwendungen geliefert, um darauf aufbauend die zwei vielversprechendsten kommerziellen/ Open-Source Anwendungen auszuwählen und anhand
vordefinierter Kriterien zu bewerten. Abschließend wird auf Basis der Bewertung
eine Entscheidung bezüglich des zu verwendenden Werkzeuges getroffen.
3.1
Marktübersicht
Die folgende Abbildung zeigt die wichtigsten Text Mining Werkzeuge im kommerziellen und Open-Source Bereich. Eingerahmt sind die unserer Meinung nach vielversprechendsten Anwendungen in Bezug auf die hier vorhandene Thematik.
Abbildung 2 Übersicht Softwareprodukte
3.2
Text Mining Software
Die Durchführung der Evaluierung erfolgt in zwei Abschnitten. Nachdem die Text
Mining Software kurz vorgestellt wurde, wird die Evaluierung anhand von Kriterien
durchgeführt. Diese wurden auf die wichtigsten Anforderungen wie Schnittstellen,
Funktionsumfang, Analysefunktion, Clusteranalyse, Kosten und Support eingegrenzt.
5
Evaluierung
3.2.1
Kommerzielle Text Mining Software
Der folgende Abschnitt beschreibt die kommerziellen Anwendungen Clarabridge
und Wordstat. Diese werden anhand ausgewählter Kriterien verglichen (Tabelle
1).
Clarabridge
Clarabridge transformiert unstrukturierte Inhalte in strukturierte Daten. Die Content
Mining Platform bietet die Möglichkeit, unstrukturierte Daten zu sammeln, zu transformieren und zu analysieren, um sie in eine BI Plattform zu integrieren. Semantische Analysen segmentieren und kategorisieren Dokumente, extrahieren Entitäten, Fakten und Konzepte und stellen Zusammenhänge zwischen diesen her. Daneben werden tabellarische Strukturen in den Texten ausgenutzt und Bilder interpretiert. Anschließend sind unter anderem multidimensionale Analysen, ZeitSerien zur Analyse der Entwicklung der Konzepte, Warenkorbanalysen und Abweichungsanalysen möglich.
Wordstat
Wordstat ist ein Software-Modul des Unternehmens Provalis Research, welches
autark nicht verwendet werden kann. Es muss als Basis-Software QDA Miner oder
Simstat eingesetzt und darin das Modul Wordstat integriert werden. QDA Miner
eignet sich besonders zur Untersuchung/ Analyse mehrerer Dokumente, während
SimStat ein Pendant zu SPSS (RegressionsAnalysen, Varianz, etc.) ist. Folglich
sollte Wordstat im Zusammenhang mit QDA-Miner genutzt werden.
Tabelle 1 Vergleich kommerzieller Text Mining Software
Clarabridge
Wordstat
Anwendungstyp
SaaS o. auf Firmenserver, Zugriff über Desktop/ Offline
Browser
Schnittstellen
Import (abhängig von Version):
XLS(X), Facebook, Lithium, NM Incite
BuzzMetrics, Radian 6, Twitter -> Professional
Professional + XML, CSV, ODBC ->
Enterprise
Export:
Import:
ANSI, Unicode, TXT, HTML, Word,
PDF, WordPerfect, Transcriber, WindowsMetaFile (.wmf), Bitmap, Jpeg,
PNG, GIF, Access, Paradox, Excel,
CSV, SPSS, dBase, Hyper Research,
Nvivo,
N6,
Atlas.ti,
Transana,
Transcriber, DB Abfragen
6
Evaluierung
CSV, PDF
Export:
Excel, SPSS, ASCII, CSV, HTML, Grafiken in den gängigen Formaten
Funktionsumfang
 Daten sammeln
 Kategorisierung mit Hilfe von
 Natural Language Processing EnDictonaries (auch Deutsch) oder Tagine
xonomien
 Klassifikation (Individuell oder nach  Häufigkeitsanalysen (Word or Catevordefinierten Industriemodellen)
gory-count)
 Stimmungsanalyse
 Ergebnisse verarbeiten
 Analysieren und Interpretieren
 KeyWord Retrieval + Report (Document) (Suche nach Stichwörtern)
 KeyWord Zusammenhang-Analyse
(Clustering)
 Automatisierte Text-Klassifizierung (
nach Bayer und K-Nearest
Neighbors)
Web Mining
Ja – Webseiten, Social Media Plattfor- Nein – keine Url-Schnittstelle
men, Twitter, Facebook
Analysefunktion
 Warnungen bei Überschreitung von
Grenzwerten
 Dashboard- &
Reportingmöglichkeiten
Ad-hoc Analysetool
Analyseaufwand
Auch für unerfahrene Benutzer leicht zu Abhängig von Analyse – kann sehr
bedienen
aufwändig werden
Volumen
Abhängig von Version
Keine Einschränkung benannt
7
Evaluierung
Clusteranalyse
Ja
Naive Bayes und K-Nearest Neighbors
Machine Learning algorithm for automatic document classification
Suchmöglichkeiten
Gezielte und allgemeine Suche
Gezielte Suche - Information Retrieval
über konkrete KeyWords
Link zu strukturierten Daten
In Enterprise Version möglich, Integration zu BI-Systemen wie MicroStrategy,
SAP, Oracle
Nein
Kosten
Professional: Import: 1 verbatim credit
= 0.10 €, 1 verbatim credit = 2024 Zeichen, Paketpreise ab 3520 €
Jeder zusätzliche Benutzer kostet 32 €/
Monat
3.238 EUR (1), 13.166 EUR (5)
Preise für Enterprise Version werden
individuell festgelegt
Tutorial / Demo
Demoversion mit 2000 verbatime
credits , Tutorials
30-Tage Demo verfügbar, Online-Tour
Sonstiges
Keine deutschen Wörterbücher verfügbar – müsste manuell aufgebaut werden
3.2.2
Erweiterung von QDA Miner oder
SimStat (Statistiksoftware)
Open Source Text Mining Software
Im Folgenden werden die Open-Source Anwendungen GATE und RapidMiner beschrieben und anhand ausgewählter Kriterien verglichen (Tabelle 2).
GATE
GATE (General Architecture for Text Engineering) ist ein Textanalyse-Framework,
das an der University of Sheffield entwickelt wurde. Es kann als eigenständiges
8
Evaluierung
Programm laufen, das eine grafische Oberfläche enthält, in der man verschiedene
Wort-Annotatoren testen kann. GATE ist aus mehreren Teilsystemen aufgebaut,
die größtenteils in Language Resources (LRs) und Processing Resorces (PRs)
unterteilt werden können. LRs repräsentieren ein sprachliches Hintergrundwissen
des Programms. Hier sind verschieden Lexika und Dokumentkorpora enthalten.
PRs stellen den Algorithmus bei der Verarbeitung der natürlichen Sprache dar, es
handelt sich hierbei um Tokenizer oder um Satzabgrenzer und um ähnliche Komponenten. GATE ist so aufgebaut, dass LRs und PRs unabhängig voneinander
eingesetzt und kombiniert werden können, dazu müssen die implementierten
Klassen lediglich die Konformität zu den in der GATE-API spezifizierten Interfaces
sicher stellen. GATE ist eine Sammlung von Java Programmen und besteht aus:
 IDE GATE Developer (Desktop Client für Entwickler);
 GATE Embedded (bietet eine Klassenbibliothek, welche zum Ansteuern
der GATE-Komponenten aus Programmen heraus verwendet werden
kann);
 GATE Teamware (Web-Oberfäche, welche einen verteilten Annotationsprozess durch mehrere Benutzer ermöglicht .
RapidMiner
RapidMiner ist eine Umgebung für maschinelles Lernen und Data Mining. Es beinhaltet mehr als 400 Operatoren für alle Aufgaben der Wissensentdeckung in Datenbanken, d.h. Operatoren für Ein- und Ausgabe, Datenvorverarbeitung, maschinelles Lernen, Data Mining und Text Mining. Zusätzlich stehen mehr als 20 Verfahren bereit, auch hochdimensionale Daten und Modelle zu visualisieren. Einige
Eigenschaften von RapidMiner sind:
 Prozesse der Wissensentdeckung werden als Operatorbäume modelliert;
 Graphische Benutzeroberfläche sowie Kommandozeilentool;
 Plugin und Erweiterungsmechanismus, es existieren bereits einige Plugins,
z.B. zur Clusteranalyse;
 Große Anzahl hochdimensionaler Visualisierungen für Daten und Modelle;
 Anwendungen umfassen Text Mining, Multimedia Mining, Feature Engineering, Data Stream Mining und Lernen veränderlicher Konzepte, Entwicklung
von Ensemble Methoden und verteiltes Data Mining.
9
Evaluierung
Tabelle 2 Vergleich Open-Source Text Mining Software
GATE
RapidMiner
Anwendungstyp
Desktop/ Offline und Online
Desktop/ Offline
Schnittstellen
Import:
eml, mail, xml, xls, xlst, html, doc, pptx,
ppt, pdf, xhtm, xhtml, odp, ods, rtf, odt,
txt,
Import:
Excel, Access, Oracle, IBM DB2, Microsoft SQL, Sybase, Ingres, MySQL,
Postgres, SPSS, dBase, txt, pdf, xml,
sgm, email, docx, sgml, htm DB Abfragen
html
Export:
Export:
XML
CSV, Excel, Access, AML, ARFF,
XRFF und Datenbanken (sie oben)
Funktionsumfang
 Textprocessing Feature
 Anhand festgelegter Muster können
z.B. Personennamen, Produktnamen
oder Firmennamen identifiziert werden -> Wird durch andere Open
Source Tools vorgenommen
 Datatransformation: Sorting,
Filtering, Aggregation …
 Modeling: Classification and Regression, Clustering and Segmentation
 Correlation and Dependency Computation …
 Textprocessing: Tokenization, Extraction, Filtering, Stemming, Transformation
 Visuelles Modellierungstool
Web Mining
Ja
Keine Angabe
Analysefunktion
Ad-hoc Analysetool
Ad-hoc Analysetool
Analyseaufwand
Einrichten, Einarbeiten und Konfigurieren des Tools ist Zeitaufwendig
Aufwendig da Analysemodelle von
Scratch aufgebaut werden müssen,
Grundlagen Wissen nötig
10
Evaluierung
Volumen
Keine Einschränkung benannt
Keine Einschränkung benannt
Clusteranalyse
Nein
Ja
Suchmöglichkeiten
Gezielte Suche
Allgemeine Suche
Link zu strukturierten Daten
Nein
Ja
Kosten
Open Source, General Public License
Open oder Closed Source
Tutorial / Demo
Guide und Video vorhanden
3.3
3 Online Demos: Übersicht, Weitere
Features, Advanced Edition
Auswertung
Die Evaluierung der Text Mining Software zeigt, dass Clarabridge, WordStat und
RapidMiner die Anforderungen für die Problemlösung erfüllen. Die wichtigsten
Funktionen werden im Folgenden aufgelistet:







Kategorisierung mit Hilfe von Dictonaries (auch Deutsch) oder Taxonomien;
Daten sammeln;
Klassifikation (Individuell oder nach vordefinierten Industriemodellen);
Datatransformation: Sorting, Filtering, Aggregation etc.;
Automatisierte Text-Klassifizierung (nach Bayes, k-Nearest Neighbors, u.a.);
Modeling: Classification and Regression, Clustering and Segmentation;
Textprocessing: Tokenization, Extraction, Filtering, Stemming, Transformation;
 Visuelles Modellierungstool;
 Ergebnisse verarbeiten;
 Analysieren und Interpretieren der Ergebnisse.
Der RapidMiner wird in einer Community und Commercial Version angeboten.
Beide unterschieden sich nur im Supportangebot, d.h. der komplette Funktionsumfang wird in beiden Versionen bereitgestellt. Aufgrund der Featurevielfalt und des
flexiblen Lizenzmodells wurde der RapidMiner ausgewählt. In den kommenden
Kapiteln wird das Arbeiten im Bereich Text Mining mit dem RapidMiner näher
thematisiert.
11
Text Mining mit dem RapidMiner
4
Text Mining mit dem RapidMiner
Dieses Kapitel soll genutzt werden um die praktische Arbeit mit dem RapidMiner
zu dokumentieren. Dazu sollen die verwendeten Operatoren beschrieben werden,
ebenso die entwickelten Prozesse. Darüber hinaus werden die eingesetzten Mustererkennungsmodelle beschrieben und welche Ergebnisse damit erzielt werden
konnten.
4.1
Text Mining Komponenten und Prozesse im RapidMiner
Der Prozess zur automatischen Kategorisierung von Meinung unterteilt sich im
Wesentlichen in zwei Subprozesse. Auf der einen Seite haben wir das Training
des statistischen Modells und auf der anderen Seite die Anwendung des gelernten
Modells auf nicht kategorisierte Daten. Identisch sind bei beiden Prozessen die
Subprozesse Import und Vorverarbeitung. Im Trainingsprozess folgt nach der
Vorverabeitung das Training und Testen des Mustererkennungsmodells. Im Anwendungsprozess folgt hingegen die Anwendung des erstellten Modells auf die
unkategorisierten Daten. Abbildung 3 verdeutlicht das grundsätzliche Vorgehen.
Abbildung 3 Schematische Darstellung des Kategorisierungsprozesses
Prozesse werden im RapidMiner durch das Zusammenfügen einzelner Komponenten realisiert. Eine Komponente führt einen definierten Arbeitsschritt aus, welcher durch individuelle Konfiguration angepasst und verfeinert werden kann. So
verfügt RapidMiner über ein Baukastensystem in der Komponenten verbunden,
12
Text Mining mit dem RapidMiner
arrangiert und wiederverwendet werden können, um so gewünschte Workflows zu
erzeugen.
4.1.1
Import- und Vorverarbeitungsprozess
Zunächst werden die Daten in die interne RapidMiner Datenbank geladen. Dazu
wird die Komponenten Read Excel verwendet. Die Konfiguration des Operators ist
in Tabelle 3 aufgeführt. Für das Training des Modells wurden Daten gemäß der in
Tabelle 4 definierten Struktur importiert. Die Daten für den Anwendungsprozess
weichen von der in Tabelle 4 definierten Struktur nur marginal ab, in diesem Fall
wird keine Kategoriespalte benötigt.
Nach dem Import der Daten müssen diese vorverarbeitet werden. Das heißt, sie
müssen
so
aufbereitet
werden,
dass
sie
vom
nachfolgenden
Mustererkennungsmodell genutzt werden können. Dazu wird das Element
Process Document from Data verwendet. Es generiert aus dem übergebenen
Text ein Wortvektor. Dieser dient der numerischen Beschreibung und Bewertung
des Dokumentes. Verschiedene Konfigurationen können bei dieser Komponente
vorgenommen werden. Zum Beispiel dient Term Frequency zur Ermittlung der
relativen Häufigkeit eines Wortes innerhalb eines Dokumentes. TF-IDF hingegen
wird verwendet zur Beurteilung der Relevanz von Worten in Dokumenten einer
Dokumentenkollektion. Die Prune-Methode filtert Wörter nach prozentualem und
absolutem Vorkommen in Dokumenten. Im Rahmen dieser Arbeit wurden mit den
in Tabelle 5 aufgeführten Einstellungen die besten Ergebnisse erzielt.
Neben der Einstellung des Operators selber, müssen die zur Generierung des
Wortvektors auszuführenden Schritte innerhalb dieser Komponente definiert
werden.
Tabelle 6 führt die verwendeten Komponenten und entsprechenden
Konfigurationen auf, sortiert nach dem Vorkommen im Subprozess (Abbildung 4).
Tabelle 3 Parameterliste der Importkomponente Read Excel
Parameter
Beschreibung
Einstellung
Excel file
Definiert die zu verwen- Individuell zu definieren
dende Datei (Format xls).
Sheet Number
Arbeitsblatt mit den zu Individuell zu definieren
importierenden Daten.
13
Text Mining mit dem RapidMiner
Imported cell range
Der zu importierende Be- Individuell zu definieren
reich.
First row as names
Definiert ob die erste Zei- Individuell zu definieren
le als Attributnamen verwendet werden soll
Annotations
Ordnet Zeilen Annotatio- Nicht verwendet
nen zu
Date format
Defaultwert
Time zone
Defaultwert
Locale
Defaultwert
Data set meta data in- Ordnet den Spalten Attri- Meinungen haben den
formation
bute zu sowie Datentyp Datentyp Text und die
Rolle Regular. Kategorien
und Rolle
werden ebenfalls als Text
deklariert und agieren in
der Rolle Label.
Read no matching val- Definiert ob gelesene Da- True
ues as missing
ten die nicht zu den definierten Typen passen als
leer ausgegeben werden
Datamanagement
Defaultwert
Tabelle 4 Struktur der zu importierenden Dateien
Spalte
Datentyp
Rolle
Benötigt für
Beschreibung
ID
Integer
ID
Training , Anwendung
ID zur eineindeutigen
Identifikation der Meinung
14
Text Mining mit dem RapidMiner
Meinung
Text
Regular
Training, Anwendung
Zu kategorisierende
Kundenmeinung
Kategorie
Text
Label
Training
Bereits manuelle zugewiesene Kategorie
Tabelle 5 Parameterliste der Komponente Process Document from Data
Parameter
Einstellung
Create word vector
True
Vector creation
Term Frequency
Prune method
Absolute
Prune below absolute
5
Prune above absolute
9999
Add meta information
True
Keep text
True
Tabelle 6 RapidMiner Textprozessing-Komponenten
Komponente
Filter Tokens
Beschreibung
Der erste „Filter Tokens“ löscht die Meinungstexte nach der Länge der vorhandenen Zeichen. Alle Texte die kleiner als
5 Zeichen sind, werden herausgefiltert.
Tokenize
Trennt den Text einer Zelle in einzelne
Wörter auf und gibt einen Wortvektor
aus. Satzzeichen werden gelöscht.
Transform Cases
Großbuchstaben werden in Kleinbuchstaben umgewandelt.
15
Text Mining mit dem RapidMiner
Filter Stopword
Filtert Stoppwörter, welche bei einer
Volltextindexierung nicht beachtet werden, da sie sehr häufig auftreten und
gewöhnlich keine Relevanz für die Erfassung des Dokumentinhalts besitzen.
Wie zum Beispiel: bestimmte Artikel,
unbestimmte Artikel und Konjunktionen.
Filter Tokens
Der zweite Filter durchsucht die nun
vorhandenen Wortvektoren nach Wörtern die kürzer sind als zwei Zeichen
und filtert sie heraus.
Stem (German)
Stem oder Stemming reduziert die Varianz im Wortvektor vorhandener Wörter, indem sie auf einen Wortstamm reduziert werden.
Generate n-Gram
Es werden Wortgruppen der am häufigsten in einem Text vorkommenden Wörter gebildet.
Abbildung 4 Process Document from Data
16
Text Mining mit dem RapidMiner
4.1.2
Trainingsprozess
Beim Trainingsprozess werden bereits kategorisierte Daten (Meinungen) in den
Prozess eingelesen und vorverarbeitet, um anschließend ein statistisches Modell
zu trainieren, welches genutzt werden soll, um nicht kategorisierte Meinungen automatisiert Kategorien zuordnen zu können. Wie die Daten importiert und vorverarbeitet werden, wurde bereits im Kapitel 4.1.1 erläutert. Nun soll das eigentliche
Training thematisiert werden.
Zum Trainieren des Modells werden die Daten in die Validation-Komponente (XValidation) übergeben. Wie in Abbildung 5 zu sehen, wird die Komponente einerseits zum Training des Modells und andererseits zum Testen der Vorhersage verwendet. Dazu splittet sie die einkommenden Daten in ein Trainingsset und in ein
Testset auf. Das heißt, erst wird das Modell mit dem Trainingsset trainiert und anschließend wird das erzeugte Modell mit dem Testset getestet. Die linke Seite, die
Trainingsseite, beinhaltet das zu verwendende Mustererkennungsmodell. Welche
im Rahmen dieser Arbeit verwendet wurden, wird in Kapitel 4.2 ausführlich behandelt. Die rechte Seite, die Testseite, beinhaltet zwei Komponenten. Zum Einen
den Apply Model Operator, dieser wendet das erstellte Modell auf die Testdaten
an und zum Anderen den Performance Operator. Dieser analysiert die Qualität der
Vorhersage, welche in Form von Kennzahlen angegeben wird. Bei den drei zuletzt
genannten Operatoren, X-Validation, Apply Model und Performace, führten die
Standardeinstellungen zu den besten Ergebnissen. Nach Beendigung des Gesamtprozesses wird die besagte Performancetabelle (Abbildung 6) publiziert. Unter anderem werden die Vollständigkeit der Vorhersage (Class Recall), d.h. wie
viele Meinungen wurden der korrekten Kategorie zugeordnet, und die Genauigkeit
(Class Precision), d.h. wie hoch ist die Wahrscheinlichkeit, dass die Vorhersage
korrekt ist, angegeben. Diese beiden Kennzahlen sind die für die Messung der
Qualität relevantesten Angaben. Des Verständnisses wegen sollen sie an einem
Beispiel näher erläutert werden.
Existieren zu einer Kategorie 7 beispielsweise 1000 Trainings-Datensätze, dann
wird eine Vollständigkeit von 50% erreicht, sofern 500 von den 1000 Datensätzen
auch der Kategorie 7 zugeordnet wurden. Betrachtet man nun im Nachhinein die
vorhergesagten Kategorien, sind bei einer Genauigkeit von 75% für die Kategorie
7, drei von vier Datensätzen richtig zugeordnet. Ein Datensatz könnte auch zu einer ganz anderen Kategorie, zum Beispiel Kategorie 2, gehören. Diese beiden
Kennzahlen werden vom RapidMiner zusammengefasst in der Accuracy angegeben. Diese Kennzahl soll bei der Gesamtbeurteilung des Ergebnisses helfen, ist
17
Text Mining mit dem RapidMiner
jedoch schwer zu interpretieren, da Genauigkeit und Vollständigkeit ganz unterschiedliche Blickwinkel vertreten.
Abbildung 5 Validation
Nachdem Training des Models folgt die Speicherung dessen in eine anzugebende
Datei. Diese wird verwendet um das Model zur Anwendung auf nicht kategorisierte
Daten erneut abrufen zu können. Dafür wird der Write Model Operator genutzt.
Abbildung 6 Performance
4.1.3
Anwendungsprozess
Nach dem Training des Modells, soll dieses nun auf noch unkategorisierte Daten
angewendet werden. Dazu werden die Daten, wie in Kapitel 4.1.1 beschrieben,
importiert und vorverarbeitet. Anschließend wird das in Kapitel 4.1.2 erzeugte und
abgespeicherte Modell auf diese Daten angewendet. Dazu wird zum Einen die
Read Model Komponente benötigt, die das gespeicherte Modell zur Verfügung
stellt, und zum Anderen die Apply Model Komponente, die das Modell auf die Daten anwendet. Bevor das Ergebnis daraufhin in eine vom Benutzer definierte Excel-Datei (Komponente Write Excel) ausgegeben wird, entfernt Select Attribut alle
vom RapidMiner erzeugten überflüssigen Metadaten (Abbildung 7). Hierfür muss
der Filtertyp des Operators auf Subset gestellt und über die Schaltfläche Attributes
die gewünschten Datenfelder ausgewählt werden. Mitunter müssen die Attribute
manuell eingegeben werden, da nicht immer eine vollständige Attributeliste angezeigt wird.
18
Text Mining mit dem RapidMiner
Abbildung 7 Prozess der Modelanwendung
4.2
Mustererkennungsmodelle
Die im Folgenden erläuterten Klassifikationsmethoden sind, sofern nicht anders
gekennzeichnet, im bereits beschriebenen Training-Prozess (4.1.1) durch je einen
eigenen Operator integriert worden. Die zum Training verwendete Datenmenge
besteht aus 1000 zufällig ausgewählten Kundenmeinungen pro Oberkategorie.
Trainiert wird im Rahmen der Verfahrensanalyse lediglich auf oberster KategorieEbene.
4.2.1 Naive Bayes
Ein gängiges Verfahren zur Klassifizierung von Daten basiert auf der Anwendung
des Bayestheorems, auch als Satz von Bayes bekannt. Dabei wird die Wahrscheinlichkeit eines Ereignisses A unter Berücksichtigung der Eintrittswahrscheinlichkeit eines Ereignisses B berechnet (Bedingte Wahrscheinlichkeit) (Bayes,
1763). Im Falle des Text Mining entspricht die Zugehörigkeit eines Textes zu einer
konkreten Klasse dem Ereignis A und das Vorkommen eines oder mehrerer charakteristischer Wörter dem Ereignis B. Vereinfacht formuliert bedeutet dies, enthält
ein Text die Worte Lieferung, Paket und/ oder Verspätung, liefert ein Naiver
Bayes-Klassifikator die Zugehörigkeit zur Klasse Versand als Ergebnis für diesen
Text. Das Ergebnis entspricht der Klasse mit der höchsten, bestimmten berechneten Wahrscheinlichkeit. Die Grundannahme dabei ist, dass die Klassenzugehörigkeit allein vom betrachteten Attribut abhängt. Bei der Untersuchung der myToysDaten ist genau dies der Fall, da die Kundenmeinung das einzige Kriterium zur
Klassifizierung darstellt. Das naive Bayes-Verfahren beruht weiterhin auf der Annahme, dass alle Attribute stochastisch voneinander unabhängig sind (Unabhängigkeitsannahme). Die entspricht in der Regel nicht der Realität, da im allgemeinen Sprachgebrauch viele Worte nur in Zusammenhang mit bestimmten anderen
Worten vorkommen. Dies wird jedoch in der Praxis in Kauf genommen, um das
Problem der Klassifizierung auf eine händelbare Größe zu reduzieren.
19
Text Mining mit dem RapidMiner
In der bereits erwähnten Trainingphase des Klassifizierungsprozesses (4.1.2)
werden als erstes die Wahrscheinlichkeiten der Ausprägungen (hier einzelner
Wörter oder Wortgruppen) anhand der Häufigkeiten erfasst und anschließend die
bedingten Wahrscheinlichkeiten der Klassenzugehörigkeit ermittelt. Diese, mit
dem Großteil des Trainings-Datensatz erzeugten Informationen, werden als Klassifizierungsmodell gespeichert und später auf die restlichen bzw. auf neue Datensätze angewandt.
Der Naive Bayes-Operator, welcher im RapidMiner zur Verfügung steht, arbeitet
genau nach dem zuvor beschriebenen Vorgehen, um das benötigte Model zu erzeugen. Er bedarf keiner weiteren Konfiguration, mit Ausnahme der optionalen LaPlace’schen Korrektur. Diese wurde im Rahmen der myToys-Untersuchung stets
verwendet und dient der Korrektur des Zero-Frequency-Problems (Frank &
Bouckaert, 2006), welches stets dann auftritt, wenn ein Wort in einem zu klassifizierenden Text vorkommt, welches in Trainingsdatensatz nicht vorkam und folglich
unbekannt ist. In der Berechnung wäre somit die Wahrscheinlichkeit des Ereignisses A unbekannt bzw. 0.
Der Ansatz nach Bayes liefert in der Theorie sehr gute Werte gegenüber anderen
Methoden. Entspricht der Anwendungsfall der Grundannahme und kann die
Unabhängigkeitsannahme erfüllt werden, ist dies auch in der Praxis so(Mitchel,
1997). Jedoch wirken sich stark korrelierte Attribut-Werte und eine hohe Anzahl
von Klassen schnell negativ auf die Korrektheit der Vorhersage aus.
Nach Ausführung des Training-Prozesses liefert der RapidMiner folgende Performance-Auswertung nach 4:49 Minuten (Abbildung 8).
Abbildung 8 Performance Naive Bayes (1000 pro Kategorie)
Die Grafik zeigt, dass die Kategorien für den Testanteil des Training-Datensatzes
zu 52,41% korrekt vorhergesagt werden.
20
Text Mining mit dem RapidMiner
Die letzte Spalte (class precision) liefert den Anteil korrekt vorhergesagter Klassenzugehörigkeiten aus allen, zu einer Klasse (Zeile) gehörig prognostizierten
Texten. Aus der ersten Zeile wird demnach ersichtlich, dass von den 201 (Summe
der Werte in der ersten Zeile) vorhergesagten Datensätzen der Kategorie 0 genau
130 korrekt vorhergesagt wurden. Weiterhin wurden 26 Datensätze dieser Kategorie zugeordnet, obwohl sie tatsächlich der Kategorie 1 angehören, weitere 10 aus
der Kategorie 2, 2 der Kategorie 4, etc. – sodass 65% der, nach dem Naive
Bayes-Verfahren in Kategorie 0 eingeordnete Datensätze, tatsächlich richtig vorhergesagt wurden. Das heißt, eine solche Vorhersage ist zu 65% zutreffend.
Für eine Vielzahl der Kategorien liegt dieser Anteil mit bis zu 73,48% (Kategorie 6)
weit über dem angegebenen Gesamt-Wert (hier 52,41%). Mit einer Vorhersage,
welche zu 34% / 15% / 1% korrekt ist beeinflussen die Kategorien 8 / 9 / 99 das
Ergebnis maßgeblich negativ.
Aufgrund dieser Erkenntnis, welche sich in einer Vielzahl von Testläufen wiederholte, wurde über weitere Möglichkeiten das Performance-Ergebnis zu verbessern
nachgedacht. Diese werden jedoch später im Absatz (4.3.3) erläutert.
Eine vertikale Auswertung der Abbildung 8 gibt weitere Informationen über die Erfolgsquote der Kategorisierung. Die letzte Zeile (class recall) enthält für jede Spalte bzw. Klasse den Anteil korrekt vorhergesagter Klassenzugehörigkeiten. Für die
Kategorie 0 bedeutet dies, dass lediglich 130 von 1000 Datensätzen als dieser
Klasse zugehörig erkannt werden konnten. Das entspricht einem Anteil von lediglich 13,22%. Zudem wurden 743 Meinungen fälschlicher Weise der Kategorie 99
anerkannt, welche tatsächlich in die Kategorie 0 gehören. Das legt folgende Interpretation nahe. Die Eigenheiten der Kategorie 0 sind nur schlecht greifbar oder
kaum von denen der Kategorie 99 abgrenzbar. Bei Betrachtung der Klassenbedeutung wird deutlich, warum die Kategorie 0 derart schlecht prognostiziert wurde.
Meinungen mit der Aussage keine Anmerkungen für die Verbesserung von
myToys sind in dieser Klasse zusammengefasst. Da solche Aussagen eher kurz
gefasst, häufig sogar leer sind und mit großer Wahrscheinlichkeit Stop-Words wie
nein / nicht / etc. enthalten, werden diese im Vorbereitungsprozess des Trainings
vermutlich stark sinnentfremdet. Zudem handelt es sich bei der Kategorie 99 um
eine Sonderkategorie zur Unterbringung von Kundenmeinungen, bei denen der
Kunde selbst ein Großelternteil ist.
Ähnlich zur horizontalen Auswertung, erreichen die Klassen 4 – 7 in der vertikalen
Betrachtung Ergebnisse, welche den Gesamtwert ebenfalls deutlich überschreiten
(60,30% bis 79.80%).
21
Text Mining mit dem RapidMiner
Die Abbildung 9 zeigt das Performance-Ergebnis des Naive Bayes angewandt auf
das
maximal
verfügbare
Daten-Set
der
myToys-Kundenmeinungen
(ca. 50.000 Datensätze). Es wird ersichtlich, dass sich alle Vorhersagen in jeder
Kategorie, in der mehr Daten als die bisher trainierten 1000 verfügbar waren, geringfügig verbesserten. Besonders steigerte sich hierbei die Qualität der Prognosen für Kategorie 4. Hier findet eine Verbesserung der Precision von 60.35% auf
75,42% und eine Festigung der Wiedererkennung von 62,70% auf 75,15% statt.
Die Genauigkeit der Kategorien 8, 9 und 99 kristallisieren sich wiederum als besonders ungenau heraus (3,07% - 7,58%). Insgesamt äußert sich das in einer nur
leicht verbesserten Accuracy von 56,83% gegenüber 52,41% (Abbildung 8).
Abbildung 9 Performance Naive Bayes (Kompletter Datensatz)
Abgesehen von wenigen, schwer abgrenzbaren und recht allgemeinen Kategorien, können Vorhersagen mit dem Naive Bayes-Verfahren mit relativ hoher Wahrscheinlichkeit richtig getroffen werden.
4.2.2 K-Nearest Neighbor
Ein Klassifikator nach dem K-Nearest-Neighbor-Ansatz (K-NN) gehört zu den einfachen Lern-Algorithmen (Vgl. Lazy Learning – (Aha, 1997)). Das bedeutet, alle
vorhandenen Trainingsdatensätze werden, vereinfacht dargestellt, gespeichert
und erst zur Klassifizierung neuer Daten wieder herangezogen. Bei der Speicherung wird jeder Datensatz als Punkt in einem n-dimensionalen Raum abgebildet,
wobei sich n aus der Anzahl der Attribute ergibt und die Position im Raum von deren Ausprägungen abhängt. Weiterhin wird festgehalten, welcher Klasse ein solcher Punkt angehört.
Ist nun ein neues Objekt zu klassifizieren, wird im ersten Schritt ebenfalls dessen
Position in jenem Raum, anhand seiner Attribut-Ausprägungen, ermittelt. Anschließend werden, über ein Abstandsmaß (z.B. Euklid’sche Distanz – vgl. (Deza
& Elena, 2009)) die k nächsten Nachbarn identifiziert, wobei dem Klassifikator der
Wert für k als Parameter anzugeben ist. Entscheidend für die Zuordnung sind nun
22
Text Mining mit dem RapidMiner
die Klassenzugehörigkeiten eben dieser k Nachbarn, bekannt aus den Trainingsdaten. Jene Klasse, welche unter diesen am häufigsten vorkommt, bestimmt die
Zuordnung des aktuell zu klassifizierenden Objektes.
Ein Vorteil dieser Methode ist die recht hohe Unempfindlichkeit gegenüber verrauschten Daten, wie zum Beispiel Nachbarn, welche in den Trainingsdaten falsch
klassifiziert wurden. Diese werden durch das Mehrheitsprinzip revidiert.
Nachteilig hingegen wirkt sich, neben einer großen Anzahl an Attributen, eine einfache gleichmäßige Gewichtung derer aus. Dadurch ist der Klassifikator gezwungen, alle n benachbarten Punkte gleich zu bewerten, anstatt bestimmte Attribute
bevorzugt bei der Ermittlung der Klassenzugehörigkeit zu behandeln. Dieses
Problem wird auch als Fluch der Dimensionen bezeichnet und kann das Ergebnis
wesentlich verschlechtern, wie auch die folgende Grafik zeigt.
Abbildung 10 Falsche Klassifizierung ohne Gewichtung (Hoffmann, 2002)
Alle Punkte im Kreis werden gleichberechtigt behandelt, sodass das Ergebnis anhand der einfachen Mehrheit „+“ ist, obwohl „–„ aufgrund der Nähe zum klassifizierenden Objekt sinnvoller wäre.
Im RapidMiner kann der K-NN-Operator, neben der Festlegung der zu betrachtenden Nachbarn (k) und der (De-)Aktivierung gewichteter Nachbarn, durch die Auswahl der Messungsarten und der zu verwendenden Abstandsbestimmungsmethode konfiguriert werden. Von den verfügbaren Messungsarten, welche sich auf die
möglichen Skalierungen der Attributwerte beziehen (nominal, numerisch, beides
kombiniert), wurde stets die numerische Methode (NumericalMeasures) verwendet. Das ist darin begründet, dass die Werte der Attribute deren Häufigkeit abbilden und somit der Wertebereich zwischen 0 und 1 liegt. Um die nominale Methode
verwenden zu können, muss zuvor der Wortvektor mit binominalen (0 oder 1)
Werten erzeugt (Binary Term Occurance) und eine Konvertierung des Daten23
Text Mining mit dem RapidMiner
stroms (Numerical to Binominal - Operator) durchgeführt werden. Dies lieferte jedoch stets die schlechteren Ergebnisse. Unter den bereitgestellten Abstandsbestimmungsverfahren lässt sich, für die numerische Messung, unter anderen die
genannte Euklid’sche Distanz auswählen. Diese zeigte, angewendet auf die
myToys-Daten, stets die besten Ergebnisse.
Für das Subset von 1000 Meinungen pro Kategorie entstand das folgende Performance-Ergebnis nach etwa 90 Minuten (Abbildung 11). Wobei der KNNOperator mit k=3, gewichteter Attribut-Betrachtung, numerischer Messung und
Verwendung der Euklid’schen Distanz konfiguriert wurde.
Abbildung 11 Performance K-NN (1000 pro Kategorie)
Die Grafik zeigt im Allgemeinen sehr gute Werte (55, 41 % - 83,15 %) für die Precision der einzelnen Klassen, abgesehen von Kategorie 0 und 9. Es fällt sofort auf,
dass viel zu viele Kundenmeinungen der Kategorie 0 zugeordnet wurden. Dies
wirkt sich verständlicher Weise deutlich auf die Wiedererkennung der Klassen
(Zeile class recall) aus. Während nahezu alle 1000 Meinungen der ersten Klasse,
leider jedoch auch darüber hinaus, vollständig klassifiziert wurden, liegen die Werte der übrigen Kategorien weitaus niedriger (53,70 % – 15,00 %). In Kombination
mit der Precision ergibt sich daraus eine Gesamt-Korrektheit von 37,58 %, deren
Ursache bzw. Problematik offensichtlich erneut in der Klassifizierung der Kategorien 0 und 9 liegt.
Performanceergebnisse über den vollständigen myToys-Datensatz liegen für das
K-NN-Verfahren leider nicht vor, da dieser aufgrund von ArbeitsspeicherProblemen nicht durchgeführt werden konnte. Der RapidMiner beendete diesen
Prozess mit einer OutOfMemory-Exception.
4.2.3 Support Vector Maschine
Die Support Vector Maschine (SVM) ist ein Klassifikator, welcher im Gegensatz zu
den übrigen betrachteten Verfahren, lediglich zur Klassifikation zweier Klassen
24
Text Mining mit dem RapidMiner
dient. Während des Trainingprozesses ist eine Entscheidungsregel zu finden, welche die Testdatenmenge entsprechend in 2 Mengen teilt. Dazu wird jeder Datensatz durch einen Vektor repräsentiert und in einem Vektorraum abgebildet. Eine
Entscheidungsregel zu definieren bedeutet, anschließend eine Ebene zu ermitteln,
auch Hyperebene genannt, welche alle Vektoren der Testdatenmenge so voneinander trennt, dass die Daten auf der einen Seite der Ebene zur ersten und die
auf der anderen Seite zur zweiten Klasse gehören. Die effektivste Hyperebene ist
dadurch gekennzeichnet, dass der Abstand zwischen den Vektoren, welche der
Ebene am nächsten sind (Support-Vektoren), maximal ist. Die Support-Vektoren,
welche der Methode ihren Namen gaben, bestimmen folglich die Lage der Hyperebene. Die folgende Grafik zeigt, vereinfacht auf den 2-dimensionalen Raum, zwei
mögliche Trennebenen zwischen den Datensätzen und hebt die Trennspanne beider farbig hervor.
Abbildung 12 Prinzip SVM (Enzyk, 2011)
Obwohl die beide linearen Ebenen (A und B) die zwei Punktmengen vollständig
voneinander separieren (lineare Klassifikation), wäre die Ebene A aufgrund ihrer
größeren Trennspanne, auch Margin bezeichnet, als Hyperebene geeigneter. Sie
trennt die Daten beider Klassen deutlicher voneinander, als Ebene B.
In der Praxis ist eine derart saubere Trennung durch eine Hyperebene nicht immer
möglich. Kann keine solche Hyperebene definiert werden, gibt es zwei Möglichkeiten damit umzugehen. Zum einen kann die Anzahl der Dimensionen im ndimensionalen Raum solange erhöht werden bis sich eine solche Ebene definieren lässt (Kernel Ansatz; nicht-lineare Klassifikation). Diese Transformation, welche mit Hilfe verschiedener Kernelfunktionen realisiert wird, kostet jedoch ein Vielfaches mehr Rechenleistung im Trainingsprozess. Die folgende Abbildung veranschaulicht den Nutzen genannter Transformationen grafisch.
25
Text Mining mit dem RapidMiner
Abbildung 13 SVM Kernel Ansatz (Takahashi, 2006)
Der zweite Ansatz zur Behandlung nicht-linear abgrenzbarer Klassen ist die Berücksichtigung bewerteter Ausreißer (Soft-Decision). Dabei kann für den Trainingsprozess eine konstante Fehlergewichtung (C) definiert werden, welche multipliziert mit dem Abstand des Ausreißers zur Hyperebene einen Strafwert ergibt.
Der Einfluss von Ausreißern ist somit von außen steuerbar bzw. minimierbar.
Wie bereits angemerkt, unterstützt SVM lediglich eine binäre Klassifikation. Verteilt
sich die Menge der Daten jedoch auf mehr als zwei Kategorien, wie es für die zu
untersuchenden myToys-Daten der Fall ist, kann die Klassifizierung durch Kombination mehrerer binärer SVM-Anwendungen durchgeführt werden. Dabei gilt das
Prinzip - One versus all und the winner takes it all. Am myToys-Beispiel und dem
zu Beginn genannten Trainingsdatenset bedeutet dies: Für jede Oberkategorie ist
ein SVM-Trainingsprozess mit vorbereiteten Trainingsdaten durchzuführen und
das Ergebnis als Modell zu speichern. Dabei wird in jedem dieser Prozesse mit
den Klassen Kategorie i versus Nicht Kategorie i trainiert. Ist eine neue Kundenmeinung zu klassifizieren, muss sie auf alle (in diesem Fall 11) Modelle angewandt werden. Letztendlich wird die neue Meinung der Kategorie zugeordnet für
welche das i-te Model das Zuordnungsergebnis Kategorie i prognostizierte. Ist die
mehrfach der Fall, könnte nach dem einfachen Mehrheitsverfahren entschieden
werden. Während der in diesem Dokument beschriebenen Untersuchung kam
dies jedoch nicht vor.
Zur Anwendung der SVM stellt der RapidMiner verschiedene Operatoren bereit.
Der Standardoperator nennt sich Support Vector Machine, dieser kann mit verschiedenen Kerneltypen umgehen, d.h. lineare oder nicht-lineare Trennkurven
erzeugen. Die nachfolgende Tabelle (Tabelle 7) zeigt die Konfigurationsparameter
dieses Operators. Es wird deutlich, dass die Konfiguration sehr umfangreich ist
26
Text Mining mit dem RapidMiner
und keineswegs trivial. Die optimalen Einstellungen zu identifizieren ist sehr
schwierig und wird normalerweise automatisch durch zusätzliche Tools realisiert.
Da im Rahmen dieses Projektes die Verwendung solcher Tools nicht möglich war,
wurde nach Alternativen gesucht. Letztlich wurde der Fast Large Margin Operator
eingesetzt, da dieser ebenfalls auf SVM basiert, weniger Konfiguration benötigt
und auch mit sehr großen Datensätzen umgehen kann. Tabelle 8 fasst die möglichen Konfigurationen zusammen.
Tabelle 7 Konfiguration SVM Operator RapidMiner
Parameter
Bedeutung
Default
Kernel Type
Kernel-Funktion zur Transformation der Trenn- dot
kurve (dot, radial, polynominal, neural, anova,
epachnenikov,
gaussian
combination,
multiquadric)
Kernel Cache
Speichergröße für Kernelevaluation in MB
200
C
Gewichtung/Kosten von Ausreißern / Fehlern
0.0
Convergence
epsi- Genauigkeit der KKT-Condition
0.0010
lon
Max Iterations
Anzahl der maximal durchzuführenden Iteratio- 100000
nen
L pos
Faktor
zur
Beeinflussung
der
SVM- 1.0
Komplexitäts-Konstante der positiven Klasse
L neg
Faktor
zur
Beeinflussung
der
SVM- 1.0
Komplexitäts-Konstante der negativen Klasse
Epsilon
Unempfindlichkeitskonstante (Kein Verlust, falls 0.0
die Prognose derart nah an der positiven Klasse
liegt)
Epsilon pos
Epsilon für positive Abweichungen
0.0
Epsilon neg
Epsilon für negative Abweichungen
0.0
Balance costs
Anpassung der Kosten an relative Klassengröße
False
27
Text Mining mit dem RapidMiner
Quadratic loss pos
Benutzung quadratischer Kosten für positive False
Abweichungen
Quadratic loss neg
Benutzung quadratischer Kosten für negative False
Abweichungen
Tabelle 8 Konfiguration Fast Large Margin Operator RapidMiner
Parameter
Bedeutung
Default
solver
Bestimmt den Lösungsalgorithmus
L2 SVM Dual
C
Gewichtung/Kosten
Ausreißern / Fehlern
epsilon
Unempfindlichkeitskonstante 0,001
(Kein Verlust, falls die Prognose derart nah an der positiven Klasse liegt)
class weights
Möglichkeit die Gewichtung
von Klassen zu beeinflussen.
use bias
Definiert ob ein Schnittpunktwert berechnet werden
soll
von 1,0
True
Nach mehreren Versuchen wurden letztlich die Standardparameter des Fast Large
Margin Operators beibehalten. Es zeigte sich, dass diese Einstellungen zu den
besten Ergebnissen führten. Diese sind nachfolgend in Tabelle 9 aufgeführt.
Tabelle 9 Ergebnisse SVM (1000 DS)
Kategorie
Vollständigkeit (Recall)
Genauigkeit (Precision)
0
87,79%
75,04%
1
62,40%
85,83%
2
51,90%
72,59%
28
Text Mining mit dem RapidMiner
3
58,80%
80,33%
4
63,50%
79,18%
5
60,30%
77,21%
6
78,60%
89,32%
7
66,60%
83,98%
8
60,00%
88,57%
9
4,39%
31,25%
99
56,75%
54,55%
Bei diesem Vorgehen ist es nicht möglich, wie bei den Mustererkennungsmodellen
zuvor, eine einheitliche Performancetabelle anzugeben, aufgrund der Splittung in
mehrere Iterationen. Die Tabelle 9 ist eine Zusammenfassung der beiden wesentlichen Parameter Genauigkeit und Vollständigkeit. Die im RapidMiner verwendete
Accuracy kann für dieses Modell nicht angegeben werden, da die interne
RapidMiner-Berechnung dieser Kennzahl nicht nachvollzogen werden konnte.
Weiterhin ist an dieser Stelle zu kennzeichnen, dass der Trainingsprozess für
SVM grundlegend mit den Prozessen der übrigen Verfahren übereinstimmt, jedoch in der Ausführung einige manuelle Eingriffe benötigt. So muss jener Prozess
iterativ, gemäß dem beschriebenen Prinzip One versus all, mehrfach durchgeführt
werden. Dabei ist für jede i-te Ausführung der Trainingsdatensatz und der Dateiname des i-ten Ergebnis-Modells anzupassen. Gleiches gilt für die Anwendung
der Modelle auf einen neu zu klassifizierenden Datensatz. Die Ergebnisse sind
händig, nach dem Prinzip The winner takes it all, zu konsolidieren.
Eine Kategorisierung über den vollständigen myToys-Datensatz ergab eine leichte
Verschlechterung der durchschnittlichen Genauigkeit (-1,81%-Pkt) und eine leichte
Verbesserung der durchschnittlichen Vollständigkeit (+1,86%-Pkt). Tabelle 10 zeigt
die Ergebnisse im Detail.
Tabelle 10 Ergebnisse SVM (ca 50.000 DS)
Kategorie
Vollständigkeit (Recall)
Genauigkeit (Precision)
0
87,79%
75,04%
1
62,40%
85,83%
2
51,90%
72,59%
3
58,80%
80,33%
4
63,50%
79,18%
29
Text Mining mit dem RapidMiner
5
60,30%
77,21%
6
78,60%
89,32%
7
66,60%
83,98%
8
60,00%
88,57%
9
4,39%
31,25%
99
56,75%
54,55%
4.2.4 Decision Tree
Ein weiteres Verfahren zur Klassifizierung von Daten ist der Entscheidungsbaum
(Decision Tree). Diese Baumstruktur besteht zum Einen aus inneren Knoten, welche jeweils ein Merkmal eines zu klassifizierendes Objektes auf die Erfüllung einer
Bedingung testen. Und zum Anderen aus Blättern, wobei jedes einzelne Blatt einer Klasse bzw. der Zuordnung zu dieser entspricht (Top-Down-Ansatz). Der Weg
zu einem Blatt (Pfad) beschreibt dabei die Eigenschaften einer Klasse oder vielmehr die zu jener gehörenden Wertebereiche der Merkmalsausprägungen.
Am konkreten Beispiel des myToys-Feedbacks wird das Vorkommen von Wörtern
oder Wortgruppen bzw. dessen Häufigkeiten in verschiedene Wertebereiche zerlegt und auf mehrere Baumknoten verteilt. Vereinfacht betrachtet könnte das reine
Vorkommen des Wortes Lieferung durch einen inneren Knoten geprüft werden
und das Ergebnis entscheidend für die Zugehörigkeit einer Meinung zur Kategorie
Versand sein.
Bevor ein Entscheidungsbaum zur Klassifizierung angewendet werden kann, ist in
einem aufwendigen Prozess erst einmal dessen Struktur, nämlich die Anzahl der
Ebenen und Knoten zu ermitteln. Mit Hilfe verschiedener Algorithmen, wie ID3,
GID3 und CHAID, kann eine optimale Baumstruktur bestimmt werden. Der Operator DecisionTree im RapidMiner verwendet den ID3-Algorithmus. Dieser beginnt
mit der Wurzel und sucht für jeden inneren Knoten das optimale Attribut, anhand
welches eine Bedingung festgelegt und somit die Datensätze gesplittet werden. Ist
eine solche Bedingung definiert, kann diese nachträglich nicht mehr geändert
werden. Das Kriterium für die Attributauswahl ist die sogenannte Gain-Ratio (Maß
für den Informationsgewinn), welche auch im RapidMiner als solche selektiert
werden kann.
Des Weiteren stehen folgende Konfigurationsparameter für den DecisionTreeOperator im RapidMiner zur Verfügung.
30
Text Mining mit dem RapidMiner
Tabelle 11 Konfiguration Decision Tree-Operator
Parameter
Bedeutung
Default
Criterion
Kriterium zur Findung der optimalen Attribu- Gain-Ratio
te (möglich sind gain-ratio, information-gain,
gini-index, accuracy)
Mininmal size for
split
Minimale Knotengröße, bevor dieser gesplittet werden darf
4
Minimal leaf size
Minimale Anzahl an Blättern im Baum
2
Minimal gain
Minimale Gain-Rate, die für einen Splitt erreicht werden muss
0.1
Maximal depth
Maximale Anzahl der Baumebenen
20
Confidence
Konfidenzbereich für Fehlerbestimmung
des Prunings
0.25
Number of
preprunings
Anzahl der zu testenden Alternativknoten,
falls das Pre-Pruning einen Split verhindert
3
No prepruning
(De-)Aktivierung des Pre-Prunings
False
No pruning
(De-)Aktivierung des Prunings
False
Für die Trainingsprozesse wurden in der Regel die Default-Einstellungen übernommen. Lediglich die Gain-Ratio wurde reduziert. Ursache dafür ist die hohe Anzahl an Attributen im Text Mining. Bei der Zerlegung der Kundenmeinungen in Tokens wird der Wortvektor erzeugt, wobei für jedes unter den Meinungen vorkommende Wort ein Vektorelement angelegt wird. Demnach wird dieser Vektor sehr
groß (ca. 6000 Elemente). Jedes dieser Elemente gilt als mögliches Attribut bei
der Entscheidungsbaumgenerierung.
Dass die Attributauswahl eine sehr bedeutende Rolle für die Effektivität des
Klassifizierungverfahrens spielt, erklärt die geringe Korrektheit der Trainingsprozesse. Die folgende Abbildung zeigt das Ergebnis der Klassifizierung mit Hilfe eines DecisionTrees (Abbildung 14).
31
Text Mining mit dem RapidMiner
Abbildung 14 Performance DecisionTree (1000 pro Kategorie)
Das Gesamtergebnis von 24,79% Korrektheit ist keineswegs brauchbar. Sofort
fällt auf, dass die Kategorien 0, 9 und 99 überhaupt nicht vorhergesagt wurden,
obwohl diesen jeweils 1000 Datensätze (nahezu, da Kategorie 99 lediglich 60)
zuzuordnen waren. Im Gegenzug ist erkennbar, dass fast alle Meinungen der Kategorie 2 zugeordnet wurden. Dies ist im folgenden, tatsächlich erzeugten Entscheidungsbaum, ebenfalls deutlich zu erkennen.
Abbildung 15 Entscheidungsbaum (1000 pro Kategorie)
32
Text Mining mit dem RapidMiner
Der Blattknoten für die Kategorie 2 enthält Meinungen aus allen anderen Kategorien, was an den verschiedenen Farben im Balken dieses Knotens zu erkennen
ist. Optimal wäre ein einfarbiger Balken, der besagt, dass alle diesem Blatt zu geordneten Meinungen auch in ein und dieselbe Klasse gehören. Weiterhin enthält
der Baum, wie bereits anhand der Tabelle (Abbildung 14) erkannt, keine Blattknoten für die Kategorien 0, 9 und 99. Folglich konnte der ID3-Algorithmus kein aussagekräftiges Attribut für jene Klassen ermitteln.
Die Baumstruktur zeigt jedoch besonders gut, welche markanten Wörter als Entscheidungskriterien für die verschiedenen Kategorien ausgewählt wurden.
In Kapitel 4.3.3 wird eine weitere Ergebnistabelle nach der DecisionTree-Methode,
mit weitaus besseren Ergebnissen, vorgestellt.
Aufgrund der enormen Dauer von mehr als 10 Stunden konnte für das
DecisionTree-Verfahren kein Training mit dem vollständigen Datensatz durchgeführt werden.
Aufgrund der dargestellten Vorhersagequalität und der Situation, dass die Ausführung des Trainings mehr als 9 Stunden (9:14 h) dauerte, ist diese Art der Klassifizierung nicht für das Text Mining mit derart vielen möglichen Wörtern und Zielklassen geeignet.
4.3
Weitergehende Fragestellungen
Bei der Projektbesprechung wurde von Seiten des betrieblichen Partners weitere
Fragestellung aufgeworfen, die zusätzlich zu der Machbarkeitsanalyse untersucht
werden sollten. Diese sollen im Folgenden thematisiert werden.
4.3.1
Kategorisierung auf mehreren Ebenen
Um die Kategorisierung auf allen vier Ebenen durchführen zu können wurden zwei
verschiedene Lösungsansätze identifiziert. Zum Einen könnte dies durch die
Konkatenation der einzelnen Kategorien erfolgen. Wurde eine Datensatz
beispielsweise auf Ebene 1 der Kategorie 7 zugeordnet, auf Ebene 2 der
Kategorie 4 und auf Eben 3 der Kategorie 5, so werden die einzelnen Kategorien
zusammengeführt zu einer Kategorie, hier die 745. Anschließend wird die
Kategorisierung, wie bereits Dargestellt, durchgeführt.
Eine zweite Möglichkeit existiert in einem iterativen Vorgehen. Zunächst wird die
Kategorisierung auf der Ebene 1 durchgeführt, wie bereits geschildert.
33
Text Mining mit dem RapidMiner
Anschließend werden die Datensätze nach Kategorie gefiltert und separiert. Der
Zuordnungsprozess wird nun für alle neuen Quellen (je eine Quelle pro Kategorie)
erneut durchgeführt. Danach werden abermals die Kategorien gefiltert, neue
Quelldateien erstellt und der Prozess gestartet. Dieses iterative Vorgehen wird
entsprechend der Anzahl an Ebenen und Kategorien durchgeführt. Wie der
entsprechende Prozess im RapidMiner umgesetzt wurde, soll nachfolgend
beschrieben werden.
Die in Kapitel 4.1 vorgestellten Prozesse müssen dazu nur marginal erweitert werden. Nach dem Laden der Daten aus der internen Datenbank werden drei Operatoren hinzugefügt. Diese sollen die Grundgesamtheit der Daten auf die gewünschte Teilmenge einschränken. Zunächst wird das Element Filter Examples integriert.
Dies dient der Filterung aller Meinungen einer bestimmten Kategorie. So werden
durch den Filterausdruck „1=0“ alle Meinung weitergeleitet, die in der Spalte 1 den
Wert 0 enthalten. Das heißt, es werden alle Meinungen weitergeleitet, die in der
ersten Kategoriestufe der Kategorie 0 zugeordnet wurden. Diese Teilmenge kann
durch Hinzufügen eines weiteren Ausdrucks erneut gefiltert werden. So ergibt der
Ausdruck „1=0 && 2=1“ die Filterung aller Meinungen nach Kategorie 0 auf Ebene
1 und Kategorie 1 auf Ebene 2. Es ist somit möglich, mit dem gleichen Prozess
alle Modelle jeder Ebene und jeder Kategorie zu trainieren und abzuspeichern.
Anschließend wird die benötigte Untermenge mit dem Operator Work on Subset
erstellt. Nach dem Laden der Daten aus der Datenbank liegen alle Meinungen und
die vier Kategoriespalten vor. Durch Work on Subset kann nur definiert werden,
dass nachfolgend nur die Meinungsspalte und gewünschte Kategoriespalte verwendet werden sollen. Dies ist wichtig, da andernfalls die restlichen Kategoriespalten die Vorhersagequalität negativ beeinflussen würden. Das letzte Element
(SetRole) dient der Deklaration der Kategoriespalte als Label. Das Label dient
dem Trainingsmodel als Ergebnisvorgabe. Abbildung 16 zeigt den angepassten
Trainingsprozess.
34
Text Mining mit dem RapidMiner
Abbildung 16 Trainingsprozess angepasst für Kategorisierung auf mehreren Ebenen
Es wird schnell deutlich, dass das zweite Vorgehen wesentlich aufwendiger ist,
allerdings in Bezug auf Vorhersagequalität den entscheidenden Vorteil liefert.
Abbildung 17 zeigt die Ausprägung der Kennzahlen Genauigkeit und
Vollständigkeit für die zwei Herangehensweisen exemplarisch für die Kategorien 4
und 6 auf der vierten Ebene. Das iterative Vorgehen liefert durchweg die besseren
Ergebnisse.
35
Text Mining mit dem RapidMiner
Abbildung 17 Ergebnisvergleich Iterativ vs. Konkatenation
4.3.2 Mehrere Meinungen pro Datensatz
Im Laufe der Projektarbeit stellte sich die Frage, wie der RapidMiner bei einer
Klassifizierung mit mehreren Themen in einer Kundenmeinung umgeht, bzw. wie
im Rahmen der Textklassifizierung generell damit umgegangen werden kann. Ein
Beispiel dafür wäre Der Bezahl-Service ist super, aber mit dem Versand per
Nachnahme hatte ich bereits mehrfach Probleme.
Bisher ist eine eingegangene Kundenmeinung von einem Mitarbeiter manuell in
zwei oder mehr Meinungen zerlegt worden, sofern dies der Fall war. Am genannten Beispiel bedeutet dies eine Aufsplittung in folgende Datensätze:

Der Bezahl-Service ist super.

Mit dem Versand per Nachnahme hatte ich bereits mehrfach Probleme.
Dementsprechend gibt es auch keine bereitgestellten Testdaten mit derartigen
Mehrfachaussagen.
Erste Überlegungen lieferten den Schluss, dass es nur zwei Möglichkeiten gibt,
eine solche Kundenmeinung zu klassifizieren. Entweder ist eine automatisierte
Zerlegung in einzelne Sub-Meinungen zu realisieren oder dem Ergebnis müssen
36