Suche
Interview mit Christoph Henkelmann

Machine Learning: Wie Maschinen lernen, Texte zu verstehen

Carina Schipper

Christoph Henkelmann

Tief im Innersten ist Machine Learning ein reines Zahlenspiel. Bis auf wenige Ausnahmen ist die tatsächliche Eingabe in ein ML-Modell immer eine Sammlung von Float-Werten. Dies ist einfach für Bilder, bei denen Pixel nur numerische Farbwerte sind. Doch wie funktionieren ML-Algorithmen bei Wörtern und Buchstaben? Wir haben bei Christoph Henkelmann, ML-Experte bei DIVISIO und Sprecher auf der Machine Learning Conference, nachgefragt, wie man Maschinen dazu bringt, Texte zu verstehen.

JAXenter: Hallo Christoph, schön, dass du dir Zeit für ein Interview nimmst! Du beschäftigst dich damit, Texte für Machine Learning aufzubereiten. Wo liegt aus Sicht einer Maschine der Unterschied zwischen Bild und Text? 

Christoph Henkelmann: Fast alle ML-Verfahren, insbesondere neuronale Netze, wollen Tensoren (mehrdimensionale Arrays aus Zahlen) als Input. Bei einem Bild ist die Transformation naheliegend: Dort haben wir bereis einen dreidimensionalen Array aus Pixeln (Breite x Höhe x Farbkanal), das heißt bis auf kleinere Vorverarbeitung ist das Bild schon „mundgerecht“.

Bei Text gibt es keine offensichtliche Darstellung. Text und Wörter existieren auf einer höheren Bedeutungsebene. Gibt man beispielsweise einfach Unicode-kodierte Buchstaben als Zahlen in das Netz, ist der Sprung von der Kodierung zur Semantik zu hoch. Außerdem erwarten wir von Systemen, die mit Text arbeiten, semantisch anspruchsvollere Aufgaben. Wenn eine Maschine auf einem Bild eine Katze erkennt, ist das eindrucksvoll. Wenn eine Maschine in einem Satz das Wort „Katze“ entdeckt, nicht.

JAXenter: Warum ergeben sich im Zusammenhang Unicode-Normalisierung überhaupt Probleme?

Vergleicht man Zeichen für Zeichen, ist „München” auf einmal nicht mehr gleich „München“.

Christoph Henkelmann: Eigentlich möchte man denken, Unicode muss gar nicht normalisiert werden – schließlich ist es ja dafür gedacht, endlich die ganzen Kodierungsprobleme aus der Anfangszeit der Textverarbeitung zu lösen. Der Teufel steckt aber im Detail. Unicode ist enorm komplex, da Sprache enorm komplex ist. So gibt es sechs verschiedene Arten von Leerzeichen in Unicode.

Benutzt man Standardmethoden mancher Programmiersprachen, um Text aus verschiedenen Quellen zu zerlegen, wundert man sich plötzlich, dass noch Wörter aneinander kleben. Auch ist die Darstellung von Wörtern nicht eindeutig, es gibt z.B. zwei Unicode-Kodierungen des Wortes „München“. Vergleicht man nun Zeichen für Zeichen, ist „München” auf einmal nicht mehr gleich „München“. Vergisst man da etwas im Preprocessing, trainieren wir ein System auf unsauberen Daten, und das gibt natürlich kein gutes Ergebnis.

Lesen Sie auch: Enterprise Tensorflow mit Java: Wie Machine Learning im Enterprise-Umfeld realisiert wird

JAXenter: Du sprichst von verschiedene Arten der Textdarstellung – was hat es damit auf sich?

Christoph Henkelmann: Da wir keine so offensichtliche Darstellung von Text haben, gibt es viele verschiedene Arten, Text in ein ML-System einzuspeisen. Man kann verschiedene Granularitäten wählen: Da gibt es zum Beispiel Low-Level-Methoden, bei denen einem Buchstaben eine Zahl zugeordnet wird, also im Grunde genommen genauso wie bei einer Textdatei. Dann existieren Verfahren, bei denen einzelne Wörter als kleinste Einheit kodiert werden. Schließlich kann aus einem ganzen Dokument ein Tensor erzeugt werden, der eigentlich mehr ein Fingerabdruck des Dokuments ist. Dann gibt es wiederum eine Reihe von technischen Varianten für jeden dieser Ansätze. Das Komplizierte ist: Es gibt nicht einen besten Ansatz. Je nach Problem muss man sich den richtigen aussuchen.

JAXenter: Geht’s da auch um die Codierung von Semantik?

Christoph Henkelmann: Genau, viel mehr als bei Bildern oder Audios wirkt sich bei Text die Vorverarbeitung auf das semantische Level aus, auf dem sich das Verfahren bewegt. Teilweise ist das Preprocessing selber schon eine Art von Machine Learning, so dass wir schon Fragen beantworten können, nur dadurch, dass wir den Text anders kodiert haben.

Das bekannteste und im Moment viel diskutierte Beispiel ist Word2Vec. Hat man eine Word2vec-Kodierung erstellt, kann man z.B. schon sematische Fragen beantworten wie „König – Mann + Frau = ?“. Hier kann man aus der Word2Vec-Kodierung direkt die Antwort „Königin“ ablesen.

Wortassoziationen sind auch lösbar, etwa „Berlin ist für Deutschland wie Rom für ?“ . Word2Vec liefert hier die Antwort „Italien”. Dabei entsteht die semantische Bedeutung lediglich durch den mathematischen Abstand der Kodierungen. Das System „weiß“ nicht, was ein Land oder eine Hauptstadt ist. Es weiß lediglich, welchen (hochdimensionalen) Abstand die Wörter zueinander haben. Dies ist eine unglaublich nützliche Darstellung von Wörtern für ML-Systeme und deshalb auch der finale Teil meines Vortrages auf der MLConference in München.

JAXenter: Vielen Dank für dieses Interview!

Christoph Henkelmann hat an der Universität Bonn Informatik studiert, wo er seine erste Bekanntschaft mit künstlicher Intelligenz und maschinellem Lernen machte. Dieses Thema hat ihn neben seiner Tätigkeit als Entwickler, Softwarearchitekt und Berater im Mobile- und Serverbereich immer begleitet. Als Mitgründer und technischer Geschäftsführer der DIVISIO GmbH aus Köln kann er sich nun voll auf den Einsatz von KI im geschäftlichen Umfeld konzentrieren, wobei ihm seine Erfahrung im Java Enterprise Bereich hilft, Theorie und Praxis zu verknüpfen.
Blockchain Whitepaper 2018

Free: Blockchain Technology Whitepaper

If building a blockchain from scratch is beyond your current scope, the blockchain technology whitepaper is worth a look. Experts from the field share their know-how, tips and tricks, development advice, and strategy for becoming a blockchain master.

Geschrieben von
Carina Schipper
Carina Schipper
Carina Schipper ist seit 2017 Redakteurin beim Java Magazin, Business Technology und JAXenter. Sie hat Germanistik und Europäische Ethnologie / Volkskunde an der Julius-Maximilians-Universität Würzburg studiert.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: