Amazon Comprehend объявляет о снижении ограничений на количество аннотаций для распознавания пользовательских сущностей PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Amazon Comprehend объявляет о снижении лимита аннотаций для распознавания пользовательских сущностей

Amazon Comprehend — это служба обработки естественного языка (NLP), которую вы можете использовать для автоматического извлечения сущностей, ключевых фраз, языка, настроений и других сведений из документов. Например, вы можете немедленно начать обнаруживать такие объекты, как люди, места, коммерческие товары, даты и количества, через Amazon Comprehend консоль, Интерфейс командной строки AWSили API Amazon Comprehend. Кроме того, если вам нужно извлечь объекты, которые не являются частью Встроенные типы сущностей Amazon Comprehend, вы можете создать пользовательскую модель распознавания сущностей (также известную как настраиваемый объект распознаватель) для извлечения терминов, более подходящих для вашего конкретного варианта использования, таких как названия элементов из каталога продуктов, идентификаторы домена и т. д. Самостоятельное создание точного распознавателя сущностей с использованием библиотек и фреймворков машинного обучения может быть сложным и трудоемким процессом. Amazon Comprehend значительно упрощает обучение вашей модели. Все, что вам нужно сделать, это загрузить свой набор данных документов и аннотаций и использовать консоль Amazon Comprehend, интерфейс командной строки AWS или API для создания модели.

Чтобы обучить пользовательский распознаватель сущностей, вы можете предоставить обучающие данные в Amazon Comprehend как аннотации или списки объектов. В первом случае вы предоставляете набор документов и файл с аннотациями, указывающими расположение объектов в наборе документов. В качестве альтернативы, со списками сущностей вы предоставляете список сущностей с соответствующей меткой типа сущности и набор неаннотированных документов, в которых вы ожидаете присутствие ваших сущностей. Оба подхода можно использовать для обучения успешной пользовательской модели распознавания сущностей; однако бывают ситуации, в которых один метод может быть лучшим выбором. Например, когда значение определенных сущностей может быть неоднозначным и зависеть от контекста, рекомендуется предоставлять аннотации, поскольку это может помочь вам создать модель Amazon Comprehend, способную лучше использовать контекст при извлечении сущностей.

Аннотирование документов может потребовать довольно много усилий и времени, особенно если учесть, что качество и количество аннотаций влияют на результирующую модель распознавания объектов. Неточные или слишком мало аннотаций могут привести к плохим результатам. Чтобы помочь вам настроить процесс получения аннотаций, мы предоставляем такие инструменты, как Amazon SageMaker - основа правды, который можно использовать для более быстрого комментирования документов и создания расширенный файл аннотаций манифеста. Однако, даже если вы используете Ground Truth, вам все равно необходимо убедиться, что ваш обучающий набор данных достаточно велик для успешного создания вашего распознавателя сущностей.

До сегодняшнего дня, чтобы приступить к обучению пользовательского распознавателя сущностей Amazon Comprehend, необходимо было предоставить набор из не менее 250 документов и не менее 100 аннотаций для каждого типа сущности. Сегодня мы объявляем, что благодаря недавним улучшениям в моделях, лежащих в основе Amazon Comprehend, мы снизили минимальные требования для обучения распознавателя с помощью файлов аннотаций в формате CSV в виде простого текста. Теперь вы можете создать пользовательскую модель распознавания сущностей, используя всего три документа и 25 аннотаций для каждого типа сущности. Вы можете найти более подробную информацию о новых лимитах услуг в Руководство и квоты.

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

Подготовка набора данных

В этом посте мы объясняем, как мы обучали распознаватель нестандартных сущностей Amazon Comprehend с помощью аннотированных документов. Как правило, аннотации могут быть представлены как CSV-файл, расширенный файл манифеста, сгенерированный Ground TruthИли PDF-файл. Мы сосредоточены на текстовых аннотациях в формате CSV, потому что на этот тип аннотаций влияют новые минимальные требования. CSV-файлы должны иметь следующую структуру:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

Соответствующие поля следующие:

  • Файл – Имя файла, содержащего документы
  • линия – Номер строки, содержащей объект, начиная со строки 0
  • Начинать Офсет – Смещение символа во входном тексте (относительно начала строки), показывающее, где начинается объект, учитывая, что первый символ находится в позиции 0.
  • Конец смещения – Смещение символа во входном тексте, показывающее, где заканчивается сущность.
  • Тип – Имя типа объекта, который вы хотите определить

Кроме того, при использовании этого подхода вы должны предоставить набор учебных документов в виде файлов .txt с одним документом в строке или одним документом в файле.

Для наших тестов мы использовали Тест понимания естественного языка SNIPS, набор данных краудсорсинговых высказываний, распределенных по семи намерениям пользователей (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). Набор данных был опубликован в 2018 году в контексте статьи Snips Voice Platform: встроенная система понимания разговорного языка для частных голосовых интерфейсов. Куке и др.

Набор данных SNIPS состоит из набора файлов JSON, объединяющих как аннотации, так и необработанные текстовые файлы. Ниже приведен фрагмент из набора данных:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Перед созданием нашего распознавателя объектов мы преобразовали аннотации SNIPS и необработанные текстовые файлы в файл аннотаций CSV и файл документов .txt.

Ниже приводится выдержка из нашего annotations.csv файл:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

Ниже приводится выдержка из нашего documents.txt файл:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Конфигурация выборки и процесс сравнительного анализа

