Maschinelles Lernen ist ein Thema, das seit Jahren im Trend liegt, und viele unserer Kunden fragen uns nach Lösungen, die diese Technologie nutzen. Von der E-Mail-Sichtung über die Bilderkennung bis hin zu Empfehlungssystemen - viele unserer Kunden können davon profitieren.
Das maschinelle Lernen im Bereich der künstlichen Intelligenz bringt jedoch eine Menge Komplexität und Herausforderungen mit sich, wie etwa die Textklassifizierung. Konkrete Anwendungen der Textklassifizierung könnten die Klassifizierung von Rechtsdokumenten, die Klassifizierung von Produktdaten, die Klassifizierung von Kommentaren in Banküberweisungen, das Auffinden einer Absicht in einem Chatbot, die E-Mail-Sichtung und so weiter sein. Diese Anwendungen können sehr unterschiedlich aussehen. Durch die Brille des maschinellen Lernens betrachtet, sind sie sich jedoch ziemlich ähnlich. Lassen Sie uns also einen allgemeinen Blick darauf werfen. Die allererste Frage, die Sie beantworten müssen, wenn Sie Textdaten klassifizieren wollen, lautet:
"Gibt es Texte, die bereits klassifiziert sind? Mit anderen Worten: Haben wir gelabelte Daten?"
Wenn die Antwort ja lautet, kann man getrost den Weg des überwachten Lernens einschlagen. Wenn die Antwort nein lautet, dann kann man einen Moment lang zögern, ob man den Weg des überwachten oder des unüberwachten Lernens einschlagen soll. Es gibt einen schönen Vortrag von Geoffrey Hinton über Autoencoder, die auf einige Wikipedia-Artikel angewandt werden (siehe hier für den Vortrag und Abbildung 1 und Abbildung 2 für die Visualisierungen des Themenclusterns), der eine interessante Tür zum unüberwachten und zumindest visuell überzeugenden Clustern öffnet:
Abbildung 1: 2-d-Visualisierung von Themen mittels Hauptkomponentenanalyse
Abbildung 2: 2-d-Visualisierung von Themen mit Hilfe von Autocodierern
Wenn Sie jedoch nicht in der Forschung tätig sind und die Dinge in einem begrenzten Zeitrahmen umsetzen wollen, sollten Sie die Risiken eines unüberwachten Ansatzes in Betracht ziehen. Unüberwachtes Lernen kann in der Tat extrem teuer werden, da das Ergebnis nicht im Voraus mit Bezeichnungen festgelegt wird. Auf der anderen Seite ist es oft nicht sehr teuer, die Daten zu kennzeichnen. Außerdem erhält man in vielen Fällen auch mit relativ wenigen Bezeichnungen sehr gute Ergebnisse. Für den verbleibenden Teil nehmen wir an, dass wir beschriftete Daten haben. Die nächste Frage lautet dann:
"Wie viele beschriftete Daten sind verfügbar?"
Wir leben in der Welt der Big Data, aber in der Realität sind die Datensätze eines bestimmten Problems oft weit von einem Datensatz wie "Alle Artikel in Wikipedia" entfernt (siehe zum Beispiel hier für einige andere schöne Datensätze). Außerdem sind die Datensätze - in unserem Fall Textdaten - oft sehr speziell in Bezug auf Wortlaut, Muster und Strukturen. Da es immer mehr coole Anwendungen von neuronalen Netzen gibt, die auf ziemlich großen Datenmengen trainiert werden, ist man versucht, die obige Frage in die folgende umzuformulieren:
"Sind neuronale Netze auf dem neuesten Stand der Technik für das Problem geeignet, oder ist es besser, klassischere maschinelle Lernwerkzeuge zu verwenden?"
Diese Frage spiegelt den Traum der KI gut wider: Wenn man so viele gelabelte Daten und so viel Rechenleistung hat, wie man will, dann sollte das Modell mit der richtigen Architektur eines neuronalen Netzes in der Lage sein, alles von selbst zu lernen. Angewandt auf die E-Mail-Sichtung bedeutet dies beispielsweise, dass ein solches Modell lernen würde, dass ein bestimmter Teil einer E-Mail eine Fußzeile ist und bei der Sichtung verworfen werden sollte, da er keinen Einfluss auf den Inhalt der Hauptnachricht hat. Die Realität sieht jedoch oft anders aus, und die Menge der verfügbaren Daten reicht nicht aus, um ein geeignetes Training des neuronalen Netzes durchzuführen. Wir bezeichnen diesen Prozess, bei dem das System mit zusätzlichen regelbasierten Informationen gefüttert wird, als Pre-Processing.
Abbildung 3: Erstes "Inception"-Modell von Google aus dem Jahr 2015. Tiefes neuronales Netz für die Bildklassifizierung.
Dennoch sollten neuronale Netze nicht von vornherein ausgeschlossen werden. Selbst wenn Sie nicht über genügend Daten verfügen, können Sie zum Beispiel Transfer-Lernen durchführen, d. h. Sie nehmen ein vortrainiertes neuronales Netzwerk und führen ein abschließendes Training auf Ihrem eigenen Datensatz durch. Einer der bekanntesten Anwendungsbereiche für Transfer Learning ist die Bilderkennung. Allein auf Keras findet man beispielsweise bereits rund 10 vortrainierte Modelle (siehe auch Modell in Abbildung 3). Vorgefertigte Modelle für Text, insbesondere für Named Entity Recognition, sind weniger verfügbar und werden in der Regel auf einem englischen Korpus trainiert, während wir in der Schweiz in der Regel französisch und deutsch trainierte Modelle benötigen.
Zusammenfassend haben wir festgestellt, dass es für das Training eines Basismodells mit dem Ziel, ein Minimum Viable Product (MVP) zu erhalten, in der Regel besser ist, klassische Algorithmen für maschinelles Lernen zu verwenden. Sie liefern in der Regel sehr gute und sogar interpretierbare Ergebnisse in einem angemessenen Zeitrahmen. Im verbleibenden Teil dieses Artikels werden wir uns hauptsächlich auf solche Methoden konzentrieren.
Es sind im Allgemeinen 3 Schritte zu befolgen:
Vorverarbeitung der Daten
Aufbau und Training eines Modells
Modellbewertung und Klassenvorhersage
Um zufriedenstellende Ergebnisse zu erzielen, müssen diese 3 Schritte iterativ durchlaufen werden, wobei die Ergebnisse des letzten Schritts zur Verbesserung des Modells verwendet werden. Der letzte Schritt kann wichtige Informationen darüber liefern, wie das Modell verbessert werden kann. Gehen Sie also zurück zu Schritt 1. Im nächsten Artikel werden diese 3 Schritte für den Anwendungsfall E-Mail-Sichtung näher erläutert.
Weitere interessante Anwendungsfälle für Künstliche Intelligenz und unsere Erkenntnisse finden Sie auf E-Mail-Klassifizierung mit KI