[Puedes leer este post en español aquí]

Обработке естественного языка, или НЛП, уже давно пора остаться. Благодаря прогностическим моделям машинного обучения или МО, на которых основано НЛП, мы можем автоматизировать такие задачи, как классификация инцидентов, перевод текстов, определение настроения в телефонном звонке, ответы на вопросы или даже написание программного обеспечения.

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

Модель НЛП требует огромного количества данных, чтобы предлагать приемлемые прогнозы. Модель GPT-3 оценивает около 175 миллиардов параметров и исходный набор сжатых текстовых данных объемом 45 ТБ. Другие архитектуры, такие как BERT, предлагают нам общие предварительно обученные модели, которые мы можем точно настроить для решения конкретной задачи.

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

Вот здесь-то и вступает в игру модельное обучение. Слово «обучение» выбрано не случайно. Модель тренируется не с отягощениями, боевыми искусствами или бегом, чем больше километров, тем лучше, а на примерах. Поскольку они не соревнующиеся спортсмены, а статистические модели, тренировки, которым они могут подвергаться, бывают двух типов: с учителем или без него, в зависимости от задачи, для которой готовится модель. Другими словами, модель не будет работать наилучшим образом, если она не обучена заранее сценарию, в котором она должна быть развернута.

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

В этой статье мы попытаемся увидеть, насколько важна настройка предварительно обученной модели для задачи. Нашей задачей будет классификация текстов, и для этого мы будем использовать предварительно обученную модель и четыре версии этой же модели, каждый раз обучаемые на небольших наборах данных разного размера, от 100 до чуть более 2000 примеров. Мы сравним эти пять версий модели с точностью выбора произвольной метки и подтвердим, стоит ли обучать модель для этого варианта использования.

Объяснение нашего варианта использования

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

Для этого мы собираемся обучить модель, которая позволяет нам для заголовка новостей сообщать нам, к какой категории IPTC он принадлежит. IPTC означает Международный совет по телекоммуникациям прессы, а список категорий выглядит следующим образом: следующим образом: искусство, культура, развлечения и медиа; конфликт, война и мир;преступление, закон и правосудие; катастрофа, авария и аварийное происшествие; экономика, бизнес и финансы; образование; окружающая среда; здоровье; человеческий интерес; труд; образ жизни и досуг; политика; религия и убеждения; наука и технологии; общество; спорт; и погода.

В нашем эксперименте мы будем использовать:

  • предварительно обученная модель типа BERT на итальянском языке dbmdz/bert-base-italian-xxl-uncased,
  • итальянский набор обучающих данных помеченных фраз в соответствии с таксономией IPTC, состоящий из 2199 фраз, и,
  • набор оценочных данных, также на итальянском языке, с заголовками из итальянской газеты La Repubblica, помеченными в соответствии с таксономией IPTC, состоящим из 6 высказываний из каждой из 17 категорий,

Мы проведем пять итераций теста

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

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

Чтобы увидеть эффективность, мы рассмотрим точность каждой из моделей и потерю оценки, чтобы узнать, насколько модель соответствует набору данных проверки. Для этой оценки мы будем использовать класс Hugging Face Trainer.

Наш исходный эталон точности — это произвольный выбор метки. Мы должны иметь в виду, что если бы мы решили игнорировать модели и всегда возвращали бы случайный результат, мы бы имели точность 100/17 = 5,88%. Любое значение ниже этого числа будет означать, что модель работает хуже, чем если бы мы отказались от нее и выбрали метку случайным образом. Если точность равна 5,88%, мы будем использовать всю модель ML, чтобы получить результат, эквивалентный простой операции.

Краткий анализ обучающего набора данных

Набор данных IPTC, который мы использовали в качестве основы, состоит из 2199 заголовков, распределенных по 17 меткам, в среднем 133 заголовка на метку и стандартное отклонение 59,45.