Для наших экспериментов мы сосредоточились на подмножестве типов сущностей из набора данных SNIPS:

  • КнигаРесторан – Типы объектов: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • ПолучитьПогода – Типы объектов: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Играть музыку – Типы объектов: track, artist, music_item, service, genre, sort, playlist, album, year

Кроме того, мы произвели подвыборку каждого набора данных, чтобы получить различные конфигурации с точки зрения количества документов, выбранных для обучения, и количества аннотаций на объект (также известных как кадры). Это было сделано с помощью пользовательского скрипта, предназначенного для создания наборов данных с подвыборкой, в которых каждый тип объекта появляется как минимум k раз, в течение не менее n документов.

Каждая модель обучалась с использованием определенной подвыборки обучающих наборов данных; девять конфигураций модели показаны в следующей таблице.

Имя набора данных подвыборки Количество документов, отобранных для обучения Количество документов, отобранных для тестирования Среднее количество аннотаций для каждого типа объектов (выстрелов)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Чтобы измерить точность наших моделей, мы собрали показатели оценки, которые Amazon Comprehend автоматически вычисляет при обучении распознавателя сущностей:

  • Точность – Указывает долю объектов, обнаруженных распознавателем, которые правильно идентифицированы и помечены. С другой точки зрения точность можно определить как тп / (тп + фп), Где tp - количество истинных срабатываний (правильных идентификаций) и fp - количество ложных срабатываний (неправильных отождествлений).
  • Вспоминать – Это указывает на долю объектов, присутствующих в документах, которые правильно идентифицированы и помечены. Он рассчитывается как тп / (тп + фн), Где tp число истинных срабатываний и fn - количество ложноотрицательных результатов (пропущенных идентификаций).
  • Счет F1 - Это комбинация метрик точности и полноты, которая измеряет общую точность модели. Оценка F1 представляет собой среднее гармоническое метрик точности и полноты и рассчитывается как 2 * Точность * Отзыв / (Точность + Отзыв).

Для сравнения производительности наших распознавателей сущностей мы ориентируемся на баллы F1.

Учитывая, что при заданном наборе данных и размере подвыборки (с точки зрения количества документов и снимков) вы можете создавать разные подвыборки, мы создали по 10 подвыборок для каждой из девяти конфигураций, обучили модели распознавания сущностей, собрали показатели производительности и усреднил их с помощью микроусреднения. Это позволило нам получить более стабильные результаты, особенно для подвыборок с небольшим числом выстрелов.

Итоги

В следующей таблице показаны микроусредненные баллы F1, рассчитанные по показателям производительности, возвращенным Amazon Comprehend после обучения каждого распознавателя сущностей.

Имя набора данных подвыборки Микроусредненная оценка F1 распознавателя сущностей (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

В следующей столбчатой ​​диаграмме показано распределение оценок F1 для девяти конфигураций, которые мы обучили, как описано в предыдущем разделе.

Мы можем заметить, что нам удалось успешно обучить пользовательские модели распознавания сущностей даже с использованием всего лишь 25 аннотаций для каждого типа сущности. Если мы сосредоточимся на трех наименьших выборочных наборах данных (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-Aи snips-PlayMusic-subsample-A), мы видим, что в среднем мы смогли получить оценку F1 84%, что является довольно хорошим результатом, учитывая ограниченное количество документов и аннотаций, которые мы использовали. Если мы хотим улучшить производительность нашей модели, мы можем собрать дополнительные документы и аннотации и обучить новую модель с большим количеством данных. Например, с подвыборками среднего размера (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-Bи snips-PlayMusic-subsample-B), которые содержат в два раза больше документов и аннотаций, мы получили в среднем оценку F1 88% (улучшение на 5% по сравнению с subsample-A наборы данных). Наконец, большие выборочные наборы данных (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-Cи snips-PlayMusic-subsample-C), которые содержат еще больше аннотированных данных (примерно в четыре раза больше документов и аннотаций, используемых для subsample-A наборы данных), обеспечили дальнейшее улучшение на 2%, повысив средний балл F1 до 90%.

Заключение

В этом посте мы объявили о снижении минимальных требований для обучения пользовательского распознавателя сущностей с помощью Amazon Comprehend и провели несколько тестов на наборах данных с открытым исходным кодом, чтобы показать, как это снижение может помочь вам приступить к работе. Начиная с сегодняшнего дня вы можете создать модель распознавания сущностей, используя всего 25 аннотаций для каждого типа сущности (вместо 100) и не менее трех документов (вместо 250). Этим объявлением мы снижаем входной барьер для пользователей, заинтересованных в использовании технологии распознавания пользовательских сущностей Amazon Comprehend. Теперь вы можете начать свои эксперименты с очень небольшой коллекцией аннотированных документов, проанализировать предварительные результаты и выполнить итерацию, включив дополнительные аннотации и документы, если вам нужна более точная модель распознавания сущностей для вашего варианта использования.

Чтобы узнать больше и начать работу с пользовательским распознавателем сущностей, см. Распознавание пользовательских объектов.

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


Об авторе

Amazon Comprehend объявляет о снижении ограничений на количество аннотаций для распознавания пользовательских сущностей PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Лука Гуида является архитектором решений в AWS; он базируется в Милане и поддерживает итальянских независимых поставщиков программного обеспечения в их переходе к облачным технологиям. Имея академический опыт в области компьютерных наук и инженерии, он начал развивать свою страсть к искусственному интеллекту и машинному обучению в университете. Являясь членом сообщества обработки естественного языка (NLP) в AWS, Лука помогает клиентам добиваться успеха при внедрении сервисов AI/ML.

Отметка времени:

Больше от Машинное обучение AWS