DLS

Deep Learning Sentiment - dokumentübergreifende Sentimentanalyse

Die ONE LOGIC GmbH hat unter dem Titel „Deep Learning Sentiment“ eine konzern- und mittelstandstaugliche Lösung zur intelligenten, dokumentenübergreifenden Verarbeitung und Auswertung von sehr großen Mengen unstrukturierter Daten entwickelt. Das Verfahren arbeitet dabei mit textuellen Daten in deutscher Sprache.

Deep Learning Sentiment wurde als Einzelprojekt im Programm „Zentrales Innovationsprogramm Mittelstand“ (ZIM) des Bundesministeriums für Wirtschaft und Energie gefördert.

Projektzeitraum: 01.01.16 - 30.06.17

Keywords

Mit einer Sentimentanalyse wird versucht (positive oder negative) Stimmungen in Textdokumenten zu erkennen (Sentiment= Empfinden, Gefühl). Zur Analyse wird eine bestimmte Anzahl an Textpassagen mit positiven oder negativen Tendenzen klassifiziert. Die Häufigkeit der vorkommenden Begriffe im analysierten Text wird miteinander verglichen und gibt dann die Tonalität bzw. Grundstimmung wieder.

Deep Learning ist ein Bereich des Maschinellen Lernens, bei dem die Struktur und Funktion des Gehirns mit Hilfe mehrschichtiger Neuronaler Netze nachgebildet wird.

Convolutional Neuronale Netze fallen in den Bereich Deep Learning und bestehen aus einer sogenannten Convolution-Schicht gefolgt von einer Pooling-Schicht. Diese Kombination kann sich beliebig oft wiederholen. Im Convolution-Schritt wird die Aktivität eines Neurons über eine diskrete Faltung berechnet. Dabei wird schrittweise eine kleine Faltungsmatrix über den Input (z.B. ein Bild) bewegt. Die Eingabe eines Neurons berechnet sich aus dem inneren Produkt der Faltungsmatrix und dem zugrundeliegenden Bildausschnitt. Im Pooling-Schritt werden im Anschluss überflüssige Informationen verworfen. Dabei werden die Ausgaben der jeweiligen Neuronen entsprechend gefiltert und die wichtigsten Informationen selektiert.

Ausgangslage und Marktbedarf

Die digitale Informationsflut im (Firmen-)Alltag führt zu einer ständig steigenden Ansammlung von Daten. Dies findet vor allem in Form von unstrukturierten Textdokumenten wie Emails, Word-Dokumenten, Social Media Inhalten und ähnlichem statt. Die Nutzbarmachung dieser Daten hat mit hoher Wahrscheinlichkeit großes Potenzial für neue, gewinnbringende Erkenntnisse im Alltag einer Firma.

Weitere Einblicke könnte man erhalten, wenn man neben dem Inhalt der Textdokumente auch noch die Verknüpfungen untereinander verstehen und auswerten könnte. Ein Beispiel wäre die Analyse der Kommunikation eines möglicherweise gescheiterten Projektes; als einschlägig bekanntes Beispiel dafür sei hier das Unternehmen Enron erwähnt. Enron war ein amerikanischer Energiekonzern, der durch Bilanzbetrug in den Konkurs ging. Die US- Finanzbehörde veröffentlichte im Rahmen des Prozesses einen bereinigten Datensatz von ursprünglich ca. 600.000 E-Mails von mehr als 158 Mitarbeitern und stellte ihn unter dem Namen „Enron Corpus“ für wissenschaftliche Zwecke zur Verfügung. In diversen wissenschaftlichen Abhandlungen wird thematisiert, dass verschiedene Personen bestimmte Entscheidungen nicht mit dem notwendigen Gewicht betrachtet oder schlichtweg ignoriert haben. Auf Basis der offengelegten Kommunikationsdaten ergeben sich verschiedene komplexe Fragestellungen, die in Forschungsprojekten bearbeitet werden. Eine davon könnte beispielsweise sein, ob eine Früherkennung der Missstände möglich gewesen wäre und somit rechtzeitig gegengesteuert hätte werden können.

Projektgegenstand

