Bei mehr als einer Gelegenheit haben wir bewiesen, dass die Verwendung der Keras-Bibliothek zur Lösung eines Textklassifizierungsproblems die beste Wahl für den schnellen Aufbau eines starken und effizienten Deep Learning-Modells ist.

Heute, nach unserem Einblick in die Herausforderungen der Textklassifikation, wollen wir die Botschaft vermitteln, wie Keras hilfreich ist, um die Bedürfnisse unserer Kunden im Bereich des maschinellen Lernens zu adressieren und welche Vorteile die Verwendung von Keras gegenüber anderen bekannten Bibliotheken für network Netzwerke wie Tensorflow hat.

Keras ist eine Python-Bibliothek, die, nahezu "Off-the-Shelf", berüchtigte Deep-Learning-Modelle bietet. Sie wurde so entwickelt, dass die Bibliothek einfach zu erlernen und zu verwenden ist. Keras Team Idee hinter ihrer Arbeit ist es, maschinelles Lernen Forschung zu erleichtern, wie sie angeben, dass das Ziel ist: "In der Lage zu sein, mit der geringstmöglichen Verzögerung von der Idee zum Ergebnis zu gelangen, ist der Schlüssel zu guter Forschung".

Seit TensorFlow 2.0 ist Keras in TensorFlow integriert und wird als High-Level-API empfohlen.

Vorteile, die Keras uns bietet

Eine der praktischen Möglichkeiten, die wir bei der Verwendung von Keras finden, ist die Tatsache, dass es APIs für jeden Schritt bietet, den wir auf unserer Vorhersagereise durchlaufen, von der Vorverarbeitung bis zur Vorhersage und Auswertung (siehe Abbildung 1 Prediction Steps).

AI Kera Process

 

Prediction Steps

 

Ausserdem haben wir die Wahl zwischen der Sequential Model API für den Aufbau von Neuronalen Netzwerken als Stapel von Schichten oder der Functional API, um komplexe Modelle mit mehreren Eingängen und Ausgängen zu handhaben oder der Model Subclassing API, um ein vollständig anpassbares Modell zu erhalten.

Zusammenfassend lässt sich sagen, dass die API sehr benutzerfreundlich ist und die erforderliche Abstraktionsebene bietet.

Welche Art von Herausforderungen können mit Keras angegangen werden?

Für einen unserer Kunden waren wir im Besitz von unstrukturierten Daten, nämlich Text in freiem Format, der größtenteils beschriftet war. Da die besten Leistungen bei der Textklassifizierung mit dem Deep-Learning-Algorithmus.html erzielt wurden, beschlossen wir, die Verwendung von Convolutional Neural Networks (CNN) und Long-Short Term Model (LSTM) Algorithmen zu untersuchen.

Um intensive Vorverarbeitungsschritte (Pre-Processing) wie das Entfernen von Stoppwörtern oder die Lemmatisierung von Wörtern zu vermeiden, haben wir uns auf die Fähigkeiten neuronaler Netzwerke verlassen, um Rauschen zu verwerfen. Neuronale Netzwerke sollten die latenten Variablen aus dem Text ableiten, die die Wörter mit starkem Einfluss auf das Klassifikationsergebnis lernen.

Wir mussten noch eine notwendige Vorverarbeitungsaufgabe durchführen, um unseren Eingabetextdatensatz in eine Matrix kodierter Sequenzen zu transformieren und die Datenausgabe ebenfalls zu kodieren.  Für die Eingabetransformation verwendeten wir die Keras-Funktion "text_to_sequences", gefolgt von der Funktion "pad_sequences", um gleich lange Einträge zu erhalten. Die Codierung der Output-Labels basierte auf der Zuweisung eines anderen Codes für jede mögliche Klasse.

Der Datensatz war dann bereit, mit Algorithmen für maschinelles Lernen verarbeitet zu werden, und wir konnten unser Klassifizierungsmodell mit der sequenziellen API von Keras gestalten. Für sehr einfache Modelle werden nicht mehr als 2 Zeilen Code benötigt. Tatsächlich kann unser Basisalgorithmus aus einer dichten Schicht, die die Neuronen setzt, die die Parameter aus den Eingabedaten lernen, und einer Aktivierungsschicht, die die Ausgabeklasse liefert, zusammengesetzt werden.

Die letzten beiden Schritte, um unsere ersten Ergebnisse zu erhalten, sind das Kompilieren des Modells mit der richtigen Verlustfunktion und einer guten Optimierungsfunktion und dann das Anpassen des Modells mit den Eingabe- und Ausgabedaten.

Mit einem iterativen Ansatz erzielten wir beeindruckende Ergebnisse, die in diesem KI-Kundenfall beschrieben sind. Anhand der Beschreibung des Produktherstellers konnten wir erfolgreich die Marke und die Attribute des Produkts klassifizieren, was unserem Kunden half, seine Online-Produktplatzierung auf seiner E-Commerce-Plattform zu optimieren.

With an iterative approach, we obtained impressive results described in this client case (https://openwt.com/en/cases/99-correct-product-assignments-thanks-our-ai). In fact, given the product manufacturer description, we successfully classify the product’s brand and attributes helping our client to streamline their online product placement on their e-commerce platform.

Sie können mehr über den Anwendungsfall des maschinellen Lernens lesen: Textklassifizierung und KI-E-Mail-Klassifizierung

Über Keras

Keras ist eine in Python geschriebene Open-Source-Bibliothek (unter MIT-Lizenz), die hauptsächlich auf der Arbeit des Google-Entwicklers François Chollet im Rahmen des ONEIROS-Projekts (Open-ended Neuro-Electronic Intelligent Robot Operating System) basiert. Eine erste Version der plattformübergreifenden Software wurde am 28. März 2015 veröffentlicht. Das Ziel dieser Bibliothek ist es, den schnellen Aufbau von neuronalen Netzen zu ermöglichen. Dabei fungiert Keras nicht als eigenes Framework, sondern als Application Programming Interface (API) für den Zugriff auf und die Programmierung von verschiedenen Machine-Learning-Frameworks. Zu den von Keras unterstützten Frameworks gehören Theano, Microsoft Cognitive Toolkit (früher CNTK) und TensorFlow.

Get in touch with us !

Container