Samstag, 20. April 2024

Archiv

Algorithmen im Alltag (11/12)
Der Verständnisvolle

Sprachassistenten, wie Apples Homepod mit Siri oder Amazons Alexa, können das Leben für ihre Besitzer deutlich erleichtern. Durch den Einsatz künstlicher Intelligenz ist die Trefferquote der Spracherkennung in den letzten Jahren stark gestiegen. Aber zahlreiche Herausforderungen bleiben.

Von Piotr Heller | 18.04.2019
Im Januar 2017 sagte US-Fernsehmoderator Jim Patton live im TV: "Alexa, bestell' mir ein Puppenhaus." Diesen Satz verstanden alle virtuelle Alexa-Assistenten von Amazon in den Häusern der Fernsehzuschauer. Die Algorithmen dieser Geräte begannen daraufhin, Puppenhäuser zu bestellen. Und zwar tausendfach.
"Also Grundsätzlich muss man sagen, dass dieser Fall kein Problem der Spracherkennung war, sondern eigentlich der Sprecher-Erkennung. Der Computer hätte also erkennen müssen: Da spricht jemand ganz anders als mein Hausherr oder meine Hausherrin. Und deswegen darf ich es nicht bestellen", erklärt Christoph Schmidt, der am Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme in Sankt Augustin automatische Sprachkenner entwickelt.
Tatsächlich hat sich Amazons persönliche Assistentin damals bei den Hausherren rückversichert, ob sie wirklich Puppenhäuser bestellen wollen. Weil die meisten verneinten, blieb der Schaden gering.
Doch diese Geschichte zeigt zwei Dinge: Erstens, wie weit verbreitet solche Algorithmen zur Spracherkennung heute sind: Sie stecken auch in Handys und Autos oder untertiteln vollautomatisch Videos bei Youtube. Zweitens zeigt der Fall, wie leistungsfähig die automatische Spracherkennung inzwischen ist. Wie funktioniert sie also genau?
"Der Input ist eine Audiodatei oder ein Audio Stream."
Der Algorithmus zerstückelt dieses Audiosignal, also das Gesprochene, in Häppchen von einigen hundertstel Sekunden Länge. Die durchlaufen dann mehrere Stufen:
"Also beispielsweise: Wir verwenden ein Phonem-basiertes Modell, also ein Laut-basiertes Modell. Und dann zerfällt dieser Spracherkenner in drei Komponenten: Die erste Komponente kümmert sich darum: Wie werden einzelne Phoneme ausgesprochen?"
Der Laut wird ausgewählt, der am besten zu den Audiohäppchen passt
Hinter dieser Komponente steckt klassischerweise ein statistisches Modell. Es hat alle Laute einer Sprache in einer Datenbank gespeichert. Dann wählt es den Laut aus, der am besten zu einer Reihe von Audiohäppchen passt. So übersetzt es die Audiodatei Stück für Stück in Laute. Das Problem dabei: Nicht jeder spricht jeden Laut gleich aus.
"Was ich in den Wahrscheinlichkeiten-Modellen dann modellieren muss, ist diese Varianz. Ich lerne zum Beispiel, dass in den verschiedenen Regionen von Deutschland das R unterschiedlich ausgesprochen wird. Ich komme aus dem Ruhrgebiet, da wird R eigentlich EA ausgesprochen. Und wenn man nach Bayern geht, haben sie ein sehr hartes RRR. Und das heißt, der Computer lernt dann Varianten."
Hat der Algorithmus die einzelnen Laute erkannt, muss er daraus einen Text zusammensetzen.
"Die zweite Komponente setzt dann diese Phoneme zu Wörtern zusammen. Es muss also wissen: Aus welchen Phonemen besteht ein bestimmtes Wort? Und die dritte Komponente modelliert die Wahrscheinlichkeit für ganze Sätze, also für Wortfolgen."
"Der Output ist ein Text, also die transkribierten Wörter, die gesprochen werden."
Fehlerrate aktuell von vier Prozent
Wie oft sich die Systeme irren, hängt von der Anwendung ab. Ein Spracherkenner, in einer stillen Umgebung arbeitet natürlich zuverlässiger als einer, der etwa im Auto mit vielen Nebengeräuschen klar kommen muss.
"Also ein Standard-Testset, um weltweit zu vergleichen, ist: Telefon-Unterhaltungen mit einem relativ geringen Vokabular. Wir sprechen dann von 40.000 bis 60.000 Wörtern. Und da liegen die besten Systeme derzeit bei vier Prozent."
Vier Prozent, das ist aktuell die Fehlerrate. Das heißt von 100 Wörtern verstehen die Algorithmen im Mittel vier falsch. Durch den Einsatz künstlicher Intelligenz ist die Trefferquote in den letzten Jahren stark gestiegen.
Dennoch hat sich der grundlegende Aufbau der Systeme kaum verändert, nur die Komponenten. So trainiert man heute die Laut-Erkennung mit neuronalen Netzen, also Systemen, die das Lernverhalten eines Gehirns imitieren. Genauso lernt die dritte Komponente - also das Sprachmodell, das aus den Wörtern Sätze zusammenbaut - mit riesigen Textdatenbanken. Aber da wird es schwierig:
"Ein großes Problem, was wir schon haben, ist Umgangssprache. Wenn ich zum Beispiel - statt 'haben wir' - 'hamm wer' spreche. Weil der Computer eine große Menge an Textdaten verwendet und dort wird immer hochdeutsch geschrieben. Das heißt, in diesen Daten hat er eben nie Umgangssprache gesehen und gelernt. Und an diese Daten ranzukommen, also umgangssprachlich transkribierte Audio-Dateien zu bekommen, das ist sehr, sehr schwierig."
Spracherkenner verstehen den Kontext nicht
Die modernsten Systeme umgehen heute den Zwischenschritt über die Phoneme und lernen direkt, Tondateien auf Worte abzubilden. Diese sogenannte "End-to-End Speech Recognition" erfordert aber sehr aufwendige neuronale Netze und viel Rechenleistung. Und wie für alle anderen Spracherkenner, gilt auch für diese modernen Varianten erstmal: Sie verstehen nicht wirklich, was sie da abschreiben, weil sie den Kontext nicht kennen.
"Also zum Beispiel: Meinen Namen Christoph Schmidt kann man auf verschiedene Weisen schreiben. Der Computer müsste also im Hintergrund wissen: Sie interviewen jetzt gerade den Christoph Schmidt von Fraunhofer und der wird so geschrieben."
Forscher arbeiten derzeit daran, den Spracherkennern dieses lexikalische Weltwissen zu verleihen. Sie nutzen dafür maschinenlesbare Wissensdatenbanken, so genannte "Knowledge Graphs". Die Algorithmen erhalten damit etwas mehr Kontext zu dem Gesagten. Irgendwann werden sie somit vielleicht unterscheiden können, ob das, was sie da niederschrieben, aus dem Fernseher kommt oder doch aus dem Mund ihres Hausherren.