Chatten mit Aglets Seminar Softwareagenten Vortragende Cengiz Balkan
Chatten mit Aglets Seminar Softwareagenten Vortragende: Cengiz Balkan & Olaf Ziemann 21. 11. 2001
Inhaltsübersicht • • Einleitung: Was ist Chatten? Was ist ein Aglet? IBM Aglets Software Development Kit Einsatz von Aglets beim Chatten Beispiel: Einfaches Chat-Aglet Exkurs: Chatbots Zukunftsvisionen
Was ist Chatten? to chat (englisch): quatschen, tratschen, sich unterhalten - Austausch von Textnachrichten zwischen Anwendern - Chatraum: verteiltes Netz von Rechnern - Chatpartner ist in der Regel ein Mensch - Einsatzgebiet: Zeitvertreib, Beratung, . . .
Was ist ein Aglet? - Java Objekte in einem Netzwerk bewegen sich von Host zu Host Ortswechsel während der Ausführung Programmfortsetzung auf entfernten Rechner - Programmcode und alle seine Zustände und Objekte werden mitgenommen
IBM Aglets Software Development Kit • Baukasten zur Agletentwicklung • Stellt wichtigste Methoden /Klassen zur Verfügung • Beispielaglets, die leicht an individuelle Vorstellungen angepasst werden können
Struktur Aglets Java: Libraries + Compiler Aglet-SDK: Libraries Tahiti: Environment Aglet
Hindernisse - Probleme - Ein Aglet läuft nur, wenn Tahiti läuft (lokal und entfernt) - Anwender muss zunächst einen User anlegen/registrieren - Aglets 1. 1. x veraltet, nur Java Versionen < 1. 2. x werden unterstützt - Neue Version Aglets 2. 0 ist nicht abwärtskompatibel
Installation des Aglets-SDK • Java 1. 1. 8+ muss vorhanden sein • Entpacken des Archives Aglets_1. 1. 0. zip • Setzen der Umgebungsvariablen JAVA_HOME und AGLETS_HOME • Setzen des Homeverzeichnisses in der Datei aglets. props • Starten mit agletsd
Einstellungen in aglets. props • • Homeverzeichnis ( = AGLETS_HOME ) Pfad zum. aglet Konfigurationsverzeichnis (Sicherheitseinstellungen, Usereinstellungen und Cache) Netzwerk/Protokolleinstellungen (default: atp : 4434 ) Klassenpfad aglets. class. path und Exportpfad aglets. public. root • • Aglet-Befugnisse und globale Sicherheitseinstellungen (Sandbox) Tahiti-Einstellungen (Startup)
Einsatz von Aglets beim Chatten • Bote, der Nachrichten überbringt • Selbstständiger Chatter mit „menschlichen“ Eigenschaften mobiler Chatbot • Chatassistent, ähnlich den Mailagentensystemen sucht im Netz nach Chatpartnern, filtert Chatanfragen etc.
Beispiel: der Bote einfaches Chataglet Anforderungen • Texteingabefeld für Anwender 1 • Adressatenauswahl (Anwender 2) • Aglet findet das richtige Ziel • Textnachricht wird bei Anwender 2 dargestellt
Ausführung des Aglets Message Create Dispose (durch User) Message Dispatch durch Talk. Master Talk. Slave wird dispatched Message Tahiti Talk. Master local Message, Dispose Tahiti Talk. Slave remote
Einblick in den relevanten Programmcode public class Talk. Master extends Aglet {. . . public void on. Creation(Object o) {. . . } public void dispatch. Slave(String dest) {. . . URL url = new URL(dest); remote. Proxy = proxy. dispatch(url); . . . } void send. Text(String text) {. . . remote. Proxy. send. Message(new Message("text", name+" : "+text)); . . . } }
Exkurs: Chatbots künstliche Intelligenzen als Chatter Anforderungen: • Sprachanalyseprogramm z. B. Eliza (in 1960 er entwickelt) • Sprachdatenbank um eine passende Antwort zu erstellen • Sprachverständnis/-erfahrung um Zusammenhänge zu erkennen • Gedächtnis Vertrauen des Anwenders steigt • Charakter
Aufbau eines Chatbots z. B. : Vir. Age - Technologie
Beispiel für Chatbot: ALICE Artifical Linguistic Internet Computer Entity AIML Beispiel (Artifical Intelligence Markup Language) <category> <pattern>Ach so na ja *</pattern> <template>Na dann werde ich mal Deine Stimmung heben!</template> </category> Bot: Mensch: Bot: Wie geht´s Dir heute? Ach so na ja! Na dann werde ich mal Deine Stimmung heben! Das wäre schön! Ich schicke Dir mal eine nette Postkarte per Mail, wenn Du mir Deine Email Adresse gibst! Mensch: Gut, dann schick die bitte an: name@domaene. de !
Vir. Age Dialog Manager
Einsatzgebiete von Chatbots • Forschung • Kompetenter Ansprechpartner im WWW begrüßt Besucher, bietet Hilfe an, kann an gewünschte Stellen vermitteln • Weiterentwicklung/Verbesserung von Onlinehilfesystemen Kostensenkung • Optimaler Callcenter Mitarbeiter • Spielerei • . . .
Kombination von Chataglet und Chatbot Der Bote ALICE Ein Chataglet, das Nachricht von A nach B bringt Eine künstliche Chatterin kombiniere Hermes Ein mobiler, künstlicher Chatter, unterwegs im Auftrag des Herrn
Zukunftsvisionen Kombination von Chatbot & Aglet • Mobile Unterstützung im Support, sucht selbstständig im Netz nach Problemen, befragt Anwender und gibt gebündelte Informationen an „Chef“ • Mobiles Werbeaglet, bewegt sich von PC zu PC und versucht, dem Anwender etwas aufzuschwatzen
- Slides: 20