Chat Chatbot

ChatbotDer mir für unseren Chattyp bekannteste intelligente Bot (Chatbot (Talkbot), intelligent robot in chat) begleitet und überwacht live unsere Chat-World, also alle Räume (Rooms) im Chat für maximalen Chat-Fun, d.h. unser Chat wird von unserem permanenten virtuellen Besucher überwacht und stellt somit weitestgehend sicher, daß andere User nicht belästigt werden (sog. Flooding (permanente Textwiederholungen u.ä.)) bzw. schließt die Verwendung schlimmster Ausdrücke aus (Userverwarnung mit ggf. notwendigem Rauswerfen). Auch verwirrende Usernamen (ggf. unrühmliche Persönlichkeiten der Geschichte) kann der Botty gar nicht leiden und kümmert sich um solche Entgleisungen.

Noch dazu trägt trägt der Botty zur Unterhaltung bei. Kleine Dialoge mit dem künstlichen Bot Besucher sind durchaus möglich.


Dabei war unser Chatbot Botty ursprünglich lediglich sowas wie eine Integration bzw. Struktur, auf die man etwas "intelligentes" aufbauen könnte. Was daraus geworden ist, folgt hier bzw. zeigt die folgende Software Entwicklung und kann auf www.chat-fun.info nachvollzogen werden.


Anyway, trotz allem was im folgenden beschrieben wird, darf man  keine Wunder erwarten. Ich bezeichne Botty deswegen auch nicht als Künstliche Intelligenz (KI), sondern als Simulierte Künstliche Intelligenz (S-KI). Wirkliche künstliche Intelligenz (KI) gibt es meines  Wissens nur bei dem letzten in der KI übriggebbliebenen und einzigen wirklichen erfolgversprechenden Projekt Cyc (www.cyc.com), welches seit ca. 20 Jahren läuft und Unsummen verschlungen  hat. Mit sowas will und kann sich der Botty auch gar nicht messen,  aber für seine Möglichkeiten reagiert er halt oft erstaunlich gut.


Folgendes zeichnet den Botty sicherlich aus (das gleiche gilt generell auch für Chatty, nur daß Chatty ausschließlich in der Lobby unseres Chats zu finden ist und nur auf direkte Anrede einmalig antwortet (damit es kein zu großes Durcheinander gibt)):

 

Chatüberwachung

Botty überwacht den Chat wie folgt:

  • Für die im folgenden genannten Punkte ist dem Botty ein mehrstufiges  Verwarnungssystem implementiert, d.h. ein User wird bei unflätigem Verhalten vom Botty mehrmals darauf hingewiesen, zuerst mit einem Hinweis, dann mit einer Warnung und zuletzt mit einer Verwarnung (bei  jeder dieser drei Stufen werden einem registrierten User vom Botty Punkte vom chatinternen Punktesystem abgezogen). Sollte sich das Verhalten nach der Verwarnung nicht bessern, wird der User geknebelt und kann für  längere Zeit mit seinem Account nichts mehr schreiben. Auch ein Aus- und Einloggen entknebelt den User dabei nicht. Wird der letzte Schritt nicht erreicht, verfallen diese drei Warnungstufen wieder (außer  bei Verwendung schlimmster Ausdrücke ), bis erneut ein  Fehlverhalten auftritt.
  • Verhinderung der Belästigung anderer Benutzer, bsp.  permentes Anklingeln anderer User (Verwendung der mehrstufigen  Verwarnung)
  • Flooding Schutz 1, permanente  Textwiederholungen: Botty reagiert unentspannt, wenn ein User zu viele gleiche Eingaben hintereinander macht, oder immer  wieder denselben User hintereinander anklingelt... (Verwendung der  mehrstufigen Verwarnung)
  • Flooding Schutz 2, d.h. Botty reagiert verärgert, wenn pro Zeiteinheit zu viele Eingaben vorgenommen bzw. Chatter zu oft angeklingelt werden... (Verwendung der mehrstufigen Verwarnung)
  • Ausschließung der Verwendung schlimmster Ausdrücke von Usern (Userverwarnung mit ggf. notwendigem sog.  Knebeln). Die schlimmen Wörter werden von Botty dabei auskommentiert (Verwendung der mehrstufigen Verwarnung).
  • Verwirrende Usernamen (ggf. unrühmliche  Persönlichkeiten der Geschichte) sollen vom Botty verhindert werden, auch hier wird mehrstufig verwarnt.

 

