Christoph Henkelmann DIVISIO

Preprocessing ist ein enorm wichtiger Schritt in jedem ML-Projekt. Bei umfangreicheren Projekten ist es essenziell, eine variable Input-Pipeline aufzubauen und viele verschiedene Arten und Parametrierungen des Preprocessing auszuprobieren und die Ergebnisse zu vergleichen.

Die meisten Verfahren im Bereich des Machine Learnings (ML) arbeiten mit rein numerischem Input. Bei den meisten Arten von Daten, z. B. Tabellen von Messwerten oder Bildern, ist die Umwandlung in die richtige Form offensichtlich. Aber wie können wir Machine Learning mit Buchstaben und Wörtern betreiben? Der Erfolg hängt vom richtigen Preprocessing ab.

Erfolgreiches Machine Learning ist meist zu 75 Prozent von richtigem Preprocessing abhängig. Da die richtige Repräsentation der Daten bei Text nicht eindeutig ist, sondern immer von der Zielsetzung und dem verwendeten Verfahren abhängt, hat das Preprocessing bei der Arbeit mit Text einen noch höheren Stellenwert als ohnehin schon. In diesem Artikel wollen wir uns der Frage widmen, wie wir dieses wichtige Preprocessing richtig umsetzen, und welche Textdarstellungen es gibt, um den größtmöglichen Erfolg mit unseren ML-Algorithmen zu erzielen.

Die meisten ML-Algorithmen, insbesondere bei Deep Learning (Schichten von neuronalen Netzen), benötigen Input in Form von Tensoren. Praktisch kann man bei der Entwicklung Tensoren mit mehrdimensionalen Arrays von Fließkommawerten gleichsetzen. Die Abbildungen 1, 2 und 3 zeigen Beispiele für Tensoren.

Abb. 1: Ein 1-D-Tensor (Vektor), z. B. eine Zeile in einem Spreadsheet

Abb. 1: Ein 1-D-Tensor (Vektor), z. B. eine Zeile in einem Spreadsheet

Abb. 2: Ein 2-D-Tensor (Matrix), z. B. ein Schwarz-Weiß-Bild

Abb. 2: Ein 2-D-Tensor
(Matrix), z. B. ein Schwarz-Weiß-Bild

Abb. 3: Ein 3-D-Tensor, z. B. ein RGB-Bild

Abb. 3: Ein 3-D-Tensor, z. B. ein RGB-Bild

Bei numerischen tabellarischen Daten oder Bildern liegt die Umwandlung auf der Hand. Schließlich haben die Daten prinzipiell schon die richtige Form. Die meisten ML-Verfahren erwarten aber nicht nur Tensoren, sondern auch, dass sie immer dieselbe Größe haben. Tabellarische Daten sind meist gleichförmig, die Datenpunkte haben dieselbe Anzahl Spalten (= dieselbe Dimension). Bilder lassen sich trivial vergrößern oder verkleinern und so in Matrizen fester Größe umwandeln. Die meisten Textdaten aber variieren in der Länge von Datum zu Datum, ähnlich wie Audio und Video, was eine zusätzliche Hürde in der Nutzung darstellt.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 6.18 - "GraphQL"

Alle Infos zum Heft
579861558Text-Preprocessing für ML
X
- Gib Deinen Standort ein -
- or -