# Text Mining

Text Mining, seltener auch Textmining, Text Data Mining oder Textual Data Mining, ist ein Bündel von Algorithmus-basierten Analyseverfahren zur Entdeckung von Bedeutungsstrukturen aus un- oder schwachstrukturierten Textdaten. Mit statistischen und linguistischen Mitteln erschließt Text-Mining-Software aus Texten Strukturen, die die Benutzer in die Lage versetzen sollen, Kerninformationen der verarbeiteten Texte schnell zu erkennen. Im Optimalfall liefern Text-Mining-Systeme Informationen, von denen die Benutzer zuvor nicht wissen, ob und dass sie in den verarbeiteten Texten enthalten sind. Bei zielgerichteter Anwendung sind Werkzeuge des Text Mining außerdem in der Lage, Hypothesen zu generieren, diese zu überprüfen und schrittweise zu verfeinern.

## Konzept

Das 1995 von Ronen Feldman und Ido Dagan als Knowledge Discovery from Text (KDT) in die Forschungsterminologie eingeführte Text Mining ist kein klar definierter Begriff. In Analogie zu Data-Mining in der Knowledge Discovery in Databases (KDD) ist Text Mining ein weitgehend automatisierter Prozess der Wissensentdeckung in textuellen Daten, der eine effektive und effiziente Nutzung verfügbarer Textarchive ermöglichen soll. Umfassender kann Text Mining als Prozess der Zusammenstellung und Organisation, der formalen Strukturierung und algorithmischen Analyse großer Dokumentsammlungen zur bedarfsgerechten Extraktion von Informationen und der Entdeckung versteckter inhaltlicher Beziehungen zwischen Texten und Textfragmenten gesehen werden.

### Typologien

Die unterschiedlichen Auffassungen von Text Mining können mittels verschiedener Typologien geordnet werden. Dabei werden Arten des Information Retrieval (IR), des Dokumenten-Clustering, des Text Data-Mining und des KDD immer wieder als Unterformen des Text Mining genannt.
Beim IR ist dabei bekannt, dass die Textdaten bestimmte Fakten enthalten, die mittels geeigneter Suchanfragen gefunden werden sollen. In der Data-Mining-Perspektive wird Text Mining als „Data-Mining auf textuellen Daten“ verstanden, zur Exploration von (interpretationsbedürftigen) Daten aus Texten. Die weitestgehende Art des Text Mining ist das eigentliche KDT, bei der neue, zuvor unbekannte Informationen aus den Texten extrahiert werden sollen.

### Verwandte Verfahren

Text Mining ist mit einer Reihe anderer Verfahren verwandt, von denen es wie folgt abgegrenzt werden kann.
Am stärksten ähnelt Text Mining dem Data-Mining. Mit diesem teilt es viele Verfahren, nicht jedoch den Gegenstand: Während Data-Mining zumeist auf stark strukturierte Daten angewandt wird, befasst sich Text Mining mit wesentlich schwächer strukturierten Textdaten. Beim Text Mining werden deshalb in einem ersten Schritt die Primärdaten stärker strukturiert, um ihre Erschließung mit Verfahren des Data-Mining zu ermöglichen. Anders als bei den meisten Aufgaben des Data-Mining sind zudem Mehrfachklassifikationen beim Text Mining meist ausdrücklich erwünscht.
Des Weiteren greift Text Mining auf Verfahren des Information Retrieval zurück, die für die Auffindung derjenigen Textdokumente, die für die Beantwortung einer Suchanfrage relevant sein sollen, konzipiert sind. Im Gegensatz zum Data Mining werden also nicht möglicherweise unbekannte Bedeutungsstrukturen im Gesamttextmaterial erschlossen, sondern anhand von bekannten Schlüsselwörtern eine Menge relevant erhoffter Einzeldokumente identifiziert.
Verfahren der Informationsextraktion zielen darauf ab, aus Texten einzelne Fakten zu extrahieren. Informationsextraktion verwendet oft die gleichen oder ähnliche Verfahrensschritte wie dies im Text Mining getan wird; bisweilen wird Informationsextraktion deshalb als Teilgebiet des Text Mining betrachtet. Im Gegensatz zu (vielen anderen Arten des) Text Mining sind hier aber zumindest die Kategorien bekannt, zu denen Informationen gesucht werden – der Benutzer weiß, was er nicht weiß.
Verfahren des automatischen Zusammenfassens von Texten, der Textextrahierung, erzeugen ein Kondensat eines Textes oder einer Textsammlung; dabei wird jedoch, anders als beim Text Mining, nicht über das in den Texten explizit Vorhandene hinausgegangen.
Als eine Fortsetzung des Text Mining kann das Argumentation Mining betrachtet werden. Hierbei ist es das Ziel, Argumentationsstrukturen zu extrahieren.

