Der 1950 von Alan Turing vorgeschlagene Test soll feststellen, ob eine Maschine eine dem Menschen gleichwertige Intelligenz simuliert.
Turing-Test
Dabei stellt ein Mensch per Tastatur und Bildschirm beliebige Fragen an einen anderen Menschen bzw. eine KI, ohne dabei zu wissen, wer jeweils antwortet. Der Fragesteller muss danach entscheiden, ob es sich beim Interviewpartner um eine Maschine oder einen Menschen handelt. Ist die Maschine nicht von dem Menschen zu unterscheiden, so ist laut Turing die Maschine intelligent.
CAPTCHA
CAPTCHA ist ein Akronym[1] und steht für Completely Automated Public Turing test to tell Computers and Humans Apart.
Mit Hilfe dieser meist Bild-basierten Erkennungs-Aufgaben, versucht man im Internet Bereiche von Spam-Bots zu schützen. Das Erkennen der Buchstaben im Bild soll nur einem richtigen Menschen, nicht aber einer Software möglich sein.
Allerdings werden einerseits die Programme immer besser und können teilweise solche CAPTCHAs automatisch korrekt erkennen, andererseits werden solche CAPTCHAs teilweise auf andere Webseiten umgeleitet und dann von ahnungslosen Usern gelöst.
ELIZA
Ende der 1960er Jahre erfand Joseph Weizenbaum mit einer relativ simplen Strategie das Programm ELIZA. Dieses stellt dem Anwender einen computersimulierten Psychiater als Gesprächspartner zur Verfügung. Das Programm hatte eine erstaunliche Wirkung – selbst Weizenbaum war überrascht, dass man auf relativ einfache Weise, Menschen die Illusion eines beseelten Partners vermitteln kann.
Aufgabe: ELIZA
Die folgenden beiden Links führen zu Implementationen von ELIZA:
- http://www.med-ai.com/models/eliza.html (englische Version)
- http://www.med-ai.com/models/eliza.html.de (deutsche Version)
- http://www.cleverbot.com (moderne, erweiterte Version von ELIZA, mehrsprachig)
Beantworte die folgenden Fragen:
- Welche Strategie verwendet ELIZA, um menschliches Gesprächsverhalten zu imitieren? Schreibe 2-3 Techniken auf.
- Durch welche Aussagen kann man ELIZA besonders schnell entlarven? Halte eine solche konkrete Aussage schriftlich fest.
Zusatzaufgabe: Eliza mit Python
Unter dem folgenden Link findet man eine Python-Implementation von Eliza mit Anmerkungen.
👉 http://dhconnelly.com/paip-python/docs/paip/eliza.html
In diesem Python-Skript steckt nur die Logik welche mittels Mustererkennung versucht Sätze «zu verstehen». Damit eine sinnvolle Antwort zustande kommt, werden Regeln benötigt, die besagen welche Sätze wie beantwortet werden sollen. Dazu kommt etwas Zufall, damit man nicht immer die selbe Antwort erhält.
Eine auf Python-3-portierte Version davon ist in unserem Kurs-Team abgelegt. Ebenso die zwei Python-Skripte, welche diese Implementation von Eliza verwenden und Regeln dafür liefern: support.py
und psychotherapy.py
.
- schau dir die beiden Programme an, starte und teste sie
- schreibe ein eigenes Programm mit deinen eigenen Regeln
Akronyme sind Abkürzungen, die aus den Anfangsbuchstaben der abgekürzten Wörter gebildet werden. ↩︎