Определение токсичных комментариев на русском языке |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-11-03 13:27 Сегодня социальные сети превратились в одну из главных коммуникационных платформ как в онлайне, так и реальной жизни. Свобода выражения разных точек зрения, в том числе токсичных, агрессивных и оскорбительных комментариев может иметь долговременные негативные последствия для мнений людей и социальной сплочённости. Поэтому одной из важнейших задач современного общества является разработка средств автоматического определения токсичной информации в интернете для уменьшения негативных последствий. В этой статье описывается решение этой задачи для русского языка. В качестве источника данных мы использовали анонимно опубликованный на Kaggle набор данных, дополнительно проверив качество аннотации. Для создания классифицирующей модели мы сделали тонкую настройку двух версий Multilingual Universal Sentence Encoder, Bidirectional Encoder Representations from Transformers и ruBERT. Настроенная модель ruBERT показала F1 = 92,20 %, это был лучший результат классификации. Мы выложили в открытый доступ обученные модели и примеры кода. 1. Введение Сегодня задача определения токсичных комментариев хорошо решается с помощью продвинутых методик глубокого обучения [1], [35]. Хотя в некоторых работах прямо исследуется тема обнаружения оскорблений, токсичных и ненавистнических высказываний на русском языке [2], [8], [17], в открытом доступе есть лишь один набор данных с русскоязычными токсичными комментариями [5]. Он был опубликован на Kaggle без каких-либо пояснений о процессе аннотирования, так что для академических и практических целей он может быть ненадёжен без дополнительного глубокого изучения. Эта статья посвящена автоматическому определению токсичных комментариев на русском языке. Для этой задачи мы проверили аннотирование набора данных Russian Language Toxic Comments Dataset [5]. Затем создали классифицирующую модель на основе тонкой настройки предварительно обученной многоязычной версий Multilingual Universal Sentence Encoder (M-USE) [48], Bidirectional Encoder Representations from Transformers (M-BERT) [13] и ruBERT [22]. Самая точная модель ruBERT-Toxic показала F1 = 92,20 % в задаче бинарной классификации токсичных комментариев. Полученные модели M-BERT и M-USE вы можете скачать с github. Структура статьи следующая. В разделе 2 мы кратко описываем другие работы по этой теме, а также имеющиеся русскоязычные наборы данных. В разделе 3 мы даём общий обзор набора Russian Language Toxic Comments Dataset и описываем процесс проверки его аннотирования. В разделе 4 мы описываем доработку языковых моделей под задачу классификации текстов. В разделе 5 мы описываем эксперимент по классификации. И в заключение рассказываем о производительности нашей системы и направлениях будущих исследований. 2. Другие работы по теме В отношении разных источников данных проведены объемные работы по обнаружению токсичных комментариев. Например, Prabowo с коллегами применяли для обнаружения ненавистнических и оскорбительных высказываний в индонезийском Twitter алгоритм наивной байесовой классификации (NB), метод опорных векторов (SVM) и классификатор на основе ансамбля деревьев принятия решений (RFDT) [34]. Экспериментальные результаты показали точность 68,43 % у иерархического подхода с признаками словарных униграмм и у SVM-модели. В работе коллектива под руководством Founta [15] для классификации токсичных текстов предложена нейросеть глубокого обучения на основе GRU с предварительно обученными GloVe-эмбеддингами. Модель показала высокую точность на пяти наборах данных, с AUC в диапазоне от 92 % до 98 %. Обнаружению токсичных, ненавистнических и оскорбительных комментариев посвящают всё больше семинаров и соревнований. Например, HatEval и OffensEval на SemEval-2019; HASOC на FIRE-2019; Shared Task on the Identification of Offensive Language на GermEval-2019 и GermEval-2018; TRAC на COLING-2018. Модели, используемые в задачах, варьируются от традиционного машинного обучения (например, SVM и логистическая регрессия) до глубокого обучения (RNN, LSTM, GRU, CNN, CapsNet, включая механизм внимания [45], [49], а также передовые модели вроде ELMo [31], BERT [13] и USE [9], [48]). Значительное количество коллективов, добившихся хороших результатов [18], [24], [27], [28], [30], [36], [38], использовало эмбеддинги из перечисленных предварительно обученных языковых моделей. Поскольку представления из предварительно обученных моделей продемонстрировали в классификации высокие результаты, их широко использовали в последующих исследованиях. Например, сотрудники Университета Лотарингии провели многоклассовую двоичную классификацию Twitter-сообщений с помощью двух подходов: обучив DNN-классификатор с предварительно обученными словарными эмбеддингами, и тщательно настроенную предварительно обученную модель BERT [14]. Второй подход показал значительно лучшие результаты по сравнению с CNN и двунаправленными LSTM-нейросетями на основе FastText-эмбеддингов. Хотя изучению токсичного и агрессивного поведения в русскоязычных соцсетях посвящено значительное количество исследований [7], [33], [41], их автоматической классификации уделено не так много внимания. Для определения агрессивности в англо- и русскоязычных текстах Гордеев использовал свёрточные нейросети и классификатор на основе случайного леса (RFC) [17]. Набор сообщений, аннотированных как агрессивные, содержал около 1000 сообщений на русском и примерно столько же на английском, однако он не выложен в общий доступ. Обученная CNN-модель показала точность двоичной классификации русскоязычных текстов 66,68 %. На основе этих результатов авторы пришли к выводу, что свёрточные нейросети и подходы на основе глубокого обучения более перспективны для определения агрессивных текстов. Андрузяк с соавторами предложил вероятностный подход без учителя с исходным словарём для классифицирования оскорбительных комментариев на YouTube, написанных на украинском и русском [2]. Авторы опубликовал вручную размеченный набор данных из 2000 комментариев, однако он содержит тексты на русском и украинском, поэтому его нельзя напрямую использовать для исследований русскоязычного текста. Несколько недавних исследований посвящены автоматическому определению отношения к мигрантам и этническим группам в русскоязычных соцсетях, в том числе определение нападок на основе идентичности. Бодрунова с соавторами изучила 363 000 русскоязычных публикаций в LiveJournal на тему отношения к переселенцам из постсоветских республик в сравнении с другими нациями [8]. Выяснилось, что в русскоязычных блогах мигранты не становились причиной значительных дискуссий и не подвергались худшему отношению. При этом к представителям северокавказских и центральноазиатских национальностей относятся совершенно по-разному. Группа исследователей под руководством Бессуднова выяснила, что русские традиционно относятся враждебнее к выходцам с Кавказа и Средней Азии; в то же время, в целом принимают украинцев и молдаван как потенциальных соседей [6]. А согласно выводам коллектива под руководством Кольцовой, отношение к представителям среднеазиатских национальностей и украинцам самое негативное [19]. Хотя некоторые академические исследования были посвящены определению токсичных, оскорбительных и ненавистнических высказываний, ни одни из авторов не выложили в открытый доступ свои русскоязычные наборы данных. Насколько нам известно, Russian Language Toxic Comments Dataset [5] — единственный набор русскоязычных токсичных комментариев в открытом доступе. Однако его опубликовали на Kaggle без описания процесса создания и аннотирования, так что без подробного изучения его не рекомендуется использовать в академических и практических проектах. Поскольку определению токсичных русскоязычных комментариев посвящено мало исследований, мы решили оценить работу моделей глубокого обучения на Russian Language Toxic Comments Dataset [5]. Нам неизвестны исследования по классификации на основе этого источника данных. Модели Multilingual BERT и Multilingual USE – одни из самых распространённых и успешных в недавних исследовательских работах. И только они официально поддерживают русский язык. Мы решили использовать тонкую настройку в качестве подхода с переносом обучения, потому что в свежих исследованиях это давало наилучшие результаты классификации [13], [22], [43], [48]. 3. Набор данных со токсичными комментариями Набор Russian Language Toxic Comments Dataset [5] представляет собой коллекцию аннотированных комментариев с сайтов Двач и Пикабу. Он опубликован на Kaggle в 2019-м и содержит 14 412 комментариев, из которых 4 826 помечены как токсичные, а 9 586 — как нетоксичные. Средняя длина комментария 175 символов, минимальная — 21, максимальная — 7 403. Для проверки качества аннотирования мы вручную проаннотировали часть комментариев, и сравнили с исходными метками с помощью inter-annotator agreement. Мы решили считать имеющиеся аннотации корректными при достижении значительного или высокого уровня inter-annotator agreement. Сначала мы вручную разметили 3000 комментариев и сравнили полученные метки классов с исходными. Аннотации составляли русскоязычные участники краудсорсинговой платформы Яндекс.Толока, которая уже использовалась в нескольких академических исследованиях русскоязычных текстов [10], [29], [32], [44]. В качестве руководства по разметке мы пользовались инструкциями по распознаванию токсичности с дополнительными атрибутами, которые применялись на соревновании Jigsaw Toxic Comment Classification Challenge. Аннотаторов попросили определять токсичность в текстах, уровень которой нужно было указать для каждого комментария. Чтобы повысить точность разметки и ограничить возможность обмана мы воспользовались такой методикой:
Каждый комментарий размечался 3-8 аннотаторами с применением методики динамического перекрытия. Результаты агрегировали по методу Dawid-Skene [12] на основе рекомендаций Яндекс.Толоки. Аннотаторы продемонстрировали высокий уровень inter-annotator agreement, альфа-коэффициент Криппендорфа был равен 0,81. А каппа-коэффициент Коэна между исходной и нашей агрегированной метками был равен 0,68, что соответствует значительному уровню inter-annotator agreement [11]. Поэтому мы решили считать разметку набора данных корректной, особенно с учётом возможных различий в инструкциях по аннотированию. 4. Модели машинного обучения 4.1. Подходы с исходным уровнем В качестве подходов с исходным уровнем мы взяли один базовый подход на основе машинного обучения и один современный подход на основе нейросетей. В обоих случаях мы провели предварительную подготовку: заменили URL и ники ключевыми словами, убрали знаки пунктуации и заменили прописные буквы на строчные. Сначала мы применили модель Multinomial Naive Bayes (MNB), которая хорошо себя показала в задачах по классификации текстов [16], [40]. Для создания модели мы взяли Bag-of-Words и векторизацию TF-IDF. Второй моделью стала нейросеть двунаправленной долгой краткосрочной памяти (Bidirectional Long Short-Term Memory (BiLSTM)). Для слоя эмбеддинга мы предварительно обучили эмбеддинги Word2Vec (dim = 300) [25] на основе коллекции русскоязычных Twitter-сообщений из RuTweetCorp [37]. И поверх эмбеддингов Word2Vec мы добавили два слоя Bidirectional LSTM. Затем добавили скрытый полносвязный слой и сигмоидный выходной слой. Для уменьшения переобучения мы добавили в нейросеть слои регуляризации с гауссовым шумом и слои исключения (Dropout). Мы воспользовались оптимизатором Адама с исходной скоростью обучения 0,001 и категориальной двоичной кросс-энтропией в качестве функции потерь. Модель обучали с фиксированными эмбеддингами в течение 10 эпох. Мы пробовали разблокировать эмбеддинги в разных эпохах с одновременным уменьшением скорости обучения, но результаты оказались хуже. Вероятно, причина была в размере обучающего набора [4]. 4.2. Модель BERT Сейчас официально доступны две версии многоязычной модели BERTBASE, но использовать официально рекомендуется только Cased-версию. BERTBASE берёт последовательность из не более чем 512 токенов и выдаёт её представление. Токенизация выполняется с помощью WordPiece [46] с предварительной нормализацией текста и пунктуационным разделением. Исследователи из МФТИ обучили BERTBASE Cased и опубликовали ruBERT — модель для русского языка [22]. Мы использовали обе модели — Multilingual BERTBASE Cased и ruBERT, которые содержат 12 последовательных блоков преобразования, имеют скрытый размер 768, содержат 12 блоков self-attention head и 110 млн параметров. Этап тонкой настройки выполнялся с рекомендованными параметрами из работы [43] и официального репозитория: три эпохи обучения, 10 % этапов прогрева, максимальная длина последовательности 128, размер пакета 32, скорость обучения 5e-5. 4.3. Модель MUSE В качестве входных данных Multilingual USETrans берёт последовательность из не более чем 100 токенов, а Multilingual USECNN — из не более чем 256 токенов. Для всех поддерживаемых языков используется токенизация SentencePiece [20]. Мы применяли предварительно обученную Multilingual USETrans, которая поддерживает 16 языков, включая русский, содержит энкодер-преобразователь с 6 слоями преобразования, 8 блоков attention head, имеет размер фильтра 2048, скрытый размер 512. Также мы применяли предварительно обученную Multilingual USECNN, которая поддерживает 16 языков, включая русский, содержит CNN-энкодер с двумя CNN-слоями, фильтр шириной (1, 2, 3, 5), имеет размер фильтра. Для обеих моделей мы использовали рекомендованные параметры со страницы TensorFlow Hub: 100 эпох обучения, размер пакета 32, скорость обучения 3e-4. 5. Эксперимент Мы сравнили подходы с исходным уровнем и подходы с переносом обучения:
Качество классификации обученных моделей на тестовом наборе (20 %) приведена в таблице. Все настроенные языковые модели превысили исходные уровни по точности, recall и мере F1. ruBERT показала F1 = 92,20 %, это лучший результат. Двоичная классификация токсичных русскоязычных комментариев: Система P R F1 MNB 87,01 % 81,22 % 83,21 % BiLSTM 86,56 % 86,65 % 86,59 % M ? BERTBASE ? Toxic 91,19 % 91,10 % 91,15 % ruBert ? Toxic 91,91 % 92,51 % 92,20 % M ? USECNN ? Toxic 89,69 % 90,14% 89,91 % M ? USETrans ? Toxic 90,85 % 91,92 % 91,35 % 6. Заключение В этой статье мы использовали две тонко настроенные версии модели Multilingual Universal Sentence Encoder [48], модель Multilingual Bidirectional Encoder Representations from Transformers [13] и ruBERT [22] для определения токсичных русскоязычных комментариев. Настроенная ruBERTToxic показала F1 = 92,20 %, это лучший результат классификации. Полученные модели M-BERT и M-USE доступны на github. Литературные источники
Let's block ads! (Why?) Quelle Источник: m.vk.com Комментарии: |
|