Применяется для обнаружения языка вражды

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

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

Предлагаемые подходы

В настоящее время при решении многоязычной проблемы обычно используют предварительно обученную многоязычную модель. Такие модели, как LASER embeddings [2] или XLM-RoBERTa [3], оказались очень успешными во многих задачах и обеспечивают простой и гибкий способ создания пользовательских многоязычных моделей. Мы будем называть эти типы моделей чисто многоязычными моделями; они могут получать входные данные из многих разных языков и могут создавать хорошие вложения предложений, даже иногда на языках, которые не были замечены во время обучения.

Второй подход, менее распространенный, заключается в использовании классических одноязычных моделей с многоязычными данными, которые были предварительно переведены на один язык. Это позволяет нам использовать такие модели, как BERT [4] или RoBERTa [5], которые работают лучше, чем чисто многоязычные модели, когда применяются к одному языку. Мы называем это моделями, основанными на переводе.

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

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

Настраивать

Мы рассматриваем эксперимент с нулевым выстрелом, чтобы классифицировать контент как ненавистный, оскорбительный или ни то, ни другое; обучение модели на одном языке и оценка ее работоспособности на другом. Мы используем два аннотированных набора данных для наших экспериментов, один на французском и один на английском (мы используем наборы данных DACHS [6]).

Модели

Модели перевода

Сначала мы сравниваем чисто многоязычные модели - такие как встраивание LASER, за которым следует многослойный перцептрон (с этого момента именуемый LASER + MLP) или настроенный классификатор XLM-RoBERTa - с некоторыми модели на основе перевода.

Мы используем две простые модели на основе перевода, которые следуют одной и той же структуре: преобразование данных, за которым следует модель преобразования (доступно множество моделей на основе BERT, мы представляем здесь модели, которые привели к наилучшим результатам). В одной модели все данные переводятся на английский язык, а затем используется модель RoBERTa, а в другой модели мы переводим все данные на французский язык и используем модель FlauBERT [7], французскую модель, основанную на BERT. Для трансляции данных мы используем модель MarianNMT [8], обученную на Opus data [9].

У нас есть несбалансированная мультиклассовая проблема: наши наборы данных состоят примерно из 6% контента, разжигающего ненависть, 24% контента оскорбительного и 70% другого контента. Следовательно, мы используем показатель макро-F1, который представляет собой невзвешенное среднее значение показателя F1 каждого класса.

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

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

Совместные модели

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

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

В примере, показанном ниже, мы используем данные для обучения английскому языку, которые предоставляются как есть для одной из моделей и параллельно переводятся на французский язык для передачи другой модели. Каждая модель состоит из ЛАЗЕРНЫХ вложений, проходящих через несколько линейных слоев, и полностью независима от другой модели. Французские данные, используемые для оценки, затем напрямую передаются во французскую модель и дополнительно вводятся в английскую модель после выполнения перевода.

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

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

Совместные модели перевода

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

Этот подход может быть реализован несколькими способами. Мы используем две версии, которые, по нашему опыту, были лучшими альтернативами:

  • Данные обучения английскому языку, данные тестирования французского: мы объединяем модель LASER с моделью FlauBERT, которая использует переводы на французский язык.
  • Данные обучения французскому языку, данные теста английского языка: мы объединяем модель LASER с моделью RoBERTa, которая использует переводы на английский язык.

Для справедливого сравнения производительности при использовании модели на основе перевода как части этой архитектуры по сравнению с использованием только многоязычных моделей, мы сравниваем ее с другой моделью с аналогичной сложностью - также совместной моделью - где мы просто комбинируем модель LASER с моделью многоязычный XLM-RoBERTa. Модели с переводами будут иметь немного большее время обучения, так как нам нужно перевести данные один раз, но такое же время оценки, поскольку для вывода не требуются дополнительные переводы.

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

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

Разрыв в предметной области против языкового разрыва

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

Мы смогли найти несколько наборов данных, которые предположительно содержали один и тот же тип контента: ненавистные, оскорбительные и другие твиты. Однако мы поняли, что они часто различались по фактическому содержанию и распределению классов, что вызывает некоторый пробел в предметной области. В зависимости от страны происхождения темы, упомянутые в твитах, будут разными (например, политические или социальные вопросы). Более того, тот факт, что мы объединяем несколько языков вместе, также добавляет некоторый языковой разрыв, поскольку некоторые слова (например, оскорбления) могут иметь разное значение или коннотацию на разных языках. Чтобы проиллюстрировать это, мы исследуем четыре сценария:

  1. Базовый уровень; без пробелов в предметной области и без языковых пробелов: содержание обучающих данных очень близко к содержанию целевых данных и на том же языке.
  2. Нет пробела в предметной области, но есть языковой пробел. Содержание обучающих данных очень близко к содержанию целевых данных, но на другом языке.
  3. Разрыв в домене, но без языкового разрыва: содержание обучающих данных не так близко к содержанию целевых данных, но они на одном языке.
  4. Пробел в предметной области и языковой пробел: содержание обучающих данных не так близко к содержанию целевых данных, и они на другом языке.

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

  • Чтобы смоделировать очень похожий контент, но на другом языке (случай 2), мы выбираем один набор данных, разбиваем его на наборы train и test и переводим один из двух в другой. язык (например, мы берем набор данных на английском языке и используем его подмножество, переведенное на французский язык, для оценки)
  • Чтобы смоделировать менее похожий контент, но тот же язык (случай 3), мы используем данные из одного набора данных для обучения, данные из другого набора данных для оценки, но переводим один из них на другой язык (например, берем обучающие данные на английском языке). набор данных, возьмите оценочные данные из французского набора данных, но переведите их на английский).

Мы показываем здесь результаты этого эксперимента. В таблице стрелка указывает на преобразование данных.

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

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

Заключение

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

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

Источники