Чат бот - Русскоязычный набор инструментов
Данный чат-бот архитектурно сочетает два подхода:
✔ retrieval-based архитектура: ответ на заданный вопрос ищется в базе знаний с помощью набора NLP моделей.
✔ rule-based подход: чат-бот может генерировать реплики и управлять диалогом помощью описанный вручную правил, сценариев и веб-форм
Чат бот - Русскоязычный набор инструментов
База знаний чат бота состоит из двух больших частей - базы фактов и FAQ. В базе фактов ищется факт, на основе которого можно сформулировать ответ, даже если текст ответа в явном виде не содержится в факте. В FAQ ищутся готовые ответы на типовые вопросы, при этом текст ответа выдается собеседнику без изменений. Поиск информации в базе фактов осуществляется моделью релевантности предпосылки и вопроса. Подбор подходящей записи в FAQ выполняется помощью детектора синонимичности. Обе эти модели обучаются на больших дата сетах.
Правила и вербальные формы описываются вручную, но также опираются на несколько NLP моделей. Модель синонимичности и классификатор интернета позволяют выбирать подходящее правило. Named Entity Recognition модуль извлекает из реплики человека необходимую ключевую информацию.
По умолчанию бот отвечает пассивно, не пытаясь задавать уточняющие вопросы и т.д. Процедурные средства (правила, сценарии, веб-формы) могут сделать бота более про активным, он будет задавать свои вопросы собеседнику, активно пополняя свою базу знаний.