O exemplo de como implementar chatbot simples usando o modelo seq2seq no python usando tensorflow versão 1.4. Este exemplo do Chatbot também mostra o mecanismo de atenção e o agrupamento.
Usei o corpus Cornell Movie Dialogs para este exemplo. Você pode baixá-lo: aqui
- Versão Python usada neste projeto: 3.5+
- Pandas 0.18.0
- Numpy 1.10.4
- TensorFlow 1.4.0
As principais funções do modelo seq2seq estão todas incluídas em model_utils.py .
O pré-processamento de dados e as funções de PNL estão dentro de cornell_data_utils.py .
Se você quiser brincar com hiperparâmetros de modelos, use config.py .
Para executar este projeto você precisará de algum software, como o Anaconda, que fornece suporte para execução de arquivos .ipynb (Jupyter Notebook).
Depois de ter certeza disso, você pode executar a partir de um terminal ou cmd as próximas linhas:
ipython notebook chatbot.ipynb
ou
jupyter notebook chatbot.ipynb
Licença de TI
Copyright (c) 2017 Luka Anicin
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar , publicar, distribuir, sublicenciar e/ou vender cópias do Software e permitir que as pessoas a quem o Software seja fornecido o façam, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão serão incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM HIPÓTESE ALGUMA OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.