Der 1950 von Alan Turing vorgeschlagene Test soll feststellen, ob eine Maschine eine dem Menschen gleichwertige Intelligenz simuliert.

Alan Turing, unbekannt

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.

Turing Test, Juan Alberto Sánchez Margallo, CC BY 2.5, via Wikimedia Commons

CAPTCHA

CAPTCHA ist ein Akronym[1] und steht für Completely Automated Public Turing test to tell Computers and Humans Apart.

Beispiel eines CAPTCHA

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:

Beantworte die folgenden Fragen:

  1. Welche Strategie verwendet ELIZA, um menschliches Gesprächsverhalten zu imitieren? Schreibe 2-3 Techniken auf.
  2. 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

  1. Akronyme sind Abkürzungen, die aus den Anfangsbuchstaben der abgekürzten Wörter gebildet werden. ↩︎