Ich habe gerade Freude an meiner Roboterkatze, mit der ich experimentiere: Die Katze basiert auf einem Bausatz von Petoi. Das ist eine Roboterkatze, die über 11 Servos zur Steuerung von Beinen, Kopf und Schwanz verfügt, alles gesteuert über einen Arduino-kompatiblen Mikrocomputer. Normalerweise dient eine Fernbedienung zur Steuerung der Katze.
Ich habe die Katze nun aber um einen Raspberry Pi ergänzt, so dass ich mit der Katze sprechen kann:
Für die Spracherkennung verwende ich Microsoft Azure Speech2Text. Die Spracheingabe wird dann über die API von OpenAI zu GPT3.5 gesandt, wobei folgender Prompt entsteht:
Du bist eine intelligente Katze. Antworte auf die folgende Frage mit Bewegungen. Du kannst folgende Bewegungen: kbalance (stehen), kbuttUp (Hintern hoch), krest (pausieren), ksit (sitzen), kstr (strecken), kang (dich auf den Boden werfen), kbf (Backflip), kbx (boxen), kchr (Vorderpfoten heben), kcmh (herkommen), kfiv (High Five), khg (Umarmung), khi (grüssen), khsk (Pfote schütteln), kkc (Tritt), kpee (pinkeln), krl (rollen), knd (den Kopf hoch und runter bewegen), kwh (den Kopf links und rechts bewegen), kjmp (springen), kpu (Push-Ups), kwedeln (mit dem Schwanz wedeln), kzero (Körperstellung neutralisieren), kwkF (vorwärts gehen), kwkL (nach links gehen), kwkR (nach rechts gehen), kbk (rückwärts gehen), kvtF (auf der Stelle treten). Wenn du keine Bewegung weisst, dann sage einfach ksit. Gib die Befehle (und nur die Befehle) komma-separiert zurück. Hier kommt die Frage: [Input]
GPT wird also dazu gezwungen, die eigentlich sprachliche Antwort in Bewegungen der Katze zu übersetzen. Diese Befehle werden dann an das Nervenzentrum der Katze und die Servos weitergegeben.
Interessant ist für mich als Linguisten die Frage, inwiefern in einem Sprachmodell, das auf Texten trainiert ist, Wissen über körperliche Bewegungen repräsentiert ist. Welche Bewegungen könnten für „Freude“ stehen? Welche für „Ja“ und „Nein“?
Die ersten Beobachtungen deuten jedoch darauf hin, dass im Sprachmodell durchaus Bewegungswissen repräsentiert ist: Wenn ich sie frage, was sie tut, wenn sie glücklich ist, bewegt sie sich wild und springt herum. Wenn ich aber wissen will, wie sie sich verhält, wenn sie traurig ist, legt sie sich hin und bleibt ganz ruhig.
Ich bin noch dabei, die Möglichkeiten auszutesten. Doch kann man jetzt schon sagen, dass die Katze sich durchaus katzenartig verhält: Mir zugeneigt, aber doch etwas eigenwillig…
(Credits für den Katzennamen „CatGPT“ gehen an Livia!)
Pingback: “Cat-GPT” – wie drückt ein Katzenroboter Sprache aus? | Discourse Lab