Geschrieben am 15. August 2012 von für Kolumnen und Themen, Litmag

Siri-ously? Neues aus der Computerlinguistik

Spätestens seit Siri auf dem iPhone unsere Fragen beantwortet, ist klar: Computer, mit denen man reden kann, sind überall. Aber wie bringt man einem Computer das Sprechen bei? Warum versteht er einen manchmal besser und manchmal nicht so gut? Und wie verändern sprechende Computer unser Leben? Alexander Koller erzählt uns von nun an „Neues aus der Computerlinguistik“. Heute:

How to wreck a nice beach: Wie kommt die Sprache in den Computer?

Ich beneide die anderen Leute, die im CulturMag schreiben. Jeder weiß, was Schriftsteller machen; auch unter einem Astronomen kann sich jeder etwas vorstellen. Wenn mich auf einer Party jemand fragt, was ich so mache, dann sage ich „Computerlinguist“. Das kennt so gut wie keiner. Ich schiebe deshalb (inzwischen etwas verschämt) nach: „Wir machen Computerprogramme, die menschliche Sprache verarbeiten. Verstehen, produzieren, übersetzen. Und so.“ Aus irgendeinem Grund müssen meine Gesprächspartner dann oft ganz schnell aufs Klo. Und dabei war die junge Dame doch so nett gewesen.

Wenn es richtig gut läuft, sagen meine Gesprächspartner: „Ah ja, so Diktiersysteme, in die man reinsprechen kann, und die schreiben dann alles auf.“ Ich lächle dann freundlich, weil immerhin die Richtung stimmt, und höre mir an, wie gut die Diktiersysteme in der Arztpraxis funktionieren oder wie schlecht das automatisierte Telefonbanking einen neulich verstanden hat. Aber tief im Inneren bin ich traurig, weil gerade automatische Spracherkennung – also das Übertragen von gesprochener in geschriebene Sprache – nur der allererste kleine Schritt in einem sprachverarbeitenden Programm ist. Im Alltag kommt jeder von uns mit viel mehr Computerlinguistik in Kontakt, als man vielleicht zunächst meint, und aus meiner persönlichen Sicht fangen da die spannenden Probleme mit Sprache erst so richtig an. Trotzdem: Für eine Kolumne über Sprachtechnologie im Alltag, in der ich Ihnen ein bisschen ein Gefühl dafür geben will, was Computerlinguisten so machen, warum Sprachverarbeitung mit dem Computer schwer ist und wie wir es trotzdem hinkriegen, und wie unser tägliches Leben davon beeinflusst wird, ist Spracherkennung vielleicht ein guter Anfang.

Als Mensch sieht man erst mal nicht, was daran schwer sein soll, gesprochene Sprache zu verstehen. Je nachdem, was man mit „Verstehen“ meint, können wir das schon kurz nach der Geburt, während wir erst viel später und mit großem Aufwand lesen lernen. Für einen Computer ist es aber so richtig schwierig, in einem Tonsignal einzelne Wörter zu erkennen. Man muss sich das so vorstellen: Spracherkennung ist für einen Computer so, wie einen Ikea-Schrank zusammenzubauen. Nur dass der Computer die Augen verbunden bekommt, die einzelnen Bauteile durch Ertasten erkennen soll und keine Bauanleitung lesen darf, sondern irgendwie erraten muss, was wo hingehört. Wie im wirklichen Leben fehlen viele Bauteile auch einfach. Jeder, der schon mal ohne diese Handicaps das Vergnügen mit Ikea hatte, wird großes Verständnis dafür haben, dass dabei manchmal Unsinn herauskommt.

Also, wie geht das nun mit der Spracherkennung? Der Ausgangspunkt ist immer ein Tonsignal. In Abbildung 1 (oben) sieht man, wie das aussieht, wenn ich „Spracherkennung ist schwierig“ in mein Headset spreche; in diesem Bild ist nach rechts die Zeit abgetragen und nach oben und unten die Intensität der Schallwelle. Daraus berechnet man als erstes mal ein sogenanntes Spektrogramm (siehe Abbildung 2), in dem nach rechts die Zeit und nach oben die Frequenz abgetragen ist. Wie man aus der Schule weiß, setzt sich jedes Geräusch (auch meine Stimme) aus vielen einzelnen Sinusschwingungen verschiedener Frequenzen zusammen. Im Spektrogramm ist ein bestimmter Frequenzbereich zu einem bestimmten Zeitpunkt umso dunkler gezeichnet, je lauter diese Frequenz zu diesem Zeitpunkt war. Man sieht z.B. unten im Bild einen unterbrochenen grauen Streifen bei etwa100 Hz; das ist die Grundfrequenz meiner Stimme. Die anderen dunklen Bereiche sind irgendwelche Obertöne dieser Grundfrequenz, die sogenannten Formanten.

