© DrHitch/Shutterstock.com
Einstieg ins Machine Learning

3 Maschinelle Sprachverarbeitung für Einsteiger


Die automatische Spracherkennung und -analyse ist ein komplexes Themenfeld. Welche Prozesse liegen der maschinellen Emotionsanalyse zugrunde und womit kann diese Funktion selbst implementiert werden? Dieses Kapitel gibt einen Überblick.

Technologien für die Erkennung und das Verstehen von menschlicher Sprache sind heute Bestandteil des Lebens und der Arbeit von Millionen von Menschen weltweit. Sie sind nicht nur die zentrale Komponente von Smart Devices wie Amazon Echo, sondern auch auf jedem Smartphone verfügbar. Aus Sicht des Anwenders scheint die Funktionalität dieser Systeme oft sehr simpel, sie beruhen jedoch auf technisch sehr komplexen Algorithmen und auf Forschungsergebnissen der letzten sechzig Jahre. Die automatische Spracherkennung und -analyse ist auch deshalb ein solch anspruchsvolles Problem, da für jede vorkommende Sprache und deren Dialekte eigene Modelle entwickelt bzw. trainiert werden müssen. Für ein vollwertiges System zur Mensch-Maschine-Interaktion ist allerdings auch die Erkennung weiterer Parameter notwendig, beispielsweise die Erkennung des emotionalen Zustands des Sprechers oder dessen Alter. Daneben kann auch die Diagnostik von Krankheiten aus der gesprochenen Sprache eine wichtige Anwendung der Sprachtechnologien sein, da sie nicht invasiv ist, den Anwender also nicht belastet und nicht der physischen Präsenz eines Arztes bedarf. Die meisten aktuellen Algorithmen beruhen dabei auf dem maschinellen Lernen, also der Modellbildung aus einer großen Anzahl von Beispieldaten.

Maschinelles Lernen steht prinzipiell für das Lernen aus Beispielen. Aktuelle Algorithmen zur automatischen Spracherkennung und zur Erkennung von paralinguistischen Parametern (wie Alter, Geschlecht, Gesundheits- oder emotionalem Zustand) beruhen zu einem großen Teil auf diesem Prinzip. Das erfordert die Verfügbarkeit einer großen Menge an Trainingsdaten, also Sprachaufnahmen mit den entsprechenden Annotationen. Im Fall der Spracherkennung bedeutet das, dass eine Transkription in geschriebenem Text vorliegen muss, im Fall der Emotionserkennung, dass die Angabe einer Emotion für jedes Zeitfenster einer Aufnahme verfügbar ist. Dadurch, dass sich die Eigenschaften, also u. a. der Klang der Stimme, die Sprechweise und der Ausdruck von Emotionen, stark von Sprecher zu Sprecher unterscheiden, sind Aufnahmen von einer Vielzahl von Sprechern notwendig, um sprecherunabhängige Systeme trainieren zu können. Sprecherunabhängige Systeme sind Spracherkenner, die auch von Personen verwendet werden können, von denen keine Aufnahmen in den Trainingsdaten vorhanden sind. Bei den meisten Tools zur Spracherkennung, die im Bürobetrieb, insbesondere für das Diktieren von Briefen eingesetzt werden, findet jedoch auch eine Feinjustierung statt, die das Modell an die Charakteristika des jeweiligen Nutzers adaptiert. Um moderne, sprecherunabhängige Systeme zu trainieren, sind in der Regel sehr große Datenmengen erforderlich: Der unter einer Creative-Commons-Lizenz veröffentlichte LibriSpeech-Corpus enthält insgesamt etwa 1 000 Stunden an englischen Sprachaufnahmen von mehr als 2 000 Sprechern. Datensätze, die zum Training kommerzieller Systeme verwendet werden, sind mitunter noch deutlich größer, allerdings halten die entsprechenden Unternehmen genauere Informationen darüber meist geheim. Im Jahr 2017 hat Mozilla das Projekt Common Voice gestartet, bei dem sowohl Sprachdaten, die Internetnutzer freiwillig zur Verfügung stellen, als auch damit trainierte Spracherkennungmodelle verfügbar gemacht werden.

Automatische Spracherkennung

