Sie sind hier: HomeTelekommunikation

Sprachassistenz: Wider die Datenkrake

KI-basierte Sprachassistenten werden zu den Standardfeatures smarter Geräte gehören. Eine Altenative zu Cloud-basierten Lösungen sind lokal arbeitende Systeme. Diese müssen allerdings vorgebildet werden – Modelle des dezentralen Maschinenlernens kommen dabei zum Einsatz.

Bildquelle: © lynea - Fotolia.com

Es ist eine Krux: Um die Leistung von maschinellen Lernmodellen zu maximieren, ist es am besten, sie auf der Basis von echten Endnutzerdaten zu trainieren – anstelle von imitierten Datensätzen. Verwenden Unternehmen jedoch private Nutzerdaten, hat das in moralischer Hinsicht einen gewissen Beigeschmack. Es sei denn, die Nutzerdaten verlassen niemals das Gerät, das sie sammelt. Derartige Modelle werden als dezentrales maschinelles Lernen oder föderiertes Lernen bezeichnet.

Machine-Learning-Programme
Erkennen Sprachapplikationen einen Sprachbefehl des Nutzers als solchen, lösen sie die zugehörige Aktion aus, beispielsweise das Starten eines Filmes oder die Zubereitung von Kaffee. Das Programmieren einer auf Machine Learning basierenden Sprach-App erfordert in der Regel drei grundlegende Schritte:

  • Die Definition dessen, was alles verstanden werden soll
    Findet der Sprachassistent Verwendung beim Navigieren in einer Mediathek, muss er andere Befehle verstehen, als wenn er die Kaffeemaschine bedient.
  • Die Implementierung der Trainingsbefehle
    Der Assistent kann nur auf Befehle reagieren, die er zuvor gelernt hat. Je mehr er gelernt hat, desto mehr versteht er.
  • Schreiben des Codes
    Der Code definiert, was der Sprachassistent ausführt, wenn er einen Befehl wahrgenommen hat.

Das bedeutet, dass jede Anwendung mit Beispielen trainiert werden muss, die definieren, wie Menschen mit den entsprechenden Befehlen umgehen würden. Da es sich bei den meisten Assistenten jedoch um neue Produkte handelt, sind diese Daten für die Schulung noch nicht vorhanden. Es spielt dabei keine Rolle, wie viele Nutzer ein Sprachassistent hat; wenn von Millionen Benutzern noch keiner mit einer Kaffeemaschine gesprochen hat, liegen somit keine Daten für diese Anwendung vor. Das größte Problem bei der Erstellung einer neuen App ist daher, Daten zu generieren, um die Assistenten zu trainieren, bevor die App vermarktet werden kann. Dies bezeichnet man als Kaltstart.

Herausforderung Kaltstart
App-Entwickler haben zwei Möglichkeiten, mit dieser Herausforderung umzugehen: Erstens, sie geben manuell eine Reihe von Beispielen vor, die antizipieren, wie Leute mit ihrem Assistenten gewöhnlich sprechen. Die zweite Möglichkeit ist, Entwickler verfolgen, wie echte Nutzer mit ihrem Assistenten sprechen, was die Leistung im Laufe der Zeit verbessert. Dabei gibt es jedoch mehrere Probleme: So ist die Anzahl von Beispielen, die im Labor entwickelt werden können, begrenzt. Das führt dazu, dass Sprachapplikationen nur mit durchschnittlich 30 bis 50 Beispielen trainiert werden. Deshalb sind Apps beim Start meist zu wenig ausgereift – sie verfügen einfach nicht über genug Daten, um daraus zu lernen. Benutzerdaten zu verfolgen bedeutet zudem, in die Privatsphäre einzudringen. Bei dem, was dort gesagt wird, könnte es sich um sehr sensible Informationen handeln. Ein dritter Punkt ist, dass die Daten manuell kommentiert und getaggt werden müssen; das ist ein recht mühsamer, fehleranfälliger Prozess.

Um diese Probleme zu lösen oder zu umgehen, wird häufig mit Pseudodaten gearbeitet. Dafür werden aus einer Handvoll anfänglich gegebener Trainingsbeispiele Tausende von Beispielen generiert. Tatsächlich bietet die beste Vorlage für das Training der Modelle aber die Realität. So üben diese Akzente, Dialekte und ungewöhnliche Ausdrücke gleich mit.