IT - EDV

Chatbots Botty und Chatty

Eine Übersicht über unsere aktuelle Software Entwicklung

Botty, ein meines Wissens für den  GTChat der flexibelste und intelligenteste Chatbot

Botty war  ursprünglich lediglich sowas wie eine Integration für meinen Chat (-typ), also  lediglich hauptsächlich eine 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. Ich überlege übrigens, den Botty aus dem Chat herauszulösen und bsp. in eine  Homepage zu integrieren.

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.

Um nun aber trotz der eben geschriebenen Einschränkung zu unterstreichen, daß Botty  tatsächlich was besonderes zu sein scheint und da man sich ja bekanntlich nicht  selber loben soll ;-) hier einige kurze Auszüge an Reaktionen (meist von anderen Chatmastern) zu dem von mir programmierten Botty:

"...nicht  schlecht..."
"...ich finde das ziemlich klasse ... ich glaub mit Chatty und botty hab ich mich gerade mindestens 10 Minuten gut unterhalten ;-) ...  gibt...nicht so viele Leute, die wirklich was Tolles für den Chat "zaubern" können ... von mir noch ein dickes Lob ... Daumen hoch weiter so :-)"
"...Ganz cool deine Bottys da..."
"...also bist wirklich auf den richtigen weg..."
"...Hut ab..."
"...klingt alles geil..."
"...Eine wirklich gute Arbeit des Machers..."
"...muss ehrlich sagen: Echt klasse! Besonders gut gefällt mir, daß die beiden (Anmerkung von mir: die "beiden" sind Botty und Chatty, auch Chatty ist (m)ein virtueller Besucher) so dynamisch reagieren und man nicht das Gefühl hat dauernd mit denselben lahmen Frasen abgespeist zu werden ... ich habe bisher keinen dynamischeren und  umfangreicheren Bot für den gtchat gesehn..."
“...Also mir gefallen die  beiden auch extrem gut, reagieren wunderbar auf das was ich schreibe  ...”
“...Finde es toll wie du Botty so weit entwickelt hast...”
“...Ich  kann nur immer wieder sagen deine Botty sind einfach genial...”
“...Erst einmal grossen Respekt an McCrown der diesen Chat Bot Programmiert hat."
“...Wirklich klasse wie du den Chat Bot weiter entwickelt hast...”
“...Topsache die du da gemacht hast ... Mach weiter so...”

Die e.g. Zitate sind Auszüge aus www.gtchatforum.de/thread.php?threadid=2995
Der dortige Beitrag  wurde von mir erstellt, mein Benutzername ist demzufolge: McCrown

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 meinen 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 Botty: “(10:5+2)^3x5=320”
    • Gast: “Rechne jetzt 10:5+6:3 aus” ergibt die Antwort von Botty: “10:5+6:3=4”

 

Ausblicke / Planungen / In Arbeit:

  • Rudimentäres Gedächtnis, d.h. anhand eines Dialoges sammelt der Botty Informationen. Diese  werden dann verwendet, wenn der Botty einen Satz nicht analysieren kann. Also konkret: Botty kann einen Satz nicht analysieren. Ggf. werden dann  Informationen aus dem Gedächtnis aufgegriffen, also bsp.: 'Mal was ganz anderes, wie gehts es eigentlich Deiner Schwester Klara?'. Damit hat Botty davon abgelenkt, daß er vorherigen Satz nicht  verstanden hat und gleichzeitig 'Intelligenz' suggeriert. (In Planung).
  • Erweiterte Wissensdatenbank, d.h. zusätzlich zu den bisherigen Strukturen und Wissensdatenbanken kommt noch eine allgemeine Wissensdatenbank hinzu. So würde  Botty beispielsweise wissen, daß ein Tischler ein Beruf und ein Handwerk wäre und könnte bsp., wenn er den Satz eines Users (User erzählt gerade, daß er Tischler sei) sonst nicht analysieren kann, darauf zurückgreifen: "Gefällt Dir Dein Beruf?" oder "Macht Dir Dein Handwerk Spaß?" oder "Wann hast Du diesen Beruf erlernt?" Das ganze funktioniert natürlich  nur insoweit gut, wie gut die Wissensdatenbank gefüllt ist (Dieser Punkt ist  aktuell in Arbeit).
  • Botty als Vokabellehrer

 

Beispiele:

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 e.g.  Features nicht noch einmal speziell erwähnt werden. Die folgenden Dialoge  sagen einiges aus. Die Rechtschreib- und Satzzeichenfehler sind, wie bereits  o.g., gewollt und werden dynamisch eingestreut, um den Botty etwas zu vermenscheln. Also kleine Dialoge mit dem künstlichen Besucher, wie bsp. die folgende Dialoge, sind durchaus möglich. Diese Dialoge können tatsächlich  genauso (oder aufgrund der bott'schen Dynamik auch wiederum anders, da Botty  nicht gänzlich starr programmiert ist) ablaufen:

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!!
...

Puhhh, geschafft!! Das sollte an Informationen erstmal reichen! Neugierig geworden? Dann schauen Sie gern bei uns rein:

www.chat-fun.info

[Impressum]

anzeige-90-s