Das Beispiel zur Implementierung eines einfachen Chatbots mithilfe des seq2seq-Modells in Python unter Verwendung der Tensorflow-Version 1.4. Dieses Chatbot-Beispiel zeigt auch den Aufmerksamkeitsmechanismus und das Bucketing.
Für dieses Beispiel habe ich das Cornell Movie Dialogs-Korpus verwendet. Sie können es herunterladen: hier
- In diesem Projekt verwendete Python-Version: 3.5+
- Pandas 0.18.0
- Numpy 1.10.4
- TensorFlow 1.4.0
Die Kernfunktionen des seq2seq-Modells sind alle insude model_utils.py .
Datenvorverarbeitung und NLP-Funktionen befinden sich in cornell_data_utils.py .
Wenn Sie mit Modellhyperparametern spielen möchten, verwenden Sie config.py .
Um dieses Projekt auszuführen, benötigen Sie Software wie Anaconda, die die Ausführung von .ipynb-Dateien (Jupyter Notebook) unterstützt.
Nachdem Sie sichergestellt haben, dass Sie das haben, können Sie von einem Terminal aus oder mit dem Befehl „nächste Zeilen“ ausführen:
ipython notebook chatbot.ipynb
oder
jupyter notebook chatbot.ipynb
IT-Lizenz
Copyright (c) 2017 Luka Anicin
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.