Was ist, wie funktioniert und wozu dient Spracherkennung?
Der Traum, dass Menschen mit einer Maschine sprechen können und dabei wie von ihresgleichen verstanden werden, wird wohl niemals so wahr werden, wie in der Phantasiewelt der Science Fiction ausgemalt. Aber, nach den gewaltigen Fortschritten auf dem Gebiet der Spracherkennungs-technologie seit dem letzten Jahrzehnt und im Verbund mit der rapiden Steigerung der mittlerweile verfügbaren Rechnerleistung sind wir vielleicht schon nicht mehr ganz so weit davon entfernt.
Wir können heute über ein Mikrofon in den Computer sprechen, und er zeigt uns Inhalte an, öffnet Anwendungen, lässt uns durch die Menüs steuern und im Grunde all das tun, wofür wir sonst Tastatur und Maus verwenden würden. Oder wir diktieren in das Fenster einer Textverarbeitung, und der von uns gesprochene Text erscheint auf dem Bildschirm, fast oder genau so schnell, wie wir sprechen. All dies können wir wie von Geisterhand geschehen lassen, nur mittels unserer Stimme.
Die ersten computergestützten Spracherkennungssysteme, die etwa nach 1970 aufgebaut wurden, basierten auf dem Prinzip der diskreten Spracherkennung, was bedeutet, dass die Software ausschließlich isoliert gesprochene Wörter voneinander unterscheiden und identifizieren kann. Diese Technik begegnet uns auch heute noch, und in zunehmendem Maß, in unseren Mobiltelefonen, im Bordcomputer unserer Autos, in den modernen Navigationssystemen, um nur einige Beispiele zu nennen.
Auch in der modernen Form von Spracherkennungssoftware ist die diskrete Spracherkennung immer noch ein fester Bestandteil, Befehle, etwa zur Steuerung des Computers wie oben beschrieben, müssen von den Äußerungen davor und danach unterscheidbar gesprochen werden, damit sie als solche erkannt werden.
Der entscheidende Fortschritt aber gelang mit der Entwicklung der so genannten kontinuierlichen Spracherkennung, wodurch es erst möglich wurde, frei formulierte Rede vom Programm erkennen und in geschriebenen Text umsetzen zu lassen.
Kontinuierliche Spracherkennung bildet in ihrer Funktionsweise den Prozess des menschlichen Verstehens von Sprache schon nahezu systemgleich ab. Denn wenn wir in natürlicher Weise miteinander sprechen, artikulieren wir nicht einzelne Laute oder Lauteinheiten (Worte), im Gegenteil, wir verschlingen die Laute und die Worte miteinander zu einer zusammenhängenden (kontinuier¬lichen) Lautkette, oft so lange, wie der Atem reicht.
Natürliches Sprachverstehen, umgekehrt, zerlegt während des Hörens die Lautkette wieder in ihre Bestandteile, und was uns so einfach und selbstverständlich erscheint, ist in Wahrheit ein hochkomplexer Prozess, was uns bewusst wird, wenn wir fremde Sprachen erlernen, umso mehr bei Sprachen mit einer für uns sehr exotischen Lautung.
Die Sprachwissenschaft nennt diesen Vorgang „Segmentierung“, und so ähnlich werden auch in der kontinuierlichen Spracherkennung zusammenhängende Äußerungen in ihre Bestandteile zerlegt und wieder zusammengesetzt. Wie funktioniert das?
Vereinfacht dargestellt, hört die Software so lange zu, bis eine Pause gesprochen wird, dann wird die Lautkette mit zugrunde liegenden Klangmustern verglichen und in Einzelteile zerlegt, die Einzelteile werden zu sinnvollen Einheiten zusammengefasst, und eine erste Hypothese wird aufgestellt, was der Sprecher gemeint hat. Dies ist die Aufgabe des so genannten akustischen Modells. Das akustische Modell kennt Sprachlaute und weiß, wie Wörter ausgesprochen werden.
Weil aber, auch bei klarer Artikulation, einzelne Sprachlaute fast nicht mehr artikuliert werden (Hauchlaute und insbesondere Wortendungen im Deutschen), andererseits gleiche oder sehr ähnliche Lautketten sehr oft unterschiedlichen Wörtern zugeordnet werden können (Homophone), darüber hinaus die Segmentgrenzen nicht immer eindeutig gesetzt werden und Äußerungen deshalb mehrdeutig sein können (Beispiel?), muss noch ein Prozess hinzukommen, der den unseres menschlichen Verstehens zumindest imitiert.
An dieser Stelle kommt das so genannte linguistische Modell (Sprachmodell) zum Tragen. Obwohl sich dieser Begriff zwar etabliert hat, ist er inhaltlich irreführend, mit Linguistik, also Grammatik (Regeln) oder Semantik (Bedeutung) hat dies nichts zu tun, besser würde man von einem statistischen Modell sprechen.
Dieses Modell kennt nämlich auch die Wörter, die das akustische Modell in Form einer Hypothese heraus gearbeitet hat, es kennt aber darüber hinaus die Kontexte, innerhalb derer die Wörter im allgemeinen verwendet werden, dies auf der Basis der Analyse von umfangreichen Texten.
So wie ein Schachcomputer die folgenden möglichen Züge und jeweiligen Gegenzüge im Voraus berechnen und, je nach zur Verfügung stehenden Ressourcen, den für den weiteren Gang der Dinge am Ende günstigsten nächsten Zug bewerten kann, berechnet das Sprachmodell die im Zusammenhang der Äußerung, unter statistischen Gesichtspunkten, wahrscheinlichste Kombination von Wörtern, diese wird dann als Text ausgegeben.
Dies klingt alles sehr kompliziert, und das ist es wohl auch. Umso erstaunlicher ist es aber, dass die oben beschriebenen Prozesse in solch rasanter Geschwindigkeit durchlaufen werden, dass der Computer unsere Sprache, wie schon weiter oben gesagt, fast oder genau so schnell verarbeiten kann, wie wir sprechen.
Noch bemerkenswerter ist aber, dass die Spracherkennung nach heutigem Stand bereits in der Lage ist, nach nur sehr kurzer Anpassung an den jeweiligen Sprecher bereits eine Erkennungsgenauigkeit von bis zu 100% zu erreichen, dies allerdings unter gewissen Vorraussetzungen – da Spracherkennung immer ein interaktiver Prozess ist, kann das Endprodukt nur so gut sein wie das Material, das dem Programm zur Verfügung gestellt wird.
Spracherkennung ist mittlerweile den Kinderschuhen längst entwachsen, in einer erwachsenen Geschäftswelt, insbesondere dort, wo der Einsatz von Computern den Alltag bestimmt und wo täglich eine Menge an Texten verfasst werden müssen, ist sie ein fester Bestandteil und ein zuverlässiges Werkzeug zur Vereinfachung von Arbeitsabläufen und zur Steigerung der Produktivität geworden, bei gleichzeitiger Kostenreduzierung.
Weil aber der Umgang mit der Software, wie bei jeder anspruchsvollen Anwendung, Schritt für Schritt erlernt werden will und die sichere Beherrschung der mannigfachen Funktionen ein gewisses Maß an Übung erfordert, sollen die dafür erforderlichen Schritte auf den folgenden Seiten der Reihe nach beschrieben werden.
Wer diesem Ratgeber folgt, wird auf dem schnellsten Weg dahin kommen, das Programm zuverlässig und effizient einsetzen zu können.
.