Das Spektrogramm sieht auf den ersten Blick völlig chaotisch aus. Wenn man genauer hinschaut, sieht man aber schon mal, wo die Vokale sind und wo die Konsonanten: Bei den Vokalen wird es dunkler, bei den meisten Konsonanten nicht. In Abb. 3 habe ich die Vokale eingerahmt. Verschiedene Vokale unterscheiden sich dadurch, welche Frequenzen die Formanten haben. Im A von „Spracherkennung“ gibt es einen dunklen Streifen (=Formanten) bei ungefähr 800 Hz und noch einen bei ungefähr 1200 Hz; ich habe sie im Bild mit roten Pfeilen markiert. In den beiden E’s liegen die ersten beiden Formanten ungefähr bei 700 und 1800 Hz.

Man kann das verallgemeinern: Wenn man zu einem bestimmten Zeitpunkt Formanten bei 800 und 1200 Hz findet, klingt das immer ungefähr wie ein A; ein Laut mit Formanten bei 700 und 1800 Hz klingt wie ein E; und so weiter. Ein Spracherkenner nutzt das aus, indem er das Tonsignal in kleine Zeitscheibchen schneidet und für jedes Scheibchen aus der Verteilung der Formanten (und einigen anderen Eigenschaften des Tonsignals) versucht, den Vokal zu erraten. Das ist das Ertasten der Bauteile.

Dummerweise klingen Vokale aber nicht immer genau gleich. Wenn Sie mit einem anderen Dialekt aufgewachsen sind als ich, oder wenn Sie etwas mehr oder weniger nuscheln als ich, dann haben Ihre Formanten etwas andere Frequenzen als meine. Man trainiert einen Spracherkenner deshalb so, dass man viele Leute den gleichen Text sprechen lässt und sich die verschiedenen Aussprachen merkt. Aber selbst innerhalb des gleichen Vokals ändern sich die Formanten (siehe das IE in „schwierig“), z.B. abhängig von den Lauten, die vor und nach dem Vokal kommen. Deshalb kann sich der Computer nie ganz sicher sein, welche Vokale er genau gehört hat. Um trotzdem weiterarbeiten zu können, rechnet er für jedes Zeitscheibchen eine Wahrscheinlichkeit aus, dass da gerade ein bestimmter Vokal gesprochen wurde. Das ist das sogenannte Akustikmodell.

Vokale sind also schon nicht ganz einfach, aber Konsonanten sind noch schlimmer. Die meisten von ihnen (z.B. das PR in „Spracherkennung”) sind akustisch fast nur Stille, oder sie sind einfach wüste Zischlaute (z.B. das SCH in „schwierig“). Man kann sie deshalb nicht so zuverlässig erkennen wie die Vokale; in der Ikea-Metapher sind sie fehlende Bauteile. Dass Konsonanten auch für Menschen manchmal schwierig zu unterscheiden sind, habe ich gerade vor ein paar Tagen wieder gemerkt. Ein Freund hat mir erzählt, dass Donald-Duck-Geschichten früher viel sozialkritischer waren als heute. Auf einmal redete er dann (dachte ich) über „die alten Geschichten, die noch von Karl Marx gezeichnet wurden“. Da war ich für einen Moment doch sehr verwundert. Nur weil ich viel mehr über historische Zusammenhänge weiß als ein Computer, konnte ich das dann zu Carl Barks korrigieren.

Ein Computer versucht diese Unsicherheit zu kompensieren, indem er Informationen darüber verwendet, was für Sachen Menschen normalerweise so sagen. Wenn man einen Spracherkenner baut, nimmt man sich eine große Menge geschriebenen Text (sagen wir, eine Milliarde Wörter) und berechnet daraus ein Sprachmodell, das sagt, wie wahrscheinlich eine bestimmte Wortfolge ist. Erst durch das Kombinieren der Wahrscheinlichkeiten aus dem Akustikmodell und dem Sprachmodell bekommt man vernünftige Erkennungsergebnisse. Vom Spracherkennungs-Pionier Raymond Kurzweil stammt das schöne Beispiel, dass der Computer auf diese Weise unterscheiden kann, ob der Mensch „I’d like some cream and sugar“ oder „I’d like some dream and sugar gesagt hat. Den Unterschied zwischen den Konsonanten hört man ja, wie gesagt, eigentlich nicht, aber „cream and sugar“ ist eine viel wahrscheinlichere Phrase als „dream and sugar“. Mit Sprachmodellen kann man dann auch gleich versuchen, zwischen Homonymen wie „Mohr“ und „Moor“ zu unterscheiden, und überhaupt erst mal zu erkennen, wo eigentlich im Tonsignal die Grenzen zwischen den Wörtern sind: Wie man an „ist“ und „schwierig“ in Abb. 1 oder 2 sieht, gibt es zwischen zwei Wörtern nicht unbedingt eine Pause.