Если мы посмотрим на сумму и процентное распределение по категориям, мы увидим, что категории с наибольшим количеством примеров: спорт, 236; политика, 227; и экономика/бизнес и финансы (207). Категории с меньшим количеством примеров: погода (68 примеров); наука и технологии, 66 примеров, и человеческие интересы, также 66 примеров. Проценты округлены до двух цифр.

Как мы видим на рисунке 1, набор данных имеет неравномерное распределение в примерах, присвоенных каждой из меток. Ярлык человеческие интересы содержит наименьшее количество примеров (66), а категория спорт – наибольшее количество примеров (236).

Оценка моделей

Начиная с ранее упомянутых моделей, то есть базовой предварительно обученной модели и четырех моделей, каждая из которых обучена с разным количеством высказываний из обучающего набора данных IPTC, мы собираемся оценить их точность по сравнению с тестовым набором данных из 6 высказываний, умноженным на 17. метки = 102 фразы.

Мы покажем точность в процентах, а потеря оценки — это число, чем оно выше, тем хуже производительность получена. Мы также включим матрицу путаницы для каждой из моделей.

Наш исходный базовый уровень того, имеет ли смысл обучение, составляет 5,88%, который мы рассчитали ранее. Это соответствует 100/17, то есть какой процент успеха мы получили бы, если бы произвольно присвоили метку примерному высказыванию.

Оценка предварительно обученной модели без обучения

Мы начинаем с оценки предварительно обученной модели, не применяя никакого обучения для ее подготовки к задаче классификации. Точность модели dbmdz/bert-base-italian-xxl-uncased составляет 5,88 %, что в точности соответствует значению, полученному, если мы произвольно назначаем фразу метке.

Если мы посмотрим на матрицу путаницы, модель решила, что подавляющее большинство высказываний относится к категории труд. Этот результат согласуется с тем фактом, что точность 5,88% совпадает с базовым значением 5,88%, которое мы получаем, если назначаем категорию случайным образом.

Оценка доработанной модели со 120 высказываниями

Модель dbmdz/bert-base-italian-xxl-uncased улучшится, если мы применим обучение 120 высказываний, выбранных случайным образом из набора данных. Точность повышается до 13,73% при потере оценки 2,785.

Результаты матрицы путаницы показывают, что результаты в основном приходятся на категории спорт, конфликт/война и мир, экономика/бизнес и финансы и бедствие/несчастный случай и чрезвычайное происшествие. Однако из этих категорий спорт был правильным 4 из 6, экономика/бизнес и финансы 4 из 6, бедствие/несчастный случай и чрезвычайное происшествие был верным 3 из 6 и, наконец, конфликт/война и мир получил 2 из 6.

Оценка доработанной модели с 600 высказываниями

Эта модель имеет точность 54,90% с потерей оценки 1,672. Улучшение существенное по сравнению с предыдущей моделью. Нам удалось получить более половины примеров оценки правильно, со значительно меньшими потерями, чем предыдущая пересмотренная модель, модель из 120 высказываний.

Матрица путаницы показывает нам, как модель улучшилась. Мы видим, что в категориях искусство/культура/развлечения и медиа и здоровье все примеры правильные, а спорт,общество , труд и окружающая среда получили 5 баллов из 6 возможных.

Оценка отлаженной модели с 1000 высказываний

Следующая оцениваемая модель была настроена на 1000 высказываний, и мы видим, что точность составляет 50,99%, а потеря оценки составляет 1,623. Точность немного ниже, чем у модели, настроенной на 600 высказываний, а величина потерь аналогична.

Глядя на матрицу путаницы, мы обнаруживаем, что есть более двух категорий, которые достигли полного уровня, искусство/культура/развлечения и средства массовой информации и здоровье, и четыре категории, которые достигли 5 из 6: экономика/бизнес и финансы, окружающая среда, политика и общество. Интересно, что мы видим, что человеческие интересы были отмечены 5 раз как общество и один раз как окружающая среда.

Оценка отлаженной модели с нашим полным набором данных

Точность модели, обученной на 2199 предложениях, составила 70,59%, что намного выше, чем значение, полученное во всех предыдущих моделях, с потерей 1,279. Другими словами, модель почти правильно угадала три из каждых четырех примеров.

