Aus Das deutschsprachige Scratch-Wiki
KI Siri bezeichnet eine Künstliche Intelligenz (KI), die wie Siri, einer Software von Apple, die der Erkennung und Verarbeitung von natürlich gesprochener Sprache dient, agiert.
Erstellen einer KI Siri
Du kannst ganz leicht mit Scratch ein "Siri"-Programm mit Künstlicher Intelligenz erstellen. Ich zeige hier eine einfache, aber praktische Methode mit Listen. Wenn du dich nicht mit Listen auskennst, informiere dich erst.
Aufbau und Funktionen
Das Siri-Programm sollte auf möglichst viele Fragen antworten können. Falls es auf eine Frage nicht antworten kann, fragt es nach einer möglichen Antwort und speichert diese. Zusätzlich sollte das Siri-Programm die Uhrzeit und das Datum anzeigen können.
Fragen und Antworten
Das Siri-Programm soll auf Fragen antworten können. Dafür erstellen wir zwei Listen. Eine Liste heißt "Fragen" und die andere heißt "Antworten". In der Liste "Fragen" stehen mögliche Fragen. Eine Frage ist in einem Element. Im gleichen Element ist in der Liste "Antworten" die Antwort auf die Frage aus dem gleichen Element in der Liste "Fragen":
Beispiel:
- Fragen-Liste Element 1: Wie geht es dir
- Antworten-Liste Element 1: Mir geht es gut.
Umsetzung
Du brauchst als erstes deine "Wilkommens-Frage", z.B. "Guten Tag!"
Also: Wenn Flagge gedrückt, frage: "Guten Tag!".
Nun gibt der Benutzer etwas ein. Die Antwort muss nun überprüft werden. Hierzu brauchen wir eine Variable "Zähler".
Also: Setze Zähler auf 1
Wiederhohle Listengröße von Antworten mal, Falls Antwort = Element Zähler von Fragen, dann frage Element Zähler von Antworten und stoppe diesen Skript, sonst ändere Zähler um eins.
Damit das Programm etwas lernt, müssen wir noch etwas hinzufügen.
Also: Füge Antwort zu Fragen hinzu.
Frage: "Leider kann ich das nicht beantworten, was würdest du antworten?"
Füge Antwort zu Antworten hinzu.
Erkenne ?!. und Zusammenhänge
Damit die "Intelligenz" des Programmes gesteigert wird, können wir eine Liste "Zusammenhang" erstellen. In dieser Liste stehen z.B. folgende Dinge:
. , ! ? und ja, aber , stimmts?
Diese Zeichen oder Wörter werden nach der regulären Überprüfung zusätzlich an die Elemente aus Fragen einmal vorne und einmal hinten angehängt und überprüft.
Beispiel:
ANTWORT: Wie heißt du?
In der Fragen-Liste steht nur "Wie heißt du"
Hänge hinten ein ? an "Wie heißt du" an.
"Wie heißt du?" wird erkannt
Erweiterungen
Theoretisch kannst du auch weitere Listen wie "Zusammenhang" erstellen oder Skripte schreiben, welche die Antworten komplett auseinander nehmen und nach jedem Wort einzeln suchen, falls keine Antwort vorliegt. Oder vielleicht kannst du ja auch ein Skript schreiben, das die Worte verschieden anordnet.
Uhrzeit und Datum
Damit dein Programm auch Uhrzeit und Datum anzeigen kann, musst du einen einen Weiteren Block namens Uhrzeit und Datum erstellen und ihn vor dem Lernprozess einfügen. In ihm muss folgendes stehen:
Falls Antwort = Uhrzeit oder Antwort = Wieviel Uhr ist es oder ...
dann frage: Verbinde Stunden im Moment mit Minuten im Moment
Das gleiche gilt für das Datum.
Beipiel-Projekt
Du kannst dir das Beipielprojekt LAKI anschauen. Es hat alle Funktionen, die hier besprochen wurden.