### Anwendungsgebiete
#### Web Mining

Web Mining, insbesondere Web Content Mining, ist ein wichtiges Anwendungsgebiet für Text Mining. Noch relativ neu sind Versuche, Text Mining als Methode der sozialwissenschaftlichen Inhaltsanalyse zu etablieren, beispielsweise Sentiment Detection zur automatischen Extraktion von Haltungen gegenüber einem Thema.

#### Beispiel

Die Internetseite Wörter des Tages, ein Projekt der Universität Leipzig, zeigt, was Text-Mining-Verfahren leisten können. Sie zeigt an, welche Wörter im Web aktuell häufig verwendet werden. Die Aktualität eines Begriffs ergibt sich dabei aus seiner aktuellen Häufigkeit, verglichen mit seiner durchschnittlichen Häufigkeit über einen längeren Zeitraum hinweg.

## Methodik

Text Mining geht in mehreren Standardschritten vor: Zunächst wird ein geeignetes Datenmaterial ausgewählt. In einem zweiten Schritt werden diese Daten so aufbereitet, dass sie im Folgenden mittels verschiedener Verfahren analysiert werden können. Schließlich nimmt die Ergebnispräsentation einen ungewöhnlich wichtigen Teil des Verfahrens ein. Alle Verfahrensschritte werden dabei softwareunterstützt.

### Datenmaterial

Text Mining wird auf eine (meist sehr große) Menge von Textdokumenten angewandt, die gewisse Ähnlichkeiten hinsichtlich ihrer Größe, Sprache und Thematik aufweisen. In der Praxis stammen diese Daten meist aus umfangreichen Textdatenbanken wie PubMed oder LexisNexis. Die analysierten Dokumente sind unstrukturiert in dem Sinn, dass sie keine einheitliche Datenstruktur aufweisen, man spricht deshalb auch von „freiem Format“. Trotzdem weisen sie jedoch semantische, syntaktische, oft auch typographische und seltener auch markup-spezifische Strukturmerkmale auf, auf die Text-Mining-Techniken zurückgreifen; man spricht deshalb auch von schwachstrukturierten oder halbstrukturierten Textdaten. Meist entstammen die zu analysierenden Dokumente aus einem gewissen Diskursuniversum (domain), das mehr (z. B. Genomanalyse) oder weniger (z. B. Soziologie) stark abgegrenzt sein kann.

### Datenaufbereitung

Das eigentliche Text Mining setzt eine computerlinguistische Aufbereitung der Dokumente voraus. Diese basiert typischerweise auf den folgenden, nur zum Teil automatisierbaren Schritten.
Zunächst werden die Dokumente in ein einheitliches Format – heutzutage zumeist XML – überführt.
Zur Textrepräsentation werden die Dokumente dann zumeist anhand von Schriftzeichen, Wörtern, Begriffen (terms) und/oder so genannten concepts tokenisiert. Dabei steigt bei vorstehenden Einheiten die Stärke der semantischen Bedeutung, aber gleichzeitig auch die Komplexität ihrer Operationalisierung, oft werden deshalb Hybridverfahren zur Tokenisierung angewandt.
In der Folge müssen Worte in den meisten Sprachen lemmatisiert werden, das heißt, auf ihre morphologische Grundform reduziert werden, bei Verben also zum Beispiel der Infinitiv. Dies erfolgt durch Stemming.

