Ergebnis 1 bis 20 von 30

Thema: [KI Diskussion] Chatbots

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Die semantische Analyse ist extrem schwer, weil man sowohl "lol ihr stinkt" als auch "Wer tun können will muß auch lernen tun wollen" als auch "Du mußt in der Kernel-config nach rivafb greppen; die Config liegt in /usr/src/linux/.config." erkennen können muß - und das ist erst der Anfang. Die deutsche Sprache (und erst recht das, was im Internet als kommunikation durchgeht!) erlaubt eine Vielzahl von bescheuerten Satzkonstrukten, die einen - sofern man sie alle parsen können will - einen in den Wahnsinn treiben können.

    Um hingegen grob das Thema eines Satzes zu bestimmen kann man viel lascher vorgehen - wenn man in Kauf nimmt, daß man ab und zu eben Unsinn erkennt. Man nimmt ein paar ganz allgemeine Regeln, nach denen man den Satz durchgeht und die immer irgendetwas zurückgeben, dann erhält man für jede Eingabe ein wahrscheinliches Thema. Wenn man da die Liste der möglichen Stichwörter einfließen läßt (über Stringähnlichkeitsalgorithmen und einen Baum kann man wahrscheinlich mit halbwegs erträglichem Aufwand gegen alle bekannten Wörter prüfen) sollte die Trefferquote mit genug Training halbwegs gehen.

  2. #2
    Zitat Zitat von Jesus_666
    "Wer tun können will muß auch lernen tun wollen" als auch "Du mußt in der Kernel-config nach rivafb greppen; die Config liegt in /usr/src/linux/.config."
    Also ich kenne viele Menschen, die das nicht verstehen würden. Und es ist auch kein richtiges Deutsch. Sinn einer solchen KI sollte es nicht sein, jeden menschlichen Unsinn zu verstehen. Wenn ich mich tiefer mit dem Thema beschäftigen würde, würde ich das ganz sicher nicht unter dem Titel "Chatbot" angehen. Von einem Chatbot erwartet man vielleicht, dass er mit sinnlosen Eingaben umgehen kann und den Benutzer auf lustige Art und Weise unterhält. Ein Programm muss meiner Meinung nach nicht wissen, was "greppen" bedeutet. Es soll ja nach Möglichkeit intelligent antworten. Und auf manchen menschlichen Unfug gibt es nunmal keine intelligente Antwort außer dem Schweigen.

    Also würde ich mich erstmal auf die Auswertung normaler Sätze beschränken. Auch das dürfte schon schwierig genug sein, aber bei weitem sinnvoller als die Auswertung dummer Sprüche. Fazit: Man sollte vielleicht keine Imitation des Menschen, sondern vielmehr eine andere Form der Intelligenz anstreben, denke ich.

    freundliche Grüße, Rolus

  3. #3
    Zitat Zitat
    keine intelligente Antwort außer dem Schweigen.
    Wo wir beim nächsten Problem von Alice sind. Gespräche mit Alice laufen immer darauf hinaus, dass die Nachrichten streng abwechselnd geschickt werden. Es wäre besser, wenn der Bot auch mal abwarten würde, ob noch mehr Informationen kommen oder mehrere Sachen schreiben würde, wenn keine Antwort kommt (oder wenn eine Antwort aus mehreren Sätzen besteht). Als kleines Extra könnte man auch noch ne Verzögerung abhängig von der Länge der Antwort einbauen, um die Zeit zu simulieren, die man zum Tippen bräuchte, aber das is dann schon wieder die Sorte "kann man machen, muss man aber nicht".

    Zitat Zitat
    Man sollte vielleicht keine Imitation des Menschen, sondern vielmehr eine andere Form der Intelligenz anstreben, denke ich.
    Der Satz setzt implizit voraus, dass Menschen intelligent sind. Da wär ich mir ehrlich gesagt nicht so sicher.

  4. #4
    Zitat Zitat von DFYX
    Der Satz setzt implizit voraus, dass Menschen intelligent sind. Da wär ich mir ehrlich gesagt nicht so sicher.
    Hehe, dein Satz setzt 'ne Menge Ironie voraus. Also mir ist noch keine höhere, natürliche Form der Intelligenz begegnet. Deshalb würde ich schon sagen, dass der Mensch relativ intelligent ist.
    Zitat Zitat von Jesus_66
    Aber die hier gestelte Aufgabe ist doch, einen Chatbot zu entwickeln, der einer Konversation folgen kann! Ich habe meine Beispiele übrigens extra gewählt um zu demonstrieren, daß ein vollständiger syntaktischer Parser als Methode hier ungeeignet ist. Ich weiß also nicht, warum du mir plötzlich unterstellst, ich wolle so etwas in einen Chatbo integrieren.
    Ich hatte eigentlich gar nicht die Absicht, dir irgendetwas zu unterstellen. Ich wollte nur sagen, dass ein Chatbot meiner Meinung nach weniger interessant und weniger KI-behaftet ist. Für einen einfach Chatbot, der auf niedrigem Niveau mit Menschen chatten soll, würde ich mir auch nicht unbedingt die Mühe machen, eine komplette semantische Analyse zu entwickeln. Ich fände es halt spannender und bin damit wohl etwas vom Thema "Chatbot" abgekommen.

    freundliche Grüße, Rolus

  5. #5
    Zitat Zitat von Rolus
    Also ich kenne viele Menschen, die das nicht verstehen würden. Und es ist auch kein richtiges Deutsch.
    Der erste Satz ist syntaktisch korrekt und nicht mehrdeutig - allerdings enthölt er sechs verben und einen halb versteckten Nebensatz, was nichtmenschliche Parser verwirren könnte. Der zweite Satz ist - zumindest im entsprechenden Umfeld - nicht wirklich außergewöhnlich. Daß "greppen" nicht im Duden steht sollte kein Grund sein, warum das Programm nicht mit dem Satz klarkommt; einen Bot zu bauen, der das komplette deutsche Vokabular versteht ist ohnehin ein eher nutzloses Unterfangen, da er entweder nur Standarddeutsch versteht (und damit bei sehr vielen Unterhaltungen passen muß) oder versucht, auch Slang und Dialekte zu verstehen (was zu einem vielfach größeren und sich selbst widersprechenden Vokabular führt).

    Zitat Zitat
    Sinn einer solchen KI sollte es nicht sein, jeden menschlichen Unsinn zu verstehen. Wenn ich mich tiefer mit dem Thema beschäftigen würde, würde ich das ganz sicher nicht unter dem Titel "Chatbot" angehen. Von einem Chatbot erwartet man vielleicht, dass er mit sinnlosen Eingaben umgehen kann und den Benutzer auf lustige Art und Weise unterhält.
    Aber die hier gestelte Aufgabe ist doch, einen Chatbot zu entwickeln, der einer Konversation folgen kann! Ich habe meine Beispiele übrigens extra gewählt um zu demonstrieren, daß ein vollständiger syntaktischer Parser als Methode hier ungeeignet ist. Ich weiß also nicht, warum du mir plötzlich unterstellst, ich wolle so etwas in einen Chatbo integrieren.

    Zitat Zitat
    Ein Programm muss meiner Meinung nach nicht wissen, was "greppen" bedeutet. Es soll ja nach Möglichkeit intelligent antworten. Und auf manchen menschlichen Unfug gibt es nunmal keine intelligente Antwort außer dem Schweigen.
    Gut, schließen wir Referenzen auf grep, eines der wichtigeren Unixprogramme, aus. Wenn wichtige Unixprogramme ausgeschlossen werden sollte das auch für andere Programme gelten also lassen wir den Bot zu jeder Zeile schweigen, in der "Explorer", "Firefox" oder "Office" vorkommt. Hm, irgendwie wird's da unpraktisch - sollte der Bot wirklich alles zurückweisen, was nicht in seiner Vokabulardatenbank steht?
    Ich bin der Meinung, daß der Bot ohnehin nicht wissen sollte, was ein Wort bedeutet - das würde nicht nur lächerlich viel Aufwand bei der Datenverarbeitung bedeuten sondern auch, daß man lächerlich viele Daten erst mal einspeisen muß (denn fast alle Begriffe ergeben erst mit Kenntnis anderer Begriffe einen Sinn). Derartge Komplexität bräuchte man für eine Software, die selbstständig kommunizieren können soll (ha, drei Verben nacheinander und das völlig gerechtfertigt!), aber nicht für etwas, das das lediglich vorgibt.

    Zitat Zitat
    Also würde ich mich erstmal auf die Auswertung normaler Sätze beschränken. Auch das dürfte schon schwierig genug sein, aber bei weitem sinnvoller als die Auswertung dummer Sprüche. Fazit: Man sollte vielleicht keine Imitation des Menschen, sondern vielmehr eine andere Form der Intelligenz anstreben, denke ich.
    Okay, das könntest du machen, dann würde dein Bot aber mit hoher Wahrscheinlichkeit schlechtere Ergebnisse haben als die Urform von ELIZA. Die Menschen neigen nun mal dazu, mit Sätzen zu arbeiten, die nicht strikt Subjekt-Prädikat-Objekt-Satzende sind. Und jede mögliche Variation des Satzbaus muß explizit in der Programmlogik behandelt werden, damit der Parser sie versteht. Komplexe Sätze mit nonstandard-Elementen sind keine "dummen Sprüche", sie sind der Normalfall, speziell im Internet, das einen Riesenhaufen von Subkulturen beheimatet, die alle ihren eigenen Mix aus diversen Slangs, Fachsprachen und internettypischen Wendungen sprechen.
    Die menschliche Sprache (ich fasse hier mal alle zusammen, weil alle diese Eigenschaften haben) ist darauf ausgelegt, von Leuten verstanden zu werden, deren Mustererkennung das momentan technisch emulierbare bei Weitem übersteigt. Es macht uns kaum Aufwand, Sätze mental umzustrukturieren, damit sie Sinn ergeben, also tolerieren wir sehr freie und komplexe Regeln, die maschinell kaum verarbeitbar sind. Dazu kommt noch, daß die menschliche Sprache einen Teil Redundanz eingebaut hat, der für uns teilweise sinnvoll, für die Maschine aber zusätzlich aufwendig ist (und auch Einsparmöglichkeiten wie das Weglassen des "ist" nach "sinnvoll" in diesem Satz haben ihren Sinn, machen Maschinen aber das Leben schwer).
    Wenn man dieses Gewusel verstehen will muß man einen Riesenaufwand betreiben. Computer sind in der Interpretation von Input eben nicht so schnell wie Menschen (führt jetzt bitte keine Rechnungen an; wir können die optische Wahrnehmung eines fliegenden Gegenstandes als solche erkennen und Flugbahn sowie Geschwindigkeit des Balls exrtapolieren, bevor der Rechner überhauot weiß, daß da was fliegt).

    Deshalb rate ich davon ab, als Hobbyist ein verstehendes Programm schreiben zu wollen - entweder wird das Verständnis per Design stark lückenhaft sein oder man hat einen extremen Aufwand, wenn man den menschlichen Verstehensprozeß (und auf genau den sind menschliche Sprachen nun mal ausgelegt) nachbilden will. Deshalb versucht mein Vorschlag auch nicht, die Bedeutung eines Satzes zu erkennen sondern lediglich, eine Verbindung zu einem früheren Thema herzustellen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •