Glumski hat geschrieben:Was die Funktionsweise angeht, würde ich es wahrscheinlich eh nicht verstehen. Weißt du zufällig, wie z.B. Cleverbot funktionieren? Ich hab' da verschiedene Theorien gehört, die sich aber widersprechen...
Ich habe ehrlich gesagt keine Ahnung, da ich mich noch nie näher damit beschäftigt habe.
Was mir dazu spontan einfällt bzw. wie ich das angehen würde: Die Abfragen an Bots haben meist eine sehr begrenzte Länge, nur endlich viele unterschiedliche Satzstrukturen. Wortarten sind mit Nachschlagtabellen entscheidbar. Über Muster kann man so viele Sätze auseinandernehmen und - da es nur um Tweets geht - die sehr beschränkt vielen Kombinationsmöglichkeiten von Sachen recht effizient abfragen. Gerade, weil man Füllworte für die Bedeutung oft auch einfach wegwerfen kann.
"Stalin war ein großartiger Politiker und ich wünschte er würde noch heute regieren."
->
Information 1: [Name -> Finde Person oder lege neu an] [Vergangenheitsbezug] [Adjektiv] [Beruf]
Information 2: [Person -> Setze Accountnamen als neue Person, wenn noch nicht in Datensatz, sonst füge Bezüge zur Person hinzu] [Handlung] [Rückbezug -> Suche nach letztpassendster Person, die nicht der Aussagende ist] [Handlung]
Daraus kann sich das System quasi eine Mindmap bauen. Verschiedene Beziehungen werden so gewichtet, dass häufiger auftretende Aussagen als Wahrheit anerkannt werden. (Für Tay müsste das ja ungefähr so gelten, da /pol/ sie ja recht schnell überzeugt bekam.) Zu Beziehungen kann man auch mehrere Gewichte haben, wenn man etwa den Wert für Aggressivität (Großbuchstaben/wütende Smileys), Zusammenhang (Häufigkeit), Ironie (Zwinkern??) eingrenzen will.
Da immer mehr Daten vernetzt sind, kann man auch externe Quellen nutzen. Etwa gibt es ein maschinenlesbares Format von Wikipedia, das dann zwar nicht die ganzen Klartextinformationen verständlich macht, aber zumindest Fakten in Tabellen bereitstellt. Zu Hitler die Lebensspanne zu finden dürfte etwa recht leicht sein.
Mit dem beschriebenen Verfahren kann man bauen:
- Wissens-Mindmap
- Beliebte Satzstrukturen bei anderen Nutzern
Dann gibt man dem System noch ein paar Muster aus Trainingsdaten mit auf den Weg, damit es überhaupt erstmal was sagen kann. Etwa der letzte Screenshot ließe sich dann per Aussagemuster
[Aussage] (Dumb = Beleidigung, Bezug auf Tay, dumb konnotiert mit learn, here we go)
[Generische Ankündigung einer Steigerung] (wähle aus phrasenkoffer)
[Aussage in Großbuchstaben mit harten Wörtern] (konstruiere variante mit anderen gewichten für zu wählende worte)
noch nicht ganz erklären, aber zumindest ließe es sich so schon mal angedeutet nachvollziehen.
Ob jemand eine Diskussion hält, kann man auf Twitter glaube ich eh nicht sagen, da da nur sehr unmittelbar gebitcht wird afaik? Aber da ich sah, dass Tay einfach mal so Aussagen trifft, kann ich mir schon vorstellen, dass etwas wie eine Diskussion rüberkommt. ("Tay, wird einfach mal eine Aussage von einem häufig auftretenden Objekt (oder einem aktuellen Objekt aus dem Chatlog) mit den je stärksten Pfaden und wähle ein Synonym aus dem Synonymwörterbuch für irgendwas.")
Am Ende kommt halt viel auf [Subjekt][Verb][Adjektiv][Objekt] runter. Und Englisch ist eigentlich eine relativ einfache Sprache, was auch noch hinzukommt.
Aber ich rate auch nur, ich weiß es nicht. Habe das gerade on the fly mit dem Wissen aus dem Fachbereich geschrieben, in dem ich halt gerade sitze, ohne mich vorher darüber zu informieren ... da das Kommunikationssysteme sind, könnte es aber hinkommen.
Entspricht das einer der Theorien, die du gehört hast?