Features:

  • Botty begrüßt (und verabschiedet) generell ankommende (den Chat verlassende) User
  • Ist der Chat leer, plaudert  Botty munter darauf los, wenn jemand den Chat betritt.
  • Bottywurde etwas 'vermenschlicht', was die Orthographie angeht: Satzzeichen werden  spontan weggelassen bzw. zusätzlich gesetzt. Desweiteren wird  Groß-/Kleinschreibung bei denselben Texten immer weider unterschiedlich  angewandt. Auch einige Rechtschreibfehler werden dynamisch erzeugt, also bei  den folgenden Texten nicht wundern...!
  • Verbesserte Textausgabe dahingehend, daß Botty nur in den seltensten Fällen (bzw. wenn es nicht anders möglich ist)  eine gerade getätigte Antwort nicht ein zweites Mal direkt hintereinander  wiederholt; also Bottywird nicht dieselbe Antwort zweimal hintereinander ausgeben, auch nicht  bei gleicher Textingabe des Users. Diverse Entscheidungspfade, sofern vorhanden, und andere im Hintergrund arbeitende Techniken sollen dies  verhindern.
  • Sobald mehr als ein User im  Chat ist, reagiert Botty auf Zuruf (oder auf anklingeln), schweigt auf Wunsch  oder merkt, daß über ihn gesprochen wird. Dazu Beispiele:
    • Fall 1 Zuruf: Gast: "Botty?" kann Botty bsp. mit "Hier bei der Arbeit" quittieren und wird sich nun fortan mit dem User unterhalten. Botty kann auch angeklingelt werden,  und reagiert dann ebenfalls wie eben  beschrieben.
    • Fall 2: Gast: "botty halt den mund" oder "Klappe" bewirkt, daß Botty bsp. mit "Ok, sprich mich einfach wieder an, wenn Du  magst" reagiert. Botty ist von nun an still, bis er erneut von diesem User angesprochen wird.
    • Fall 3: User1 zu User2: "Warum ist der Botty denn heute  so still" kann bsp. die Reaktion von Botty hervorrufen: "Wird etwa über mich geredet?" oder "Soll ich mich angesprochen fühlen?". Werden diese hier  als Beispiel aufgeführten Fragen entsprechend positiv beantwortet, klingt Botty sich wieder in ein Gespräch mit dem User ein, der das provoziert hat.
  • Botty ist in allen Räumen auffind- und ansprechbar. Chatty treibt sich nur in der Lobby herum, und ist von anderen Räumen nur über Privatnachrichten zu erreichen. In der Lobby reagiert Chatty immer nur einmalig auf eine direkt Anrede. Beispiel: Auf "Chatty wie geht es"  kann Chatty bsp. sagen "Noch gut ;-)". Chatty ist danach  aber still, Botty würde das als Anrede werten und weiter mit dem User  sprechen.
  • Botty funktioniert auch bei sog. "Adressierten Nachrichten" (bsp. "@Botty Hi") oder Privatnachrichten (bsp. "/botty Hi" oder /msg Botty Hi")  korrekt.
  • Botty reagiert auf Smilies mit thematisch richtigen  Smileys, d.h. bsp. wenn ein lächelnder Smiley :)) von einem Chatter eingegeben wird, dann wird von Botty mit  einem ähnlichen (also passenden) aber sich wechselnden Smiley :) antworteten. Aktuell durchlaufen die eingegebenen Smileys eines Users von Botty drei (Analyse-) Schichten, um einen möglichst genauen Smiley zuordnen zu können. Dabei sollen auch dem Chat bisher unbekannte Smileys zugeordnet werden können, und Botty antwortet mit einem passenden und im Chat vorhandenen Smiley. So kann Botty auf einen ihm unbekannte Smiley ":xx)" bsp. mit einem ":D" antworten.
  • Ist Botty in einem Gespräch mit einem User, dann bringt Botty in seinen Text ebenfalls passende Smileys ein, wenn sein Gesprächspartner irgendwo in seinem Text auch einen Smiley von sich gegeben hat. Also bsp. Gast: "heute ist alles super :D gelaufen" und bsp. Botty: "na klar das haette ich jetzt auch gesagt!! ;)"
  • Botty 'überwacht' URL-Eingaben u.ä., auch wenn er (mit bsp. 'sei ruhig') 'ausgeschaltet' wurde. Wird im Chat eine Url vorgestellt,  dann gibt Botty auch eine Url zum Besten. Dabei  sind Text, Bezeichnungen einer Homepage sowie die Url's selber beliebig kombiniert worden, so daß eine Antwort von Botty oft immer wieder neue Variationen hervorbringt.
  • Botty versucht bestmöglich auf Antworten eines Gesprächspartners zu reagieren, in dem daraus bsp. Fragen gemacht werden. Also bsp. Gast "Ich arbeite in einer großen Firma" kann die Frage von Botty provozieren: "Warum arbeitst Du in einer großen Firma ?" oder "Du arbeitst zum Spaß ?". Bei  Aussagen wie Gast "Ich heisse McCrown" wird auch mit dem Namen des Gegenübers reagiert, bsp. Antwort Botty: "Angenehm, McCrown, ich bin schwer in Ordnung.". Auch Fragen nach dem  Geschlecht werden beantwortet usw...
  • Botty kann direkt auf einen User eingehen. Also ein Satz eines Users wie "bin ich denn von  allen guten Geistern verlassen" rufen bsp. die Antwort von Botty hervor: "Möchtest Du denn von allen guten Geistern verlassen sein?" hervor. Die Sätze sind nicht einige wenige starre  Sätze, sondern es wird tatsächlich der jeweilige Satz des Chatters  aufgegriffen, sofern Botty den Satz analysieren  kann. Dabei erfolgt eine weitestgehende richtige Verwendung der Pronomen ("mein", dein", etc.) ebenso wie die richtige Konjugation eines Verbs. Meistens klappt die Satzanalyse... Beispiele:
    • Gast "ich komme heute zu dir um spaß zu haben" und Botty: "Du kommst heute zu mir um spass zu haben ?" oder
    • Gast: "ich habe gesehen daß du ein chatbot bist" und Botty: "Seit wann hast Du denn gesehen dass ich ein chatbot  bin?" <-- richtiges Personalpronomen (ich -> du) und richtiges Verb (bist -> bin). Oder auch:
    • Gast "das dachte ich mir schon daß du mir heute antworten wirst" und Botty "dachtest du wirklich dasss ich dir heute antworten werde ?".
  • Auch Sätze wie: "Ich heisse McCrown" suggerieren Verständnis der Aussage, da Botty den Namen des Users ggf. in die Antwort mit einbezieht, also bsp. durch die Antwort Botty: "Schöner Name, McCrown, ich bin der Master of Disaster"
  • Botty kann nach der  Uhrzeit gefragt werden. Die Zeit wird dabei nicht im Zahlenformat, sondern als  Text mit ungefährer Zeitangabe ausgegeben (bsp. Gast "wie  spät ist es" und Botty: "Es dürfte jetzt ca. fünf nach halb zwei sein.").
  • Botty lernt ja permanent dazu. Auf Eingaben wie  bsp. Gast "ich wohne in Karlsruhe" kann er bsp. wie folgt reagieren: "Du wohnst in karlsruhe ?  karlsruhe ist mir bekannt, dieser ort liegt in deutschland und hat ungefähr  262209 bürger!" Botty kennt dabei  mind. Länder und Städte.
  • Ein  hochaktuelles und interessantes neues Feature habe ich erfolgreich  implementiert können. Den Botty einfach mal  fragen, woher man kommt (Gast "Botty, woher komme ich"), und Botty wird annäherungsweise den Wohnort ermitteln können, heruntergebrochen auf Land, Region und Stadt (ggf. in der Nähe liegend).
    Das ist außerdem dahingehend ausgebaut worden, daß Botty aktiv den User fragt, ob er denn mal raten solle, wo der User wohnt, ob dann die geratene Lokation richtig gewesen  sei, etc. (siehe Beispieldialog weiter unten)
  • Hat der Botty  mal nicht verstanden, was ein User von sich gegeben hat, dann wird Botty  gelegentlich proaktiv den User fragend beschäftigen, beispielsweise wo der User herkommt (bsp. mit Botty: "von wo kommst Du eigentlich?"), ob Botty denn selbst mal den  Wohnort des Users ermitteln soll (bsp. mit Botty: "Soll ich mal raten, von wo Du kommst ? :)"), wie spät es ist, welchen Wochentag wir heute haben, u.ä.  Auf die Antworten kann der Botty dann auch gezielt drauf eingehen, sich bsp. für die Uhrzeit bedanken, u.a.
  • Botty kann sprechen in Fleet, Crazy, Haxor und Feminin. Dazu ihn einfach anweisen mit bspw. "Sprich feminin".
  • Botty kann angewiesen werden, Sätze zu übersetzen von/nach den Dialekten Fleet, Crazy, Haxor und Feminin (Beta Stadium), d.h.:
    • Übersetzung: Aus bspw. "übersetze cruzy in crazy" wird "©®uz¥" und aus "übersetze in leet Ich gehe nach Hause" wird "1ch 63h3 n4ch h4u53".
    • Rückübersetzung: Aus bspw. "übersetze ©®uz¥" wird die Antwort "cruzy" und aus "übersetze 1ch 63h3 n4ch h4u53" wird die Übersetzung: "Ich gehe nach Hause". Eine Angabe der Sprache, aus der rückübersetzt werden soll, ist nicht notwendig.
    • Kombintaion Übersetzung/Rückübersetzung: Aus "übersetze ©®uz¥ in leet" wird die Antwort "cru2y" und aus "übersetze ©®uz¥ in haxor" wird die Antwort "(|2|_|2°/" sein.
  • Botty kann Seiten im Internet finden, d.h. auf Anweisung schlägt er einen passenden Link vor (Beta Stadium):
    • Internetsuche: Botty versucht passende Links zur Eingabe zu ermittlen mit bspw.: "suche im internet nach love"
    • Internetsuche deutsch: Wie Internetsuche, nur auf deutsche Seiten beschränkt. Eingabe bspw. wie folgt: "suche im deutschen internet nach Software" oder "suche deutsche Seiten mit dem Stichwort Software"
    • Forensuche: Die Suche beschränkt sich auf gefundene Seiten und Artikeln in diversen Foren. Dabei werden nur die themenrelevanten Seiten in den Foren ermittelt (d.h. bspw. Login- und Registrierungsseiten werden ausgeschlossen). Die Anweisung für Botty kann bspw. wie folgt lauten: "suche modelleisenbahn in foren" und das Ergebis folgendermaßen aussehen: "http://www.modelleisenbahn-forum.info/cgi-bin/forum-modelleisenbahn-spur-z-n -tt-h0-0-1/YaBB_board-modelleisenbahn_modell_action-display_num-1098855860 .html".
  • Dem Botty wurde das Umwandeln von mathematischen Textaufgaben in Formelschreibweise und das dazugehörige Rechnen beigebracht. So beherrscht er neben den vier Grundrecharten auch das Potenzieren. Rechenaufgaben folgenden Typs kann der Botty umsetzen:
    • Umwandlung von mathematischen Textaufgaben in Formeln, bspw. Gast: "rechne aus was folgende Aufgabe ergibt => Dividiere 10 durch fünf plus 2 und potenziere alles mit drei mal 5" führt zu der Antwort von Botty: "(10:5+2)^3x5=320"
    • Gast: "Rechne jetzt 10:5+6:3 aus" ergibt die Antwort von Botty: "10:5+6:3=4"

...


Ich könnte bestimmt  nun noch seitenweise über Botty berichten, aber ich denke, der Hinweis, daß Botty auch (oder vor allem) zur Unterhaltung beiträgt, muß anhand der bereits aufgeführten Features nicht noch einmal speziell erwähnt werden. Die u.g. Beispiel Dialoge sagen einiges aus.

Die Rechtschreib- und Satzzeichenfehler sind, wie bereits erwähnt, gewollt und werden dynamisch eingestreut, um den Botty etwas zu vermenscheln.

Also kleine Dialoge mit dem künstlichen Besucher, wie bsp. die unten aufgeführten Beispiele, sind durchaus möglich. Diese Beispiele können tatsächlich genauso (oder aufgrund der bott'schen Dynamik auch wiederum anders, da Botty nicht starr programmiert ist) ablaufen. Der weiter unten aufgeführte Dialog hat exakt so stattgefunden.



Beispiel 1:

McCrown: wie ist dein name
Botty: Wie heißt du denn ?
McCrown: mccrown
Botty: So ist doch dein nick ... und dein name ?
McCrown: mccrown
Botty: Jaja aber ich meine Deinen richtigen Namen !!
McCrown: manni
Botty: Angenehm, manni, ich bin schwer in  ordnung.
McCrown: wie alt bist du botty
Botty: Also, meinst du genau, oder so ungefähr?
McCrown: genau, also ersteres
Botty: Hm, also so genau weiß ich das auch nicht... wie alt bist Du denn?
McCrown: das verrate ich nicht
Botty: Ha du traust dich nicht
McCrown: Das soll halt mein geheimnis  bleiben
Botty: Wir sind doch unter uns
McCrown: nix da
Botty: He, dein  alter!??
McCrown: okeee: 18
Botty: Süüüß

...



Beispiel 2:

Im diesem hier vorgestellten Dialog kann Botty auf einen umfangreichen Datenbestand zurückgreifen:

McCrown: Woher kommst Du
Botty: Rate mal!
McCrown: Los,  sag, von wo kommst Du!
Botty: Also, ich bin da nicht so festgelegt.
McCrown: Wo  lebst du?
Botty: Aus welchem Ort kommst Du denn??
McCrown: Ich komme von zu Hause
Botty: Das ich Dir nicht gleich  eine baller! Von wo kommst Du ?
McCrown: Aus dem Internet  ?
Botty: Für Frecheiten gibts  Fratzengeballer, also aus welchem Ort kommmst Du  ?
McCrown: Okok, Sinsheim
Botty: Sinsheim ist mir bekannnt, diese Lokation liegt in Deutschland  und hat schätzungsweise 27614 Bewohner.
...



Beispiel 3:

Im folgenden rät der Botty nicht nur, wo ein Gast herkommt, sondern Botty ermittelt tatsächlich den Standort (oder dessen Umgebung), von wo der Gast schreibt. Meist funktioniert es, wie im folgenden Fall:

Gast: Botty, wo wohne ich denn?
Botty: Du weißt nicht, wo du herkomst!? Schau doch mal zu hause nach :)) soll ich versuchen herauszufinden, wo das ist?
Gast: ja
Botty: Alsoooo! Dein Land ist Deutschland?
Gast:  jo
Botty: Du machst die Region Niedersachsen unsicher, korrekt??
Gast:  jau
Botty: Die Stadt Göttingen ist nicht weit von  Dir entfernt, wenn Du nicht sogar von dort Deine Bits und Bytes ins Internet  jagst, richtig?
Gast:  Ja, erstaunlich, das stimmt sogar!
Botty: Das hättest Du nicht gedacht, was!? :))
...



