Официальный аккаунт компании LabelMe.
Мы... · 8 апр 2022
Вообще чат-ботов можно создавать двумя путями: скрипты (когда стараются предусмотреть возможные варианты диалога) и с помощью нейросетей.
Второй вариант хорош тем, что может адаптироваться под разные формулировки и лучше понимать контекст.
Для обучения диалоговых нейросетей в первую очередь нужен релевантный набор данных. В данном случае первый уровень работы над обучающим датасетом - сбор или парсинг реальных текстовых диалогов со службой поддержки. Так нейросеть будет обучаться выявлять закономерности.
После того, как будет достаточный по размеру набор данных - нужно извлечь из него актуальные для задачи именованные сущности.
Именованные сущности — это своего рода категории слов и словосочетаний сгруппированных по значению.
Например, номер заказа, тему обращения, сроки доставки, описание качества и так далее. Для нейросети это своего рода ключевые слова или теги, на которые нужно обратить внимание. Нейросеть должна понимать контекст, чтобы генерировать ответ, учитывающий потребности клиента.
Чаще всего выделяются следующие сущности:
Также применяется Relation Extraction разметка. Она позволяет установиться взаимосвязи между этими сущностями.
Кстати, у нас есть один пример подобного датасета в бесплатной библиотеке. Мы создавали его в рамках некоммерческого сотрудничества. За основу был взят англоязычный набор данных, большую часть которого мы перевели на русский. Скачать его можно бесплатно вот здесь.
Еще лучше, если вместе с извлечением именованных сущностей будет произведен анализ тональности. Здесь особенно важен человеческий фактор разметки, так как редко, кто дословно пишет “я зол”. Вместо этого нейросеть должна уметь определять настрой человека по формулировками и лексике.