PHP und künstliche Intelligenz

Die Skriptprogrammiersprache PHP, verfügbar in den meisten goneo Webhosting-Paketen, eignet sich auch dazu, intelligente oder pseudointelligente Dialogsysteme zu erstellen. Das können Sie auch selbst in Ihrem Paket ausprobieren und einen eigenen Bot trainieren – und auch in Ihre Webseite einbinden, wenn Sie wollen.

Künstliche Intelligenz (artificial intelligence, kurz AI) ist ein häufig verwendeter, aber unscharfer Begriff. Das kann daran liegen, dass der eigentliche Intelligenzbegriff auch nicht besonders klar definierbar ist. Wenn man darunter eine Sammlung kognitiver und sozialer Fähigkeiten versteht plus der Fähigkeit autonom Schlüsse zu ziehen und eigene Handlungsmotivation hervorzubringen, Vorhaben daraus zu formulieren und diese zielgerichtet auszuführen, dann kommt man vielleicht in die Nähe dessen, was menschliche Intelligenz kennzeichnet. Was ist dann künstliche Intelligenz? Können Computer so etwas wie intelligentes Verhalten an den Tag legen?

Künstliche Intelligenz

Wer die Filme „Her“ oder auch „Ex machina“ gesehen hat, wirft einen Blick in eine möglicherweise nicht so ferne Zukunft. Mit Maschinen in natürlicher Sprache kommunizieren zu können, ist heute kein Problem mehr. Jeder IOS-User kennt Siri, weiß aber auch, wie schnell schon die Sprachsteuerung an Grenzen stößt. Bei „OK Google“ zur Eingabe sprachlicher Suchanfragen ist das nicht anders.

Gamer kennen KIs aus vielen Spielen, wenn die Steuerung der Gegener vom Computer übernommen wird. Auch da ist es mit der künstlichen Intelligenz nicht besonders weit her, wenn die Situationen sich wiederholen. Im Prinzip haben wir es mit der Simulation von Intelligenz zu tun.

Offensichtlich ist die Nachfrage aber groß. Für Onlinekommunikationsdienste wie Chats sind KI-Systeme wie Chatbots eine willkommene Anwendung. Und das Erstaunliche: Chat-User unterhalten sich zum Teil gerne mit Bots. Ich habe schon User erlebt, die 30 Minuten mit einem Bot gechattet haben und sich eigentlich sicher sein mussten, es wirklich nur mit einem Bot zu tun zu haben. Die Bereitschaft, die (falsche) Identität für bare Münze zu nehmen und der Maschine menschliche Züge zuzuschreiben, ist überraschend hoch.  Der Film „Her“ spielt ja mit dieser Idee.

Bots sind von menschlichen Nutzern im Kommunikationsverhalten oft kaum zu unterscheiden

Wie effizient Bots tatsächlich sind, zeigt sich anhand des Erpressungsversuchs um geleakte Userdaten des Fremdgehportals Ashley Madison. Es stellte sich heraus, dass es so gut wie keine weiblichen Nutzer gab. Den männlichen Nutzern wurde per Bot Kommunikation mit Frauen nur vorgetäuscht. Klarer Betrug, der offenichtlich funktioniert hat.

Aufgrund der hohen Verfügbarkeit ist PHP so um 2010 oft auch Codier-Basis für einige KI Projekte geworden. So gibt es zum Beispiel eine PHP-Klasse für neuronale Netze und einige Fuzzy Logic Anwendungen etwa zur Spamerkennung oder Textklassifizierung. Eine wichtige Anwendung waren Chatbot-Anwendungen wie Programme wie der Alicebot der Artificial Intelligence Foundation, auf dem auch der Captain Kirk Fake Bot basiert.

Bots auf Basis von PHP – zum Beispiel Program O

Die Anwendung Alcebot und ein XML-Dialekt, AIML, unterliegen einer offenen Lizenz. Mit AIML wird den Bots „das Leben“ eingehaucht. Es gibt eine Reihe von Editoren, mit denen man Ein- und Ausgaberegeln für einen Bot formen kann. Es gibt eine deutsche AIML Datei von Christian Droßmann, die ausreicht, um einen eigenen Chatbot online zu bringen.

Als Rahmensystem setzen wir probehalber Program O von Elizabeth Perreau auf. Wir nutzen dazu einen goneo Managed Server. Program O ist Open Source Software, in PHP geschrieben und benötigt zum Betrieb nur eine MySQL Datenbank.

Die Installation ist denkbar einfach: Man entzippt die heruntergeladenen Installationsdateien, lädt alles auf den Webspace hoch und startet das Setup mit dem Aufruf der URL.

bot_1_install Screenshot Program OZunächst muss man die Software etwas konfigurieren und einige Angaben machen, zum Beispiel den Namen und das Passwort der Datenbank eingeben.