#### Wörterbücher

Zur Lösung einiger Probleme werden digitale Wörterbücher benötigt. Ein Stoppwörterbuch entfernt diejenigen Wörter aus den zu analysierenden Daten, bei denen keine oder kaum Vorhersagekraft erwartet wird, wie dies zum Beispiel oft bei Artikeln wie „der“ oder „eine“ der Fall ist. Um Stoppwörter zu erkennen, werden oft Listen mit den am häufigsten im Textkorpus vorkommenden Wörter erstellt; diese enthalten zumeist neben Stoppwörtern auch die meisten domainspezifischen Ausdrücke, für die normalerweise ebenfalls Wörterbücher erstellt werden. Auch die wichtigen Probleme der Polysemie – die Mehrdeutigkeit von Wörtern – und Synonymie – die Gleichbedeutung verschiedener Worte – werden mittels Wörterbüchern gelöst. (Oft domainspezifische) Thesauri, die das Synonymproblem abschwächen, werden dabei zunehmend in großen Corpora automatisch generiert.
Je nach Analyseart kann es möglich sein, dass Phrasen und Wörter auch durch Part-of-speech-Tagging linguistisch klassifiziert werden, häufig ist dies jedoch für Text Mining nicht notwendig.
* Pronomen (er, sie) müssen den vorausgehenden oder folgenden Nominalphrasen (Goethe, die Polizisten), auf die sie verweisen, zugeordnet werden (Anaphernresolution).
* Eigennamen für Personen, Orte, von Firmen, Staaten usw. müssen erkannt werden, da sie eine andere Rolle für die Konstitution der Textbedeutung haben als generische Substantive.
* Mehrdeutigkeit von Wörtern und Phrasen wird dadurch aufgelöst, dass jedem Wort und jeder Phrase genau eine Bedeutung zugeschrieben wird (Bestimmung der Wortbedeutung, Disambiguierung).
* Einige Wörter und Satz(teile) können einem Fachgebiet zugeordnet werden (Termextraktion).
Um die Semantik der analysierten Textdaten besser bestimmen zu können, wird meist auch auf themenspezifisches Wissen zurückgegriffen.

### Analyseverfahren

Auf der Grundlage dieser partiell strukturierten Daten können die eigentlichen Text-Mining-Verfahren aufbauen, die vor allem auf der Entdeckung von Kookkurrenzen, idealiter zwischen concepts, basieren. Diese Verfahren sollen:
* In Texten implizit vorhandene Informationen explizit machen,
* Beziehungen zwischen Informationen, die in verschiedenen Texten repräsentiert sind, sichtbar machen.
Kernoperationen der meisten Verfahren sind dabei die Identifizierung von (bedingten) Verteilungen, häufige Mengen und Abhängigkeiten. Eine große Rolle bei der Entwicklung solcher Verfahren spielt maschinelles Lernen, sowohl in seiner überwachten als auch in seiner unüberwachten Variante.

#### Clusterverfahren

Neben den traditionell am weitesten verbreiteten Clusteranalyseverfahren – $k$-means und hierarchischen Clustern – werden bei Clusterverfahren auch selbstorganisierende Karten verwendet. Außerdem greifen mehr und mehr Verfahren auf Fuzzylogik zurück.

##### k-means Clusteranalyse

Sehr häufig werden beim Text Mining $k$-means Cluster gebildet. Der zu diesen Clustern gehörende Algorithmus zielt darauf ab, die Summe der euklidischen Distanzen innerhalb und über alle Cluster zu minimieren. Hauptproblem ist dabei, die Anzahl der zu findenden Cluster zu bestimmen, ein Parameter, der durch den Analysten mit Hilfe seines Vorwissens festgelegt werden muss. Derartige Algorithmen sind sehr effizient, allerdings kann es vorkommen, dass nur lokale Optima gefunden werden.