Ein Computer muss also ziemlich hart arbeiten, um gesprochene Sprache in Wörter zu übersetzen. So gesehen ist es ganz schön eindrucksvoll, wie gut Spracherkenner in den letzten Jahren geworden sind. Ich habe Anekdoten gehört, laut denen Computer besser darin sind, Telefonanrufe zu transkribieren, als Menschen, und ich kenne Leute mit Karpaltunnelsyndrom, die ihrem PC ganze Seminararbeiten diktieren, ohne völlig wahnsinnig zu werden. Spracherkennung klappt vor allem dann gut, wenn man ein gutes Mikrophon benutzt, deutlich und ruhig spricht und in einem Anwendungsbereich arbeitet, wo das Vokabular eingeschränkt ist. Deshalb sind Ärzte normalerweise auch größere Fans von Spracherkennern als andere Leute: Einzelne medizinische Begriffe mögen kompliziert sein, aber medizinische Texte kommen mit einem Vokabular von Tausenden von Wörtern aus, während ein Spracherkenner für uneingeschränktes Deutsch einige Hunderttausend Wörter unterscheiden muss.

Andererseits braucht man schon ziemlich viel Kontext, um zwischen den fast gleichklingenden Wortfolgen „how to recognize speech“ und „how to wreck a nice beach“ (auch Beispiele von Kurzweil) zu unterscheiden. An dieser Stelle kommt dann doch allgemeineres Wissen über Sprache ins Spiel, als man mit Statistiken über typische Wortsequenzen erfassen kann. Dass Spracherkenner in Schwierigkeiten kommen, wenn es Hintergrundgeräusche gibt (z.B. im Auto) oder mehrere Leute gleichzeitig reden, ist klar; der Spracherkenner muss dann sozusagen vor dem Ertasten der Ikea-Bauteile noch Handschuhe anziehen, oder jemand hat die Bauteile von Schrank und Bett vermischt. Man kann hier z. B. versuchen, sich mit Lippenlesen zu behelfen.

Auch das Geschlecht des Sprechers macht einen Unterschied. Früher war es allgemein anerkannt, dass Spracherkenner bei Frauen mehr Fehler machen als bei Männern, z. B. in diesem Experiment mit amerikanischen RadiologInnen. Das kann zum einen ganz banal daran liegen, dass sowohl die Entwickler als auch die Geldgeber für Spracherkenner meistens Männer sind und man sie deshalb vor der entscheidenden Demo noch eben auf Männerstimmen optimiert. Aber Frauenstimmen sind auch akustisch etwas schwieriger, weil der erste Formant mancher Vokale (I und U) um 300 Hz liegt und die typische Grundfrequenz einer Frauenstimme bei etwa 250 Hz; da kann man im Spektrogramm einfach den Formanten nicht mehr so leicht von der Grundfrequenz unterscheiden. Kinderstimmen, deren Grundfrequenz noch höher liegt und deren Formanten je nach Alter auch andere Frequenzen haben, sind noch schlimmer. Inzwischen schalten viele Spracherkenner automatisch zwischen einem „Männer-Modus“ und einem „Frauen-Modus“ mit verschiedenen Akustikmodellen um, mit dem Ergebnis, dass inzwischen Männer schlechter verstanden werden – weil sie häufiger „ähm“ sagen als Frauen.

Was übrigens nicht hilft, wenn man von einem Computer nicht richtig verstanden wird, ist sogenannte Hyperartikulation. Wenn man mit Menschen redet, hilft es oft, wenn man lauter und stärker betont spricht. Kann auch sein, dass man sich besser fühlt, wenn man einen Computer mal so richtig anschreit. Aber besser verstanden wird man vom Computer so nicht: Man macht damit seine Sprache nur unähnlicher zu der (ruhigen) Sprache, mit der das akustische Modell trainiert wurde. So schwer es im täglichen Umgang also manchmal sein mag: Eine „clear and calm manner“ zahlt sich im Umgang mit Spracherkennern tatsächlich aus.

Ich danke Okko Buß, Henrike Heiland, Dietrich Klakow, Hanne Kosinowski, Frank Kügler, Andreas Peldszus, Barbara Rauch, Stefanie Schmidt und Sabine Zerbian für wertvolle Hinweise, Kommentare, Beispiele und Diskussionen. Alle Fehler und Unklarheiten kommen natürlich von mir.

Alexander Koller

Alexander Koller, geboren 1975, ist Professor für theoretische Computerlinguistik an der Universität Potsdam. Er interessiert sich vor allem dafür, wie man dem Computer beibringt, was Sprache bedeutet und wie man sie richtig einsetzt. Für Leser, die wissen wollen, wie Computerlinguistik genau funktioniert, empfiehlt er den BSc-Studiengang Computerlinguistik in Potsdam. Seine Homepage finden Sie hier.

Tags : , , ,