Quelle für die Inhalte: https://machinelearningforkids.co.uk/
In dieser Unterrichtseinheit erstellst du deinen eigenen Chatbot mit der Programmiersprache Scratch.
Teil 1: Erste Schritte beim Programmieren mit Scratch
Vorbereitung: Chatbots kennenlernen
Bevor du loslegst, solltest du dir erst einmal ein paar Chatbots ansehen, um ein Gefühl dafür zu bekommen, was für eine Art von Chatbot du erstellen möchtest. Diese Chatbots funktionieren ohne Account und Anmeldung:
- Unsere Schulapp Merlin (vorinstalliert auf deinem iPad)
- Cleverbot
- Tina the T-Rex (englisch)
Du kannst auch gerne andere Chatbots verwenden, so wie ChatGPT oder myAI von Snapchat. Stelle den Chatbots deiner Wahl ein paar Fragen.
Schritt 1: Thema auswählen
Als nächstes solltest du dir überlegen, zu welchem Thema du einen Bot erstellen möchtest. Ein allgemeiner Chatbot (wie ChatGPT oder myAI) ist natürlich viel zu kompliziert um ihn selbst zu programmieren. Aber einen Chatbot zu einem Thema (wie unsere Schulapp Merlin oder Tina the T-Rex) ist kein Problem. Du solltest dich zu dem Thema deines Chatbots gut auskennen. Hier sind ein paar Ideen zu möglichen Themen:
- dein Lieblingstier
- eine Sportart oder ein Hobby
- unsere Schule
- ein Beruf
- …
Schritt 2: Eingaben vorbereiten
Für den Anfang solltest du dir drei Eingaben überlegen, auf die dein Chatbot antworten soll. Später fügen wir natürlich noch mehr Optionen hinzu. Für die Schulapp könnten das zum Beispiel diese Eingaben sein:
- Moin!
- Wieso heißt die Schule Neue IGS?
- Tschüss!
Schritt 3: Erste Schritte mit Scratch
Besuche die Seite scratch.mit.edu und klicke auf „Beginne mit dem Erstellen“.
Variable erstellen
Eine Variable hat immer einen Typ und einen Wert. Der Typ kann zum Beispiel Zahl sein und der Wert 42. Wir werden die Variable für die Antworten des Chatbots verwenden. Dafür brauchen wir eine Variable vom Typ Text. Du findest Variablen im orangen Bereich auf der linken Seite. Erstelle eine neue Variable und nenne sie Text.
Als nächstes programmieren wir die Katze so, dass sie uns begrüßt, wenn das Programm startet. Das geht so:
Unsere Programmierung funktioniert jetzt so:
Wenn wir auf die grüne Fahne klicken (gelber Block)
- ändert sich der Wert der Variable Text zu „Hallo!“ (orangener Block).
- fragt die Katze den Wert in der Variable Text und wartet auf eine Eingabe.
Wenn du alles richtig gemacht hast, sieht das dann so aus:
Schritt 4: Erste Eingabe programmieren
In Schritt 2 hast du drei Eingaben vorbereitet, auf die der Chatbot reagieren soll. Diese Reaktion programmieren wir jetzt:
Wenn wir jetzt „Moin“ in die Textzeile eingeben, antwortet uns die Katze mit „Moinmoin!“. Damit haben wir schon den ersten Schritt zum Chatbot geschafft!
Teil 2: Weitere Eingaben programmieren
Prüfe mit diesem Quiz, ob du alles zu Teil 1 verstanden hast:
Schritt 5: Weitere Eingaben programmieren
Du hattest dir in Schritt 2 zwei weitere Eingaben aufgeschrieben, auf die der Chatbot reagieren soll. Schaffst du es selbst diese zu programmieren?
Du kannst dir hier eine Lösung anzeigen lassen:
Lösung anzeigen
Mit diesem Code antwortet die Katze:
- auf „Moin“ mit „Moinmoin!“
- auf „Wieso heißt die Schule Neue IGS?“ mit „Weil dort das Lernen immer wieder neu gedacht wird.“
- auf „Tschüss“ mit „Machs gut!“
Schritt 6: Speichern
Du hast schon viel geschafft! Höchste Zeit deinen Fortschritt zu speichern.
Erstelle dafür einen eigenen Ordner in deinen Dateien an der richtigen Stelle (zum Beispiel: 7 Klasse > 00 Projekt > Chatbot).
Speichere dann die Scratch-Datei in diesem Ordner:
Wenn du da weitermachen möchtest, wo du aufgehört hast, kannst du auf „Von deinem Computer hochladen“ klicken und die Datei hochladen.
Schritt 7: Andere Eingaben testen.
Prüfe, ob dein Chatbot auch schon auf andere Antworten reagieren kann, zum Beispiel auf „Hallo!“ oder „Wie geht es dir?“
Prüfe, ob dein Chatbot auch reagiert, wenn du dich vertippst und zum Beispiel „Moinn“ schreibst.
Teil 3: Künstliche Intelligenz trainieren
Schritt 8: KI-Projekt anlegen
In Schritt 7 hast du festgestellt, dass der Chatbot nur dann reagiert, wenn du genau die Wörter verwendest, die programmiert wurden. Der Chatbot reagiert zum Beispiel auf „Moin“, weil es so im Programmcode steht, aber nicht auf „Moinn“. Das Problem wollen wir jetzt mit künstlicher Intelligenz lösen.
Dafür brauchen wir zuerst ein KI-Modell. Besuche dafür die Seite machinelearningforkids.co.uk. Deine Zugangsdaten bekommst du von deiner Lehrkraft. Wenn du diese Einheit nur für dich selbst erledigst, kannst du dir auch selbst einen Account erstellen. Erstelle dort ein neues Projekt.
Schritt 9: KI-Modell trainieren
Damit die KI Text erkennen kann, müssen wir sie trainieren. Lege dafür im Projekt eine Kategorie „Begrüßung“ an und gib möglichst viele Beispiele für Begrüßungen an (mindestens 5). Weil die Seite nicht auf die deutsche Sprache ausgelegt ist, darfst du bei den Kategorie-Namen kein ä,ö,ü oder ß verwenden.
Wiederhole das Ganze für weitere Kategorien, zum Beispiel „Verabschiedung“ oder „Name Neue IGS“. Im Beispiel sieht das am Ende so aus:
Schritt 10: KI-Modell trainieren und testen
Als nächstes wird das Modell trainiert. Es lernt dann anhand der angegebenen Beispiele, was eine Begrüßung, eine Verabschiedung und eine Frage zum Namen Neue IGS ist. Das Training dauert einen Moment.
Wenn das Training abgeschlossen ist, erscheint eine Eingabezeile, mit der du das Modell testen kannst. Wenn du eine Begrüßung eingibst, sollte als Kategorie „Begruessung“ erkannt werden. Bei einer Verabschiedung „Verabschiedung“ und so weiter. Die Prozentzahl weiter unten gibt an, wie sicher sich die KI ist.
Schritt 11: Scratch und KI verbinden
Jetzt müssen wir noch die Scratch-Programmierung und das KI-Modell zusammenbringen. Starte Scratch von der Seite machinelearningforkids aus:
Hier kannst du deine gespeicherte Scratch-Datei hochladen.
Schritt 12: Programmierung an KI anpassen
Wir müssen noch ein paar Blöcke ändern, damit die KI auch genutzt werden kann:
Alle dunkelblauen Blöcke greifen auf das KI-Modell zurück. Jetzt kann die KI auch komplexere Texteingaben verarbeiten.
Schritt 13: Chatbot personalisieren
Als nächstes solltest du weitere Kategorien bei „Trainieren“ in deinem Projekt hinzufügen. Je nach Thema zum Beispiel „Was frisst dein Lieblingstier?“ oder „Wie viel verdient man bei Beruf X?“. Danach musst du die KI noch einmal trainieren, bevor du wieder bei „Machen“ in Scratch einen weiteren Baustein hinzufügen kannst.
Du kannst auch deinen Chatbot nach deinen Vorlieben gestalten:
Jede Figur kannst du einzeln programmieren. Wenn du eine Figur löschst, sind auch alle Programmierungen mit ihr gelöscht.
Challenges
Versuche folgende Challenges in deinen Chatbot einzubauen:
Challenge 1: Optik und Sounds
- 5 Punkte: Deine Figur soll sich verändern, wenn eine Frage eingegeben wurde.
- 5 Punkte: Dein Hintergrund soll sich verändern, wenn eine Frage eingegeben wurde.
- 5 Punkte: Hintergrund und Figur passen zur Eingabe. Zum Beispiel schläft die Figur und bekommt ein Bett als Hintergrund, wenn du dich verabschiedest.
- 10 Punkte: Deine Figur soll ihre Antworten vorlesen.
Challenge 2: Inhalte
- 5 Punkte: Deine Figur kann 5 verschiedene Antworten geben.
- 15 Punkte: Deine Figur kann 15 verschiedene Antworten geben.
- 50 Punkte: Deine Figur kann 50 verschiedene Antworten geben.
Challenge 3: Antworten verbessern
- 5 Punkte: Vor längeren Antworten soll deine Figur für eine Sekunde nachdenken und zum Beispiel „Hmmm…“ denken.
- 10 Punkte: Deine Figur soll nach 10 Sekunden automatisch fragen: „Wie kann ich dir helfen“?
- 20 Punkte: Deine Figur soll bei Antworten, bei denen sie sich nur zu 80% oder weniger sicher ist antworten: „Das habe ich nicht verstanden“.
- 20 Punkte: Man soll deine Figur fragen können, auf welche Stichworte sie eine antworten kann.
Challenge 4: Bewegung
- 5 Punkte: Wenn die Figur angeklickt wird, soll der Chatmodus ausgeschaltet werden. Wenn man auf die grüne Fahne klickt, wird der Chatmodus wieder aktiviert.
- 5 Punkte: Wenn die Figur nicht im Chatmodus ist, soll man sie mit den Pfeiltasten nach links und rechts bewegen können.
- 10 Punkte: Die Figur soll beim Bewegen animiert sein.
- 10 Punkte: Wenn die Figur nicht im Chatmodus ist, soll sie beim Tastendruck auf die Leertaste springen.
Challenge 5: Deine eigene Idee
Du hast noch weitere Ideen um deinen Chatbot zu verbessern? Gerne! Für alles, was sinnvoll ist, gibt es Punkte!
Bestenliste:
Wenn du in die Bestenliste aufgenommen werden willst, sende eine Mail mit dem Betreff „Bestenliste Chatbot“ mit deiner Scratch-Datei (.sb3) und deinem Accountnamen (zum Beispiel Nam4-1) an felix.dippold@neue-igs.org. Das geht nur, wenn du einen Account von deiner Lehrkraft bekommen hast.
Platz 1:
Platz 2:
Platz 3: