L'exemple sur la façon d'implémenter un chatbot simple à l'aide du modèle seq2seq dans Python à l'aide de la version Tensorflow 1.4. Cet exemple de Chatbot montre également le mécanisme d'attention et le regroupement.
J'ai utilisé le corpus Cornell Movie Dialogs pour cet exemple. Vous pouvez le télécharger : ici
- Version Python utilisée dans ce projet : 3.5+
- Pandas 0.18.0
- Numpy 1.10.4
- TensorFlow 1.4.0
Les fonctions principales du modèle seq2seq sont toutes incluses dans model_utils.py .
Le prétraitement des données et les fonctions NLP se trouvent dans cornell_data_utils.py .
Si vous souhaitez jouer avec les hyperparamètres des modèles, utilisez config.py .
Pour exécuter ce projet, vous aurez besoin d'un logiciel, comme Anaconda, qui prend en charge l'exécution des fichiers .ipynb (Jupyter Notebook).
Après vous être assuré de l'avoir, vous pouvez exécuter à partir d'un terminal ou cmd les lignes suivantes :
ipython notebook chatbot.ipynb
ou
jupyter notebook chatbot.ipynb
Licence informatique
Copyright (c) 2017 Luka Anicin
L'autorisation est accordée par la présente, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), d'utiliser le Logiciel sans restriction, y compris, sans limitation, les droits d'utilisation, de copie, de modification, de fusion. , publier, distribuer, accorder des sous-licences et/ou vendre des copies du Logiciel, et permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du logiciel.
LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS LIMITATION LES GARANTIES DE QUALITÉ MARCHANDE, D'ADAPTATION À UN USAGE PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU LES TITULAIRES DES DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS UNE ACTION CONTRACTUELLE, DÉLIT OU AUTRE, DÉCOULANT DE, DE OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRANSACTIONS DANS LE LOGICIEL.