Bis vor wenigen Jahren wurde automatische Spracherkennung (Sprache zu Text) meist durch sogenannte Hidden-Markov-Modelle (HMMs) realisiert. Das war der erste Ansatz, der Spracherkennung für verschiedene Anwendungszwecke verfügbar gemacht hat – vorherige Ansätze waren sowohl aufgrund der fehlenden Methodik als auch der fehlenden Rechenleistung meist nur für die Erkennung isolierter Schlagworte geeignet. HMMs sind stochastische Modelle, mit denen sprachliche Einheiten (Phoneme oder Wörter) als Folge von Zuständen modelliert werden, die nicht direkt bestimmt, sondern nur anhand der akustischen Emissionen geschätzt werden können. Phoneme sind die kleinsten lautlichen Einheiten einer Sprache (bspw. der Vokal /a/), die jedoch von verschiedenen Sprechern unterschiedlich ausgesprochen werden können. Die Realisierungen eines Phonems werden als Phon bezeichnet. Ein Vokal kann, auch im gleichen Wort, unterschiedlich lang gehalten werden. Ein HMM hat die Fähigkeit des dynamischen Time Warping, d. h. es kann Sequenzen wiedererkennen, auch wenn die Verweildauer in einem Zustand (beispielsweise dem Phonem /a/) verschieden ist. Außerdem unterscheidet sich jeder Sprecher hinsichtlich der Grundfrequenz seiner Stimme (quasi der Tonhöhe, in der gesprochen wird) und der genauen Lage der Formanten im Spektrum seiner Sprache. Formanten sind bei Betrachtung der spektralen Darstellung eines bestimmten Phons diejenigen Frequenzbereiche, die durch die Filterung im Vokaltrakt des Menschen (Hals und Mund) verstärkt werden und den Klang des jeweiligen Lauts ausmachen, sich jedoch auch zwischen Sprechern unterscheiden. Aus diesem Grund werden als Vorverarbeitungsschritt zeitabhängige Merkmalsvektoren, sogenannte Mel Frequency Cepstral Coefficients (MFCCs) aus dem Sprachsignal extrahiert. Diese enthalten eine komprimierte Darstellung des Spektrums, in denen der Anteil der Grundfrequenz und der Anteil des Vokaltraktfilters getrennt wurden. Die Folge der MFCCs sind dann die beobachteten akustischen Emissionen eines HMMs, wobei dessen Parameter aus den vorhandenen transkribierten Sprachdaten trainiert werden müssen.

Neben dem beschriebenen akustischen Modell besteht ein Spracherkennungssystem immer auch aus einem Sprachmodell (Language Model). Mithilfe des akustischen Modells werden für die zu erkennenden sprachlichen Einheiten die wahrscheinlichsten Wortfolgen ermittelt. Denn verschiedene Wörter klingen bei Aussprache im Kontext eines Satzes oft sehr ähnlich oder gar identisch. Als Beispiel kann der Satz „Er malte ein Bild von einem Dorf.“ dienen. Wenn die Wörter einzeln erkannt würden, könnte das akustische Modell die Wortsequenz „Eher mahlte ein Bild von einem Torf.“ ausgeben. Deshalb werden die Wahrscheinlichkeiten des akustischen Modells schließlich noch mit denen des Sprachmodells kombiniert, das verschiedenen Folgen von Wörtern Wahrscheinlichkeiten zuordnet. Das Sprachmodell muss ebenfalls unter Zuhilfenahme von großen Datenbanken trainiert werden, allerdings müssen hierfür keine zugehörigen Audiodaten vorhanden sein.

Heutige Systeme zur automatischen Spracherkennung verwenden normalerweise ausschließlich tiefe neuronale Netze (Deep Neural Networks). Für die Problemstellung der automatischen Spracherkennung, bei der eine Audiosequenz (Sprachsignal) in eine Sequenz von Wörtern übersetzt wird, eignen sich besonders rekurrente neuronale Netze (RNNs), genauer Long Short-Term Memory-RNNs (LSTM-RNNs). Diese sind dazu in der Lage, Informationen einer Sequenz über eine bestimmte Zeitdauer zu speichern und als Kontext für die Erkennung von Wörtern bzw. Sätzen zu verwenden. Als Eingabe können auch hier die oben beschriebenen MFCC-Sequenzen genutzt werden. Allerdings wird auch der Vorverarbeitungsschritt der Merkmalsextraktion zunehmend von neuronalen Netzen übernommen. Hierfür werden normalerweise sogenannte Convolutional Neural Networks (CNNs) benutzt, die als eine Menge von Filtern betrachtet werden können, mit denen die Eingangssequenz (das Audiosignal) verarbeitet wird, wobei jeder Filter für verschiedene Frequenzbereiche zuständig ist. Die Gewichte der einzelnen Filter werden jedoch – anders als in der klassischen Signalverarbeitung – nicht berechnet, sondern ebenfalls mit den gegebenen Daten trainiert. Das gesamte System der Spracherkennung inklusive Sprachmodellen wird also durch ein tiefes neuronales Netz dargestellt. Alle Teilmodelle werden damit zusammen trainiert, wobei die Grenzen zwischen ihnen zunehmend verschwimmen. In diesem Zusammenhang wird auch von End-to-End Learning gesprochen.

Es ist zu erkennen, dass maschinelles Lernen eine zentrale Komponente der heutigen Sprachtechnologien darstellt. Da gerade die automatische Spracherkennung allerdings eine sehr komplexe Problemstellung mit vielen Teilaspekten und hohem Datenbedarf ist, die eine Modellierung auf verschiedenen Ebenen erfordert, werden im Folgenden die Möglichkeiten des maschinellen Lernens an einem leichter zu demonstrierenden Beispiel erläutert: der Emotionserkennung aus der menschlichen Sprache.

Emotionserkennung

Automatische Emotionserkennung ist ein wesentlicher Forschungsgegenstand im Bereich des Affective Computing und unter anderem relevant für die Entwicklung von virtuellen Agenten, für die Ro...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang