Эволюция автоматизированного обмена сообщениями, которая началась в 1966 году с первого чат-бота ELIZA, в настоящее время достигла стадии, когда чат-боты нашли свое применение в нескольких отраслевых областях, таких как личная помощь, банковское дело, электронная коммерция, здравоохранение и т. д. Первые эксперименты показали положительные результаты для многих предприятий, потребность в создании индивидуальных и ориентированных на предметную область чат-ботов для конкретных приложений растет в геометрической прогрессии.

Создание бота, который устраняет реальные болевые точки отрасли, — это сочетание задач проектирования, инженерии и исследований. В то время как платформы и фреймворки, доступные для решения проблем проектирования и проектирования, имеют однонаправленную направленность, ресурсы, предназначенные для исследований/машинного обучения для чат-ботов, весьма универсальны и разбросаны. Во время нашего путешествия в Haptik мы создали и настроили различные модули машинного обучения, специально ориентированные на создание чат-ботов в узких доменах и нацеленные на сквозное выполнение конкретной задачи, такой как бронирование поездок, рекомендации подарков и заказ, лидогенерация для разных бизнесов и т.д.

В этом блоге мы поговорим об одном из наших неотъемлемых модулей ЧАТ-бот NER, то есть Распознавании именованных объектов (NER), исходный код которого мы открыли специально для облегчения анализа чат-ботов, ориентированных на такие области, как личная помощь. , электронная коммерция, страхование, здравоохранение, фитнес и т. д. Существует множество подходов (например, на основе генерации, на основе поиска, на основе эвристики и т. д.), используемых для создания диалоговых ботов или диалоговых систем, и каждый из этих методов использует NER где-то или другой в соответствующем конвейере, так как это один из самых важных модулей в создании диалоговых ботов. Помимо функций, доступных в обычных системах NER, Chatbot NER содержит несколько надстроек, которые специально помогают в создании чат-ботов.

Так что же такое NER чат-бота?

NER — это подзадача извлечения информации, которая направлена ​​на поиск и классификацию именованных сущностей в тексте по заранее определенным категориям, таким как имя человека, местонахождение, организация, контактные данные, выражения времени, количества, денежного выражения, процента и т. д.

Например, "Напомни мне позвонить в материковый Китай послезавтра в 18:00".

В этом примере: — *Материковый Китай* — это именованный объект, принадлежащий категории *ресторан* — *послезавтра* — это *дата* — *18:00* — это *время*

«Напомни мне позвонить в материковый Китай послезавтра в 18:00».

- *Материковый Китай* является именованным объектом, относящимся к категории *ресторан*.

- *послезавтра* - это *свидание*

Чат-бот NER основан на эвристике и использует несколько методов НЛП для извлечения необходимых объектов из интерфейса чата. В чат-боте есть несколько объектов, которые необходимо идентифицировать, и каждый объект должен различаться в зависимости от его типа, поскольку разные объекты имеют разную логику обнаружения. Ниже приводится краткое иерархическое представление классификации сущностей, которую мы использовали в NER чат-бота:

Мы разделили объекты на четыре основных типа:
*числовой*, *шаблон*, *временной* и * текстовый*.

– **число**: этот тип будет содержать все объекты, имеющие дело с числом или числами. Например, определение числа, определение бюджета, определение размера и т. д.
— **шаблон**: содержит всю логику обнаружения, в которой идентификация может выполняться с использованием шаблонов или регулярных выражений. Например, электронная почта, номер_телефона, PNR и т. д.
— **временный**: он будет содержать логику обнаружения для определения времени и даты.
— ** textual**: идентифицирует сущности, просматривая словарь. Это обнаружение в основном включает обнаружение текста (например, кухня, блюдо, рестораны и т. д.), названия городов, местонахождение пользователя и т. д.

Подробное объяснение подхода см. в нашей Документации по подходу.

Зачем использовать чат-бот NER?

– Существует ряд доступных NER, таких как Stanford NER, spaCy NER и т. д., но ни один из них не предназначен специально для создания чат-ботов. В существующих NER требуется множество настроек, и мы сделали все это за вас в Чат-бот NER.

– Мы уже добавили несколько объектов, таких как *названия ресторанов, кухня, список городов, время, дата и т. д.* Пожалуйста, ознакомьтесь с нашей Документацией по встроенным объектам.

– Согласованность и нормализация выходного формата для разных объектов снижает инженерные усилия, необходимые для его подключения к вашей системе.

– Вы можете создавать/обновлять объекты, просто добавляя данные. Ознакомьтесь с документацией по теме Как добавить собственные сущности?

- Выполните всего несколько шагов, чтобы разместить его на другом сервере и запустить как отдельную службу.

– Мы активно работаем в этом направлении, если возникнут какие-либо сомнения или проблемы при настройке или использовании нашего сервиса, сообщите нам, Хаптик, и мы исправим это, как только сможем 🙂

Шаги установки

Пожалуйста, ознакомьтесь с нашими шагами установки, чтобы установить Chatbot NER в вашей системе.

Вывод

Мы надеемся, что Чат-бот NER поможет вам добавить больше утилит к вашему боту и упростить процесс обнаружения сущностей. Мы ожидаем обратной связи от пользователей, чтобы мы могли улучшить то же самое. В настоящее время наш чат-бот основан на эвристике и использует несколько методов НЛП для извлечения необходимых сущностей из интерфейса чата, и вскоре мы собираемся выпустить обновленную версию этого репозитория, интегрировав в него наши модели машинного обучения.
Будем надеяться, что этот репозиторий представляет собой мощный ресурс и вносит вклад в исследовательское и инженерное сообщество.

По любым вопросам или поддержке, связанным с этим репозиторием, оставляйте свои комментарии ниже.

Также, не забывайте, мы нанимаем высококлассных инженеров. Итак, если вы заинтересованы, свяжитесь с нами по адресу [email protected].

Первоначально опубликовано на haptik.ai.