Add Thesis

Automatic Twitter Response Generator

Written by C. Gunning, D. Forslund

Paper category

Bachelor Thesis

Subject

Computer Science

Year

2013

Abstract

Bachelorarbeit:Seit den Anfängen der Chatbots werden zur Simulation von Konversationen meist verschiedene Mustervergleichstechniken verwendet. Dies ist eine Studie über mögliche alternative Methoden und ein Versuch der Umsetzung. Da die Forschung auf dem Gebiet der Verarbeitung natürlicher Sprache rasant voranschreitet, soll in diesem Bericht geklärt werden, welche Techniken derzeit eingesetzt werden und was durch die Anpassung der neuesten Erkenntnisse auf diesem Gebiet möglicherweise erreicht werden könnte. Es wird eine Kombination aus Part-of-Speech-Tagging, Methoden zum Information Retrieval und bekannten Methoden zur Generierung von Sprache behandelt und beschrieben, wie sie von Nutzen sein könnte. Eine Implementierung wird überprüft und mit traditionellen Programmen verglichen. In der abschließenden Schlussfolgerung wird festgestellt, dass die Implementierung nicht so zufriedenstellend ist wie Chatbots, die ausgefeilte Pattern-Matching-Techniken verwenden, dass aber die behandelten neuen Methoden in Anbetracht des Fortschritts der natürlichen Sprachverarbeitung eher Teil zukünftiger Chatbots sein werden. Es ist mehr als vier Jahrzehnte her, dass ich einen der ersten Chatbots, ELIZA, kennengelernt habe. ELIZA ist ein Beispiel für einen programmierbaren Computer, der natürliche Sprache auf einfache Weise verarbeitet. Durch die Anwendung einfacher Mustervergleichstechniken konnte das Programm eine Antwort im Kontext der Benutzereingaben in natürlicher Sprache generieren. Im täglichen Leben interagieren viele von uns mit dieser Art von Dialogsystemen. Es ist auch ein Bildungsszenario denkbar, bei dem diese Art von Programm für eine direkte Interaktion genutzt wird. Seit ELIZA haben sich viele andere Chatbots entwickelt, die unterschiedliche Techniken zur Verarbeitung natürlicher Sprache verwenden. Eine der am weitesten verbreiteten Methoden ist AIML, ArtificialIntelligenceMarkupLanguage. Sie nutzt XML als Wissensbasis und besteht aus definierten Kategorien von Mustern und entsprechenden Vorlagen. Eine unbestimmte Anzahl von Kategorien kann der Wissensbasis hinzugefügt werden, und viele sind bereits als Quelle vorhanden. Die meisten Programme sind jedoch nicht in der Lage, ein kurzes Gespräch oder auch nur einen Teil des Gesagten wiederzugeben, da die erzeugte Antwort hauptsächlich auf der letzten Aussage oder Frage des Benutzers beruht. Wie der Titel dieses Berichts andeutet, ist das Hauptziel dieses Projekts die Erstellung eines Programms zur automatischen Generierung von Twitter-Antworten. Twitter ist ein weit verbreiteter Dienst für Microblogging, der täglich von Millionen von Menschen genutzt wird. Die Implementierung eines Chatbots, gemeinhin als Dialogsystem bezeichnet, ist die Methode der Wahl, um dies zu erreichen. Während der beschriebene Musterabgleich eine einfache Möglichkeit zur Umsetzung zu sein scheint, werden in diesem Bericht alternative und anspruchsvollere Techniken verwendet, um etwas anderes zu erreichen. 1.1 Zweck Intelligente Gesprächsagenten sind ein Thema, das im Bereich der künstlichen Intelligenz intensiv erforscht wird. Der Einsatzbereich ist umfangreich und wird immer üblicher. Die ersten Chatbots verwendeten zur Generierung ihrer Antworten ein Mustervergleichsverfahren, das im Laufe der Jahre verfeinert wurde. Die Technik ist einfach, prädiktiv und das Verhalten ist vollständig definiert. Ziel dieses Berichts ist es, verschiedene Techniken zu untersuchen, zu bewerten, ob es ausgefeiltere und dynamischere Methoden als den einfachen Musterabgleich gibt, und daraus einen Gesprächsagenten zu entwickeln.1 1.2 ZielsetzungDas Ziel war es, ein ausgefeiltes, selbstlernendes Dialogsystem zu schaffen. Ein System, das in der Lage ist, natürliche Sprache zu interpretieren, über wichtige Schlüsselsätze zu entscheiden, geeignete Daten aus einer Wissensbasis zu extrahieren und in natürlicher Sprache zu antworten. Die genannten Eigenschaften und die Nutzung von Twitter als Wissensquelle sowie als Ort der Interaktion sind Teil des Projekts. Wir gehen davon aus, dass die Verarbeitung natürlicher Sprache und eine dynamische Wissensbasis für das Lernen und die Datenextraktion zu einem Dialogsystem führen werden, das in der Lage ist, Benutzereingaben aufzunehmen, daraus zu lernen und eine relevante Antwort zu formulieren.1.3 DokumentenübersichtKapitelXfindetInformationenübervorhandeneChatbotsundTechniken. Das Hauptaugenmerk liegt auf dem Patternmatching, der derzeit gängigsten Art der Implementierung von Chatbots, und der Art und Weise der Umsetzung.InKapitelYwerdenProblemeinTheorienüberalternativeTechnikenmitdemSchwerpunktaufnatürlicherSprachverarbeitungdargestellt. MöglicheLösungenundUmsetzungenwerdenkurzbeschrieben.MethodenzurUntersuchungwerdeninKapitelZbeschrieben. Die Ergebnisse sind in Kapitel A zu finden und die Diskussion sowie die Schlussfolgerungen werden in Kapitel A dargestellt.2 Kapitel 2HintergrundDie verschiedenen Techniken, die in Chatbots verwendet werden, wurden bereits erwähnt. Um ein tieferes Verständnis zu erlangen, wie diese eingesetzt werden, werden im Folgenden nähere Auswertungen vorgenommen und wie diese üblicherweise umgesetzt werden. 2.1 Bestehende ChatbotsDie ersten Chatbots, wie z.B. ELIZA, PARRY und RACTER, verwendeten regelbasierte Pattern-Matching-Techniken[1], eine Methode, die auch heute noch von vielen Chatbots verwendet wird, um Konversation zu simulieren. Einer der Hauptgründe dafür ist, dass es eine einfache Methode ist, Chatbots mit menschenähnlichen Antworten zu erstellen. Es gibt inzwischen viele verschiedene Arten von Chatbots, die unterschiedliche Techniken verwenden, aber die meisten nutzen immer noch den Musterabgleich, um ihre Antworten zu generieren.[2] 2.2 MusterabgleichChatbots, die auf Musterabgleich-Techniken basieren, enthalten Regeln dafür, wie sie auf verschiedene Eingaben reagieren. Durch die Verwendung von Pattern-Matching-Techniken kann man die Antworten menschlicher erscheinen lassen, während der Autor die volle Kontrolle über seine Antworten hat. Um jedoch eine Antwort für eine Vielzahl von Eingaben geben zu können, sind verschiedene Regeln erforderlich. Einer der bekanntesten Chatbots (A.L.I.C.E.) hat 120.000 Regeln[3]. Da zwei Sätze mit derselben Bedeutung sehr unterschiedlich aussehen können und der Chatbot mit allen möglichen Variationen umgehen muss, bräuchte er für jede Möglichkeit eine Regel, wobei einige Unterschiede oft durch die Verwendung von Wildcards ausgeglichen werden können. Die Schwächen dieser Art von Techniken liegen in der Anzahl der Regeln, die erforderlich sind, um Antworten für eine Vielzahl von Eingaben zu generieren, und in der Beschränkung des Chatbots, nur die in den Regeln angegebenen Fragen zu beantworten. AIMLAIML (ArtificialIntelligenceMarkupLanguage) ist eine von Richard Wallace entwickelte, weit verbreitete Technik zum Abgleich von Mustern[4], die vor allem durch den Chatbot A.L.I.C.E. bekannt ist, Gewinner des Loebner-Preises 2000, 2001 und 2004. AIMListeineXML-kompatibleSprachemitUnterstützungsregeln,dieaufEingabendesBenutzersundoptionalaufdemletztenStatementdesChatbotsbasieren. DievierwichtigstenTagsinAIMLsind <aiml>, <category>, <pattern> und <template>. 3 TagDescription<aiml>MarkiertdenAnfangunddasEndeeinesAIML-Dokuments.<category>DieTagmarkierungsregelinderWissensbasis.<pattern>EnthältdasMuster,mitdemdieBenutzereingabeübereinstimmt.<template>EnthältdieAntwortderBenutzereingabe,diedementsprechenden <pattern>-Tag entspricht. Es gibt auch andere Tags, wie <das>, das z.B. auf das letzte, was der Chatbot gesagt hat, passt.[5] Eine weitere Beispielregel ist die folgende, die angibt, was der Chatbot antwortet, wenn die Eingabe "Doyouloveme? "<category><pattern> DOYOULOVEME </pattern><template>Iloveyou </template></category>DieseExtrusionsregel gibt an, was der Chatbot antwortet, wenn die Eingabe "Youarejustsayingthat" lautet und der letzte Satz des Chatbots "Iloveyou" war. <category><pattern>Du sagst nur, dass </pattern><that>Ich liebe dich </that><template> Nein, ich meine es </template></category>Die eingestellten Regeln ermöglichen die folgende Konversation:u - DerBenutzerb - DerChatbotu: Doyouloveme?b: Iloveyouu: Youarejustsayingthatb: No, Ireallymeanit.Wenn jedes Wort in dieser Konversation anders wäre, wären zusätzliche Regeln erforderlich, um auch diese Möglichkeiten abzudecken. Die Möglichkeit, Regeln zu spezifizieren, die mehr als nur die letzte Benutzereingabe berücksichtigen, ist ein großer Fortschritt bei dem Versuch, echtes Verstehen zu imitieren.4 2.3 Lernende AgentenChatbots, die aus Benutzereingaben lernen, sind vielseitiger, da sie ihre Wissensbasis im Laufe der Zeit erweitern, was zu einem Verhalten führt, das weniger vorhersehbar ist als bei der Verwendung von Musterabgleichstechniken. Folglich stellt diese Art von Techniken einen viel höheren Bedarf an komplexen und effektiven Algorithmen zur Generierung geeigneter Antworten. Die Wissensdatenbank wächst, indem sie ständig neue Informationen aus ihren Gesprächen mit verschiedenen Nutzern speichert. Auf diese WeisewächstdieWissensdatenbankmitjederKonversationimmermehrundderChatbotwirdimmervielseitiger.CleverBotCleverBotisteintypischerLernagent. Er lernt, indem er Eingaben von Nutzern in seiner Wissensbasis speichert. Wenn ein Nutzer mit dem CleverBot plaudert, durchsucht er seine Datenbank mit zuvor aufgezeichneten Eingaben nach Sätzen, die als Antwort in Frage kommen.[6] Read Less