Das Projekt Deep Learning Sentiment beschäftigte sich damit, auf einem textuellen Datenkorpus eine Sentimentanalyse durchzuführen und anschließend die Einzelergebnisse zu einem großen Ganzen zu fusionieren um daraus gewinnbringende Erkenntnisse abzuleiten. Um für die im Projektverlauf entwickelten Verfahren eine Vergleichbarkeit zum derzeitigen Stand der Forschung zu gewährleisten, wurden die Experimente am Enron-Datensatz in englischer Sprache durchgeführt. Die eigentlichen Verwertungsaspekte zielen in der Vermarktung des Verfahrens allerdings auf Daten der deutschen Sprache ab.

Der Forschungsbereich der Sentimentanalyse wurde bereits mit Hilfe verschiedener Methoden und Algorithmen untersucht. Der aktuelle Stand der Technik verwendet zur Sentimentanalyse unter anderem tiefe neuronale Netze, die sich vor allem durch Genauigkeit, Flexibilität und Effizienz auszeichnen. Eine bekannte Form dieser Netze sind Convolutional Neuronale Netze, die sich im Bereich der Bildklassifikation als sehr performant und akkurat erwiesen haben. Bei diesem Feedforward-Netz (ohne Rückkopplung) handelt es sich um ein von biologischen Prozessen inspiriertes Konzept aus dem Bereich der Künstlichen Intelligenz.

Jüngere Forschungsarbeiten haben gezeigt, dass Convolutional Neuronale Netze auch erfolgreich in verschiedenen Bereichen des Natural Language Processing eingesetzt werden können. In unserem Forschungsprojekt verwenden wir Convolutional Neuronale Netze als Mittel zur Sentimentanalyse. Der erste Schritt umfasst dabei die Berechnung verteilter Wortrepräsentationen. Hierbei handelt es sich um n-dimensionale Vektorrepräsentationen (Embeddings), welche die Ähnlichkeit zweier Wörter innerhalb eines Vektorraumes beschreiben.  Die Vektoren ähnlicher Wörter zeigen dabei in ähnliche Richtungen. Das Erlernen dieser Vektoren erfolgt durch den aktuellen Stand der Technik „Word2Vec“. Die resultierenden Dokumentmatrizen der Trainings- und Testdaten dienen im Folgenden als Eingabe in das Convolutional Neuronale Netz.

Das Erlernen tiefer Netze erfordert aufgrund zunehmender Datenmengen immer leistungsfähigere Computer. Um eine performante Verwendung der Sentimentanalyse zu gewährleisten, verteilen wir den gesamten Trainings- und Testprozess auf mehrere Rechner. Mit Hilfe von Apache Spark ist unser Algorithmus in der Lage die Sentimentanalyse auf beliebig vielen Rechnern parallel durchzuführen. Das Problem der Zusammenführung der einzelnen Netzgewichte welche über beliebig viele Computer verteilt sind wurde mit einer effizienten Methode des Parameter Averaging gelöst. Bei dieser Methode trainiert jeder Rechner, basierend auf einer Untermenge der Trainingsdaten ein separates Netz. Nach einer vorgegebenen Anzahl an Schritten wird der Durchschnitt der erlernten Gewichte errechnet und wieder an die einzelnen Rechner verteilt.

Die nachfolgende Grafik zeigt die durchschnittliche Genauigkeit, Präzision und F1-Wert über alle Resultate der Kreuzvalidierung.

Ergebnisse

Die nachfolgende Grafik zeigt die durchschnittliche Genauigkeit, Präzision und F1-Wert über alle Resultate der Kreuzvalidierung.

Ein Genauigkeitswert über 65 Prozent gilt bereits als sehr gutes Ergebnis, wenn man berücksichtigt, dass der zugrundeliegende Algorithmus acht verschiedene Sentimentklassen zur Auswahl hat. In unseren Ergebnissen lag das entwickelte Verfahren deutlich über diesem Wert bereits ab vier Epochen. Aus diesem Grund konnte das Projekt nachweislich erfolgreich abgeschlossen werden.

Falls Sie sich für Details zu diesem Projekt interessieren, können Sie uns gerne kontaktieren. Unsere Experten freuen sich darauf, Ihnen ihre Fragen zu diesem Thema zu beantworten!

OBEN