##### Hierarchische Clusteranalyse

Bei der ebenfalls populären hierarchischen Clusteranalyse werden Dokumente in einem hierarchischen Clusterbaum (siehe Abbildung) ihrer Ähnlichkeit nach gruppiert. Dieses Verfahren ist deutlich rechenaufwändiger als das für $k$-means Cluster. Theoretisch kann man dabei so vorgehen, dass man die Dokumentenmenge in sukzessiven Schritten teilt oder indem man jedes Dokument zunächst als einen eigenen Cluster auffasst und die ähnlichsten Cluster in der Folge schrittweise aggregiert. In der Praxis führt aber meist nur letzteres Vorgehen zu sinnvollen Ergebnissen. Neben den Runtimeproblemen ist eine weitere Schwäche die Tatsache, dass man für gute Ergebnisse bereits Hintergrundwissen über die zu erwartende Clusterstruktur benötigt. Wie auch bei allen anderen Methoden des Clustering muss letztendlich der menschliche Analyst entscheiden, ob die gefundenen Cluster Sinnstrukturen widerspiegeln.

##### Selbstorganisierende Karten

Der 1982 von Teuvo Kohonen erstmal entwickelte Ansatz der selbstorganisierenden Karten ist ein weiteres weit verbreitetes Konzept zur Clusterbildung im Text Mining. Dabei werden (in der Regel zweidimensionale) künstliche neuronale Netze angelegt. Diese verfügen über eine Eingabeebene, in der jedes zu klassifizierende Textdokument als multidimensionaler Vektor repräsentiert ist und dem ein Neuron als Zentrum zugeteilt wird, und über eine Ausgabeebene, in der die Neuronen gemäß der Reihenfolge des gewählten Distanzmaßes aktiviert werden.

##### Fuzzy Clustering

Es werden auch auf Fuzzylogik basierende Clustering-Algorithmen verwendet, da viele – insbesondere deiktische – Sprachentitäten nur vom menschlichen Leser adäquat decodiert werden können und so eine inhärente Unsicherheit bei der computeralgorithmischen Verarbeitung entsteht. Da sie dieser Tatsache Rechnung tragen, bieten Fuzzy Cluster so in der Regel überdurchschnittlich gute Ergebnisse. Typischerweise wird dabei auf Fuzzy C-Means zurückgegriffen. Andere Anwendungen dieser Art greifen auf Koreferenzcluster-Graphen zurück.

#### Vektorenverfahren

Eine große Zahl von Text-Mining-Verfahren ist vektorenbasiert. Typischerweise werden dabei die in den untersuchten Dokumenten vorkommenden terms in einer zweidimensionalen Matrix $A_{td}$ repräsentiert, wobei t durch die Anzahl der terms und d durch die Anzahl der Dokumente definiert ist. Der Wert des Elements $a_{ij}$ wird dabei durch die Häufigkeit des terms $i$ im Dokument $j$ bestimmt, oft wird die Häufigkeitszahl dabei transformiert, meist, indem die in den Matrizen-Spalten stehenden Vektoren normiert werden, in dem sie durch ihren Betrag dividiert werden. Der so entstandene hoch-dimensionale Vektorraum wird in der Folge auf einen deutlich nieder-dimensionaleren Vektor abgebildet. Dabei spielt seit 1990 zunehmend die Latent Semantic Analysis (LSA) eine bedeutende Rolle, die traditionell auf Singulärwertzerlegung zurückgreift. Probabilistic Latent Semantic Analysis (PLSA) ist dabei ein mehr statistisch formalisierter Ansatz, der auf der Latent Class Analysis basiert und zur Schätzung der Latenzklassenwahrscheinlichkeiten einen EM-Algorithmus verwendet.
Algorithmen, die auf LSA aufbauen sind allerdings sehr rechenintensiv: Ein normaler Desktop-Computer des Jahrgangs 2004 kann so kaum mehr als einige hunderttausend Dokumente analysieren. Geringfügig schlechtere, aber weniger rechenaufwändige Ergebnisse als LSA erzielen auf Kovarianzanalysen basierende Vektorraumverfahren.
Die Auswertung von Beziehungen zwischen Dokumenten durch solcherartig reduzierte Matrizen ermöglicht es, Dokumente zu ermitteln, die sich auf denselben Sachverhalt beziehen, obwohl ihr Wortlaut verschieden ist. Auswertung von Beziehungen zwischen Termen in dieser Matrix ermöglicht es, assoziative Beziehungen zwischen Termen herzustellen, die oftmals semantischen Beziehungen entsprechen und in einer Ontologie repräsentiert werden können.

