Wir waren letztes Mal stehen geblieben bei den Vorteilen von
automatischer Spracherkennung.
Unglücklicherweise gibt es auch ein paar Nachteile von automatischer
Spracherkennung.
Sollte man sich einfach immer bewusst sein, dass wenn man hinter
Anwendungen entwickelt, die Spracherkennung beinhalten, dass nur weil
man Spracherkenner hat, das nicht unbedingt immer die richtige Lösung
ist.
Danach schauen wir uns so ein bisschen eine Taxonomie von Sprache an,
also sprich eine Einteilung, in was für verschiedene Arten von Sprache
haben wir es denn hinterher mit zu tun bei der Spracherkennung.
Der Grund, warum man das macht, ist, dass je nachdem, was man so an
unterschiedlichen Arten von Sprache man erkennen möchte, macht man
teilweise andere Designentscheidungen.
Beim Entwurf des automatischen Spracherkennungssystems macht man
andere Techniken, die man einsetzt.
Wir werden sehen, dass für uns als Informatiker Spracherkennung in
seinem Herzen einfach ein Musterklassifikationsproblem ist.
Spracherkennung aus Sicht des Computers, aus Sicht des Informatikers
ist ein Klassifikationsproblem.
Wir bekommen ein Muster, das ist die Aufnahme von einer Äußerung von
menschlicher Sprache und diesem Muster weisen wir die korrekte Klasse
zu.
Und hier ist die korrekte Klasse die Anzahl oder die korrekte
Wortfolge, die dieser Aufnahme von Sprache entspricht.
Und jetzt kann man sich schon so ungefähr vorstellen, dass das dann in
der Praxis nicht ganz so einfach ist, weil erstens die Muster können
sehr, sehr unterschiedlich sein.
Wenn man also sich Sprache anschaut und die aufnimmt, sieht man, dass
die sehr variabel ist und sehr, sehr unterschiedlich aussehen kann,
selbst wenn man das selber aufnimmt.
Und das andere, was man sich vorstellen kann, wenn also unsere
korrekte Klasse eine Wortfolge ist, es gibt sehr, sehr viele
unterschiedliche Wortfolgen.
Das heißt, es gibt sehr, sehr, sehr viele mögliche Klassen, in denen
jetzt das zugeordnet werden muss.
Das heißt, es wird wohl ein sehr schwieriges Klassifikationsproblem
sein.
Dann ist die Frage, warum ist Spracherkennung schwierig?
Oder ist sie schwierig?
Ja, sie ist schwierig.
Warum ist ASR schwierig?
Schauen wir uns ein bisschen an.
Dann holen wir das Experiment vom letzten Mal nach und dann schauen
wir uns an, naja, wenn wir Sprache erkennen wollen, dann ist es wohl
sinnvoll, wenn man sich erstmal überlegt, wie produziert der Mensch
überhaupt Sprache?
Also welcher physikalische Vorgang, welcher anatomische Vorgang ist
dafür zuständig, dass da Sprache bei uns aus dem Mund und aus der Nase
rauskommt?
Wie wird Sprache produziert?
Und daraus kann man dann so ein bisschen Reverse Engineering machen
und sich überlegen, okay, wenn das also Sprache ist und Sprache so
produziert wird, wie muss man jetzt zurück umgehen, um aus dieser
Schallwelle, die da produziert wurde, wieder die ursprüngliche
Wortfolge, die da mal gedacht wurde und gesprochen wurde,
zurückzubekommen?
Also, was sind die Nachteile von Spracherkennung?
Spracherkennung kann ich zum Beispiel immer dann schwer einsetzen,
wenn Stille notwendig ist.
Also wenn ich mich in einer Umgebung befinde, wo halt die Leute nicht
sprechen sollen, dann ist das mit der Spracherkennung schwierig.
Zum Beispiel im Theatersaal, im Kino, wenn es irgendwo leise sein
soll.
Da gibt es so Lösungen für, dass man halt versuchen kann, da flüstern
zu erkennen.
Weiß irgendjemand, was Flüstern ausmacht?
Was Flüstern ist und wie sich Flüstern von normaler Sprache
unterscheidet?
Wenn man durch den... ja?
Stimme ist etwas, wo bestimmte Artikulatoren, das sind die
Stimmlippen, die wir haben, nicht vibrieren.
Flüstern ist stimmlose Sprache.
Wenn wir mit dem Block Sprachproduktion durch sind, wissen Sie, was
stimmhafte Sprache ist, stimmlose Sprache und was das mit den
Stimmlippen zu tun hat.
Und Flüstern ist halt eine bestimmte Form von Sprache und schwierig zu
erkennen, weil man halt diese eine Besonderheit hat, die es halt
schwierig macht.
Oder die andere Möglichkeit ist, dass man lautlose Sprache erkennt,
indem man zum Beispiel nur Muskelaktivierung erkennt, wenn der Mund
bewegt wird und man tut so, als würde man sprechen.
Oder noch stärker, dass man versucht, sozusagen Gedanken zu lesen,
dass man versucht, anhand von Hirnströmen zum Beispiel zu erkennen,
was wäre denn das, die Wortfolge, die er jetzt gerne denkt oder daran
denkt, diese zu produzieren.
Das wird natürlich immer schwieriger, je mehr man hochgeht in Richtung
Gehirnströme.
Dann hat man das Problem, dass automatische Spracherkennung nach wie
vor fehlerbehaftet ist.
Es gibt noch nicht den perfekten automatischen Spracherkenner.
Das ist nach wie vor ein Forschungsfeld, wo man regelmäßig Fortschritt
erzielt und häufig kann man sehr leicht Situationen konstruieren,
indem automatischer Spracherkenner einfach keine befriedigende,
zufriedenstellende Erkennungsleistung liefert.
Aber selbst wenn man unter extrem guten Bedingungen arbeitet, wird der
Spracherkenner auch noch Fehler machen.
Das sind zwar sehr wenige Fehler, aber er wird Fehler machen.
Und wenn man jetzt Anwendungen konzipiert und entwirft und
zusammenstellt, die mit automatischer Spracherkennung arbeiten, muss
man immer daran denken, diese Spracherkennung als Perzeption wird
Fehler produzieren.
Ich werde das nicht 100% ausschließen können.
Und diese Tatsache, dass Fehler jetzt produziert werden, die müssen
mit einfließen in das Design der Anwendung.
Da muss man einfach schon die Anwendung so entwerfen, dass sie robust
ist gegen Fehler oder dass man sich von diesen Fehlern erholen kann.
Sogenanntes Erwer-Discovery.
Einfaches Beispiel.
Wenn ich jetzt mit dem Roboter rede, dann ist zwar häufig so, ich gebe
dem Roboter einen Auftrag, einen Befehl, möge er bitte ausführen,
Tisch decken.
Dadurch, dass wir aber eine natürlichsprachliche Interaktion mit dem
Roboter haben, dann führen wir in der Regel mit dem Roboter einen
Dialog.
Wenn ihm Informationen fehlen, kann er zurückfragen.
Wenn ich ihm also sage, deck doch bitte mal den Tisch, dann fragt der
Roboter vielleicht zurück, für wie viele Personen denn?
Und wie viele Gänge gibt es denn?
Genauso kann der Roboter versuchen zu detektieren, habe ich das
richtig erkannt oder falsch erkannt?
Kann so Sanity-Checks ausführen.
Plausibilitätsüberprüfung.
Wenn das irgendwie mit dem bisher Erkannten nicht zusammenpasst,
vielleicht ein Fehler passiert.
Oder es gibt so bestimmte Methoden, mit denen man zuweisen kann,
hinter dem Spracherkenner, wie sicher ist er denn?
Wie zuversichtlich ist er denn, dass er das jetzt richtig erkannt hat?
Und wenn er meint, mit hoher Wahrscheinlichkeit habe ich das falsch
erkannt, dann kann man zum Beispiel auch in den Dialog nicht nur
einbauen, dass man zusätzliche Informationen abholt, sondern dass man
auch versucht, solche Fehler zu vermeiden.
Also wenn er meint, irgendwas nicht richtig gehört zu haben, kann er
ja zurückfragen.
Entschuldigung, war das jetzt die rote Tasse oder die blaue Tasse?
Ich habe es nicht richtig gehört.
Solche Sachen kann man machen.
Oder auch einfach so ganz stupide Sachen wie, stell doch bitte die
blaue Tasse auf den Tisch.
Und der Roboter sagt, habe verstanden, stelle rote Tasse auf den
Tisch.
Nein, nein, nein, nicht die rote Tasse, bitte die blaue Tasse.
So, das sind so Mechanismen, mit denen man dann umgehen kann, dass
auch ein Spracherkennungssystem Fehler machen will.
Und wenn man jetzt hinterher einen Anwender glücklich machen möchte,
also wenn man eine Anwendung bauen will, mit Spracherkennung und die
soll vernünftig funktionieren, dann muss man das immer im Hinterkopf
behalten, weil sonst werden die Anwender relativ schnell enttäuscht
sein.
Was nach wie vor ein sehr großes Problem ist, ist das Problem der
entfernten Mikrofone.
Spracherkennung funktioniert in vielen Situationen sehr gut, wenn ich
das Mikrofon nah am Sprecher platzieren kann.
Das können solche Umhänge-Mikrofone sein, das können Headsets sein,
das können so Lapel-Mikrofone, Ansteck-Mikrofone sein.
Im Auto macht man es so, dass man zum Beispiel das Mikrofon entweder
oben in den Dachhimmel einbaut, das kann vorne im Lenkrad sein, gibt
es unterschiedliche Systeme.
Man versucht die Distanz zwischen Sprecher und Mikrofon möglichst
klein zu halten.
Und je weiter ich mit dem Mikrofon weggehe vom Sprecher, desto
schlechter wird die Erkennungsleistung.
Und das kann schon ab 1, 1,5 Meter sehr, sehr, sehr deutlich sein,
dass die Erkennungsleistung einbricht.
Ist nach wie vor ein sehr aktives Forschungsfeld, wo man die
unterschiedlichsten Sachen versucht zu machen.
Da gibt es auch, wie gesagt, noch keine endgültige Lösung.
Das sind so Forschungsfragen, die man im Augenblick immer noch
beackert.
Man hat ja zum Beispiel versucht, dass man mit so Phalanxen, so einem
Array von Mikrofonen arbeitet.
64 Mikrofone in Reihe aufgebaut, irgendwo hinten an die Wand gehängt.
Und dann kann man versuchen, zum Beispiel so eine Art Zoom zu machen.
Oder den Strahl, in dem das Mikrofon hört, sehr stark einzugrenzen und
dann so einen virtuell steuerbaren Strahl zu machen.
Dann lokalisiert man, wo scheint denn die Schallquelle zu sein, der
Sprecher, und versucht dann den Strahl, wo das Mikrofon hinhört, das
Array nachzuführen.
Und all solche Sachen hat man versucht.
Kombination von mehreren Mikrofonen.
Also mehrere Mikrofone verteilt, so auf dem Tisch liegen, sitzen Leute
drumherum, unterhalten sich und dann versucht man diese einzelnen
Kanäle geschickt zu kombinieren, um ein besseres
Spracherkennungsergebnis zu machen.
Und ein großes Problem sind Hintergrundgeräusche.
Wenn ich mich in einer geräuschbehafteten Umgebung befinde,
Flugzeugcockpit, Autos, ein Auto, das mit 160 über die Autobahn fährt,
Werkhallen, wo Maschinen arbeiten, auf einem Konzert, im Theater, wo
im Hintergrund Musik läuft, im Hintergrund läuft irgendwo das Radio,
das macht es alles dem Spracherkenner extrem schwierig oder extrem
schwer.
Der Spracherkenner hat nach wie vor große Probleme damit,
Vordergrundsprache, auf die man sich jetzt konzentrieren sollte, die
man erkennen sollte, zu trennen von all dem, was so im Hintergrund ist
und was jetzt nicht erkannt werden sollte.
Das müssen nicht mal mehr Geräusche sein, das kann auch sein, andere
Personen, die im Hintergrund sprechen.
Das kann zum Beispiel sein, wenn ich irgendwo hier spreche und fünf
Meter weiter unterhalten sich bestimmte Personen miteinander oder
jemand anderes spricht, wenn das Mikrofon das Signal aufnimmt, dann
hat der Spracherkenner Schwierigkeiten, die Sprache des nahen
Sprechers von der Sprache der anderen Sprecher, die weiter weg sind,
zu trennen.
Wir Menschen können das wunderbar.
Das ist für uns kein großes Problem.
Für den Spracherkenner ist das nach wie vor ein sehr großes Problem
und hat jetzt in letzter Zeit wieder neue Interesse geweckt bei den
Techniken, die man da versuchen kann, um das Problem ein bisschen zu
beheben.
Das sind so Sachen, da kommen wir im Laufe der Vorlesung immer mal
wieder drauf zu sprechen, um da mal ein bisschen so anzudeuten, was
sind denn so die aktuellen Trends vom Standardspracherkenner, um den
zu verbessern, damit man zum Beispiel in so schwierigen Situationen,
von denen man weiß, dass es immer noch nicht gut funktioniert, das
Ganze besser zu machen.
Kommen wir zur Taxonomie von Sprache.
Also der Einteilung der Sprache, die wir erkennen können.
Und da war es so, im Laufe der Zeit, wie man angefangen hat,
Spracherkennungssysteme zu bauen, dann hat man natürlich am Anfang
sich erstmal auf einfache Arten von Sprache konzentriert und versucht,
die zu erkennen.
Und da standen am Anfang die Idee, dass man einzelne Kommandos hat.
Zum Beispiel Bedienung von Geräten.
Kaffeemaschine an, aus, Kaffee durchlaufen, ja, nein, Telefon, ruf den
an, Telefon auflegen, Telefon abnehmen, Navigationssysteme,
Betriebssysteme, also Word aufmachen, Fenster verkleinern, Fenster
maximieren, etc.
Es ist deshalb einfach, weil das, was gesagt werden kann, relativ
beschränkt ist und bei Kommandos auch vorher schon bekannt.
Ich habe eine relativ gute Übersicht darüber, welche Kommandos denn
überhaupt gesagt werden dürfen, weil das nur die Kommandos sind, die
mein Gerät dann auch hinterher wird ausführen können.
Es ist deshalb ein bisschen schwierig, weil Kommandos können sehr kurz
sein.
Und wenn ich sehr kurze Sprachschnipsel habe, dann habe ich nur
relativ wenig Signal und damit relativ wenig Informationen darüber,
wie ich es unterscheiden kann von anderen Lernern.
Der nächste Schritt, wenn ich die Art der Sprache, die ich erkennen
möchte, erweitern möchte, sind sogenannte künstliche Sprachen.
Die werden benutzt, um komplexere Bedienungsaufgaben auszuführen, sind
aber so geartet, dass sie einer festen Definition in ihrer Grammatik,
in ihrem Wortschatz folgen.
Das heißt, es ist durch relativ strikte Regeln relativ klar
festgelegt, was für eine Art von Sätzen darf ich formen.
Ich muss mich an eine bestimmte festgegebene Grammatik halten.
Ich muss mich an einen bestimmten Wortschatz halten.
Es ist deutlich flexibler als einzelne Kommandos.
Das heißt, ich kann innerhalb dieser Grammatik, die mir jetzt diese
etwas umfangreichere künstliche Sprache definiert, beliebige Sätze neu
zusammensetzen, ohne dass die vorher mal jemand dran gedacht haben
muss.
Aber ich darf nicht so natürlich sprachlich sprechen, dass ich zum
Beispiel gegen die Regel Subjekt, Prädikat, Objekt verstoße.
Oder mir ein beliebiges Vokabular hernehme, sondern ich muss mich
vorher an das vorgegebene Vokabular halten.
Komplexere Bedienungs-, komplexere Steuerungsaufgaben sind so da die
Anwendung.
Wenn man jetzt überlegt, das klingt ja relativ unangenehm.
Ich möchte jetzt irgendeine Aufgabe ausführen mit Hilfe von
Spracherkennung und ich muss mich an so eine künstliche Sprache
halten.
Das ist jetzt nicht besonders benutzerfreundlich.
Was für eine Gruppe von Personen gibt es, denen man sagen kann, das
ist mir egal, ob du das benutzerfreundlich findest oder nicht.
So funktioniert das, mach.
Mit wem kann man sowas machen?
Das ist jetzt nicht der Kunde draußen, sondern Soldaten.
Soldaten fragen nicht groß, die machen das, was ihnen gesagt wird,
sonst gibt es Ärger.
Dementsprechend hat man solche Sachen auch relativ früh in
militärischen Anwendungen gemacht.
Und wenn man so ein bisschen guckt, ältere Anwendungen, da gibt es
immer so Aufgaben, auf denen man die Leistung von
Spracherkennungssystemen vergleichen kann.
Und wenn man da ein bisschen durchliest, ist eines dieser Aufgaben,
die man finden wird, der sogenannte Naval Resource Management Task.
Viele Worte um eine einfache Sache, Anwendung.
Admiral kommandiert seine Flotte, steht da irgendwo an einem
elektronischen Tisch.
Da sieht er, wo seine Schiffe sind und Versorgungsschiffe und
Kriegsschiffe und Flugzeugträger und U-Boote und so weiter.
Und will jetzt steuern hier Schiff nach da und der bitte die Flanke
decken und der Versorger bitte da Nachschub liefern und so weiter und
so fort.
Und das Ganze eigentlich in so einem multimodalen Umfeld, wo man
zeigen konnte, aber halt auch sprechen konnte.
Und da gibt es halt so einen fest definierten Task, wo man das machen
kann.
Dann so ein Pick-to-Voice-System ist auch so ein typisches Beispiel
dann, wo man klar sagen kann, hier, ich schule dich, du hältst dich an
diese Sprache und damit erledigst du deine Aufgabe.
Oder auch Sachen beim Flugfunk, der ist auch sehr strikt
durchorganisiert, einfach damit keine Missverständnisse entstehen und
damit auf diesem relativ schlechten Funkkanal die Informationen
trotzdem sicher übertragen werden.
Und wie gesagt, allgemeine militärische Anwendung, wenn man jemandem
sagen kann, pass auf, hier ist das System, so funktioniert es, du
wirst geschult und so verwendest du das und nicht anders kann man das
mit so einer künstlichen Sprache arbeiten.
Wenn man das irgendwo dem allgemeinen Benutzer draußen auf der Straße
gibt, das wird nicht funktionieren.
Also wenn man Roboter ausliefert und dem Benutzer sagt Pass auf, du
musst jetzt erst mal hier Schulung machen, wie die künstliche Sprache
aussieht, die der Roboter versteht, das wird wenig Akzeptanz finden.
Und dann die wirklich interessante Aufgabe ist natürlich sowas wie
natürliche Sprache.
Also ohne irgendwelche künstlichen Vorgaben, sondern wir sprechen so,
wie wir halt so sprechen.
Und innerhalb dieser natürlichen Sprache kann man auch relativ leicht
drei Ebenen unterschiedlicher Komplexität unterscheiden.
Das einfachste bei natürlicher Sprache ist gelesene Sprache.
Also ich gebe jemandem einen Text und er liest ihn vor.
Hat man in den Frühzeiten viel drauf geforscht und versucht das gut zu
erkennen, gibt es den sogenannten Wall Street Journal Task.
Einfach Artikel aus dem Wall Street Journal vorlesen lassen und das
musste man dann erkennen.
Hat den Vorteil, dass die Sprechgeschwindigkeit verhältnismäßig
konstant ist.
Dadurch, dass ich schriftlichen Text vorlese, gehorchte in der Regel
der jeweiligen Grammatik der Sprache, ist in der Regel wohl geformt.
Anwendungsbeispiele sind zum Beispiel Nachrichtensprecher im Studium.
Wenn ich Fernsehnachrichten erkennen möchte, der hat häufig einen
Zettel, von dem er abliest oder irgendwelche Teleprompter, von denen
die Leute im Fernsehen ablesen.
Diktate kommen der Sache schon relativ nah.
Wobei Diktate häufig auch mit reinspielen in die nächste Ebene, die
wir haben, die sogenannte geplante Sprache.
Bei der geplanten Sprache ist es so, ich überlege mir erstmal,
zumindest schon mal grob, worüber möchte ich denn jetzt sprechen und
möchte was sprechen und dann produziere ich die Sprache.
Ein typisches Beispiel sind sowas wie Vorlesungen.
Wenn ich eine Vorlesung halte, sollte ich mir vorher hoffentlich schon
mal darüber Gedanken gemacht haben, worüber ich denn vortragen werde.
Ich habe Notizen oder in diesem Fall Folien als einen Leitfaden, an
dem ich mich langkangel.
Das heißt, das, was ich jetzt hier produziere, ist nicht so schön, als
würde ich irgendwas ablesen, fertigen Text ablesen, aber ist schon mal
deutlich besser, als würde ich ungeplant sprechen.
Und dann ungeplante Sprache, spontane Sprache ist dann dementsprechend
auch das Schwierigste.
Die Aussprache leidet deutlich, also wenn ich jetzt geplant spreche
oder vorlese, habe ich meistens eine recht deutliche Aussprache.
Wenn ich mich so informell unterhalte, spreche ich meistens sehr
schluderig.
Die Phoneme, die Wörter werden verschliffen, Wortendungen sind im
Prinzip kaum noch hörbar.
Wenn ich zwei Personen habe, die sich kennen und die erhalten sich
einfach so salopp untereinander, dann haben die ihren eigenen Duktus,
ihren eigenen Code, in dem sie sich unterhalten, den manchmal sogar
ein Außenstehender nicht versteht.
Das Schlimmste ist, wenn man Telefongespräche zwischen
Familienmitgliedern sich anhört, hat man häufig als Außenstehender
schon kein Problem damit, das zu hören.
Da gibt es schöne Beispiele, dann kann man da so mal kleinere Stücke
ausschneiden.
Versteht man nicht, selbst wenn jetzt die Signalqualität gut ist und
man da Müttersprachler ist und kann man unter Umständen das nicht
verstehen, weil das einfach so verschliffen ist, dass das nur noch die
Personen, die da im Personenkreis bekannt sind, das Ganze verstehen
können.
Dann kann man, wenn man sich jetzt das ein bisschen im Hintergrund
behält, anfangen Spracherkennungsaufgaben einzuteilen,
unterschiedliche Spracherkennungsaufgaben.
Und das Erste, was man machen kann, ist für diese drei Arten von
Sprachebenen und ihren Unterebenen, kann man erst mal sagen, ist das
Spracherkennungssystem für diese Art von Sprache geeignet.
Also ist es geeignet für gelesene Sprache, ist es geeignet für
geplante Sprache, kann es Konversationen oder irgendwelche
spontansprachlichen Äußerungen, natürliche Sprache erkennen.
Aber dann ist für ein Spracherkennungssystem noch etwas anderes
interessant.
Das sind diese Dimensionen, die hier aufgeführt sind.
Das Erste ist die Sprecherabhängigkeit.
Diejenigen von Ihnen, die schon vor längerer Zeit mal ein
Diktiersystem ausprobiert haben, kennen das vielleicht noch.
Wenn man vor fünf, sieben Jahren ein Diktiersystem ausgepackt hat, bei
sich auf dem Rechner installiert hat, dann war das Erste, was man
machen musste, man musste dem Diktiersystem erst mal ein bisschen
vorlesen.
So in der Regel 15, 20 Minuten Text vorlesen.
Je weiter zurück man geht in der Geschichte, desto mehr Text musste
man vorlesen.
Und dieses Vorlesen diente einzig und allein dem Zweck, dass das
System sich auf den Sprecher anpasst.
Sprich, das System wird hinterher nur noch für diesen Sprecher, auf
den es eingelernt wird, funktionieren.
Und so ein System nennt man dementsprechend ein sprecherabhängiges
System.
Das funktioniert für den Sprecher, auf den es konzipiert wurde,
wunderbar.
Für andere Sprecher meistens sehr, sehr, sehr schlecht.
Hängt ein bisschen davon ab, wie nah dann der Sprecher ist, mal mehr
oder weniger gut, aber sobald ich den Sprecher wirklich von dem
Sprecher weggehe, bricht die Erkennungsleistung schon deutlich,
deutlich ein.
Dann gibt es eine, die nächste Stufe ist, dass man sogenannte
geschlossene Sprechermengen hat.
Das heißt, man hat jetzt ein Spracherkennungssystem, das kann nicht
nur einen Sprecher gut erkennen, sondern das kann eine Menge von
vorher bekannten Sprechern gut erkennen.
Überschaubare Menge und ich kann mich jetzt auf all diese Menge
einschließen.
Kann sich jemand vorstellen, was wäre so ein typisches Szenario, wo
ich vielleicht Spracherkennung betreiben möchte?
Ich habe nicht nur einen Sprecher, sondern ich habe mehrere, sogar
mehrere Dutzend Sprecher, aber ich weiß vorher, welche Sprecher das
sind und es werden immer diese Sprecher sein und in der Regel kein
anderer Sprecher.
Was könnte man sich vorstellen?
Was wäre so eine typische Aufgabe, wo man sowas gut machen könnte?
Hätte da einer eine Idee?
Vorlesung, genau.
Könnte zum Beispiel für die Fakultät machen.
Kennt alle Professoren.
Macht man ein geschlossenes System für diese Professoren, oder?
In der Ärzten kann ich zum Beispiel das System machen für das
Krankenhaus.
Ich habe eine geschlossene Menge Ärzte.
Meistens sind immer dieselben Ärzte.
Kann für die ein Spracherkennungssystem konzipieren.
Ein anderes Standardbeispiel, was man häufig hat, sind so etwas wie
Parlamente.
Wenn ich jetzt zum Beispiel automatisch Protokoll im Europäischen
Parlament, im Bundestag, in irgendwelchen Nationalen oder
Landesparlamenten führen will, dann weiß ich in der Regel, die
Sprecher da, das ist halt einer der Abgeordneten.
Ich habe häufig schon irgendwo ein Audioarchiv, wo ich jede Menge
Audiodaten von diesen Abgeordneten habe und kann damit dann mein
Spracherkennungssystem auf diese Menge von Sprechern anpassen.
Dann ist die nächste Dimension die Größe des Diskurses.
Und das fällt so ein bisschen zusammen mit der Art von Sprache.
In der Regel ist es so, dass man, wenn man Kommandos hat oder
künstliche Sprachen, hat man eher einen kleineren Diskurs.
Bei natürlicher Sprache hat man eher einen größeren Diskurs.
Diskurs bedeutet hier, was ist sozusagen der Umfang dessen alles, was
ich in der Regel so sprechen werde.
Wenn man sich so angucken kann, was würde normalerweise typischerweise
in dieser Situation gesagt?
Wie viele unterschiedliche Sätze können das sein?
Und um so einen Diskurs zu beschreiben, ist zum Beispiel eine wichtige
Kenngröße die Vokabulargröße.
Sie können sich gleich merken, Spracherkennungssysteme heutzutage
funktionieren in der Regel so, dass sie ein festes Vokabular haben.
Sie haben eine Liste von Wörtern, die kennen sie und
Spracherkennungssysteme können nur Wortsequenzen erkennen, die aus
diesen Wörtern zusammengesetzt sind, die im Vokabular sind.
Spreche ich ein Wort, das nicht im Vokabular vorkommt, wird das in der
Regel nicht erkannt, sondern anstelle dieses Wortes wird irgendein
anderes Wort aus dem Vokabular erkannt.
Spracherkennungssystem versucht, auf Teufel komm raus, etwas zu
erkennen, das aus den Wörtern in seinem Vokabular zusammengesetzt ist.
Dieses, das habe ich jetzt nicht verstanden, das scheint ein
unbekanntes Wort zu sein, ist normalerweise standardmäßig bei einem
Standardspracherkennungssystem nicht vorhanden, sondern es wird
wirklich drauf gezwungen, irgendein Wort wird erkannt.
Wenn ich jetzt also einen Diskurs habe, wo ich weiß, ich habe ein eher
kleines Vokabular, ist das in der Regel eine etwas einfachere Aufgabe,
weil die Menge der möglichen Klassen, zwischen denen ich unterscheiden
muss, kleiner ist, als wenn ich jetzt weiß, das kann eine Diskussion
über Gott und die Welt sein.
Beispiel für etwas, was ein kleiner Diskurs ist, ich möchte einen Flug
buchen, ich möchte ein Hotelzimmer reservieren, ich möchte irgendwo
bei Deutschen Telekom anrufen, weil ich ein Problem habe.
Da kann man relativ gut sich vorher überlegen, was wird denn so
typischerweise gesagt werden und da wird jetzt nicht über alle
möglichen Dinge gesprochen.
Gucke ich mir sowas an wie Vorlesungen an einer Universität, die Menge
aller Vorlesungen, dann habe ich plötzlich einen sehr, sehr, sehr
großen Diskurs.
Kann sein, dass es über Molekularbiologie geht, Geschichte,
Soziologie, Informatik, Chemie und jede dieser einzelnen Vorlesungen
hat wieder ein Riesenvokabular und ein sehr spezielles Vokabular und
einen eigenen Duktus und dann die Menge aller Sachen ist
explosionsartig groß.
Größer als das eigentlich sogar ein einzelner Mensch in der Regel
überschauen kann.
Und das andere, was man sich anschauen kann, ist, wie komplex sind die
Sätze, die da zusammengesetzt werden.
Sehr lange Sätze, eher kurze Sätze, ist da eine hohe Variabilität drin
in der Art und Weise, wie ich die Wortsequenzen zusammensetzen kann,
indem ich Wörter kombiniere oder nicht.
Um das zu bestimmen, lernen Sie viel später in der Vorlesung ein Maß
kennen, mit dem man das gut messen kann, auf Beispieltexten, die
dieser Domäne entstammen.
Dann guckt man einfach mal, man schaut sich mal Texte an, das sind
Verschriftungen von dem, was so typischerweise in dieser Situation
gesagt wird und dann kann man darauf etwas messen, das nennt sich die
sogenannte Sprachmodellperplexität oder die Perplexität dieses Textes.
Und das ist häufig ein sehr gutes Maß dafür, um zu bestimmen, wie
komplex ist jetzt dieser Diskurs.
Aber für jetzt, für den Anfang, reicht es für Sie aus, wenn Sie sagen
können, großes Vokabular schwierig, großer Diskurs, kleines Vokabular,
einfach leichter Diskurs.
Dann, was sehr, sehr, sehr wichtig ist, ist Sprecherverhalten.
Da unterscheidet man in der Regel zwischen diesen drei verschiedenen
Stufen, kooperativ, unkooperativ und vertraut.
Was ist ein kooperativer Sprecher?
Ein kooperativer Sprecher ist jemand, der möchte, dass das System ihn
versteht.
Einem unkooperativen Sprecher ist das egal oder er ist dem System
unter Umständen feindlich gegenübergestellt.
Was ist so Standardsituationen von einem unkooperativen Sprecher, wo
jedes Spracherkennungssystem überhaupt nicht mehr funktionieren wird?
Wahrscheinlich jeder schon mal, gibt es zig Aufnahmen von, kann man
sich immer im Internet anhören.
Irgendeine automatisierte Telefonhotline treibt einen gerade in den
Wahnsinn.
Man ruft an, weil irgendwas nicht funktioniert hat.
Telefon funktioniert nicht, Internet funktioniert nicht.
Zu Unrecht wurde irgendwie falscher Rechnungsbetrag abgebucht.
Und das ist jetzt schon zum zehnten Mal passiert.
Man ist schon auf 180 und dann gerät man an dieses verdammte
automatische System, anstatt dass man endlich einen vernünftigen
Menschen ans Rohr kriegt, der einem das löst.
Und dann rasten die da am Telefon aus.
Also so richtig unflätig rasten die aus und dann schreien die das
System nur noch an und da kommen die dollsten Sachen bei raus.
Der versagt das System komplett.
Also wenn der Sprecher nicht will, dass es mich versteht, dann kann es
mich nicht verstehen.
Dann kann das jeder Sprecher das System fertig machen.
Da ist dann die Kunst entsprechend und das wird jetzt immer mehr
verstärkt gemacht bei diesen Hotlines, dass man versucht zu erkennen,
ob der Sprecher nicht vielleicht doch schon auf 180 ist.
Und dass wenn der schon wütend ist und gerade die Nase voll hat, dann
sollte man vielleicht doch mal jetzt diesen Dialog da mit dem System
abbrechen und den schnellstmöglich an einen Menschen weiterleiten.
Da gibt es dann halt entsprechend Systeme, die versuchen zu erkennen,
ob jemand jetzt gerade gut gelaunt oder schlecht gelaunt ist und dann
entsprechend arbeiten.
Und dann, was ist ein Vertrautes?
Jemand, der vertraut ist, ist in der Regel auch kooperativ.
Er möchte, dass einen das System versteht.
Und dann kommt ein interessanter Effekt.
Wenn wir Menschen uns untereinander unterhalten, dann stellen wir uns
auf unseren Gegenüber ein.
Wenn ich merke, der Dialogpartner benutzt eine bestimmte Redewendung
oder einen bestimmten Duktus, dann spiegle ich das häufig als Mensch.
Dann nehme ich den Duktus auf und spreche die gleichen Redewendungen
oder die gleichen Gesten etc.
Und ich merke auch, was versteht er, was versteht er nicht und passe
mich automatisch auf meinen Gegenüber an, um die Kommunikation zu
optimieren.
Und der Mensch macht das Gleiche mit einem Spracherkennungssystem.
Es kann bewusst sein, aber es kann sehr häufig auch unbewusst sein,
dass der Mensch merkt, okay, wenn ich das Wort sage, das geht mir
grundsätzlich in die Hose oder wenn ich die Endung verschleife, dann
das funktioniert nicht, also muss ich das besser so aussprechen.
Und im Laufe der Zeit, und das geht eigentlich sogar relativ schnell,
also es muss nicht jetzt Jahre an Erfahrung sein, das kann so
kontinuierliche Benutzung über ein paar Stunden hinweg sein, passt
sich der Mensch an das System an und das System wird besser und besser
mit der Zeit funktionieren.
Nicht, weil das System besser wird, sondern weil der Mensch implizit
lernt, wie muss ich da reinsprechen, damit es funktioniert.
Also so typischer Fall, wenn man so pick-the-voice-Systeme hat, dann
wird im Laufe der Zeit das immer besser funktionieren, weil die Leute
sich unbewusst daran adaptieren, dass sie so sprechen, dass das gut
funktioniert.
Und dann bei der Äußerungsart, auch stark verknüpft mit der Art von
Sprache, muss man sich überlegen, wie sind die Äußerungen, die da
gesprochen werden, zusammengesetzt.
Sind das isolierte Wörter, also einfachste Kommandos zum Beispiel,
kann so ein typischer isolierter Wörter sein.
Sind das Phrasen, also auch wieder kleinere einfache Kommandos, oder
habe ich kontinuierliche Sprache.
Und das macht einen großen Unterschied.
Das macht einen großen Unterschied zum Beispiel bei der Segmentierung.
Wenn ich so eine Audiodatei reinbekomme und da ist kontinuierliche
Sprache drin, dann weiß ich nicht, wo sind Wortgrenzen.
Früher hat man gesagt, ja, das muss doch möglich sein.
Als erstes versuche ich erstmal zu erkennen, wo sind Wortgrenzen, und
wenn ich weiß, wo Wortgrenzen sind, dann versuche ich zu erkennen,
welche Wörter sind das.
Und das hat nicht funktioniert.
Man hat am Ende festgestellt, das funktioniert überhaupt nicht gut.
Dieses scheinbar einfache Problem, wo ist eine Wortgrenze, kriegt die
Maschine nicht vernünftig in den Griff.
Deswegen hat man bei der Erkennung kontinuierlicher Sprache dann das
Rahmenwerk aufgebaut, das wir im Augenblick verwenden.
Bei isolierten Wörtern ist das relativ einfach.
Da habe ich es meistens so, ich habe eine Aufnahme und weiß, in dieser
Aufnahme ist ein Wort, jetzt muss ich mich nur für das richtige Wort
entscheiden.
Und bei Phrasen, das liegt halt so ein bisschen dazwischen, da weiß
ich, habe ich eine bestimmte Obergrenze an Wörtern, kann ich mich auch
darauf einstellen.
Jetzt ist natürlich die Frage, wenn man jetzt sagen müsste, was ist am
schwierigsten, was ist am einfachsten.
Welches ist es wohl von diesen drei?
Isolierte Wörter, Phrasen, kontinuierliche Sprache.
Was ist wohl die einfachste Erkennungsaufgabe?
Isolierte Wörter.
Und das Schwierigste?
Kontinuierliche Sprache.
Vorsicht.
Kommt jetzt drauf an.
Isolierte Wörter.
Ich habe zehn Kommandos, die will ich voneinander unterscheiden.
Und die Kommandos klingen auch alle deutlich anders.
Einfache Sache.
Isolierte Wörter.
Ich buche ein Bahnsystem.
Nennen Sie den Namen des Zielbahnhofs.
Dann komme ich ins Schleuder.
Isoliertes Wort.
Aber der Funk gibt es so verdammt, verdammt, verdammt viele, dass es
schwierig ist, die dann noch richtig auseinanderzuhalten.
Und wenn ich dann noch so Namen habe, die ähnlich sind, und die dann
noch ein bisschen schlecht ausgesprochen sind, und die muss ich dann
noch voneinander diskriminieren, kann das, wenn das Vokabular groß
genug ist, ein sehr, sehr schwieriger, fast unmöglicher Task sein.
Während bei kontinuierlicher Sprache, wenn der Diskurs eher klein ist,
aber kontinuierlich gesprochen, kann das plötzlich deutlich einfacher
sein, als dieser Erkenner einen freien, beliebigen Nachnamen von der
ganzen Welt.
Deswegen, ja, prinzipiell isolierte Wörter von der Tendenz her.
Einfacher, aber immer zusammensehen in Verhältnisgröße des Diskurses.
Das bestimmt hinterher, ob es wirklich jetzt einfacher ist, diesen
isolierten Wörter-Task zu machen, als diesen kontinuierlichen Task von
kontinuierlicher Sprache.
Es ist nämlich auch so, dass, wenn ich jetzt kontinuierliche Sprache
habe, ein längeres Signal habe, habe ich mehrere Wörter drin und habe
auch mehr Kontext.
Wenn ich jetzt Haus und Maus als isolierte Wörter voneinander
unterscheiden soll, kann das schwierig sein, das klingt sehr ähnlich.
Wenn ich aber den Satz sage, die Maus ist klein, selbst wenn ich das
Wort Maus nicht richtig gehört habe und das schlecht ausgesprochen
wurde, dass ich das dann mit Haus verwechsle, ist eher
unwahrscheinlich.
Oder die Maus ist grau.
Das Haus hat ein Dach.
Vom Kontext her weiß ich, Maus passt da eher nicht.
Egal wie schnurrig das jetzt war, es wird wohl Haus gewesen sein.
Und da kann dann die Tatsache, dass ich kontinuierliche Sprache habe
mit viel Kontext, viel hilfreicher sein dabei, das jetzt richtig zu
erkennen.
Also nochmal pro forma.
Ist Spracherkennung schwierig?
Ja, Spracherkennung ist eine schwierige Aufgabe und wird häufig
verglichen mit der Sprachsynthese.
Sprachsynthese ist das Gegenteil.
Ich habe einen Text und will den vom Rechner aussprechen lassen.
Gab es schon relativ früh brauchbare Systeme, die man gut verstehen
konnte, während es bei der Spracherkennung immer noch nicht voranging.
Und da sagt man halt, Sprachsynthese ist Zahnpasta aus der Tube raus
und Spracherkennung ist Zahnpasta wieder in die Tube rein.
Das ist halt deutlich schwieriger.
Das Signal, das ich jetzt erkennen muss, klassifizieren muss, ist
plötzlich deutlich heterogener als bei der Synthese, wo ich klaren
Text reinbekomme und den rausschieben soll.
Und dann muss man sich jetzt die Frage stellen, warum ist denn
Spracherkennung schwierig?
Da ist mir halt mal Folgendes passiert.
Da war ich noch armer kleiner Student auf Austausch in den USA, in
Pittsburgh, um damals noch eine Studienarbeit zu machen.
Und wir konnten da rüber beim Herrn Weibel und dann unsere
Studienarbeit drüben in Pittsburgh an der Carnegie Mellon machen.
War natürlich eine tolle Sache.
Kommilitone und ich sind rüber geflogen.
Und dann ist man so als Student in fremdem Lande.
Und was ist als Student immer wichtig?
Wo geht man immer hin, wenn man sieht, wenn es Essen für umsonst gibt?
Man hat eh nicht wenig Geld und das ist in den USA deutlich
ausgeprägter als hier.
Hier sind die ganzen Firmen alle relativ knickerig.
In den USA ist im Prinzip keine Woche vergangen, wo man nicht
mindestens an zwei, drei Tagen irgendwo, wenn man wusste, wo man
hingehen musste, Essen schnauern konnte.
Es gab ein Newsletter.
So gab es eine Liste, was weiß ich.
Da macht damals Leikos Studentenempfang und da macht die Firma was.
Und da ist der Studentenverein, trifft sich Mittags und gibt Pizza.
Und auf der Liste stand auch drauf, ein neuer Professor berufen
worden, hat seine Antrittsvorlesung gehabt.
Danach gibt es Empfang.
Kommen Sie und diskutieren Sie mit uns.
Empfang, da gibt es Essen.
Wir kommen und diskutieren.
Also hin zu dem Empfang und standen da halt rum mit unserem Glas.
Alkohol gab es nicht, was immer schwierig in den USA, aber schöne
Häppchen und lecker Essen und standen da rum.
Und dann kommt man halt so ins Gespräch mit allen möglichen Leuten und
dann kommt da halt eine Forscherin an, fragt, na und was machen Sie
so?
Ja, ja, wir machen so automatische Spracherkennung.
Ah, ist doch einfach.
Was?
Ja, Sprache ist doch ganz simpel.
Wie kommen Sie denn darauf?
Ja, gucken Sie mich an.
Ich mache medizinische Bildverarbeitung.
Ich habe ein mehrdimensionales Signal.
Das ist zweidimensional.
Und dann noch mit Schichtbildern ist das dreidimensional.
Bei Ihnen, Ihr Signal ist eindimensional.
Langweilig.
Warum soll denn Spracherkennung schwierig sein?
Und dann steht man da und überlegt.
Das ist eine gute Frage.
Warum in aller Welt ist jetzt Spracherkennung schwierig?
Was sagt man da?
Und dann als einmal kleiner Student steht man da und versucht
rumzulavillieren.
Und dann kommt die Frage, warum ist automatische Spracherkennung
schwierig?
Und die Antwort, die wir da für uns gefunden haben, ist
Spracherkennung ist schwierig wegen Variabilität.
Und zwar wegen Variabilität des Signales und der Wortfolge, die es
geben kann.
Und dann kann man sich so Variabilität auf verschiedenen Ebenen
definieren.
Und die unterste Ebene ist die Signalebene, sprich die Schallwelle,
die ich da mit meinem Mikrofon gemessen habe.
Das Ding ist schon extrem variabler.
Sieht immer anders aus.
Dann eine Ebene höher auf der phonetischen Ebene, der Lautfolge, die
ich produziere.
Jeder Mensch hat seinen eigenen Akzent, spricht die Phoneme anders
aus.
Man hat unterschiedliche Dialekte, bedeutet zwar das gleiche, aber
Phoneme werden ausgetauscht und anders ausgesprochen.
Jemand spricht undeutlich und verschluckt Silben oder Phoneme, jemand
spricht deutlich.
Und dann auf linguistischer Ebene halt die Kreativität von Menschen,
wenn es darum geht, neue Sätze zu definieren.
Man kann beliebig neue Sätze zusammenbauen.
Menschen sind da ungemein kreativ, neue Sätze zu erfinden, die es auch
vorher, egal, wenn man die gesamten Aufzeichnungen der Menschheit
durchgeht, hat man diesen Satz vorher noch nicht gesehen.
Es ist eine neue Klasse, die man jetzt korrekt der Aufnahme zuordnen
muss.
Genauso mit Wörtern.
Es werden ständig neue Wörter erfunden.
Dementsprechend muss man eigentlich ständig auch sein Vokabular auf
dem Laufenden halten, dass man mit neuen Wörtern umgeht.
Menschen können damit mit dieser Variabilität sehr, sehr, sehr gut
umgehen.
Der Grund dafür ist, dass wir Menschen sehr, sehr viel verschiedene
Arten von Wissen anwenden, um Sprache zu verstehen.
Wir haben Universalwissen, das heißt, wir wissen, wie die Welt
funktioniert.
Wir wissen, welche Sachen sein können und welche Sachen nicht sein
können.
Damit kann man schon viel ausschließen.
Wir haben pragmatisches Wissen, sprich in dieser Situation, in der ich
mich befinde, was kann überhaupt gesagt werden?
Wenn ich mich auf einem Empfang mit irgendwelchen Forschern
unterhalte, kann ich jetzt nicht erwarten, dass ich den Wetterbericht
bekomme.
Oder werde ich jetzt nicht irgendwie einen Arztbericht dektiert
bekommen, sondern werden so die üblichen Sachen sein.
Was machen Sie denn so und wo kommen Sie her?
Sie haben Lust zu Ihrem Akzent.
Ach, aus Deutschland.
Ich hatte auch eine Großmutter, die kam aus Deutschland und so weiter
und so fort.
Das weiß man im Prinzip vorher schon fast, was da kommen wird.
Und Menschen können halt dieses Wissen sehr, sehr, sehr gut anwenden.
Rechner haben da ein riesengroßes Problem mit.
Es gibt keinen guten Ansatz, dieses universelle Wissen zu modellieren.
Dieses universelle Wissen dann auch zu lernen aus Beobachtung der
Welt, wie wir das als Menschen machen.
Wenn wir aufwachsen, lernen wir halt, wie die Welt so funktioniert.
Und wenn man dann ein Modell hätte und dieses Modell gelernt hätte,
wie wende ich es dann auch noch in der automatischen Spracherkennung
an?
Und auf all diese drei Fragen gibt es nach wie vor noch keine gute
Antwort.
Derjenige, der es schafft, das Problem zu lösen, wird die
Spracherkennung auf die nächste interstellare Ebene katapultieren.
Der wird in die Annalen der Spracherkennungsforschung eingehen.
Wenn wir uns jetzt mal die Variabilität zum Beispiel auf Signalebene
anschauen, dann hat man hier die Wellenform.
Offiziell wissen Sie noch nicht, was so eine Wellenform bedeuten soll.
Natürlich hat jeder schon mal sowas gesehen.
Das ist das, was ein Mikrofon gemessen hat, das Mikrofonsignal, wie so
der Luftdruck schwankt über die Zeit hinweg.
Und da ist dreimal das Wort Sieben gesprochen worden.
Und das sieht dreimal unterschiedlich aus.
Es gibt so eine grobe Struktur.
Wenn man so guckt, im Groben scheint das ähnlich zu sein.
Also vorne so ein Huggel, dann kurze Stille, dann wieder so ein
Huggel, kurze Stille und dann etwas kleineres Gebirge.
Aber im Prinzip sieht das jedes Mal anders aus.
Und das Schlimme ist, ich kann einen Menschen nehmen, absolut nichts
ändern.
Ich lasse ihn zweimal unter den genau selben Umständen das genau selbe
sagen.
Diese Aufnahme wird unterschiedlich aussehen, wird deutlich
unterschiedlich aussehen.
Und der Rechner soll jetzt lernen, diese völlig unterschiedlichen
Dinge sind alles dieselbe Klasse.
Und das macht das eben schwierig.
Und zusätzlich zu dieser inhärenten Variabilität, also keinem
offensichtlichen Grund, warum es anders ist, gibt es noch viele andere
Faktoren, die das Signal verändern.
Da gibt es zum einen die Variabilität des Kanals.
Es macht einen Unterschied, in welcher Umgebung ich eine Schallwelle
produziere und sie aufnehme.
Einfaches Beispiel kleiner Raum versus große Halle.
Wenn ich im kleinen Büro sitze und Sprache mit einem Mikrofon
aufnehme, nimmt etwas anderes auf, klingt die Sprache anders, als wenn
ich irgendwo in der Kathedrale stehe und die Sprache aufnehme.
Klar, es gibt sowas wie Halle und Reverberation.
Einfaches Beispiel, hat mich mal für eine halbe Stunde in den Wahnsinn
getrieben.
Wir hatten ein Forschungsprojekt Sprache erkennen, Sprache im
Europäischen Parlament.
Europäische Parlament hier in Straßburg und in Brüssel.
In Straßburg, das hat man vielleicht schon mal gesehen, so ein großer
Sitzungssaal.
Da sitzen die Leute drin, haben an ihrem Pult so ein Mikrofon da,
kommt aus dem Pult raus mit so einem Schwanenhals und da sprechen die
rein.
Tolles Spracherkennungssystem dafür gebaut, hat wirklich sehr gut
funktioniert, anwenden lassen und ich dachte, ich spinne.
Satz, das letzte Wort kommt doppelt.
Erkennt der Spracherkenner doppelt.
Das blöde Ding, das letzte Wort doppelt erkannt.
Alles untersucht, sämtliche Fehler geguckt, wo kann dieser verfluchte
Fehler sein, das muss doch irgendein blöder Bug sein, dass einfach das
letzte Wort doppelt ausgegeben wird.
Dieses gesucht und das gesucht und jenes gesucht, nichts gefunden.
Und dann habe ich mir das Signal mal hergenommen und geguckt, okay, da
ist hinten an dem Satz, hat man immer noch so ein bisschen Stille dran
gelassen, man muss das ja segmentieren, dass man da so ein bisschen
vorne und hinten Platz hat.
Das Stück Stille hergenommen und dann in der Lautstärke verstärkt,
sowas wie tausendfach verstärkt und dann mal reingehört.
Das Wort war da.
Das war einfach, dass der Hall, das Echo in dem Parlament war so groß,
dass man dieses letzte Wort einfach dann in der Stille nach der Rede
nochmal gehört hat.
Und zwar wirklich komplett, das können halt so kleinere Wörter gewesen
sein und die hat man halt komplett nochmal gehört.
Und der Spracherkenner, treu, doof, wie der ist, den interessiert das
nicht, dass das leise ist, also wirklich sehr leise, der hat es
einfach erkannt.
Und das macht es halt dann, solche Sachen machen es extrem schwierig.
Wenn man sich das vorstellt, die Schallwelle, die hier durch so einen
Raum durchbornst.
Es ist ja nicht so, von meinem Mund geht das Signal direkt ins
Mikrofon.
Das wäre schön.
In Wirklichkeit geht das Signal in alle Richtungen weg und trifft dann
auf alle möglichen Flächen, wird reflektiert und wird wieder
zurückgeworfen, sodass meine direkte Sprache reinkommt und dann
zeitlich verzögert diese ganzen zig verschiedenen Reflektionen, die da
hinkommen.
Und dementsprechend macht es halt einen Unterschied, ob ich jetzt in
einem Raum bin, wo es sehr, sehr viele Reflektionen gibt.
Beispielsweise, es gab mal früher hier, es gibt es leider nicht mal
eine schöne Vorlesung von den Elektrotechnikern zum Thema Akustik.
Und der hatte schöne Aufnahmen, irgendwie das gleiche Lied gespielt,
mal in einem gefließten Badezimmer und mal in einem Büro mit Stoff an
den Wänden und mal in einer großen Halle.
Es klingt wirklich sehr, sehr, sehr, sehr unterschiedlich.
Wir nehmen das nicht so wahr als Menschen.
Wir blenden das aus.
Wir können da super von abstrahieren.
Aber für den Spracherkenner ist das ein riesengroßes Problem, weil das
das Signal verwischt.
Ich habe nicht so ein schönes zeitlich scharfes Signal, sondern ich
habe das, was ich gesagt habe.
Und dann habe ich dasselbe viele, viele, viele Malen mit
unterschiedlichem minimalen Zeitversatz immer wieder darüber gelegt.
Und diesen Zeitversatz nennt man in der Regel Hallenreverberation.
Und jetzt ist die Frage, zwei Fragen, das ist also Reverberation und
jetzt gibt es ja noch den Begriff des Echos.
Steht in Bergen, wer ist der Bürgermeister von Wesel und dann kommen
wir zurück, Esel, Esel, Esel.
Ist ja sowas ähnliches.
Und wahrscheinlich kennt man eher das Echo als Phänomen als jetzt
diesen Hall, die Reverberation.
Kann sich jemand vorstellen, was der Unterschied ist zwischen so einer
Reverberation und dem Echo?
Wie man das unterscheiden kann?
Das wären so Vermutungen, einfach ins Blaue rein spekuliert.
Wie kann ich so diese kurzfristigen unterscheiden?
Und daran macht man das in der Tat fest an der Zeit.
Wie lange dauert es sozusagen, bis die Reflexion wieder zurück ist?
Und da gibt es einfach eine Grenze, die hat man festgelegt.
Bis zu dieser Grenze ist das ganze Hall und Reverberation und danach
nennt man es Echo.
Und jetzt ist die Frage, wo könnte man so eine Grenze daran
festmachen?
Was wäre so eine sinnvolle Idee, wie man versucht, so eine Grenze
festzumachen?
Geht in die richtige Richtung, genau.
Man macht das an der menschlichen Perzeption fest.
Da gibt es nicht irgendetwas Physikalisches, Plausibles, an dem man
das festmachen kann, sondern man macht es daran fest, wie nimmt der
Mensch das wahr?
Bei Hall, Hall merkt der Mensch nicht.
Bei Hall wird immer noch dasselbe Wort gesprochen und dass da jetzt
halt zig Reflexionen drin waren, der Mensch hört das einfach nicht, er
merkt das nicht.
Da muss ich schon sehr stark darauf konzentrieren, dass er so etwas
wie Hall wahrnimmt.
Beim Echo ist es ganz klar, das ist offensichtlich ein zweiter Satz,
eine zweite Äußerung, die da gesprochen wurde.
Sie ist unterschiedlich von der ursprünglichen Äußerung, die da
gesprochen wurde.
Und dieses, sie ist offensichtlich unterschiedlich, das findet nur im
Kopf des Menschen statt.
Es gibt irgendwo eine Grenze, wenn die Verzögerung lang genug wird,
dann meint der Mensch, das sei eine neue, eine andere Äußerung und ab
dann nennt man es halt Echo.
Wenn man sich jetzt so einen Raum wie diesen Vorlesungssaal anschaut,
dann ist der ja eigentlich schon ein ziemlicher Horror.
Ich habe hier glatte Flächen am Boden, keinen Teppich, sondern so
Linoleum gelegt.
Ich habe hier jede Menge solcher Holztische.
Das sind alles glatte Flächen, von denen der Schall reflektiert wird.
Ich habe da solche Platten und große Fensterscheiben.
Was hat man jetzt zum Beispiel in diesem Raum gemacht, damit das Ganze
ein bisschen besser wird?
Genau, leider ist das Schlimme, die laute Lüftung überlagert sich
leider mit dem Hall.
Sie löscht die leider nicht aus.
Aber was hat man tatsächlich mal, abgesehen von einer zu lauten
Lüftung, richtig gemacht in diesem Raum, dass das funktioniert?
Und das sieht man schön an der Decke und an dem, was über diesen
glatten Paneelen kommt.
Hier habe ich eine Fläche, die ist zwar auch glatt, aber die ist
durchlöchert.
Und das hat einen Grund, warum das nicht wieder so glatte Holzplatten
sind, sondern warum das Lochbretter sind, Lochbleche sind.
Was da nämlich passiert ist, dass die Schallwelle durch diese Löcher
durchgeht und verschwindet hinter dem Hohlraum, hinter dieser
abgehängten Decke.
Sprich, da ist nicht hinter den Löchern direkt Schluss, sondern da ist
Platz, da ist Raum.
Die Schallwelle geht da durch und kommt oben in diesen Hohlraum und
wird in diesem Hohlraum auch fleißig hin und her reflektiert.
Aber die Chancen sind relativ groß, dass sie nicht wieder aus diesen
Löchern raus reflektiert wird, sondern dass sich das Ding oben so
lange hin und her hopst, bis die Energie durch Reibung usw.
aufgebraucht ist, dass sich der Schall totgelaufen hat.
Und deswegen hat man häufig dann solche abgehängten Decken mit solchen
Löchern drin, wo dann der Schall durchgeht.
Oder man hängt zum Beispiel Stoff hin, sogar DIN.
Oder gucken, dass die Lochgröße klein genug ist, dass hinterher mit
der Wellenlänge vom Schall, wenn das mal so entsprechend reflektiert
wurde, das Ding dann nicht wieder, wenn es sich gerade im genau
richtigen Winkel drauf trifft, die Schallwelle auch wieder rauskommt.
Und dann gibt es hier in dem Raum eine Ausnahme, wo das gemacht wurde.
Da sind solche Plastikscheiben oben an dem Raum.
Kann sich einer vielleicht vorstellen, wofür die Dinger gut sind?
Ja, das sind Mikrofone.
Und zwar ist da eine ganz spezielle Art von Mikrofon drin verbaut.
Das werden wir uns noch anschauen.
Man hat diese Plastikscheibe und in der Mitte der Plastikscheibe das
weiße Gitterkasten, das ist das Mikrofon.
Und jetzt ist natürlich die Frage, ja gut, warum hat man nicht einfach
das Mikrofon hingeklemmt und warum braucht man diese blöde
Plastikscheibe?
Das gehört ja offensichtlich nicht mehr zum Mikrofon.
Das liegt daran, dass das eine bestimmte Art von Mikrofon ist, die
davon lebt, dass sie Schall, der so entlang glatter Flächen wandert,
speziell aufnimmt.
Und jetzt haben wir festgestellt, ja, das ist zwar schön, wenn wir das
Mikrofon da oben reintun, aber da sind ja Lochbleche drum.
Da fehlt mir die glatte Fläche, die dieses Mikrofon braucht.
Das nennt sich ein Grenzflächenmikrofon.
Ich brauche eine Grenzfläche.
Also muss man da dann so entsprechende Plastikscheiben noch drunter
legen, damit diese Grenzflächenmikrofone überhaupt funktionieren.
Also das ist sowas wie Hall.
Das Schlimme ist, wenn man sich Hall anschaut, Hall ist im Prinzip so
etwas wie eine Faltung, die mit dem Signal passiert.
Dem gegenüber gibt es so etwas wie Umgebungsgeräusche, die additiv
draufgehen.
Das kann die Lüftung sein.
Die wird mit dem Sprachsignal, wenn es vom Mund zum Mikrofon reißt,
additiv überlagert.
Das kommt sozusagen oben drauf.
Das kann der Lüfter vom Projektor sein.
Das kann, wenn einer im Hintergrund hupt oder einer mit dem Tisch
klappert.
Oder es gibt zig verschiedene Möglichkeiten, die dieses Signal
überlagert und das Signal verfremdet.
Und wenn es einmal überlagert wurde, das wieder zu trennen, ist
schwierig.
Oder es können, wie gesagt, andere Sprecher sein.
Das nennt man dann auf Englisch Crosstalk.
Im Deutschen das schöne Wort übersprechen.
Kennt keiner mehr.
Alle reden nur noch von Crosstalk.
Das ist, wenn sich mehrere Sprachen miteinander überlagern.
Und dann habe ich noch die Variabilität der Aufnahmetechnik.
Es gibt verschiedene Arten von Mikrofonen mit deutlich
unterschiedlichen Eigenschaften.
Wir sehen jetzt hier schon, hier gibt es so ein Mikrofon, das
anscheinend dafür geeignet ist, dass ein Vortragender es nahe bei sich
trägt.
Und ich bekomme auch noch immer keine Probleme mit, dass sich zum
Beispiel jetzt das Audio, das vom Lautsprecher kommt, hier reingeht
und dann zu dieser hässlichen Rückkopplungsschleife führt, zu diesem
Fiepen.
Dagegen ist so ein Mikrofon unempfindlich, extra dafür gemacht.
Diese Mikrofone da oben an der Decke sind extra dafür gedacht, dass
sie weit weg vom Sprecher sind und trotzdem noch dann aufnehmen.
Zum Beispiel sehr beliebt in Theatern sowas.
Wenn man Theaterstücke aufnehmen will und man will dem Schauspieler
nicht ein Mikrofon anhängen, dann klebt man solche Grenzflächen
-Mikrofone an geeignete Stellen in der Kulisse.
Und unterschiedliche Mikrofone haben halt unterschiedliche
Eigenschaften.
Dementsprechend sieht das Signal auch von Mikrofon zu Mikrofon-Typ
unterschiedlich auf, wenn ich es aufnehme.
Auch wenn es dieselbe Schallwelle ist, die dieses Mikrofon aufnimmt.
Und dann auch solche einfachen Sachen wie Aufnahmepiegel-Regeln, also
wie stark verstärke ich das elektrische Signal?
Und natürlich schon wie gesprochen, wie weit ist das Mikrofon weg?
Das alles sind Variabilitäten, die das Signal verändern und mit denen
man irgendwie wird umgehen müssen.
Dann haben wir Variabilität auf phonetischer Ebene.
Die Aussprache von den Arten von Lauten, aus denen die Sprache
zusammengesetzt ist, ändert sich.
Das können Dialekte sein, unterschiedliche Individuen haben halt
unterschiedliche Angewohnheiten beim Aussprechen von Phonemen, von
Lauten.
Das kann der emotionale Zustand sein.
Ob ich jetzt wütend, traurig, fröhlich oder mehr so ausgeglichen bin,
hat Einfluss darauf, wie ich die Phoneme ausspreche und wie ich die
Phoneme modelliere, wie die klingen.
Es macht einen Unterschied, ob ich eine formelle Ansprache halte vor
einem großen Publikum und wenn es ein ganz wichtiger Anlass, dann
werde ich mich wahrscheinlich bemühen, deutlicher zu sprechen, als
wenn ich mich informell irgendwie unterhalte.
Interessanterweise macht es einen Unterschied, in welcher Umgebung ich
mich befinde.
Ich habe da leider kein Video mehr von.
Ich habe mal gesucht, aber kein Video zum Lombard-Effekt vernünftig
gefunden.
Gab es mal bei Blaupunkt.
Die haben Autoradios gebaut.
Und dann hatten sie die tolle Idee, wir haben ja jetzt
Freisprecheinrichtungen im Auto und jetzt telefoniert einer und der
hat das Radio an.
Das ist ja blöd.
Das Mikrofon, wenn der telefoniert, dann spricht der und das Radio
plärrt, der am anderen Ende der Leitung versteht nichts mehr.
Aber wir kennen ja das Radiosignal.
Wir sitzen ja im selben Auto.
Wir wissen, was das Radio so von sich gibt.
Dann können wir das doch rausfiltern.
Das ist ja jetzt nicht so eine schwierige Aufgabe.
Das ist natürlich schon schwieriger, als man denkt, aber findige
Ingenieure haben halt entsprechende Filter gebaut, die halt dafür
gesorgt haben, dass das Signal vom Radio beim Mikrofon halt wieder
rausgefiltert wird von der Freisprecheinrichtung, sodass die Leute
telefonieren könnten, konnten das Radio laufen lassen, der am anderen
Ende der Leitung hat davon nichts mitbekommen.
Und dann haben die das halt ausprobiert, da in ihrem Labor halt einen
reingesetzt, Radio volle Kanne aufgedreht, Auto schon so am Gebirgen
so ungefähr und dann hat der da angerufen.
Bisschen weiter weg, wo man es nicht hören könnte.
Und das klang dann komisch.
Da haben sie angerufen, ja hallo?
Ja hallo, könnt ihr mich hören?
Ja klar, warum sprichst du so bekloppt?
Und das ist der sogenannte Lombardeffekt.
Wir, wenn wir in einer lauten Umgebung sind, ändern unsere Sprache
automatisch so, dass der Gegenüber uns besser verstehen kann.
Weil wir wissen, der wird durch den Lärm, der auf uns einknallt, der
knallt genauso auf den ein, also muss ich mich ein bisschen
anstrengen, damit der mich trotzdem noch versteht.
Das haben wir so in, also wenn wir irgendwo auf einer Party sind und
ganz großer Lärm drumherum, reden wir deutlich anders, als wenn wir in
einer ruhigen Umgebung sind.
Und das irritiert natürlich wieder den Spracherkenner.
Selbst wenn ich jetzt also das Hintergrundgeräusch vollständig
rausfilter, bei dieser Freisprecheranrechnung für das Auto, wenn ich
da jetzt einen Spracherkenner drüber laufen lasse, dann wird der
irritiert sein und nicht gut funktionieren, weil in der Regel ist
sowas auf klarer Sprache trainiert und die Sprache, die jetzt in
dieser lauten Umgebung produziert wird, die klingt komplett anders.
Und das nennt man halt den Lombardeffekt.
Und dann andere Variabilitäten sind zum Beispiel
Sprechgeschwindigkeit.
Wenn ich jetzt schnell oder langsam spreche, verändert das Signal und
macht es entsprechend schwierig für den Spracherkenner.
Und dann die letzte Ebene ist diese Mehrdeutigkeit auf linguistischer
Ebene.
Ich kann beliebige Sätze im Prinzip zusammensetzen und auch fast
beliebig viele sinnvolle Sätze.
Und dann hat Sprache leider noch so bestimmte Angewohnheiten, die es
dann noch zusätzlich schwierig machen.
Natürliche Sprache ist jetzt keine Programmiersprache, die eindeutig
ist und darauf ausgelegt ist, dass sie fehlerfrei interpretiert werden
kann.
In der menschlichen Sprache haben wir zum Beispiel so etwas wie
Homophone.
Das sind Wörter mit gleicher Aussprache, aber unterschiedlicher
Bedeutung.
Das Wort Schloss kann halt das Türschloss sein oder es kann die Burg
sein vom Grafen.
Die Bank kann eine Finanzinstitution sein oder kann Sitzmöbel sein.
Gut, bei Spracherkennung kann man sagen, juckt uns nicht, solange es
gleich geschrieben wird, ist mir das egal.
Dann kann ich es vernünftig erkennen.
Das macht hinterher leider doch einen Unterschied, weil wir werden
nachher feststellen später, dass bei automatischer Spracherkennung
System gibt es eine Komponente, die beschäftigt sich damit, welche
Wörter wie miteinander kombiniert werden.
Und wenn ich dann irgendwas gelernt habe auf Texten, die viel mit der
finanziellen Institution zu tun haben, dann habe ich halt das Wort
Bank in einem Kontext kennengelernt, die irgendwas mit Finanzwesen zu
tun hat.
Und wenn dann der Satz kommt, ich setze mich auf die Bank, dann wird
die Komponente sagen, nee, nee, das ist ganz unwahrscheinlich.
Auf so eine finanzielle Institution, da setzt man sich nicht, da musst
du dich verhört haben, das muss anders heißen.
Und dann gibt es halt auch Homophone mit unterschiedlicher
Schreibweise.
Bis und bis.
Verse, Verse, Nachname, Nachname.
Wird gleich ausgesprochen, wird aber unterschiedlich geschrieben.
Das Spracherkennungssystem soll aber bitte schon schön trotzdem in der
Lage zu sein, zu wissen, welches dieser unterschiedlichen Wörter es
war.
Und das kann es dann nur, wenn es Wörter in ihrem Kontext betrachtet.
Schaut im Satz, in welchem Kontext ist das Wort jetzt aufgekommen,
welches von den gleich klingenden, aber mit unterschiedlicher
Schreibweise existierenden Wörtern kann es denn sein.
Und wenn man mit sowas kombiniert, dann kann man halt zu
Mehrdeutigkeiten in Sätzen kommen, die es dann später schwierig
machen, wenn man zum Beispiel den Sinn extrahieren möchte.
Und da gibt es halt dieses klassische Beispiel aus der englischen
Linguistik, dieses Time flies like an arrow.
Kann man auf fünf verschiedene Arten interpretieren.
Ich muss mal gucken, ob ich alle fünf zusammen bekomme.
Also die offensichtlichste ist, time flies like an arrow, die Zeit
vergeht im Fluge.
Oder wörtlich übersetzt, die Zeit fliegt wie ein Pfeil.
Das englische Wort time kann halt unglücklicherweise das Substantiv
Zeit sein.
Es kann aber auch das Verb sein im Sinne von Zeit nehmen.
Also Zeit messen mit der Stoppuhr.
Das heißt, der Satz könnte auch sein, hier misst die Geschwindigkeit
von Fliegen, wie ein Pfeil das machen würde.
Macht jetzt nicht so viel Sinn, aber wäre eine Möglichkeit.
Oder es könnte sein, dass es irgendwie so eine spezielle biologische
Gattung gibt der Zeitfliegen.
Und diese Zeitfliegen, die mögen halt ganz besonders gerne Pfeile.
Also time flies like an arrow.
Die mögen halt einen besonderen Pfeil besonders gerne.
Ist nach wie vor, wenn man nach der reinen Syntax geht her, eine
gültige Interpretation.
So, jetzt hatten wir drei.
Die anderen beiden müsste man nachschauen.
Die sind dann relativ abstrus und relativ abstrakt.
Aber das zeigt schon, man kann auf die Art und Weise Sprache nur
interpretieren, Informationen extrahieren, wenn man sie im längeren
Kontext betrachtet.
Auf Satzebene alleine reicht es schon nicht.
Man muss es im größeren Kontext betrachten und man muss sehr viel
Hintergrundwissen anwenden, um Sprache verstehen zu können.
Dann haben wir ein Problem mit Segmentierung.
Und das ist halt auch wieder ein Wahrnehmungsphänomen.
Psychoakustisches Phänomen.
Menschliche Sprache ist einfach nur ein Fluss von Lauten.
Da ist keine Pause dazwischen.
Ich spreche nicht so, dass ich zwischen jedem Wort eine Pause mache.
Frühe Diktiersysteme haben sowas verlangt.
Die hatten ein Problem damit, Worte zu segmentieren.
Das waren so Systeme, die dachten, okay, erst segmentieren, dann Wort
erkennen.
Da musste man zwischen jedem Wort dann erstmal eine Pause machen.
Das ist natürlich völlig unnatürlich.
Wir Menschen haben aber eine ganze Hierarchie von Struktur, die wir in
diesen Fluss, diesen Wasserfallstrom menschlicher Sprache reinbringen.
Als erstes nehmen wir unterschiedliche Laute wahr.
Eigentlich, wenn wir uns Sprachproduktion nachher anschauen, ist das
so, dass menschliche Sprache, die Schallwelle sich kontinuierlich
verändert.
Und zwar nicht irgendwie so in festen Abschnitten, sondern eigentlich
im Großen und Ganzen ist das ein kontinuierlicher Fluss.
Die Schallwelle ändert sich kontinuierlich über die Zeit, fließend
über die Zeit hinweg.
Wir Menschen nehmen aber distinkte Laute wahr.
Wir nehmen das so wahr, dass menschliche Sprache nach unserer Psyche
in wohl definierte Laute unterteilt wird.
Laute setzen wir dann wieder eine Hierarchie darüber zu Silben
zusammen.
Wir nehmen Silben wahr und können eigentlich hier, jeder kennt das
noch aus der Grundschule, Silbentrennung brauchen wir nur
abzuklatschen, können wir die Wörter trennen.
Wir Menschen nehmen das wahr.
Im Signal ist das nicht vorhanden, gibt es nicht.
Wir nehmen auch Wörter wahr, können Wörter problemlos voneinander
unterscheiden, auch wenn sie direkt hintereinander geklebt werden.
Wir nehmen Sätze wahr und bei Texten erwarten wir dann auch noch sowas
wie Struktur in Absätzen und so weiter.
In Wirklichkeit ist das im Signal alles nicht vorhanden.
Wir sprechen ohne Punkt und Komma in einem Fluss durch in der Regel.
Es ist sehr selten, dass eine Pause gemacht wird.
Es gibt sogar Untersuchungen, die sagen, ja, Pausen werden ja schon
hin und wieder gemacht.
Kann man die dann zum Beispiel verwenden, um zumindest Sätze
voneinander zu trennen?
Und da gibt es auch Linguisten, die haben sich das dann angeschaut und
Sprachwissenschaftler und haben festgestellt, naja, je nachdem, was
für ein Typ von Sprache es ist, ist es meistens sogar so, dass die
Pause eher mitten im Satz gemacht wird, als dass sie an einer
Satzgrenze gemacht wird.
Hängt damit zusammen, dass wir so ein bisschen vorausplanen, wenn wir
sprechen, dass wir sozusagen über die Satzgrenze hinweg schon gedacht
haben und dann irgendwann aber mitten im Satz vielleicht mal eine
kurze Pause brauchen, um nachzudenken, wie geht es denn demnächst
weiter.
Das heißt, diese nicht vorhandene Segmentierung im Signal, die aber
bei der Erkennung erwartet wird, macht es halt schwierig.
Und wenn man das so ein bisschen populärwissenschaftlich, grafisch
aufbereiten will, dann sieht das so ab.
Was wir eigentlich gerne erkennen würden und was wir im Kopf haben,
was rauskommen soll, ist geschriebener Text.
Gesprochen wird das Ganze erstmal spontan, also es werden Silben
verschliffen und Endungen verschliffen.
Das ist nicht so sauber ausgesprochen, wie es hingeschrieben ist.
Dann gibt es diese ganze Segmentierung nicht.
Das heißt, die Leerzeichen zwischen den Wörtern gibt es nicht.
Dann kann die Aussprache auch noch variieren, je nachdem, welchen
Dialekt man hat und was man so gewohnt ist, welche Aussprachenfehler
man hat etc.
etc.
Dann ist die Akustik variabel.
Das heißt, selbst wenn ich dasselbe unter den gleichen Bedingungen
sage, wird das Signal jedes Mal ein bisschen anders aussehen.
Dann habe ich noch Rauschen drüber und wenn ich Pech habe, dann noch
mehrere Leute, die sprechen.
Das habe ich dann mehrere von diesen verrauschten Signalen
übereinandergelegt.
Und das Ding muss ich dann erkennen und daraus wieder das da oben
machen.
Und diese ganze Variabilität auf diesen vielen Ebenen, die macht
Spracherkennung ebenso schwierig.
Das heißt, wenn Sie mal irgendwo auf einer Cocktailparty stehen und
dann kommt wieder so eine dabbische medizinische Bildverarbeiterin und
will Ihnen was davon erzählen, warum Spracherkennung doch ganz einfach
ist, dann haben Sie jetzt die Antwort darauf, warum Spracherkennung
doch schwierig ist und sehen sich ihr blödes Bild...
Was machen wir jetzt mit der Spracherkennung aus Sicht der Maschine?
Ich hatte schon gesagt, Spracherkennung ist für uns einfach
Musterklassifikation.
Viele von Ihnen haben schon kognitive Systeme gehört und dann so
verschiedene Arten von maschinellen Lernen und lernenden Systemen
kennengelernt und da gibt es halt die große Klasse der
Klassifikatoren.
Wir haben ein Eingabemuster, eine Audioaufnahme, soll der korrekten
Klasse zugeordnet werden.
Eingabemuster, Audioaufnahme, natürlich gibt es da auch eine
Vorverarbeitung, wie man das in kognitive Systeme gelernt hat.
Man wird diese Audioaufnahme irgendwie vorverarbeiten.
Das werden wir uns anschauen, welche verschiedenen Optionen es da
gibt.
Und das Ganze muss der Klasse zugeordnet werden und die Klasse ist der
Satz, der gesprochen wurde.
Und da muss man aufpassen, wenn man dann hinterher, nach dieser
Vorlesung, sich kompetent über Spracherkennung unterhält, zum Beispiel
in der Prüfung, viele werfen Wörter und Wortsequenz frei
durcheinander.
Und da muss man natürlich aufpassen.
Bei Spracherkennung, wir reden eigentlich von dem Ergebnis immer im
Allgemeinen von einer Wortsequenz.
Das Ergebnis eines Spracherkennungsprozesses ist nicht per se ein
Wort, sondern eine Wortsequenz.
Und dementsprechend ist die Klasse, die wir zuordnen, nicht ein Wort,
sondern eine Wortsequenz.
Macht halt einen großen Unterschied.
Und das Ganze ist jetzt auch einfach mal schwierig, wenn man sich die
Datenmengen anschaut, die man jetzt verarbeiten muss und die Klassen,
denen man das zuarbeiten muss.
Wenn man Sprache aufnimmt in einer halbwegs vernünftigen Qualität, da
kommt sowas wie 32.000 Bytes pro Sekunde zustande.
In der Regel ist es so 16.000 Mal pro Sekunde, nämlich ein Messwert,
der zwei Byte groß ist.
In der menschlichen Sprache gibt es sowas wie 50 Phoneme, die wir
wahrnehmen.
Diese 50 Phoneme setzen sich aus sowas wie ungefähr 5.000 Lauten
zusammen.
Wenn ich jetzt die Phoneme zu Wörtern zusammensetze, dann hat so eine
Sprache, wenn man so halbwegs vernünftig über die Runden kommen will,
sowas wie 30.000 bis 50.000 Wörter.
Je nachdem, welche Sprache ich spreche, werden diese Wörter
unglücklicherweise flektiert und konjugiert, werden aus den 50.000
Wörtern unter Umständen sowas wie 500.000 Wortformen gesucht.
Wenn ich also 500.000 Wortformen habe, die kann ich natürlich nicht
jede Kombination aus diesen Wortformen, ist etwas, was ich vermutlich
sehen werde, ist vermutlich kein gültiger Satz, aber viele dieser
Kombinationen ergeben einen gültigen Satz.
Das heißt, ich habe eine praktisch de facto unendlich große Menge an
Klassen, denen ich das zuordnen kann.
Theoretisch sogar unendlich viele, weil ich könnte ja Sätze beliebiger
Länge formen.
Der einzige Vorteil ist, ich kann eine theoretische Obergrenze
angeben, wenn ich sage, ich habe eine Audioaufnahme einer bestimmten
Länge, da können nicht unendlich viele Wörter drinstecken.
Das heißt, ich könnte theoretisch zumindest eine theoretische
Obergrenze angeben, wenn ich ein festes Vokabular vorgebe und die
Länge eine gute Obergrenze finde für die Länge des Satzes, die jetzt
in einer bestimmten Zeit gesprochen werden kann.
Aber selbst wenn ich es auf die Art und Weise einschränke, am Ende
kommt heraus, for all practical purposes, das ist eine unendlich große
Menge an Wortsequenzen und für eine von denen muss ich mich
entscheiden.
Und wir Menschen können das halt gut, weil wir Menschen von dieser
sehr großen Variabilität sehr gut abstrahieren können.
Für uns ist, das ist bei Bildern und bei Handschriften etc.
ist das das Gleiche, egal in welchem Font ich ein A sehe oder einen
Buchstaben sehe, ich erkenne, dass hier das abstrakte Konzept A
gemeint ist.
Wir können aufgrund irgendwelcher psychologischer, psychoakustischer
Effekte diese Segmentierung sehr gut vornehmen.
Wir nehmen unbewusst sowas wie Laute, Wörter, Sätze etc.
wahr.
Und das ist im Prinzip auch das allererste, was ein Neugeborenes
lernt.
Es lernt es eigentlich schon vorher, lernt es schon während der Phase,
während der Schwangerschaft im Mutterbauch.
Lernt das Neugeborene als allererstes, welche Laute gibt es denn und
was kann ich denn so für Laute haben, um daraus später was
zusammenzusetzen.
Das heißt, diese Fähigkeit aus der gesprochenen Sprache, eine
Zerlegung in Laute zu machen, wird uns noch von vor der Geburt
eingebläut.
Wir lernen das.
Durch Zuhören lernen wir diese Zusammensetzung.
Und da gibt es halt bei der menschlichen Entwicklung irgendwann ein
Fenster, das dann nach ein paar Jahren schließt sich dieses Fenster.
Da ist dieser Lernprozess, welche Laute gibt es denn, abgeschlossen.
Und dann passiert halt Folgendes, dass wenn dieser Lernprozess
abgeschlossen ist, wenn ich jetzt neue Laute lernen möchte.
Wenn ich zum Beispiel eine Sprache lernen möchte, die ich vorher noch
nie gehört habe, dann fällt mir das ungemein schwer, wenn ich jetzt
plötzlich neue Laute hinzukommen, die es in meiner Sprache oder in den
Sprachen, die ich bisher in meinem Leben gehört habe, nicht gegeben
hat.
Und das kann einem beim Fremdsprachenlernen manchmal extrem
Schwierigkeiten bereiten.
Weil dieses leichte Unterbewusste, wie wir das in unserer
Muttersprache machen oder in unseren Muttersprachen.
Ein Mensch ist grundsätzlich immer eigentlich in der Lage, von sich
aus multilingual zu sein.
Also wenn ich in einer multilingualen Umgebung mit mehreren Sprachen
aufwachse, bereitet das häufig eigentlich gar nicht so große Probleme.
Es gibt ja zwar immer Befürchtungen, aber es funktioniert erstaunlich
gut.
Also inhärent kann der Mensch sogar mit mehreren Sprachen umgehen.
Aber wenn dieses Zeitalter einmal abgeschlossen ist und jetzt soll ich
neue Laute lernen, dann kann ich das nur machen, indem ich mich
bewusst darauf konzentriere.
Das noch mal ins Unterbewusstsein reinzukommen, ist im Prinzip
unmöglich.
Dann, wir verwenden diese Riesenmengen an Hintergrundwissen, um
Plausibilitätschecks durchzuführen.
Wir verhören uns häufiger, als wir denken und korrigieren das im
Nachhinein, dass wir uns offensichtlich verhört haben.
Plus, wir verstehen uns gar nicht so gut, wie wir denken.
In komplizierten, schwierigen Kommunikationssituationen ist es häufig
so, wir haben den anderen in Wirklichkeit nicht verstanden.
Wir haben uns gedacht, was er gesagt hat.
Und nicht häufig redet man dann auch entweder aneinander vorbei.
Und nicht häufig ist es so, dass es vielleicht manchmal ganz gut ist,
wenn die aneinander vorbeireden.
Weil wenn der andere wüsste, was der andere wirklich gesagt hätte,
könnte es ganz schnell zu Staub kommen.
Und das passiert häufiger, als man denkt.
Also da gibt es schöne soziologische Studien und so weiter.
Plus, Menschen haben den Vorteil, dass wir Sprache multimodal auch
erkennen können.
Und dazu haben wir jetzt ein kleines Experiment.
Ich werde Ihnen jetzt ein Video vorstellen.
Das hier ist der Herr McGurk, aus den USA, Phonetiker, Linguist.
Das Video ist leider schon etwas älter.
Ich habe da halt nur so eine VHS-Version irgendwann mal digitalisiert
gefunden.
Rauscht ein bisschen.
Was Sie jetzt machen müssen ist, Sie hören sich jetzt dieses Video an
und nehmen sich bitte mal Stift und Papier zur Hand.
Der gute Herr McGurk wird jetzt gleich sprechen.
Das hier ist aber die Version, er wird nicht ganze Sätze sprechen,
sondern er wird Silben sprechen.
Und für Sie ist es jetzt wichtig, Sie schauen sich das Video an und
notieren sich, welche Silbe gesprochen wird.
Und dabei muss ich Sie bitten, damit das Ganze halt funktioniert, ist
es wichtig, dass Sie sich das Video wirklich angucken.
Das heißt, schreiben Sie, ohne auf Ihren Blog zu gucken, sondern
schauen Sie sich das Video an und schreiben Sie sich die Silben auf,
die der gute Mann da spricht.
Und dann, wenn man das Video einmal durchgelaufen ist, danach sprechen
wir darüber, was da passiert ist.
Bah.
Jetzt wird es spannend, weil wir hier ein sehr gemischtes Publikum
sind.
Dieses Experiment funktioniert nicht bei allen Personen.
Es funktioniert bei einigen mehr, bei anderen weniger.
Und es ist immer schön, dann jetzt mal die Statistik aufzustellen, wo
das funktioniert.
Normalerweise würde ich jetzt zur Tafel greifen, aber mir wurde
gesagt, ich möge doch bitte das nicht machen, damit das im Video ist,
also notieren wir das hier auf unserer Tafel.
Ich weiß jetzt gar nicht mehr auswendig, wie viele Silben das waren,
das war irgendwie sowas wie sieben Silben.
Jetzt gucken wir mal.
Erste Silbe.
Wer hat was gehört?
Bah.
Hat jemand was anderes gehört?
Zweite Silbe.
Was hat man gehört?
Bah.
Mit W.
Hat jemand was anderes gehört?
Da.
Noch was?
Dritte Silbe.
Was?
Lah.
Interessant.
Hat jemand was anderes gehört?
Mit T.
Der ist halt Amerikaner, der Mann.
Da.
Noch etwas.
Gut.
Dann A.
Vierte Silbe.
Da.
D-A.
Auch da.
Jemand was anderes?
Bah.
Noch was?
Dann nächste Silbe.
Fünfte.
Was war so?
Da.
Gah.
Okay.
Noch was?
Noch mal da.
Ja.
So?
Ja.
So was in der Art.
Okay.
1, 2, 3, 4, 5, 6.
Und dann sechste Silbe.
Gah.
Okay.
Noch irgendwas?
Und dann bei der letzten.
Gah.
Noch was?
Bah.
Und da.
Also man merkt schon, wir sind uns nicht einig, was wir gehört haben.
Ah, jetzt machen wir das Ganze noch mal.
Jetzt muss ich das mal eben finden.
Moment.
So.
Sie nehmen alle wieder Stift zur Hand.
Ich muss mal eben das andere raussuchen.
Jetzt machen wir noch mal wieder eine Folge von Silben, die gesprochen
wird.
Auch wieder aufschreiben, was gehört wird.
Bah.
Okay.
Sie kriegen die Idee, die dahinter steckt ungefähr.
Jetzt ist die Frage, was steckt dahinter?
Das ist der sogenannte McGurk-Effekt.
Und was der Herr McGurk hier einfach gemacht hat, ist, dass Audio und
Video nicht mehr zusammenpassen.
Der hat einfach unter seine Performance da einen anderen Audiotrack
darunter gelegt.
Der hat also verschiedene Silben, Bah, Da, Gah, Kah, Lah und so weiter
gesprochen, aber als Audiospur einfach Bah darunter gelegt.
Und das funktioniert erschreckend gut.
Es funktioniert selbst dann noch teilweise, wenn man das weiß.
Ich habe hier mal was rausgesucht für Deutsch.
Und
da kann man das jetzt einfach selber mal ausprobieren.
Man kann mal abwechselnd nach links und nach rechts gucken.
Und obwohl man es jetzt schon weiß, funktioniert immer noch.
Bah.
Bei mir persönlich ist der Effekt so stark, dass ich weiß das, aber
wenn ich nach rechts gucke, ich höre Fahr.
Ich kann nicht anders.
Es ist nicht da, es ist Bah, aber ich höre es einfach.
Und das zeigt einfach, dass wir Menschen nicht Sprache nur erkennen
anhand unseres Gehörs, sondern jeder oder zumindest ein Großteil von
uns ist ein versteckter Lippenleser.
Wir schauen dem anderen auch auf den Mund, um Sprache besser zu
verstehen.
Und man kann auch nachweisen, dass je schwieriger die akustische
Umgebung wird, zum Beispiel auf so einer Party, wenn viel Geräusch
drumherum ist, je höher der Geräuschpegel wird, desto geringer werden
zum Beispiel die Augenbewegungen, desto mehr sind die Augen fixiert
auf den Mund des Sprechers, desto weniger wandern die Augen durch die
Gegend.
Das ist ein weiterer impliziter Nachweis dafür, dass wir in
Wirklichkeit auch von den Lippen ablesen.
Und jetzt kommt ein großes Aber.
In der menschlichen Welt ist nicht alles so einfach, wie wir das
denken.
Es gibt sehr, sehr viele unterschiedliche Sprachen und jede Sprache
ist unterschiedlich.
Jetzt frage ich, gibt es hier Mandarinen?
Chinesische Sprecher unter uns.
Japanisch.
Man kann nämlich nachweisen, dass dieser Effekt für Sprecher, für
Chinesen und für Japaner deutlich abgeschwächter ist, als das zum
Beispiel bei Engländern oder englisch Sprechenden, englischen
Muttersprachlern der Fall ist.
Insbesondere viel Forschung ist reingeflossen.
Japanisch versus Englisch.
Und dann kann man wirklich zeigen, dass bei Japanern das deutlich
geringer ausgeprägt ist.
Und da ist natürlich immer die Frage, warum ist das der Fall?
Und da gibt es zwei konkurrierende Ansätze.
Die eine Schule sagt halt, naja, das ist kulturell so bedingt.
In Japan ist es extrem unhöflich, wenn man seinem Gegenüber direkt ins
Gesicht starrt und dem auf den Mund guckt.
Man versucht möglichst eher so woanders hinzugucken.
Dann lernt der Mensch das natürlich auch nicht im Laufe seines Lebens,
wenn er Sprache lernt, das so zu machen.
Die andere Erklärung hängt mit der Silbenstruktur der Sprache
zusammen.
Wenn man sich das anschaut, wenn man so sieht, man sieht ja nicht den
gesamten Vokaltrakt.
Man sieht die Lippen, die Zähne und noch so ein bisschen was von der
Zunge.
Und was weiter hinten passiert, hilft nicht.
Und wenn ich jetzt Silben voneinander unterscheiden will, mithilfe der
visuellen Informationen, die ich habe, dann funktioniert das nur dann,
wenn ich Silben unterscheiden muss, die sich in dem, was vorne bei den
Artikulatoren passiert, überhaupt unterscheiden.
Nur dann kann ich überhaupt unterschiedliche Sprache mithilfe des
Visuellen da erkennen.
Und das ist zum Beispiel dann im Japanischen nicht so schlimm.
Das Japanische hat eine sehr stringente Konsonansilbenstruktur, bei
der mir das Lippenlesen einfach deutlich weniger hilft in schwierigen
Umgebungen.
Das ist sozusagen dann der zweite Erklärungsversuch, warum das nicht
im Japanischen so gut funktioniert, wie das zum Beispiel im Englischen
der Fall ist.
Und dann haben wir natürlich hier eine Gruppe, wir sind alle
wahrscheinlich keine englischen Muttersprachler, plus B, wir kommen
alle von unterschiedlichen Hintergründen.
Deswegen auch dieser Wüstezoo an, was man denn dahinter gehört hat,
weil wir alle andere Sachen gewohnt sind, als das, was jetzt der Herr
McGurke da uns vorgeschauspielert hat.
Gut, zum Schluss, das, was wir uns also vorhaben, wenn man jetzt sich
mal den gesamten Prozess vom Sprachproduktionen bis wieder zur
menschlichen Spracherkennung anschaut, dann hat man hier so ein großes
Diagramm und wir wollen da oben bei der sogenannten Sprachdekodierung,
da wollen wir eine Maschine bauen, die es schafft aus dem Gesagten
wieder Wortfolgen zusammenzusetzen.
Und das ist so ein Modell des menschlichen Dialoges.
Man kann sich das ungefähr so vorstellen, irgendwo oben auf hoher
abstrakter Ebene formulieren wir eine Nachricht.
Wir wollen irgendwas dem anderen mitteilen.
Da kann man sagen, das hat sowas wie eine Datenrate, wenn man das so
Pi mal Daumen anlegen will, von ungefähr gedrucktem Text wären sowas
wie 50 Bit pro Sekunde.
Stimmt natürlich nicht.
Gedruckter Text ist ja schon Sprache.
Der Gedanke, die Formulierung der Nachricht erfolgt ja nicht unbedingt
in Sprache, sondern auch wieder in irgendeiner anderen abstrakteren
Darstellung.
Wenn ich daraus jetzt aber gesprochene Sprache machen will, heißt das,
ich muss mir überlegen, welche Phonemfolge, welche Lautfolge will ich
denn jetzt produzieren, damit dieser Gedanke in der Sprache, die wir
sprechen, als Schallwelle ausgedrückt wird.
Dann komme ich auf sowas, das ist bei 200 Bits pro Sekunde, das kann
ich noch diskret beschreiben, indem ich sage, okay, das ist die
Symbolfolge, die ich jetzt produzieren muss.
Dann geht es als eigentliches Sprechen.
Wir machen jetzt den Schritt vom diskreten zum kontinuierlichen.
Das heißt, ich fange jetzt an, Muskeln zu bewegen.
Ich atme aus, produziere einen Luftstrom, Forme, Mund, Zunge und alle
möglichen anderen Artikulatoren und auf die Art und Weise produziere
ich eine Schallwelle.
Um diese Bewegung des artikulatorischen Apparates zu beschreiben,
bräuchte ich sowas wie 2000 Bit pro Sekunde.
Wenn ich die Schallwelle mir angucke und die in vernünftiger Qualität
messen will, brauche ich sowas wie 3000 Bit pro Sekunde.
Und jetzt sieht man schon, ich habe aus was ursprünglich mal 50 Bit
pro Sekunde hatte, habe ich sowas wie 3000 Bit pro Sekunde gemacht.
Die Informationsgehalt ist das gleiche, ist dasselbe, bedeutet also
mit anderen Worten nichts anderes, als in dieser Schallwelle ist sehr,
sehr, sehr, sehr viel Redundanz enthalten.
Da ist sehr viel enthalten, was mich eigentlich gar nicht
interessiert.
Mich interessiert dieser Text mit den 50 Bits pro Sekunde.
Da ist Redundanz enthalten, da ist Zeug enthalten, das überhaupt
nichts zu tun hat mit dieser ursprünglichen Nachricht.
Aber ich kriege das alles als Daten reingedrückt und muss jetzt aus
diesen 30.000 Bit pro Sekunde wieder meine 50 Bit pro Sekunde
Nachricht extrahieren.
Und wir Menschen machen das halt so, wir haben da irgendwo hier ein
Ohr, das arbeitet noch mechanisch bis zu einer anatomischen Struktur,
die nennt man Basilarmembran.
An der Stelle wird aus der Schallwelle, die in mechanische Energie
umgewandelt wird, elektrisches Signal und dann wandert das irgendwo
hier da oben das Gehirn hoch.
Bis ich irgendwann die Sprache dekodiert habe, welche Wortsequenz das
ist und dann noch weiter darüber, dass ich die Bedeutung, die
Nachricht, die in dieser Sprache, in der Wortfolge kodiert ist,
verstehe.
Wer sich ein bisschen auskennt, weil spätestens jetzt dieses Lineare
von unten nach oben, das stimmt in Wirklichkeit gar nicht.
Wenn ich Sprache verstehe, das ist mehr so ein Pingpong zwischen
Wortfolge und Sprachverstehen.
Es ist nicht so, ich dekodiere erst eine Wortfolge, dann verstehe ich
sie, sondern ich dekodiere Wortfolge, verstehe ein bisschen und das,
was ich verstehe, beeinflusst wieder die Wortfolge, die ich dekodiere
und dann geht das so hin und her.
Das war aber jetzt ein frühes Modell, das man inzwischen deutlich
verfeinern kann, aber nach wie vor gilt, wenn es darum geht, hier, wie
bewege ich meine Artikulatoren, um die Schallwelle zu machen, das
verstehen wir wunderbar.
Wir wissen genau, was da passiert.
Wir wissen genau, wie diese Schallwelle aufgenommen wird.
Wir wissen genau, wie daraus ein elektrisches Signal wird.
Aber alles, was da oben drüber ist, das ist Magie.
Da gibt es zwar Leute, die forschen drauf und da gibt es auch viele
und immer wieder neuere Erkenntnisse, aber wenn man sich anschaut von
dem, was wir wissen, dann stehen wir da erst am Anfang.
Wir haben wirklich nur rudimentäres Verständnis darüber, wie das
menschliche Verstehen überhaupt funktioniert.
Und das wird es uns halt schwierig machen, entsprechend
Spracherkennung zu bauen, plus es bedeutet, dass wir aus ganz, ganz
vielen Gebieten Wissen brauchen, um Spracherkennung zu bauen.
Das ist Biologie, Linguistik, wir brauchen Statistik, wir brauchen
Signalverarbeitung, künstliche Intelligenz, wir brauchen
Informationstheorie, Mustererkennung.
Das ist eine ganz große, lange Latte von Themen, von der man Ahnung
haben muss, aber das macht es natürlich auch so spannend.
Das heißt, wir sind hier bei etwas, wo wir uns aus ganz vielen
verschiedenen Dingen angucken müssen, wie funktioniert das und dann
bauen wir eine Maschine, die das mit diesem Wissen macht.
Das klingt, sieht jetzt ein bisschen überfordernd aus, ist es aber
nicht.
Man muss halt im Laufe der Zeit sich so die Sachen, die man braucht,
zusammenzusuchen.
Und das ist einfach eine ganz interessante, spannende Sache, sich
diese ganzen interessanten Dinge aus diesen allen Bereichen
zusammenzusuchen, um dann in der trockenen Informatik was wirklich
Cooles zu machen, nämlich etwas, von dem man noch gar nicht weiß, wie
wir Menschen das machen, aber wir bringen der Maschine trotzdem mal
bei, wie sie Sprache erkennt.
Und da setzen wir dann nächste Woche an, dass wir uns angucken, okay,
wie produziert der Mensch Sprache?
Was lernen wir davon?
Was lernen wir davon, was das Signal angeht?
Wie müssen wir dann das Signal verarbeiten, damit wir dann optimal
hinterher wieder Sprache erkennen können?
Und ja, das aus allen diesen Gebieten werde ich Ihnen so mein
Leihenwissen, was ich aus den Gebieten habe, versuchen beizubringen
und das weiter zu transportieren.
Und ja, ich hoffe, dass wir da Spaß haben werden.
Große Ankündigung, dass Sie sich nicht wundern, alle, die heute schon
Bastian Krüger gesehen haben.
Wir haben die kleine etwas Komplikation, dass ich die gesamte nächste
Woche nicht auf diesem Kontinent sein werde.
Nichtsdestotrotz werde ich die Vorlesung gerne halten.
Ich werde halt mich hier dann per Skype hinzuschalten.
Der Herr Krüger wird halt hier alles aufbauen, dass ich halt dann hier
virtuell werde die Vorlesung halten können.
Haben wir in der Vergangenheit schon gemacht, hat funktioniert.
Ist mir lieber, als wenn ich mich vertreten lasse oder gar noch
schlimmer Gott behüte ausfallen lasse.
Also Ihnen dann noch einen schönen Abend und bis nächste Woche.