El ejemplo sobre cómo implementar un chatbot simple usando el modelo seq2seq en Python usando la versión tensorflow 1.4. Este ejemplo de Chatbot muestra el mecanismo de atención y también el agrupamiento.
He utilizado el corpus Cornell Movie Dialogs para este ejemplo. Puedes descargarlo: aquí
- Versión de Python utilizada en este proyecto: 3.5+
- Pandas 0.18.0
- Numerosos 1.10.4
- TensorFlow 1.4.0
Las funciones principales del modelo seq2seq están todas dentro de model_utils.py .
El preprocesamiento de datos y las funciones de PNL se encuentran dentro de cornell_data_utils.py .
Si quieres jugar con los hiperparámetros de los modelos, usa config.py .
Para ejecutar este proyecto necesitará algún software, como Anaconda, que brinda soporte para ejecutar archivos .ipynb (Jupyter Notebook).
Después de asegurarte de tener eso, puedes ejecutar desde una terminal o cmd las siguientes líneas:
ipython notebook chatbot.ipynb
o
jupyter notebook chatbot.ipynb
Licencia de TI
Copyright (c) 2017 Luka Anicin
Por el presente se otorga permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para operar con el Software sin restricciones, incluidos, entre otros, los derechos de uso, copia, modificación, fusión. , publicar, distribuir, sublicenciar y/o vender copias del Software, y permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIOS EN EL SOFTWARE.