### Ergebnispräsentation

Einen ungewöhnlich wichtigen und komplexen Teil des Text Mining nimmt die Präsentation der Ergebnisse ein. Darunter fallen sowohl Werkzeuge zum Browsing als auch zur Visualisierung der Ergebnisse. Oft werden die Ergebnisse dabei auf zweidimensionalen Karten präsentiert.

## Software

Eine Reihe von Anwendungsprogrammen für Text Mining existieren; oft sind diese auf bestimmte Wissensgebiete spezialisiert. In technischer Hinsicht lassen sich reine Text Miner, Erweiterungen existierender Software – zum Beispiel zum Data-Mining oder zur Inhaltsanalyse – und Programme, die nur Teilschritte oder -bereiche des Text Mining begleiten, unterscheiden.

### Reine Text Miner
#### Generische Anwendungen

* Megaputer TextAnalyst / PolyAnalyst
* Leximancer
* ClearForest Text Analytics Suite
* IBMs WebFountain (wird nicht mehr weiterentwickelt)

#### Domänenspezifische Anwendungen

* GeneWays Das in der Columbia University entwickelte GeneWays deckt zwar auch alle Verfahrensschritte des Text Mining ab, greift aber anders als die ClearForest vertriebenen Programme wesentlich stärker auf domainspezifisches Wissen zurück. Das Programm beschränkt sich dabei thematisch auf die Genforschung und widmet dabei den größten Teil seiner Werkzeuge der Datenaufbereitung und weniger dem eigentlichen Text Mining und der Ergebnispräsentation.
* Patent Researcher

### Erweiterungen existierender Softwaresuiten

* Text-Mining-Modul tm für R
* Text Processing Modul für KNIME
* Text Analytics Toolbox für MATLAB bietet Algorithmen und Visualisierungen für die Vorverarbeitung, Analyse und Modellierung von Textdaten.
* RapidMiner
* ELKI enthält zahlreiche Clusteranalyseverfahren.
* NClassifier
* WordStat Das von Provalis Research angebotene Softwaremodul WordStat ist das einzige Programm für Text Mining, welches sowohl mit einer Statistikanwendung – Simstat – als auch mit einer Software zur Computer-Assistierten Qualitativen Datenanalyse – QDA Miner – verbunden ist. Damit eignet das Programm sich insbesondere zur Triangulation von qualitativen sozialwissenschaftlichen Methoden mit dem quantitativ orientierten Text Mining. Das Programm bietet eine Reihe von Clusteralgorithmen – hierarchische Cluster und Multidimensionale Skalierung – sowie eine Visualisierung der Clusterergebnisse an.
* SPSS Clementine enthält computerlinguistische Methoden zur Informationsextrahierung anbietet, zur Wörterbucherstellung geeignet ist, und Lemmatisierungen für verschiedene Sprachen vornimmt.
* SAS Text Miner Das SAS Institute bietet zum SAS Enterprise Miner das Zusatzprogramm SAS Text Miner an, welches eine Reihe von Textclusteralgorithmen anbietet.

### Teilanbieter

* LingPipe

#### Linkanalyse

* Pajek
* UCINET
* NetMiner