Чат-бот NER — это платформа с открытым исходным кодом, специально созданная для поддержки распознавания объектов в текстовых сообщениях. Проведя тщательное исследование существующих систем NER, команда Haptik почувствовала острую необходимость создания структуры, адаптированной для разговорного ИИ, а также поддерживающей индийские языки. В настоящее время Chatbot-ner поддерживает английский, хинди, гуджарати, маратхи, бенгали и тамильский языки , а также их смешанную кодовую форму. В настоящее время эта структура использует общие шаблоны, а также несколько методов НЛП для извлечения необходимых сущностей из языков с разреженными данными. Структура API Chatbot ner разработана с учетом удобства использования для приложений диалогового искусственного интеллекта. Команда Haptik постоянно работает над переносом этой платформы на все индийские языки и их соответствующие местные диалекты .
Подробную документацию о том, как настроить Chatbot NER в вашей системе с помощью Docker, можно найти здесь.
Тип объекта | Ссылка на код | Описание | пример | Поддерживаемые языки — код ISO 639-1. |
---|---|---|---|---|
Время | Детектор времени | Определить время по заданному тексту. | завтра утром в 5, कल सुबह ५ बजे, kal subah 5 baje | 'эн', 'привет', 'гу', 'бн', 'мистер', 'та' |
Дата | ДатаAdvancedDetector | Определить дату по заданному тексту | в следующий понедельник, Агл Сомвар, अगले सोमवार | «эн», «привет», «гу», «бн», «мистер», «та» |
Число | Детектор чисел | Определить число и соответствующие единицы в заданном тексте | 50 рупий на человека, в Клинтоне, Миссисипи и Лос-Анджелесе. | «эн», «привет», «гу», «бн», «мистер», «та» |
Номер телефона | ТелефонДетектор | Определить номер телефона в заданном тексте | 9833530536, +91 9833530536, ९८३३४३०५३५ | «эн», «привет», «гу», «бн», «мистер», «та» |
Электронная почта | Детектор электронной почты | Обнаружение электронной почты в тексте | привет@haptik.co | 'эн' |
Текст | Текстовый детектор | Обнаружение пользовательских объектов в текстовой строке с помощью полнотекстового поиска в хранилище данных или на основе контекстной модели. | Закажи мне пиццу , Мимо Мэн मौसम कैसा है | Поиск поддерживается для «en», «привет», «gu», «bn», «mr», «ta». Контекстная модель поддерживается только для «en». |
бронирование | PNRдетектор | Обнаружение кодов PNR (последовательных) в данном тексте. | Мой PNR на рейс — 4SGX3E. | 'эн' |
регулярное выражение | RegexDetector | Обнаружение объектов с использованием пользовательских шаблонов регулярных выражений | Мой PNR на рейс — 4SGX3E. | NA |
Существуют и другие пользовательские детекторы, такие как город, размер бюджетных покупок, которые созданы на основе вышеупомянутых основных детекторов, но в настоящее время они поддерживаются только на английском языке и доступны только для индийских пользователей. В настоящее время мы находимся в процессе их реструктуризации, чтобы масштабировать их на разных языках и в разных географических регионах, и их текущие версии могут в будущем стать устаревшими. Поэтому для уже находящихся в производстве приложений мы рекомендуем использовать только первичные детекторы, упомянутые в таблице выше.
Подробную документацию по API для всех типов сущностей можно найти здесь. Текущая структура API создана для простоты доступа к ней из диалоговых приложений искусственного интеллекта. Однако его можно использовать и для других приложений.
В любом диалоговом приложении ИИ необходимо идентифицировать несколько объектов, и логика обнаружения одного объекта может отличаться от другого. Мы организовали этот репозиторий, как показано ниже.
Мы классифицировали сущности на четыре основных типа: числовые , шаблонные , временные и текстовые .
цифра: этот тип будет содержать все объекты, которые имеют дело с цифрой или числами. Например, определение количества, определение бюджета, определение размера и т. д.
шаблон: он будет содержать всю логику обнаружения, где идентификация может быть выполнена с использованием шаблонов или регулярных выражений. Например, адрес электронной почты, номер_телефона, номер телефона и т. д.
временной: он будет содержать логику обнаружения для определения времени и даты.
текстовый: он идентифицирует объекты, просматривая словарь. Это обнаружение в основном содержит обнаружение текста (например, кухни, блюда, ресторанов и т. д.), названия городов, местоположения пользователя и т. д.
Числовые, временные и шаблонные значения были перенесены в ner_v2 для обеспечения переносимости языка и более гибкой логики обнаружения. В ner_v1 в настоящее время языковую поддержку имеет только текстовый объект. Мы перенесем его на ner_v2 без каких-либо серьезных изменений API.
В настоящее время вы можете внести свой вклад в ner_v2 в чат-боте NER, добавив данные обучения или предоставив шаблоны обнаружения в форме регулярных выражений. Мы будем работать над устранением некоторых архитектурных ограничений, которые упростят процесс добавления моделей ML и новых объектов в будущем.
Пожалуйста, ознакомьтесь с общими этапами внесения вклада, утверждения и руководства по кодированию, упомянутыми здесь.