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