Пример реализации простого чат-бота с использованием модели seq2seq в Python с использованием версии tensorflow 1.4. В этом примере чат-бота показан механизм внимания и группирование.
Для этого примера я использовал корпус Cornell Movie Dialogs. Вы можете скачать его: здесь
- Версия Python, используемая в этом проекте: 3.5+.
- Панды 0.18.0
- Нампи 1.10.4
- ТензорФлоу 1.4.0
Все основные функции модели seq2seq находятся внутри model_utils.py .
Функции предварительной обработки данных и NLP находятся внутри cornell_data_utils.py .
Если вы хотите поиграть с гиперпараметрами моделей, используйте config.py .
Для запуска этого проекта вам понадобится какое-нибудь программное обеспечение, например Anaconda, которое обеспечивает поддержку запуска файлов .ipynb (Jupyter Notebook).
Убедившись, что у вас это есть, вы можете запустить из терминала или cmd следующие строки:
ipython notebook chatbot.ipynb
или
jupyter notebook chatbot.ipynb
ИТ-лицензия
Copyright (c) 2017 Лука Аницын
Настоящим бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), предоставляется разрешение на работу с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение. публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.