Weiterentwickelter Chatbot

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Mokki.

    Weiterentwickelter Chatbot

    Guten Abend zusammen

    Ich möchte einen Chatbot schreiben. Er entwickelt sich dabei selbstständig, ohne dass ich ihn dazu in den Lernmodus oder ähnliches schalten muss. Ich würde gerne mit einer Art "Startdatenbank" beginnen und den Rest erarbeitet sich der Bot sozusagen selber. Auch die Probleme von existierenden Chatbots, wie zum Beispiel dass der Chatbot einfach so das Thema wechselt sollen so weit wie möglich behoben werden.

    Hier würde ich gerne Ideen, Codebeispiele/-schnipsel/-grundgerüste sowie andere Tipps/Tricks und anderen hilfreiche Informationen oder Links sammeln. Ich brauche hauptsächlich erstmal einen Ansatz..

    LG und Danke
    Luca
    Also ich habs mir jetzt mal angeschaut. Allerdings habe ich ein Problem damit.. Wie binde ich die DLL ein und wie greife ich darauf zu? Habe noch nie mit DLLs gearbeitet.
    Kann mir jemand evtl ein Grundgerüst geben damit ich was habe worauf ich aufbauen könnte?
    LG und schönen Abend :)
    Das ist eigentlich ganz einfach: Herunterladen, entpacken und in VS unter Verweisen den Pfad zur DLL hinzufügen (klick mich). Dann musst du nur noch den Namespace importieren. Allerdings möchte ich anmerken, dass ich mich noch nie wirklich mit Neuralen Netzen beschäftigt habe, deshalb bin ich für Fragen dies bezüglich nicht dein Mann :/

    LG
    Das Hauptproblem an dem Ganzen ist eig., dass manche Fragen im Kontext keinen Sinn ergeben, bzw. es auf eine Frage mehrere Antworten gibt.
    Zum Beispiel: Wie geht es dir? Wie heißt du?
    Am meisten würde es glaub ich Sinn machen:
    1. Big-Data zu verwenden z.b. Whatsapp-Datenbanken(Kommt man aber schwer ran)
    2. Fuzzy-Logic
    3. Satzanlyse(also was ist wichtig)(ev. Wolfram Alpha)
    4. Daten von mehreren Menschen
    5. Ev. Wörter in Zahlen auszudrücken(Indexierung)
    6. Bezug auf min. 2 Nachrichten davor mit in das Neuronale Netz aufnehmen

    Damit dürfte es eig. ganz gut funktionieren.

    Zu dem, dass der Bot das Thema wechselt. Da hilft:
    1. Der Bezug auf die Nachrichten davor
    2. Das der Bot eher passiv agiert also die Person immer als erstes schreibt.

    Achtung: Das war jetzt alles theoretisch, sowas hab ich noch nie geschrieben, auch wenn ich es schon oft probieren wollte.

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Sei mir nicht böse, aber ich glaube, wenn du nicht weißt, wie man eine Library zu einem Projekt hinzufügt, könnte eine komplette KI (und das ist es ja was du vorhast) doch etwas viel zu hoch für dich sein. So etwas ist ein extrem komplexes Thema an dem normalerweise vor allem Wissenschaftler dransitzen (du sprichst ja schließlich auch davon, dass dein Bot "besser" sein soll als die bis jetzt existierenden).
    @ChOoSeMyNaMe Ja ich habe einfach nur in der Projektmappe den Verweis auf die DLL gefunden, aber im Code selber nie im eine Referenz auf die DLL.. Evtl. habe ich ja auch etwas übersehen. Darum kam es mir komisch vor. :/
    @Mokki Das hatte ich alles auch im Sinn, nur die Indizierung von Wörtern war mir neu. Und um die vorherigen Sätze einzubeziehen würden evtl mehr verdeckte Schichten helfen.
    @FunnySunny Du widersprichst dir selber.. Am Anfang sagst du, dass ich die technischen Voraussetzungen wahrscheinlich nicht erfülle und am Ende sagst du dass das Problem nicht der technische Teil ist sondern die Intelligenz allgemein, und dass es dazu Wisssenschaftler braucht. Zum Thema DLL einbinden: siehe oben
    Ausserdem möchte ich ja keine nicht ein künstliches Empfinden auf Google-Stufe entwickeln, sondern einen Chatbot

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „0luca0“ ()

    @0luca0 Nein, ich rede nicht von deiner Intelligenz, sondern von deinem Kenntnisstand, und wen ich den daran beurteile, ob du weißt wie man eine Library zu einem Projekt hinzufügt, widerspreche ich mir auch nicht selber. Wie gesagt, ich will dich überhaupt nicht irgendwie anzweifeln oder so, aber es hat schon seinen Grund, warum die aktuell existierenden Chatbots genau die Probleme haben, die du angesprochen hast und selber aussortieren möchtest: KI-Programmierung ist ein verdammt schweres Thema und ich bezweifle ehrlich gesagt auch dass die "ganz Großen" hier im Forum dein Vorhaben komplett umsetzen könnten. Ich befürchte einfach du unterschätzt, was da alles dranhängt, vor allem wenn es an den Punkt des eigenständigen Lernens kommt und der Erarbeitung des "Rests".
    Also ich würde es so angehen:
    1. Whatsapp-Datenbank exportieren
    2. Whatsapp-Datenbank entschlüsseln
    3. Filtern von Gruppenchats(kannst du ja nich wirklich nutzen)
    4. Fuzzy-Logik anwenden
    5. Synonyme ersetzen
    (Ev. 4 u. 5 vertauschen oder nach 5 nochmal 4)
    6. Wörter in den Nachrichten sortieren(Nach Verben Nomen Adjektiven) Wichtigkeit bestimmen(gibts schon algos aber ich hab grad keine Namen)
    7. Nachrichten sortiern(was die andere Person schreibst, was du schreibst)
    8. Daten an nen Neuronales Netz übergeben.
    9. Wenn es dann mal ne sehr sehr kleine Fehlerquote hat(wird glaub lang brauchen), eine Lernfunktion einbauen(damit mein ich nicht das die dem Benutzer angezeigt wird, sondern nur, dass sobald das Netz mal richtig läuft, neue Sätze zur Datenbank hinzugefügt werden)

    Ich denk aber das das in VB sehr schwer wird. Vorallem das Neuronale Netz(werden normalerweise in C/C++ geschrieben einfach wegen der Geschwindigkeit) zu schreiben. Vb ist auch nicht die beste Sprache für das Verwalten von großen Datenbanken und das Arbeiten mit Text(soweit ich weis, wird hier gern Python verwendet)

    Ich hab mich mal vor längerer Zeit mit neuronalen Netzen beschäftigt. Es gab ein Programm was das Netz als Dll exportieren konnte. Muss mal gucken ob ich das noch finde.

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    @Mokki
    Das wird nicht funktionieren, da die Trainigsdaten viel zu gering und für einen Chatbot kaum geeignet sind.

    @0luca0
    Das generelle Problem ist jedoch, dass heutzutage jeder wie du denkt, dass man mit neuronalen Netzen alles ohne großen Aufwand lösen man. Das Problem hierbei ist, dass neuronale Netze eventuell dazu fähig sein können, man für solche Anwendungen jedoch einen extrem großes Netzwerk benötigen und gigantische Mengen an Trainingsdaten brauchen würde - beides hast du nicht.

    Daher würde ich sagen, dass neuronale Netze allein für sowas definitiv nicht praktikabel sind. Solltest du dich trotzdem in das Thema einarbeiten wollen (das ist es definitiv wert), ist folgende Videoserie zu empfehlen:

    Auch eine Version mit weniger Dependenz auf oder gar keine neuronalen Netze halte ich für eine Einzelperson für nicht machbar: Satzanalyse ist schwer, das generelle Finden des tieferen Sinnes eines beliebigen Satzes eine Sache für Professionelle mit vielen Jahren Erfahrung auf dem Gebiet. Kurz: Lass es sein, du wirst daran keinen Spaß haben.

    Was hält dich denn davon ab, erstmal etwas einfacheres zu versuchen? Auf dem Gebiet gibt es sehr interessante Bereiche wie beispielsweise die Handschriftenerkennung, welche sehr herausfordernd aber trotzdem machbar sind - auch bzw. im Speziellen mit neuronalen Netzen.

    Grüße
    Stefan
    @Mokki
    Ich bin kein Experte auf diesem Gebiet und würde daher sehr ungern irgendeine aus der Luft gegriffene Zahl nennen. Aber ich gehe davon aus, dass niemand hier im Forum es auch mit einer noch so großen Anzahl an Nachrichten schaffen könnte, auch wenn man den Fakt, dass die benötigte Rechenleistung ins unermessliche steigen würde, außer Acht lassen würde.
    Also ich denk mit der Rechenleistung hast du recht. Aber 100.000 Nachrichten sind kein Problem(mit Gruppen), die sind wahrscheinlich die meiste Zeit Smalltalk, aber ich glaub des is für nen Bot sogar besser...
    Die 100.000 sind zwar nur ne Vermutung, aber
    ich denke es ist realistisch...

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread