Spracherkennung mit dem Atari, Teil 1

Noch Stunden mühevoller Arbeit um Computer soll das Tagewerk noch schnell vorm Schlafengehen gesichert werden, aber statt »Speichern« klickt man völlig benommen »Löschen«. Mit T.A.S.S (»TOS automatische Spracherkennungs-Software«) wäre das nicht passiert.

Die Automatische Spracherkennung (»ASE«) ist sicher eine der zukunftsträchtigsten Computeranwendungen überhaupt, da die bisherigen Mensch-Computer-Schnittstellen (Tastatur, Maus etc.) nur Zugeständnisse an den Computer sind. Sie blockieren Hände und Augen des menschlichen Benutzers. Eine Spracheingabe würde den Umgang mit der Technik - nicht nur für Einsteiger - sicher vereinfachen. Schließlich ist die Sprache das natürlichste Kommunikationsmittel. Der Aspekt des uneingeschränkten Agierens zeigt sich sehr deutlich am sprachgesteuerten Operationsmikroskop. In der Mikrochirugie kommen bislang Mikroskope zum Einsatz, bei denen der Arzt über Fußschalter die Schärfe einstellt, den Ausschnitt und Vergrößerungsfaktor wählt oder Fotos macht. Da es unmöglich ist, immer die Füße im Auge zu behalten, erfordert diese Methode auch in Streßsituationen einiges Geschick und birgt außerdem die Gefahr ungewollter Bewegungen durch Gewichtsverlagerungen. Ein Sprachgesteuertes Mikroskop hat diese Gefahrenquellen nicht und kann aufgrund des geringen Wortschatzes von etwa 20 Wörtern leicht realisiert werden. Ein weiterer Vorteil der ASE ist der Einsatz unter widrigen Bedingungen wie Dunkelheit, Nässe oder Kälte durch Verwendung sogenannter Funk-Headsets. Diese Helme mit integriertem Mikrofon, Kopfhörer und Funkgerät sind über einen Empfänger mit dem Spracherkennungssystem des Zentralrechners verbunden. Solche Systeme zeichnen sich durch ihre Sicherheit und Geschwindigkeit bei der Datenerfassung aus. Dient eine Person als Vermittler zwischen Computer und einer zweiten Person, kommt die AS[ zum Einsatz. Ein Beispiel hierfür ist die Telefonauskunft.

Der Traum aller Sekretärinnen ist sicher eine phonetische Schreibmaschine, die gesprochenen Text direkt zu Papier bringt. Wie nah oder fern dieser Traum noch ist, zeigen folgende Zahlen: Die besten Prototypen von ASE-Systemen schaffen einige 10000 Wortformen, das bedeutet für die deutsche Sprache etwa ein Fünftel der Wörter mit ihren Deklinationen und Konjugationen. Ein themenbezogener Text kommt mit ca. 22000, der Durchschnittsdeutsche mit 200000 Wortformen aus. Insgesamt bietet unsere Sprache an die zwei Millionen davon. Hinzu kommt noch das Problem der Homophonie. Wörter mit gleicher Aussprache, jedoch unterschiedlicher Schreibweise und Bedeutung. »Viel« und »fiel« könnte das System zwar noch unter Zuhilfenahme einer Grammatik auseinanderhalten, aber der Satz »Er ist/ißt ein Schwein« kann nur aus dem Kontext richtig gedeutet werden. Dies erfordert dann nicht nur Spracherkennung, sondern auch Sprachverständnis und Allgemeinwissen.

Gänzlich Zukunftsmusik sind elektronische Vokabeltrainer, die nicht nur schriftlich, sondern auch mündlich abfragen. Als zusätzliche Hürde kommt hierbei die Aussprache-Erkennung hinzu. Darunter fällt die richtige Betonung und Satzmelodie. In gewisser Weise läuft dies den heutigen Systemen zuwider, denn man ist ja gerade bemüht, gleiche Wörter trotz unterschiedlicher Betonung auch als gleich zu erkennen; die Analyseverfahren sollen infolgedessen gerade diese Betonungen eliminieren.

Dagegen ist ASE bereits heute eine Hilfe für Behinderte. Vom sprachgesteuerten Rollstuhl über »hörende« Fernbedienungen bis zur behindertengerechten Programmoberfläche ist vieles erhältlich.

Die Vorteile liegen auf der Hand, wo also ist der Haken? Erst mal muß das Sprachsignal computergerecht aufbereitet, d.h. »gesampelt« werden (siehe Textkasten).Dieser Teil ist jedoch dank leistungsfähiger Sampler kein Problem mehr. Vielmehr ist die geeignete Analyse des Sprachsignals sehr aufwendig und steckt sicherlich noch in den Kinderschuhen. Vor der Analyse steht die Frage, welche Art Sprache untersucht wird. Fließend gesprochene Sätze oder einzelne Wörter? Soll das System Sprecherunabhängig oder -abhängig sein und wie groß ist das Vokabular? Im folgenden beschränken wir uns auf das Grundlegende, sprecherabhängige Einzelworterkennung mit kleinem Vokabular (weniger als 100 Wörter).

Spracherkennungssysteme sind eigentlich Wiedererkennungssysteme, weil sie zunächst in einer Trainingsphase das später Benötigte lernen. Natürlich wird nicht für jedes Wort das entsprechende gesampelte Signal, womöglich noch in mehreren Aussprachevarianten, abgelegt. Der Computer extrahiert charakteristische Merkmale, wie Lautstärke oder Frequenzgang. Auf diese Weise schrumpft die Datenmenge um den Faktor 10 bis 100. Zu beachten ist, daß wir es mit Signalen zu tun haben, die zwar über kurze Zeiträume (etwa 25-75 ms) annähernd periodisch sind, auf Dauer aber stark schwanken. Das Wort »sechs« (siehe Bild 1) ist beim »e« recht laut, wohingegen die zweite Hälfte (»chs«) leiser ist. Umgekehrt verhält es sich mit den Frequenzen. Das »e« ist eher tief und die »chs«-Gruppe ein Gemisch aus höheren Frequenzen, erkennbar am schnelleren »Zappeln« der Amplitude. Daher ist es sinnvoll, das Signal in Zeitscheiben zu zerlegen und für jeden dieser Bereiche alle zur Verfügung stehenden Merkmale zu bestimmen. Beim Erkennungsvorgang vergleicht die Software nun die Werte der Merkmale jeder Zeitscheibe mit denen des Referenzwortes. Wie stellt man aber fest, inwiefern sich zwei Segmente mit je 20 Merkmalen ähneln? Mathematisch ausgedrückt bestimmen wir den euklidischen Abstand der durch die beiden Merkmalsvektoren gegebenen Punkte im 20-dimensionalen Raum (siehe Bild 2). Dahinter stecken folgende Operationen:

Man bildet die Differenzen zwischen den Werten der gleichen Merkmale der beiden Zeitscheiben. Anschließend werden diese quadriert und aufsummiert. Der euklidische Abstand berechnet sich schließlich aus der Wurzel des letzten Ausdrucks. Er dient als Maß dafür, wie ähnlich sich die beiden Segmente sind. Dieses Bewertungsverfahren betont wegen des Quadrierens extreme Abweichungen überproportional.

Zeitnormierung

Die Aufteilung in Zeitscheiben ist aber alles andere als trivial. Teilen wir jedes Wort in eine Konstante Anzahl von Bereichen, so variiert die Dauer der einzelnen Segmente stark. Viel schwerwiegender ist aber noch, daß wir Wörter bei schneller oder langsamer Aussprache nicht linear stauchen oder dehnen. Hiervon überzeugt man sich leicht selbst, indem man »Tat« einmal schnell, dann langsam spricht. Es ändert sich eigentlich nur die Länge des »a«. Verwenden wir eine konstante Segmentzahl, belegt das »a« deshalb im ersten Fall 30%, im zweiten Fall 80% der Segmente. Besser geeignet - und vor allem aufwendiger - ist eine nicht-lineare Zeitnormierung. Hierbei läßt man die Dauer der einzelnen Segmente konstant und gleicht die daraus folgende Veränderlichkeit der Segmentzahl durch »dynamische Programmierung« aus. Dieses Geheimnis lösen wir in der nächsten Folge. (ah)

Literaturnachweis:
[1] Klaus Fellbaum, „Elektronische Sprachverarbeitung“, Franzis Verlag München, ISBN 3-7723-6532-9
[2] Dieter E. Zimmer, „Die Elektrifizierung der Sprache“, Haffmans Verlag Zürich, ISBN 3-251-01099-9

Was ist Sampling?

Die meisten natürlichen Signale, einschließlich Sprache und Musik, lassen sich durch zwei Parameter erfassen-. Zeit und Amplitude. Dabei ist jedem Zeitpunkt ein bestimmter Wart, in unserem Fall die »Lautstärke«, zugeordnet. Zudem sind diese Signale »kontinuierlich« - oft auch ungenau als »analog« bezeichnet. Kontinuierliche Signale sind zu jedem Zeitpunkt definiert und können jeden Amplitudenwert innerhalb des Aussteuerungsbereichs annehmen.

Ein Computer ist damit natürlich gar nicht glücklich, er kann nur diskrete, digitale Werte verarbeiten. Dazu muß der Aussteuerungsbereich des Signal eine begrenzte Zahl Stufen umfassen und die Zeit gerastert werden. Genau diese Aufgabe übernimmt der Analog/Digital-Wandler (A/D-Wandler). Er nimmt in regelmäßigen Abständen eine Probe (Sample) des Signals und ordnet dieser Probe, abhängig von ihrer Größe, einen digitalen Wert zu (siehe Bild 3). Bei akustischen Signalen liegt die Anzahl der Proben pro Sekunde zwischen 8000 und 50000. Man spricht dann von einer Samplefrequenz zwischen 8 und 50 kHz (Kilohertz). Wieviele Werte der A/D-Wandler unterscheidet, hängt von seiner Auflösung ab. Bei einer Auflösung von 8 Bit sind dies 256 Stufen, was für die Spracherkennung völlig ausreichend ist. Zum Vergleich: Ein CD-Spieler arbeitet mit 16 Bit (= 65536 Stufen).

Die A/D-Wandlung geht natürlich nicht spurlos am Signal vorbei. Die Zerlegung der Amplitude würde sich, bei Rückwandlung des digitalen Signals, als »Quantisierungsrauschen« bemerkbar machen. Es entsteht einfach dadurch, daß unser Signal nun nicht mehr schön rund, sondern stufenförmig ist. Für unsere Anwendung aber viel wichtiger ist die Veränderung aufgrund der zeitlichen Rasterung. Das berüchtigte »Shannonsche Abtasttheorem« besagt nämlich, daß nur solche Anteile des Originals korrekt gewandelt werden, deren Frequenz kleiner als die halbe Samplefrequenz ist. Wenn wir mit 25 kHz Samplefrequenz arbeiten, dann darf unser Signal nur Frequenzen bis 12,5 kHz enthalten. Frequenzen darüber machen sich sonst als starke Störgeräusche bemerkbar. Falls man nicht sicher ist, ob das Originalsignal diese Bedingung erfüllt, schaltet man vor den D/A-Wandler noch einen Tiefpaß-Filter, der alle Frequenzen oberhalb der sogenannten Grenzfrequenz stark dämpft. Samplefrequenz und Grenzfrequenz müssen also an das jeweilige Klangmaterial angepaßt sein.

Sprache enthält lediglich Frequenzen im Bereich bis 4 kHz, entsprechend reicht eine Samplefrequenz von 8 kHz. Gleichzeitig tragen wir dann dem Wunsch, wenig Speicherplatz zu verbrauchen, Rechnung. Zur Analyse muß das Sprachsignal für unsere Methode vollständig im RAM vorliegen. Eine Sekunde Sprache verbraucht folglich bei 8 kHz Samplefrequenz und 8 Bit Auflösung 8 KByte RAM.
Arno Oesterheld


Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]