Problem bei Chatbot Wortüberprüfung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei Chatbot Wortüberprüfung

    Hallo Community,

    momentan arbeite ich an einem Chatbot, bin aber noch ganz weit in der Anfangsphase und auch noch am rumprobieren.

    Bis jetzt habe ich über HTML ein Formular erstellt und dann per PHP ein Array mit 4 Begrüßungswörtern definiert.
    Anschließend habe ich eine Funktion gebastelt, die überprüft, ob ein Wort, welches in das Formular eingegeben wurde, mit einem aus dem Array übereinstimmt. Wenn ja soll automatisch ein zufälliges Wort aus dem Array ausgespuckt werden.

    Funktioniert auch alles prima, aber ich würde gerne überprüfen, ob das erste Wort der Eingabe mit einem Wort aus dem Array übereinstimmt.

    Beispiel das Wort "Hallo". Wird in die Eingabe nun "Hallo" geschrieben und abgeschickt, wird ein zufälliges Begrüßngswort aus dem Array ausgegeben.
    Ich hätte aber gerne, dass auch auf einen Satz wie z.B. "Hallo du da" oder so mit einem zufälligen Wort reagiert wird.

    Etwas kompliziert zu beschreiben finde ich Hoffe es ist verständlich

    Hier meine Funktion:
    PHP-Code:
    <?php
    $begruessung 
    = array("Hallo""Hi""Hey""guten Tag");

    function 
    begruessungswoerter($wort$woerter)
    {
       
    $fund 0;
       for (
    $i 0$i count($woerter); $i++)
       {
         if (
    strtolower($woerter[$i]) == strtolower($wort)) 
           
    $fund=1;
       }
       
    srand((float) microtime() * 10000000);


       if (
    $fund == 1) echo $woerter[array_rand($woerter)];
    }
    echo 
    "Bots Antwort: ";
    echo 
    begruessungswoerter($_POST[nachricht], $begruessung);
    ?>
    Hab da echt keine Idee, wie das funktionieren könnte. Vielleicht mag mir ja jemand helfen
    Vielen Dank schonmal im voraus.
    MFG Hampelmann

  • #2
    Funktion in die Tonne und dann einfach nen RegExp drüber laufen lassen:

    ^(Hallo|Hi|Hey|Guten Tag)( .*)?$

    Was halt wichtig ist, dass du wörter wie "Highlight" nicht beantwortest, Groß/Kleinschreibung tolerierst, ... (Was fällt dir sonst noch ein).

    OffTopic:
    PS: Von einem "richtigen" Chatbot bis du damit aber noch weit entfernst, aber vielleicht mache ich ja gerade auch nur deine Info-Hausaufgaben.


    BTW: srand hab ich schon lang nicht mehr gesehen. Vielleicht solltest du ab und zu mal eine Blick ins Handbuch werfen.

    Kommentar


    • #3
      Ja gut, dass ich damit noch meilenweit davon entfernt bin weiß ich und ich denke auch nicht, dass der so richtig super wird
      Aber ein bisschen sollte er halt schon können und schaffen.

      Mit den Info-Hausaufgaben liegst du garnicht so falsch.
      Wird ein Info Projekt, aber du sollst das ja nicht für mich machen, ich wollte nur Tipps bzw. eine kleine Hilfestellung, weil ich selber nicht weiter wusste, kann ja mal passieren

      Ich hätte auch meinen Lehrer fragen können, aber ich wollte nicht bis Mittwoch warten, sondern übers Wochenende weiterarbeiten
      Das mit RegExp werd ich mir mal angucken. Danke

      Dachte nur, wo ich so schön eine Funktion geschrieben hab, kann man das da irgendwie einbauen

      Danke soweit!

      Kommentar


      • #4
        Dein Ansatz bekommt ja schon an der Stelle Probleme, wo du Begrüßungswörter zulässt, die aus mehreren Wörtern bestehen.

        Kommentar


        • #5
          Auch wieder wahr. Ich probier mal deinen Tipp aus. Dankeschön!!

          Kommentar

          Lädt...
          X