Alice4Skype ist da!

(for an english version, see below)

Endlich mal wieder was neues von Alice :-)

Heute allerdings kein Best-of meines Chatbots sondern ein technischer Durchbruch:

Alice chattet jetzt nicht mehr nur unter Linux und mit Pidgin, sondern erstmals auch mit Skype und unter Windows.

Wer also selbst seine Alice in Action erleben will, kann sich die aktuelle Version hier herunterladen:

In dieser ersten Version besteht natürlich noch reichlich Verbesserungspotenzial. Zum einen gibt es keine richtige Oberfläche, sehr fehlertolerant ist die Sache auch nicht und schlussendlich liefert Microsoft leider keinen Python-Interpreter bei seinen Betriebssystemen mit, was dessen zusätzliche Installation nötig macht (ist in der Windows-Version von Alice enthalten, Linux-Benutzer brauchen nur das Python-Skript).

Nichtsdestotrotz kann man damit sicherlich einigermaßen Spaß haben. Sobald Alice4Skype läuft, übernimmt es die Gesprächsführung bei allen Skype-Chats. Zukünftig wäre z.B. noch eine Beschränkung auf bestimmte Benutzer denkbar, wie sie Alice für Pidgin schon hat.

Und dann wäre da auch endlich mal ein fettes Respect fällig für Christian Drossmann, der Alice deutsch beigebracht hat und auf dessen Arbeit das ganze daher basiert. Thx!

Bekannte Fehler:

- Der Installationspfad von Python sollte nicht geändert werden, sondern auf c:\Python25 belassen werden oder die Startmenü-Einträge müssen manuell angepasst werden (Windows)

(click below for the english version)
Today, I released the first public alpha version of Alice4Skype, based on Dr. Richard Wallace’ work on AIML and the Skype API. The bot answers to all chats it receives from other Skype users basically by building new questions out of the chat partners answers.
Here’s how it works: The Alice4Skype Python script connects to Skype via the official Skype API and receives all chat messages. It then contacts my web server where Program E – an AIML interpreter written in PHP – is computing the answer which Alice4Skype sends back to Skype.
As I am using the Skype4Py API wrapper, the Python script should run on Windows and Linux/Mac as well. Here’s the script:

Download the Python script only

Linux users should already have Python installed, get it here otherwise or use your package manager. You also have to install Skype4Py.

Windows users may have to install Python and Skype4Py first, which is already bundled with the Windows installer of Alice4Skype: Download Alice4Skype for Windows. (do not change the default Python install folder!)

Alice4Skype emerged from PidginAlice which were my first steps using Python. Of course running on Linux, only, but able to chat with any Pidgin buddy on any network.

Note that the default bot is currently talking german based on the work of Christian Drossmann (in german). Leave a comment if you would like to see an english version. On the other hand,you are free to use your own Program E instance with any language.

There is also a version available which connects with Pidgin – my favorite instant messenger on Linux: Alice4Pidgin.

12. Februar 2008, 18:45 Uhr
Allgemein

Eigenen Senf hinzugeben oder einen TrackBack setzen

