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