Чат-ботам нужны контекстные сущности, которые можно разложить

Потому что в общей речи мы используем вложенные сущности и подтипы

Введение

Обнаружение сущностей, встроенных в высказывания пользователя, остается проблемой. Особенно если вы хотите фиксировать сущности неструктурированными методами и по-настоящему разговорным.

Намерения можно рассматривать как глаголы, намерения пользователя. Вы можете думать о Google Search как о самой крупной в мире машине для обнаружения намерений.

Сущности можно рассматривать как существительные. Если пользователь скажет: «Я еду на поезде из Парижа в Лиссабон…», то это будут следующие объекты: поезд, Париж и Лиссабон.

Конечно, элементарные методы могут использоваться для извлечения сущностей из одного или нескольких предложений… к ним относятся:

  • Запрашивать пользователя для каждой сущности индивидуально, одну за другой. Независимо от того, сказал пользователь это уже или нет.
  • Используйте выделение слов или регулярные выражения, чтобы находить или извлекать определенные слова. По мере роста объемов данных это становится все более невыполнимым.

Но что мы делаем, как люди?

Во время разговора мы можем естественным образом и интуитивно извлекать сущности из высказывания.

Обычно мы используем два метода:

  • Контекстная осведомленность
  • Разложение

Контекст высказывания помогает нам найти сущность. Если покупатель скажет: «Я хочу поехать в Петропавловск-Камчатский».

Хотя мы никогда не слышали об этом конкретном городе или поселке, мы понимаем, что это сущность (существительное) города или, по крайней мере, место.

Поэтому мы используем контекст конкретного слова в предложении, чтобы знать, что оно представляет.

Во-вторых, мы разбираем объект. Мы не только знаем, что это город, но и знаем, что это подтип города назначения. В отличие от города отправления.

Аннотации сущностей

Процесс аннотирования - это способ идентификации сущностей по их контексту в предложении.

Часто сущности имеют конечный набор определенных значений. Затем есть объекты, которые не могут быть представлены конечным списком; например, города мира или названия или адреса. У этих типов сущностей слишком много вариантов, чтобы их можно было перечислить по отдельности.

Для этих сущностей вы должны использовать аннотации; сущности, определяемые их контекстным использованием.

И именно здесь LUIS от Microsoft действительно выходит на первый план. LUIS предусматривает четыре типа сущностей:

  • Узоры
  • Регулярное выражение
  • Список
  • Машинное обучение

Машинное обучение - предмет нашей озабоченности в этой статье.

Ниже представлен вид нашего единственного намерения под названием Путешествие с примерами высказываний. Вы увидите, что эти высказывания относительно сложны и содержат несколько сущностей в каждом высказывании.

Мы могли бы разбить их на несколько намерений, чтобы упростить их. Однако LUIS позволяет нам создавать сложные сущности, тем самым упрощая процесс намерений.

Здесь вы можете увидеть аннотированные предложения с контекстно определенной сущностью под названием Сведения о поездке.

Но вы можете видеть подтипы, определенные для каждой сущности, это говорит о декомпозиции сущностей.

Разложение

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

Начнем с определения единой сущности, которая называется

  • Подробная информация о путешествии.

Внутри этой сущности мы определили три суб-сущности. Вы можете думать об этом как о вложенных объектах или подтипах. Определены три подтипа:

  • Период времени
  • Режим
  • Город

Отсюда у нас есть подтип для City:

  • Из города
  • В город

Это может показаться запутанным, но процесс чрезвычайно интуитивно понятен и позволяет естественным образом расширять разговорные элементы.

Данные представлены в удобном для понимания формате. Управлять своей разговорной средой станет проще, чем раньше.

Теперь мы можем вернуться к нашему намерению и аннотировать новое высказывание. Остается определить только Из города.

Вот примеры намерений, используемые для обучения модели с помощью сущности, подтипов и подтипов; полностью контекстуализирован.

Тестирование нашего интерфейса NLU

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

Ниже введенное предложение: «3 августа я уезжаю из Парижа в Лиссабон поездом». Я выбрал это предложение, поскольку оно немного отличается от примеров, которые я добавил к обучающим данным.

Результаты четко обозначены ниже.

Вывод

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

Возможность организовывать сущности и компоненты группового разговора с вложенными сущностями дает огромные преимущества.