bot_2_config Augabeformate Screenhot Program O Als Ausgabeformat kann man HTML, aber auch JSON oder XML definieren. Das ermöglicht eine tiefere Integration in eine Webseite. Für WordPress gibt es ein Plugin. Aber mit entsprechender Unterstützung wäre auch eine Sprachausgabe denkbar.

Wenn diese Schritte ausgeführt sind, kann man die Adminoberfläche aufrufen.

bot_3_login Userinterface screenshot Program O Nun kann man seinen Bot charakterisieren, ihm eine „Persönlichkeit“ geben. Program O hat auch die Möglichkeit, selbst Reaktionsmuster eingeben zu können. Auf diese Weise kann man seine einzigartige Ein-Ausgabe-Einheit herstellen.

bot_5_teach Teaching mask Screenshot Program oZu Beginn ist der Bot komplett leer. Der Bot braucht Wissen. Dieses kann man ihm mittels einer fertigen AIML Datei „eintrichtern“. AIML steht übrigens für Artificial Intelligence Markup Language und ist so etwas wie ein Standard. Das heißt: Man findet im Internet viele (meist englischsprachige) Dateien für die verschiedensten Anwendungsfälle.

Bots werden oft zur Belustigung eingesetzt, im Supportbereich oder als Expertensystem. In Program O kann eine beliebige AIML Datei hochgeladen werden.

bot_6_aiml Screenshot Upload AIML Datei Program OProgram O bringt zudem eine sehr generische Ein-Ausgabeseite mit. Hier haben wir den Bot installiert ( http://bot.goneo-managed-server.de/gui/plain/ ) und ihn mit der berühmten AIML Datei von Christian Droßmann gefüttert. Viel Spaß beim Spielen damit.

Die einzelnen Dialoge lassen sich einsehen und als Logdatei herunterladen. Auch die AIML Datei, die sich durch Eingaben ja erweitern lässt, kann man exportieren.

Wer sich nun ein bisschen damit beschäftigt, erkennt, dass es keine Ausgabe gibt, die vom Ersteller nicht vorgesehen war. Der Bot gehorcht einfachen Wenn-Dann-Regeln.  Das ist in manchen Kontexten sinnvoll. Die Erweiterung des Wissens müsste durch den Betreiber geschehen. Wenn der Bot einer Nutzung ausgesetzt wird, hätte er die Chance, selbst (im Sinne von unüberwacht) dazuzulernen und neue Verknüpfungen zu erstellen, was nochmal eine große Herausforderung darstellt. Program O tut dies nicht.

Turing Test

Aber kann ein Set aus Wenn-Dann-Regeln, auch wenn das System dazu lernen kann, als intelligent im menschlichen Sinne bezeichnet werden? Um herauszufinden, ob ein System intelligentes Verhalten zeigt, kann man den Turing Test einsetzen. Der Turing Test, der zeigen soll, ob eine Maschine ein dem Menschen gleichwertiges Denkvermögen hat, geht zurück auf den englischen Mathematiker Alan Turing, der während des Zweiten Weltkrieges entscheidend dazu beitrug, die Enigma-Verschlüsselung der Deutschen mit Hilfe einer eigens dafür gebauten Rechenmaschine zu knacken. Von ihm ist auch die theoretische Turing-Maschine.

Bisher hat jedoch noch keine Maschine den Turing-Test bestanden und konnte kein entsprechendes Verhalten zeigen, auf dessen Basis nicht entschieden werden könnte, ob man mit einem Menschen oder einer Maschine kommuniziert. Zudem stellt sich die Frage, ob das Vorhandensein von Bewußtsein und Intentionalität – typisch menschliche Eigenschaften – mit dem Turing-Test geprüft werden könne.

In der originär vorgeschlagenen Testvariante sollen Menschen sowohl mit Menschen und parallel dazu mit einer Maschine über Bildschirm und Tastatur kommunizieren, wobei sowohl der menschliche Gesprächspartner als auch der maschinelle Gesprächspartner den Probanden davon überzeugen sollten, es mit einer denkenden Maschine zu tun zu haben.

Turing war davon ausgegangen, dass es bis zum Jahr 2000 Maschinen gäbe, die 30 Prozent der Probanden nach fünf Minuten Dialog davon fälschlicherweise überzeugen könnten, ein Mensch zu sein. Aktuell erreichen Maschinen in Experimenten etwa 25 Prozent. Cleverbot kam in einer abgewandelten Version in einem Experiment dem Bestehen recht nahe.  59 Prozent hielten Cleverbot für einen Menschen, durften aber die Maschine nicht selbst befragen.

Dieser Beitrag wurde unter PHP, Technologien bei goneo, Webbasierte Open Source Software abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.