Что касается результатов по категориям, мы видим в матрице путаницы, что все примеры искусство/культура/развлечения и СМИ, политика и спорт были правильный. Они были правильными на 5 из 6 в случаях катастрофы/несчастного случая и чрезвычайного происшествия, экономики/бизнеса и финансов, образования, здоровье, труд и погода. Любопытно, что в категории человеческие интересы нет ни одного совпадения: 4 – в категорию искусство/культура/развлечения и СМИ, 1 – в категорию преступность/право и правосудие. em>, а другой — на образование.

Анализ

Чтобы проанализировать результаты, давайте сначала сравним улучшения точности. Затем мы проверим, как модели пометили примеры тестовых наборов данных La Repubblica.

Сводная таблица точности

В Таблице 2 мы видим, насколько точность необученной модели очень низка, она едва соответствует 5,88%, что соответствует ожидаемому значению, если бы задание было произвольным. Этот результат улучшается до 13,73% при минимальном обучении 120 предложений, выбранных случайным образом из всего набора данных. Это также не позволяет нам узнать, были ли выбраны метки с пропорцией относительно распределения меток. Если мы проведем обучение с 600 предложениями, улучшение будет значительным, потому что модель верна в 54,90% случаев. С 1000 предложений результат немного ниже, с 50,99% правильных ответов, с эквивалентной потерей оценки. Как только мы используем полный набор данных из 2199 предложений, мы видим, как точность возрастает до 66,3%, а потеря оценки снижается до 1,357.

Сводная таблица просмотров

Матрицы путаницы показывают нам очень разные результаты в зависимости от проанализированных категорий. В Таблице 3 мы показали результаты матриц и написали жирным шрифтом результаты, равные 5 или 6, которые мы будем считать удовлетворительными.

Во-первых, мы ясно видим, что чем точнее настройка, тем лучше результаты. Базовая модель без доводки имеет 1 удовлетворительный результат, но других попаданий нет. Уточненная модель со 120 фразами дает 0 удовлетворительных результатов. Модели, настроенные на 600 и 1000 предложений, дали нам 6 удовлетворительных результатов, в то время как модель, настроенная на полный набор данных, дала 9 удовлетворительных результатов.

Если мы посмотрим на категории, которые не получили удовлетворительных результатов ни в одном обучении, отмеченные в таблице красным цветом, мы увидим, что, кроме преступность/право и правосудие, все они имеют процент от набора данных ниже 5%, и что мы можем рассматривать их как категории, которые трудно различить. Нам нужно более подробно рассмотреть обучающие наборы данных, но эти категории, вероятно, будут неоднозначными, и необходимо больше примеров, чтобы отличить их от других.

Мы также видим, что нет четкой зависимости между процентом набора данных и количеством успешных попаданий. Например, категория здоровье с 3,27 % набора данных успешно попадает в модель с 600 примерами, в то время как категория человеческие интересы с таким же процентом набор данных, 3,00%, почти не получает обращений.

Заключение

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

Модель сама по себе нуждается в некоторой помощи, чтобы выполнить конкретную задачу, такую ​​как классификация текста. Применительно к конкретной задаче мы получаем результат, равный тому, если бы мы произвели произвольное присвоение результата. Для получения результатов требуется аннотированный набор данных, даже небольшой, и его точная настройка. При минимальном наборе данных в 120 предложений мы получили небольшое улучшение, однако результат обучения начинает быть интересным с набором данных в 600 предложений.

Нам нужно провести больше тестов, чтобы увидеть, сколько примеров требуется для постоянного улучшения точности модели. Мы получаем аналогичные результаты с 600 и 1000 примерами. Мы достигаем точности 70,59%, почти три из четырех предложений помечены правильно, с 2199 высказываниями. Такой процент позволил бы нам автоматизировать задачу маркировки, сводя задачу маркировки только к проверке правильности маркировки, предлагаемой моделью.

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

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

дальнейшее чтение