Textklassifikation mit Elasticsearch

Fazit

Evaluierung in der Praxis

Dieser Ansatz wurde mit einem Standarddatensatz für die Textklassifikation evaluiert. Im Zuge des "20 Newsgroups Dataset" wurde die höchste Genauigkeit von 92 Prozent mit einem sehr hohen Schwellenwert erzielt. Dadurch klassifizierte man nur 12 Prozent der Daten. Wenn alle Dokumente aus dem Testset gelabelt werden, liegt die Genauigkeit bei 72 Prozent.

Die besten Algorithmen für die Textklassifikation sind normalerweise SVM und Naive Bayes. Damit lassen sich fast alle Dokumente mit einem hohen Score klassifizieren. Warum sollte man also für die Textklassifikation Elasticsearch in Erwägung ziehen, wenn es bessere Algorithmen gibt? Es gibt einige praktische Gründe: Das Trainieren von Modellen, vor allem mit SVM, dauert lange. Wenn sich die Anforderungen ständig ändern oder man das Modell schnell für neue Kunden anpassen muss, kann das ein echtes Problem werden. Es wird dann vielleicht nicht mehr möglich sein, jedes Mal neu zu trainieren, wenn sich die Daten ändern. Man arbeitet eine Zeit lang mit veralteten Modellen und dann schneiden die Evaluationsergebnisse sicherlich nicht mehr so gut ab.

Mit Elasticsearch gibt es keine Trainingsphase. Sobald die Daten indexiert sind, können sie in Echtzeit neue Daten klassifizieren. Das Training geschieht quasi beim Indexieren. Das Modell lässt sich ständig in Echtzeit aktualisieren – ohne Ausfallzeit. Wenn die Daten sowieso in Elasticsearch liegen, benötigt man keine zusätzliche Infrastruktur. Mit über 10 Prozent sehr gut klassifizierten Daten kann man meist die erste Seite der Suchergebnisse füllen. Das reicht für einen ersten guten Eindruck. In diesem Fall hat die Klassifikation mit Elasticsearch viele Vorteile. (ane)

Saskia Vola
hat an der Universität Heidelberg Computerlinguistik studiert. Sie arbeitet seit 2009 als Entwicklerin im Bereich Text-Mining. Nach ein paar Jahren in der Berliner Start-up-Szene beschloss sie, Freelancer und digitaler Nomade zu werden. Zuletzt gründete sie die Freelancer-Plattform textminers.io für Projekte im Bereich Text-Mining, NLP und AI.