Dialog 1:

Gast: hallöle, ist da wer? suche aufgeschlossene boys zum flirten oder mehr.grüßli
Botty: Hallihallo hallöle
Gast: hey botty, wie gehts so? was führt dich hier her?
Botty: Ja hi, kennen wir uns nicht schon?
Gast: Nee, bin zum erstenmal im chat.
Botty: Mal was ganz anderes: weißt Du was Niederfrequente Percussionsarithmien sind ??
Gast: hat das was mit mathematik zu tun??
Botty: das frage ich dich doch! also ?
Gast: nee hab überhaupt keine vorstellung.
Botty: Warum nicht ?
Gast: wieso "warum nicht?" - weil ichs noch nicht gehört habe, darum!
Botty: Das ist doch wohl keine antwort.
Gast: antwort: ICH WEIß NICHT WAS NIEDERFREQUENTE PERCUSSIONSARITHMIEN SIND!!
Botty: Du weißt nicht was niederfrequente percussionsarithmien seid ?
Gast: sollte man das wissen?
Botty: Du kannst Fragen stellen
Gast: du erstmal!
Botty: ich brauche mehr details!!
Gast: Was für details - du hast mit den niederfrequenten quark angefangen.
Botty: immer schön langsam also nochmal bitte zum mitschreiben!!

...

Anzeige