Satz einlesen und auswerten



  • Hi,

    Ich versuche mit C++ ein Gespräch zu führen.
    Mein Problem dabei ist, ich weiß nicht wie man einen Satz auswertet, ich hoffe ihr könnt mir da helfen!

    Ein Beispiel:

    Ich schreibe in die Konsole: "Wie heißt dein Bruder?"
    Die Konsole gibt: "Daniel" zurück.

    Ausgewertet wurde dann z.B. so:
    Das Programm sucht im Satz nach dem Wort Bruder.
    Das Programm sucht im Satz nach dem Wort heißen/heißt.

    Dies verbindet er und kann die richtige Antwort geben.

    Ist soetwas in C++ möglich? Wenn ja, wie?

    Danke für eure Antworten!



  • Das hier wär vielleicht ein guter Ausgangspunkt: http://en.wikipedia.org/wiki/Chatterbot bzw. http://en.wikipedia.org/wiki/Natural_language_understanding
    In den Referenzen findest du weiterführende Literatur zum Thema...


  • Mod

    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <strongai>
    #include <soul>
    
    int main()
    {
      std::artificial_conciousness<std::string> ai;  // Expertenobjekt erstellen
      std::geometric_learning(ai);                   // Trainieren
      std::bind(ai, std::soul<child>("Damian"));     // Optional, macht das Gespräch interessanter
      std::query(ai, std::cin, std::cout);           // Frage-Antwort-Spiel aus algorithm
      return std::kill_all_humans(ai);               // Ende des Programms
    }
    


  • http://ideone.com/VYwMS

    prog.cpp:4:20: fatal error: strongai: No such file or directory
    compilation terminated.


  • Mod

    Das ist ein C++11-Feature, das bei ideone noch nicht implementiert ist.



  • Swordfish schrieb:

    http://ideone.com/VYwMS

    prog.cpp:4:20: fatal error: strongai: No such file or directory
    compilation terminated.

    [url=http://manski.net/wordpress/wp-content/uploads/2011/05/double-facepalm.jpg]Anmeldungsdatum: 27.03.2005
    Beiträge: 2844[/url]


Log in to reply