Zurück zu Maschinelles Lernen – Einstieg

Chatbot mit Scratch

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:

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:

Geschützt: Lösungen zu den Challenges

Es gibt keinen Textauszug, da dies ein geschützter Beitrag ist.