- Погрузитесь в НЛП: использование методов многокомпонентной классификации
МОТИВАЦИЯ
В современном обществе, когда мы получаем все больше и больше данных, существует огромная потребность в их организации и классификации. И проблемы классификации часто связаны с прогнозированием нескольких меток одновременно, что называется так называемой классификацией по нескольким меткам.
Мы разделяем интересы по этой теме со многими специалистами по анализу данных, а также с учеными. После некоторого углубленного исследования потенциальных применений классификации Multi-Label, проект, выполненный группой молодых студентов из Университета Саймона Фрейзера, представил очень многообещающие результаты в обнаружении токсичных комментариев с использованием методов классификации с несколькими метками.
Нам выпала честь пригласить одного из членов этой отдельной группы для обсуждения их проекта. В этом блоге мы собираемся погрузиться в то, как реализована классификация по нескольким меткам для обнаружения токсичных комментариев.
Они внесли улучшения на основе простой базовой модели и сравнили эту модель с другими отличными решениями, чтобы правильно оценить свою работу.
Во-первых, что такое классификация по нескольким меткам? В чем разница между многоклассовой классификацией и многоклассовой классификацией?
Напомним проблему двоичной классификации. Предположим, у нас есть два класса, и мы хотим решить, принадлежит ли элемент к классу 1 или классу 0. Если мы построим полностью подключенную нейронную сеть, последние два уровня нашей сети могут выглядеть следующим образом:
Обратите внимание, что в выходном слое есть только один узел, а функция активации - Sigmoid, которая вернет значение в диапазоне (0, 1). Это значение можно рассматривать как вероятность того, что этот элемент принадлежит к классу 1. Затем мы можем установить пороговое значение, для этого примера 0,5, если выходной сигнал функции активации превышает пороговое значение, мы классифицируем этот элемент как принадлежащий к классу 1. , в противном случае этому элементу будет присвоен класс 0.
Что касается проблемы многоклассовой классификации, наиболее известной является проблема ImageNet: отнести изображение к одному из 1000 классов. Сетевая структура последних двух слоев может выглядеть так.
Предположим, у нас есть три класса, которым мы хотим отнести элемент к классу 1, классу 2 и классу 3, и один элемент может принадлежать только к одному из этих трех классов. В выходном слое количество нот равно количеству классов. Независимо от того, какая функция активации используется для последнего слоя, мы просто применяем функцию Softmax к последнему слою. Softmax можно рассматривать как нормализацию выходного слоя, так что сумма всех выходных нот в сумме дает 1, в нашем случае y1 + y2 + y3 = 1. Каждое значение представляет собой вероятность того, что предмет принадлежит определенному классу. И мы относим элемент к классу с наибольшей вероятностью, неважно, больше ли эта вероятность 0,5 или нет.
Для задач классификации по нескольким меткам она очень похожа на классификацию по нескольким классам. Разница в том, что в задачах с несколькими метками один элемент может быть отнесен к нескольким меткам, тогда как в уже упоминавшейся нами задаче с несколькими классами один элемент может быть отнесен только к одному из классов.
Предположим, у нас есть три класса (точнее, метки). Вот два последних слоя Сети:
В выходном слое есть три ноты с активацией сигмоида. В этом случае мы вычисляем вероятность для каждого класса и устанавливаем порог. Если вероятность для класса больше порогового значения, мы маркируем этот класс. В нашем примере и верхний, и нижний узел в последнем слое имеют вероятности больше 0,5, поэтому мы помечаем этот элемент как Class1 и Class 3.
В этой задаче классификации токсичных комментариев это проблема классификации с несколькими метками с шестью метками: токсичный, серьезный_ токсичный, непристойный, угроза, оскорбление, идентичность_ ненависть. Пример обучающих данных может выглядеть так:
Нам нужно построить модель, которая вводит комментарий и выводит все токсичные ярлыки, которым он принадлежит.
ПОДХОД
Автор реализовал 3 разные модели для сравнения характеристик и результатов.
- Исходный уровень: логистическая регрессия
- Рекуррентная нейронная сеть с вложениями ELMo
- Рекуррентная нейронная сеть с фильтром свертки
ПОДХОД 1: ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ
Первый подход использовал TF-IDF для векторизации слова из набора данных и передачи матрицы TF-IDF в логистическую регрессию.
TF-IDF - это краткое обозначение частотно-обратной частоты документов, которое представляет собой метод отображения того, насколько важно слово для документа в корпусе. Значение tf – idf увеличивается пропорционально тому, сколько раз слово появляется в документе, и компенсируется количеством документов в корпусе, которые содержат это слово, что помогает учесть тот факт, что некоторые слова в целом встречаются чаще.
ПОДХОД 2: ПОВТОРЯЮЩАЯСЯ НЕЙРОННАЯ СЕТЬ С ВЛОЖЕНИЯМИ ELMo
Вложения ELMo (вложения из языковых моделей) предназначены для изучения семантики и контекста слов. ELMo имеет внутренний bi-LSTM, который будет вычислять вероятность пересылки и обратной языковой модели.
Базовая RNN не очень эффективна, поэтому была представлена долгосрочная краткосрочная память (LSTM), повторяющийся модуль выполняет больше операций, которые позволяют сети LSTM запоминать долгосрочные зависимости.
Двунаправленная RNN с LSTM использовалась для захвата информации как в прямой, так и в обратной последовательности слов в предложениях. Результатом уровня LSTM является конкатенация двунаправленных ячеек LSTM.
Выпадение использовалось во время обучения модели. Модель выдаст 6 вероятностей, определяющих, является ли предложение токсичным комментарием. Используя полностью связанный слой, несколько нейронов будут сокращены до 6 выходов. В слое используется сигмовидная активация, чтобы сформировать вероятность ∈ [0,1].
ПОДХОД 3: ПОВТОРНАЯ НЕЙРОННАЯ СЕТЬ С КОНВОЛЮЦИОННЫМ ФИЛЬТРОМ
Эта настройка нейронной сети аналогична приведенной выше. В следующем отличие от предыдущей модели:
- Встраивание ELMo заменяется слоем встраивания перчаток, созданным на основе словаря набора данных.
- Фильтр свертки применяется к выходным данным уровня LSTM.
РЕЗУЛЬТАТЫ
Как показано на гистограмме на рисунке 1, мы видим, что оценка точности моделей свертки логистической регрессии, ELMo + Bi-RNN и Bi-RNN + составляет 0,9756, 0,9791 и 0,9836 соответственно. Базовая логистическая регрессия имеет самый низкий показатель точности среди трех моделей. Обе модели нейронной сети имеют эффективное улучшение. Как показано в таблице 1, модель ELMo + Bi-RNN обеспечивает улучшение показателя точности на 0,35% на тестовом наборе по сравнению с исходным уровнем. Кроме того, модель Bi-RNN + Convolution также имеет повышение точности на 0,82%. Однако, основываясь на экспериментах по сравнению с базовой линией, двунаправленная рекуррентная нейронная сеть со сверточным фильтром работает лучше, чем встраивание слов ELMo, подаваемое в слой Bi-LSTM.
Вывод из анализа
Встраивание ELMo не дает значительных улучшений по сравнению с базовым уровнем.
ELMo обучается на данных новостей Google. Лексика новостного корпуса не содержит невежливых слов. Однако в наборе данных токсичных комментариев есть много невежливых слов. Поскольку словарный запас не перекрывается, встраивания ELMo не предоставляют информативных данных для нейронной сети.
Обе модели нейронной сети показывают улучшение по сравнению с базовым уровнем логистической регрессии.
Это связано с тем, что нейронная сеть создает высокоразмерную границу классификации для набора данных. Логистическая регрессия дает функцию классификации с меньшим количеством измерений по сравнению с нейронными сетями.
Большое спасибо за ваше время, надеюсь, вам понравилось читать наш блог. С вашей помощью мы можем работать вместе, чтобы помочь повысить осведомленность о кибер-издевательствах: просто нажав кнопку хлопка, вы можете повлиять или даже вдохновить все больше и больше людей на создание более безопасной и здоровой онлайн-среды. Сообщая большему количеству специалистов по данным, классификация с несколькими метками вооружена и будет готова к троллям и их ядовитым комментариям.
использованная литература
Kaggle Inc (2018) Проблема классификации токсичных комментариев, доступно по адресу https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge
Суджай С. Кумар (2 октября 2018 г.) ELMo Embeddings в Керасе, доступно по адресу http://sujayskumar.com/2018/10/02/elmo-embeddings-in-keras/
Эдвард Ма (30 октября 2018 г.) ELMo помогает еще больше улучшить встраивание предложений. Доступно по адресу https://towardsdatascience.com/elmo-helps-to-f Further-improve-your-word-embeddings-c6ed2c9df95f
Михайлидис, Мариос. (2017). Исследование методов машинного обучения в рекомендательных системах (Диссертация). Университетский колледж Лондона, доступно по адресу https://mlwave.com/kaggle-ensemble-guide/
Амар Будхираджа (15 декабря 2016 г.) Прекращение участия в (глубоком) машинном обучении, доступно по адресу https://medium.com/@amarbudhiraja/https-medium-com-amarbudhiraja-learning-less-to-learn-better-dropout-in -deep-machine-learning-74334da4bfc5
Рохит Ганди (26 июня 2018 г.) Введение в модели последовательности - RNN, двунаправленный RNN, LSTM, GRU, доступно по адресу https://towardsdatascience.com/introduction-to-sequence-models-rnn-bidirectional-rnn-lstm-gru -73927ec9df15