Tip:
Highlight text to annotate it
X
Folgen Sie uns mit InsideScience und werfen Sie den Forschern einen Blick über die Schulter.
In diesem Beitrag: „Wie Roboter mit Menschen sprechen."
Rainer Saam und Florian Kraft forschen am Karlsruher Institut für Technologie daran,
wie Roboter und Menschen sich durch Sprache verständigen können.
Hallo,
wir beschäftigen uns hier mit Mensch-Roboter-Interaktion.
Wozu? Wenn ich so einen Roboter habe,
dann soll der was tun für mich.
Nicht einfach nur rumstehen,
der soll irgendwas machen.
Vielleicht sogar mich unterhalten,
aber irgendetwas muss er machen und wie bringe ich es ihm bei?
Ich muss es ihm sagen,
oder ich muss es ihm zeigen.
Und wir schauen uns jetzt mal an,
was alles passiert,
wenn ein Mensch versucht einem Roboter etwas zu sagen.
Erstmal muss man es hören,
dann das Gehörte irgendwie verstehen,
sich einen Reim darauf machen.
Wenn ich jetzt weiß,
was der Benutzer von mir wollte,
dann muss ich auch darauf reagieren.
Vielleicht mache ich es gleich,
oder vielleicht bin ich mir unsicher,
mir fehlt eine Information oder so,
dann muss ich auch was sagen.
Und wenn ich mich entschieden habe,
dass ich was sage,
dann muss ich dafür eine Formulierung finden,
wie ich es sagen will.
Und am Ende kann ich das,
was ich mir ausgedacht habe, auch noch aussprechen,
damit es der Benutzer hört.
In diesem Ding
gehen die Informationen immer in diese Richtung:
Da kommen sie rein,
da werden sie verarbeitet und da gehen sie wieder raus.
Das kann er hören.
Und jetzt schauen wir uns diese einzelnen *** mal im Detail an,
was da wirklich passiert in diesen einzelnen Etappen.
Jetzt haben wir hier was vorbereitet.
Der Roboter kann auch nichts einfach so,
sondern weil er entsprechende Hilfsmittel hat
für die Spracherkennung ein Wörterbuch,
für das Verstehen eine Grammatik,
für das Reagieren eine Handlungsvorschrift und für die Ausgabe,
was er sagen soll,
gibt es hier die Formulierungen, das Aussprechen mal hier bei uns nur in einem Schritt,
hier so Aussagen, die vorbereitet sind.
Das hier im Wörterbuch ist alles Chinesisch,
denn der Roboter versteht nichts und es ist in der Tat so,
wie wenn ich als Mensch mit Chinesisch angesprochen werde,
stehe ich erst mal da und habe keine Ahnung.
Ich brauche auch erst Hilfsmittel,
um mir daraus einen Reim zu machen.
Jetzt kommt die Eingabe: Fülle Wasser in die Tasse!
Ich muss erst mal nachgucken,
was das für Wörter sind.
Also „nach",
„Tasse",
„hinein",
„fülle",
„Wasser".
Jetzt habe ich eine Reihe von Wörtern,
die erst mal auch noch nicht viel bedeuten für mich,
denn sie haben keinen Zusammenhang.
Jetzt muss ich in meiner Grammatik nachgucken,
wie die zusammengehören.
Und jetzt vergleiche ich einfach mal mit dem,
was ich hier so sehe.
„Nach",
„Tasse"
Passt! „Hinein"
Passt! Wunderbar! „Fülle"
Nein,
passt nicht.
Diese Regel können wir wegwerfen,
wir brauchen eine andere.
Wir probieren es noch einmal:
„Nach, Tasse, hinein, fülle" Schon besser! „Wasser"
Hurra,
wir können denn ganzen Satz interpretieren.
Und die Interpretation für den Roboter ist:
Eine Handlung soll ausgeführt werden,
das ist „füllen".
Ein Ziel gibt es,
das ist die Tasse.
Ein Gegenstand an dem es ausgeführt wird,
das ist das Wasser.
Wasser in eine Tasse füllen.
Jetzt muss ich mal meine Handlungsvorschrift angucken.
„Kochen" passt nicht,
falsche Handlung.
„Holen" passt auch nicht,
falsche Handlung.
„Füllen" passt.
So,
also hier steht Zielgegenstand,
das kann ich übertragen: Tasse.
Wunderbar! Gegenstand kann ich übertragen: Wasser.
Und jetzt suche ich die Information Temperatur,
damit ich es ausführen kann.
Wir sehen,
die habe ich gar nicht,
also muss ich die Aktion drei machen.
Und die Aktion drei ist hier einfach mein Kärtchen.
Als Roboter weiß ich wieder nicht,
was sie bedeutet,
aber sie heißt natürlich heiß oder kalt,
damit ich weiß,
was für eine Art von Wasser ich einfüllen soll.
Mein Benutzer gibt mir jetzt die Antwort.
Kann alles sein,
grün,
Kekse,
sonst irgendwas.
Ich muss es wieder nachprüfen.
Wir schauen in der Liste nach und wir sehen es ist „heiß".
So,
das brauchen wir wieder in der Grammatik,
damit es eine Bedeutung für mich hat.
„Heiß" - Ich bekomme also eine Temperatur.
Temperatur ist das was ich gesucht habe.
Das darf ich hier einfüllen.
So,
jetzt ist mein Formular komplett.
Glück gehabt! Alle Informationen sind da,
jetzt darf ich abschließend eine Antwort geben,
nämlich die Antwort vier,
die hat hier so Leerstellen,
weil die für alles Mögliche taugt,
für Stifte und sonst irgendwas.
Und jetzt kann ich das einfüllen,
was der Benutzer tatsächlich gesagt hat,
nämlich die Temperatur und zwar heiß.
Der Gegenstand war das Wasser und das Ziel war die Tasse
und jetzt habe ich meine Ausgabe ausformuliert, die gebe ich jetzt dem Benutzer:
Ich fülle heißes Wasser in die Tasse.
Aber leider ist das gar nicht mal so einfach.
Ein Problem ist,
dass so eine Eingabe nicht immer so schön ist wie hier,
sondern es spricht jemand im Hintergrund,
oder es gibt Geräusche,
oder wir sind einfach zu weit weg von dem Roboter,
sodass es der Roboter nicht gut hören kann.
Dann klingt es für den so,
dass man es gar nicht mehr so klar mitkriegt.
Und jetzt ist die Frage,
wie kriege ich da die Informationen wieder raus?
Damit beschäftigt sich mein Kollege Florian Kraft.
Ja,
ihr habt es gerade gehört.
Der Roboter empfängt Geräusche aus der ganzen Umgebung,
aus dem ganzen Raum und er ist daran interessiert,
oder wir sind daran interessiert,
dass er die Stimme des Menschen herausziehen kann.
Wie können wir filtern,
was die Sprache des Menschen ist?
Wir haben hier das Mikrophon in dem künstlichen Ohr versenkt,
das nimmt eben die Schallwellen von überall wahr.
Und wir wollen jetzt wissen,
wie können wir das filtern?
Und das zeige ich euch jetzt hier an einem Beispiel.
In Analogie zu den Schallwellen,
die von der Stimme
oder von Geräuschen erzeugt werden,
kann man auch sagen,
wir haben ein Licht,
eine elektromagnetische Welle,
die durch ein Prisma aufgefächert wird in seine einzelnen Farben,
in die einzelnen Frequenzen.
Und diese Zerlegung ermöglicht einem dann in den einzelnen Frequenzen einen Filter anzusetzen.
Das heißt, wenn ich jetzt nur eine Grünfarbe möchte,
halte ich den Rest zu und dann bekomme ich nur grün.
So kann man filtern.
Und diese Auffächerung in die Frequenzen,
das macht das menschliche Ohr auch und zwar das Innenohr,
die sogenannte Hörschnecke,
oder Cochlea.
Der Sprecher emittiert Schall und dieser Schall trifft dann auf das ovale Fenster auf.
Und im ovalen Fenster entstehen dann Wellen,
Wanderwellen,
die entlang der Schnecke wandern,
je nachdem welche Frequenz sie haben,
wandern sie weiter.
Und somit werden an unterschiedlichen Punkten der Schnecke unterschiedliche Frequenzen wahrgenommen,
das heißt, die Frequenzen werden hier auch aufgefächert.
Also,
wenn ich jetzt hier den Frequenzfächer anlege,
dann werden die hohen Frequenzen am Anfang des ovalen Fensters und die niedrigen Frequenzen dann innendrin am Apex,
am Ende der Gehörschnecke.
Hier sind dann die Haarzellen in der Membran,
die aktivieren,
sobald eine bestimmte Frequenz vorhanden ist,
senden die Impulse an das Gehirn.
So,
also hier habe ich dann entsprechend den verschiedenen Farben
die unterschiedlichen Frequenzen und die kann ich jetzt auch filtern und wie das im Computerprogramm funktioniert,
das können wir uns hier anschauen.
Ich habe hier ein Tool,
das kann das Spektogramm,
also diese Frequenzinformationen über der Zeit aufnehmen und wenn ich jetzt spreche,
entstehen diese einzelnen Frequenzdarstellungen.
Hier sind die Frequenzen aufgetragen.
Das ist unser Frequenzfächer,
hier sind die niedrigen Frequenzen ganz unten und die hohen Frequenzen sind oben.
Das Verfahren,
was hier eingesetzt wird,
das bisherige Verfahren ist die sogenannte Fourier-Zerlegung.
Wie man sehen kann, entsteht hier eine Kammstruktur,
die bei stimmhaften Sprachbereichen vorhanden ist.
Diese Kammstruktur,
die wollen wir herausfiltern.
Ich halte es kurz mal an:
Aaaah! ...und jetzt kann man sehen,
hier ist diese Kammstruktur.
Das ist die Stimmhöhe, mit der ich spreche.
Das heißt,
wenn die Stimme nach oben geht:
Aaaah! Dann geht dieser Verlauf auch nach oben und die Obertöne von der Stimme sind die Vielfachen dieser Frequenz.
Das heißt, wenn ich hier eine Frequenz von 140 Hertz habe,
dann wäre die zweite 280 Hertz und so weiter.
Diesen Kamm
können wir jetzt extrahieren,
der entspricht der stimmhaften Sprache.
Und dieses Extrahieren von diesem Kamm ermöglicht uns dann das Ignorieren von allen anderen Frequenzen,
die durch andere Geräusche erzeugt werden im Raum,
an denen wir nicht interessiert sind.
Das übliche Verfahren, um diese Frequenzzerlegung zu machen in dieser Kammstruktur, ist die sogenannte Fourier-Transformation.
Hier sehen wir jetzt an dieser Kammstruktur auch,
dass die Breite von einer einzelnen verfolgten Frequenz relativ breit ist durch das Zerlegungsverfahren.
Dadurch ist es nicht so genau möglich,
die Stimme vom Hintergrund zu trennen.
Dafür haben wir ein neues Verfahren entwickelt,
die sogenannten Phasenregelkreise,
die dieses Verfolgen von diesen einzelnen Kammstrukturen exakter ermöglichen.
Also die Breite,
die wir hier erzeugen ist viel geringer,
dadurch können wir es viel sauberer vom Hintergrund trennen.
Man sieht hier in dieser zweiten Visualisierung,
dass die einzelnen Frequenzen,
die wir hier verfolgen mit diesem neuen Verfahren,
eben viel exakter extrahiert werden können.
Wenn ich jetzt einen Filter einschalte,
der diese Kammstruktur ausnutzt,
dann sieht man,
dass hier nur noch die stimmhaften Sprachbereiche übrig bleiben
und damit kann der Roboter dann viel besser die Sprache von dem Rest trennen
und die Stimme verstehen und sich viel besser mit uns verständigen.
Ein Problem, dass wir und auch andere Forschergruppen international noch angehen,
ist die Enthallung.
Wir wollen uns mit dem Roboter auch aus einer größeren Entfernung unterhalten können und wenn wir weiter wegstehen,
dann gibt es auch Reflexionen von unserer Sprache über die Wände,
über die Decken.
Und somit entstehen Verzögerungen von dem was man sagt und nochmal zusätzlich im Mikrophon.
Und wenn ich jetzt die Worte sage „am Haus" ist zum Beispiel das „m" von „am"
verzögert nochmal zusätzlich vorhanden durch das Echo zu dem Moment,
wenn das „h" von „Haus" vorhanden ist.
Also würde der Roboter verstehen „Maus"
und würde somit „Haus" und „Maus" verwechseln.
Also,
wenn wir möchten,
dass wir auch über große Distanzen mit ihm sprechen können,
dann ist dieses Problem essentiell wichtig und das wollen wir in den nächsten Jahren auch noch bearbeiten.
Die KIT-Serie InsideScience blickt den Wissenschaftlern des Sonderforschungsbereichs über die Schulter.
Sehen Sie in weiteren Beiträgen,
wie ein Roboter konstruiert wird,
wie er lernt,
wie er mit Menschen interagiert und welche gesellschaftlichen Aspekte diskutiert werden.