ChatterBot — это механизм диалоговых диалогов на основе машинного обучения, созданный на Python, который позволяет генерировать ответы на основе набора известных диалогов. Независимый от языка дизайн ChatterBot позволяет обучить его говорить на любом языке.
Пример типичного ввода может быть примерно таким:
пользователь: Доброе утро! Как дела?
бот: У меня все хорошо, спасибо, что спросили.
пользователь: Пожалуйста.
бот: Тебе нравятся шляпы?
Необученный экземпляр ChatterBot начинает работу, не зная, как общаться. Каждый раз, когда пользователь вводит оператор, библиотека сохраняет введенный им текст и текст, на который это утверждение было ответом. По мере того, как ChatterBot получает больше входных данных, количество ответов, на которые он может ответить, и точность каждого ответа по отношению к входному оператору увеличиваются. Программа выбирает наиболее подходящий ответ, выполняя поиск наиболее близкого совпадающего известного утверждения, соответствующего входным данным, а затем возвращает наиболее вероятный ответ на это утверждение в зависимости от того, как часто каждый ответ выдается людьми, с которыми общается бот.
Этот пакет можно установить из PyPi, запустив:
pip install chatterbot
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot('Ron Obvious')
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")
# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")
ChatterBot поставляется с служебным модулем обработки данных, который можно использовать для обучения чат-ботов. На данный момент в этом модуле имеются обучающие данные для более чем десятка языков. Мы будем весьма признательны за предоставление дополнительных обучающих данных или обучающих данных на других языках. Если вы хотите внести свой вклад, ознакомьтесь с файлами данных в пакете Chatterbot-corpus.
from chatterbot.trainers import ChatterBotCorpusTrainer
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train based on the english corpus
trainer.train("chatterbot.corpus.english")
# Train based on english greetings corpus
trainer.train("chatterbot.corpus.english.greetings")
# Train based on the english conversations corpus
trainer.train("chatterbot.corpus.english.conversations")
Вклады в корпус приветствуются! Пожалуйста, сделайте запрос на вытягивание.
Просмотрите документацию по ChatterBot в разделе «Прочитайте документы».
Чтобы собрать документацию самостоятельно с помощью Sphinx, запустите:
sphinx-build -b html docs/ build/
Примеры см. в каталоге примеров в репозитории git этого проекта.
Существует также пример проекта Django с использованием ChatterBot, а также пример проекта Flask с использованием ChatterBot.
Изменения см. в примечаниях к выпуску https://github.com/gunthercox/ChatterBot/releases.
master
, например создайте новую ветку my-pull-request
.ChatterBot распространяется по лицензии BSD, состоящей из 3 пунктов.