Bisher 14 Tuben Senf zum Artikel

  1. Tube Senf von basdi

    also wie du ja im log sehen kannst hab ich mir alice mal angeschaut und fand es recht interessant… ich würde gerne wissen wie diese “talkalice.php” aussieht – denn wenn ich als quelle in ihrer pidginalice.py die alice auf meinem webserver ansteuere dann spuck diese mir leider nicht die antwort sondern die “talk.php” aus…

    grüße
    basdi

  2. Tube Senf von Kevin

    basdi, stimmt, hab ich vergessen zu erwähnen. Das ist im Prinzip die original talkalice.php von Program E http://www.rydell.com/programe/, die ich nur etwas vereinfacht hab, damit nur die Antwort ausgegeben wird, kein Formular drumrum etc. Hier der Code:

    include "respond.php";
    session_start();
    //erst noch die UID des Chat-Partners festlegen,
    //damit Alice sich dran erinnern kann,
    //das ist z.B. die ICQ-Nummer
    if(isset($_GET['uid']) && $_GET['uid']!="")
    {
    $uid = md5($_GET['uid']);
    session_id($uid); //wir benutzen die übergebene ID
    $myuniqueid=$uid;
    } else {
    $myuniqueid=session_id(); //sonst die session id
    }


    //Die eigentliche Antwort:
    $botresponse = replybotname($_GET['input'],$myuniqueid,$_GET['botname']);


    //und raus damit, charset evtl. auf Deine Datenbank anpassen!
    header( "Content-Type: text/html;charset=utf8" );
    echo(utf8_encode($botresponse->response));

  3. Tube Senf von tuttlepc

    An english version would be great! Send me an email if you get one going! Thanks a lot!

  4. Tube Senf von Leo

    Gibt’s auch ne Möglichkeit dass dieses nPytonscript auch antwortet, wenn die Skypemessage nicht (von Hand) geöffnet wird? Ansonsten muss ich euch mein Lob aussprechen! Einfach TOP! =)

  5. Tube Senf von Kevin

    Leo, das sollte eigentlich funktionieren, hab allerdings grad kein Windows verfügbar um das zu testen ;-) Werd am Wochenende mal schauen…

  6. Tube Senf von Joseph

    Ehm Hallo,

    Ich fände es schön wenn alice4skype (windows/linux)
    lernen könnte also sätze die es nicht versteht aufnemen und dan wieder spiegeln könnte das sowas möglich ich weiß ja da gabs auch mal so ein bot für icq der geht nur leider nicht mehr….^^ THX joseph

  7. Tube Senf von c0de

    Wäre genau das was ich gesucht habe, aber irgentwie Startet er und wenn ich was schreib steht in der Shell “Sending Message” und das wars… nirgents eine antwort.

    Vieleicht hats damit zu tun das er nichtmal meinen usernamen erkennt, falls er das sollte?!

  8. Tube Senf von lemmie

    Hi Kevin,
    zunächst einmal Danke für dieses tolle Prog!

    Hätte da aber zwei Fragen:
    Wo muss ich denn da genau rein um die Datensätze, also die vorgegebenen Antworten von ALICE, umzuschreiben?
    Wird das Gespräch mitgeloggt? Wenn ja wo kann ich dieses Datei finden?

    mfg
    lemmie

  9. Tube Senf von Kevin

    Lemmie, die Frage-Antwort-Logik wird durch eine XML-Datei beschrieben, die bei Alice4Skype allerdings auf meinem Server liegt – denn dort wird die gesamte “Arbeit” gemacht. Wenn Du daran Änderungen machen willst, musst Du Dir einen eigenen Webserver nebst AIML-Interpreter aufsetzen und im Alice4Skype-Skript die URL anpassen. Mehr Info’s z.B. auf http://www.alicebot.org

  10. Tube Senf von lemmie

    Danke für die rasche Antwort :)

    mfg lemmie

  11. Tube Senf von Seta

    Wollt mich nur bedanken, dein Code erspart mir verstehen zu müssen was Skype mit seiner Api eigentlich bezwecken will xD

  12. Pingback von code.web.interaction:Business » Blog Archive » A.L.I.C.E in Joomla und über Skype

    [...] A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) ist ein ChatBot für natürliche Sprachen. Zu Alice gibts sowohl Sprachsynthese als auch diverse Plugins zu Instant-Messenger etc, z.B. Alice4Skype. [...]

  13. Pingback von Tecnostore Group – Corporate Blog » Blog Archive » A.L.I.C.E in Joomla und über Skype

    [...] A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) ist ein ChatBot für natürliche Sprachen. Zu Alice gibts sowohl Sprachsynthese als auch diverse Plugins zu Instant-Messenger etc, z.B. Alice4Skype. [...]

  14. Pingback von ALICE jetzt auch für Skype | GermanAlice

    [...] blog.kevinkempfer.de [...]

Eigenen Senf hinzugeben



Kommentare zu diesem Artikel über RSS 2.0-Feed verfolgen