Научная статья на тему 'КЛАССИФИКАЦИЯ ТОКСИЧНЫХ КОММЕНТАРИЕВ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ'

КЛАССИФИКАЦИЯ ТОКСИЧНЫХ КОММЕНТАРИЕВ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
150
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЛУБОКОЕ ОБУЧЕНИЕ / ОБРАБОТКА ЕСТЕСТВЕННОГО ЯЗЫКА / ОБНАРУЖЕНИЕ ОСКОРБИТЕЛЬНЫХ КОММЕНТАРИЕВ / GLOVE / FASTTEXT / CNN / LSTM / GRU

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хватов Александр Сергеевич

В статье представлено решение задачи обнаружения и классификации оскорбительных комментариев с использованием методов глубокого обучения в контексте применения на устройствах, не требовательных к аппаратным ресурсам.This article presents a solution to the problem of detecting and classifying offensive comments using deep learning methods in the context of application on devices that are not demanding on hardware resources.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хватов Александр Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «КЛАССИФИКАЦИЯ ТОКСИЧНЫХ КОММЕНТАРИЕВ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ»

УДК 004.912

Информационные технологии

Хватов Александр Сергеевич, магистрант, Саратовский Государственный Технический Университет имени Ю.А. Гагарина, г. Саратов

КЛАССИФИКАЦИЯ ТОКСИЧНЫХ КОММЕНТАРИЕВ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ

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

Ключевые слова: глубокое обучение, обработка естественного языка, обнаружение оскорбительных комментариев, GloVe, FastText, CNN, LSTM, GRU.

Abstract: This article presents a solution to the problem of detecting and classifying offensive comments using deep learning methods in the context of application on devices that are not demanding on hardware resources.

Keywords: deep learning, natural language processing, offensive comment detection, GloVe, FastText, CNN, LSTM, GRU.

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

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

показывают, что в настоящее время целесообразно использовать методы глубокого обучения (LSTM, GRU, CNN, BERT, USE и др.). Высоких результатов добились множество коллективов: для англоязычных текстов [1; 2; 3; 4], для русскоязычных - [5; 6; 7]. Современные модели машинного обучения, применяемые в области NLP, требуют больших вычислительных ресурсов.

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

В качестве обучающего набора данных был выбран размеченный набор Kaggle Russian Language Toxic Comments Dataset [8] - это сборник аннотированных комментариев от 2ch и Pikabu, который был опубликован на Kaggle в 2019 году. Общее количество данных составляет 14 412 комментариев, где 4 826 аннотированы как токсичные, а 9 586 - как нейтральные. Валидация качества разметки произведена Сметаниным С.И. [5] с привлечением асессоров краудсорсинговой платформы Яндекс.Толока и агрегированием результатов методом Dawid-Skene [9].

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

Диапазон количества слов в тексте комментариев широк (рис.1): минимальная длина составляет 1 слово, максимальная - 1078, средняя - 16, 3-й квартиль - 32 слова.

Рисунок 1 - Распределение длины комментариев

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

Кроме того, необходимо учитывать и другие особенности комментариев: язык написания, наличие в нем знаков пунктуации, цифр, url и email адресов, эмодзи. Именно поэтому одним из важнейших этапов обработки естественного языка является предварительная подготовка данных.

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

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

Данные необходимо представить в форме, с которой смогут работать алгоритмы машинного обучения. Для этого использовалась статистическая мера TF-IDF [10], позволяющая оценить важность как слова для документа, так

и для всего корпуса, и выученные градиентным спуском представления слов: FastText [11] и Glove [12]. FastText является доработкой Word2Vec [13], но обученный на символьных n-grams. Векторы FastText и Glove учитывают дистрибутивную семантику слова, согласно которой слова являются семантически близкими, если употребляются в похожих контекстах.

Так как задача классификации рассматривается в контексте применения на устройствах, не требовательных к аппаратным ресурсам, в качестве Glove векторов использовались предобученные квантизованные векторы из библиотеки Navec и векторы FastText от проекта RusVectores [14], сжатые библиотекой сompress-fasttext. Размерность вектора на выходе 300.

В качестве бейзлайна классификации использовалась логическая регрессия c TF-IDF векторами. В качестве методов глубокого обучения использовались двунаправленная рекуррентная нейронная сеть (РНС) c ячейками LSTM (рис. 2) и гибридная модель, состоящая из сверточных и рекуррентных слоев с ячейками GRU (рис. 3), входным слоем которых являлись векторные представления слов от Navec и FastText размерностью 18 на 300. В качестве длины текста был взят 3-й квартиль, который после обработки текста стал равен 18 словам. Датасет был разделен на две части: обучающую (80%) и тестовую (20%).

input_1 input: [(Noue, 18, 300)]

TnputLayer output: [(Noue, 18, 300)]

г

spatial_dropoutl d input (None, 18, 300)

SpatialDropoutlD output: (None, 18, 300}

bidirectio nal(lstm ) input: (None, 18, 300)

В idirectio n al(L S T M ) output: (None, 18, 512)

г

global_max_pooLingld input: (None, 18, 512)

GlDbalMaxPDolinglD output (None, 512)

r

dropout input: (None, 512)

Dropout output (None, 512)

dense input (None, 512)

Dense relu output: (None, 64)

dropoutl input: (None, 64)

Dropout output: (None, 64)

1 г

dense_l input: (None, 64)

Dense sigmoid output: (None, 1)

Рисунок 2 - Архитектура модели ЫЬБТМ

input_35 input: [(None, 18, 300)]

InputLayer output: [(None, 18, 300}]

convld_47 input: (None. 18, 300)

ConvlD 1 relu output: (None, 16, 256)

gru_9 input: (None, 16, 256)

GRU tanh output: (None, 128)

dropout_59 input: (None, 128)

Dropout output: (None, 128)

1 Г

dense_61 input: (None, 128)

Dense relu output: (None, 64)

1 Г

dropout_60 input: (None, 64)

Dropout output: (None, 64)

dense_62 input: (None, 64)

Dense | sigmoid output: (None, 1)

Рисунок 3 - Архитектура гибридной модели СМЫ-ОКИ Операция свертки позволяет извлечь признаки и передать в рекуррентные

слои, позволяющие работать с развернутой во времени последовательностью.

Ячейки LSTM или GRU долгосрочно хранят информацию в отличии от классической РНС, а также решают проблему исчезающего градиента.

В рамках данной работы было построено 5 моделей классификации. Оценка качества производилась на тестовой выборке с помощью таких метрик машинного обучения как accuracy, precision, recall и f1- score (таблица 1).

Таблица 1 - Оценка построенных моделей

Модель\Метрики Accuracy% Recall% Precision% F1-score% Размер Мб

TF-IDF Логическая регрессия (бейзлайн) 85.60 64.17 89.67 74.80 -

Navec - BiLSTM 88.30 84.36 81.76 83.04 65.56

FastText - BiLSTM 87.4 82.62 80.72 81.66 70.29

Navec - CNN-GRU 88.72 83.23 83.49 83.36 55.70

FastText - CNN-GRU 87.02 81.39 80.57 80.98 60.44

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

Фаворитом является модель Navec - CNN-GRU, которая имеет лучшие показатели метрик качества, а также наименьший размер, что очень важно для малоресурсных устройств.

В ходе исследования были проведены анализ датасета, предварительная подготовка текста с последующим представлением в векторном виде с помощью предобученных векторных представлений FastText и GloVe, построены модели бинарной классификации на основе рекуррентных и сверточных нейронных сетей: BiLSTM и гибридная CNN-GRU. Лучшие результаты были достигнуты гибридной моделью CNN-GRU с GloVe векторами, точность по метрике f1 составила 83.36%, размер - 55.7 Мб.

Библиографический список:

FERMI at SemEval-2019 task 5: Using sentence embeddings to identify hate speech against immigrants and women in twitter / Indurthi V., Syed B., Shrivastava

M., Chakravartula N., Gupta M., Varma V. // Proceedings of the 13th international workshop on semantic evaluation. 2019. P. 70-74.

D'Sa A.G., Illina I., Fohr D. BERT and fastText embeddings for automatic detection of toxic speech // SIIE 2020-information systems and economic intelligence. 2020.

Classification of online toxic comments using the logistic regression and neural networks models / Saif M.A., Medvedev A.N., Medvedev M.A., Atanasova T. // AIP Conference Proceedings. 2018.

BiCHAT: BiLSTM with deep CNN and hierarchical attention for hate speech detection / Khan S., Fazil M., Sejwal V.K., Alshara M.A., Alotaibi R.M., Kamal A., Baig A.R. // Journal of King Saud University - Computer and Information Sciences. 2022. №34. P. 4335-4344.

Сметанин С.И. Toxic Comments Detection in Russian // Компьютерная лингвистика и интеллектуальные технологии: по материалам ежегодной международной конференции «Диалог» (Москва, 17-20 июня 2020 г.). 2020. C. 1149-1159.

Платонов Е.Н., Руденко В.Ю. Выявление и классификация токсичных высказываний методами машинного обучения// Моделирование и анализ данных. 2022. Том 12. № 1. C. 27-48.

Detecting ethnicity-targeted hate speech in Russian social media texts / E. Pronoza, P. Panicheva, O. Koltsova, P. Rosso // Information Processing & Management. 2021. P. 102674.

Russian language toxic comments [Электронный ресурс] - URL: https://www.kaggle.com/datasets/blackmoon/russian-language-toxic-comments.

Dawid A. P., Skene A. M. Maximum likelihood estimation of observer errorrates using the em algorithm // Journal of the Royal Statistical Society: Series C (Applied Statistics). 1979.Vol 28. № 1. P. 20-28.

Salton G., Buckley C. Term-weighting approaches in automatic text retrieval // Information Processing & Management.1988. Vol 24. № 5. P. 513-523.

Enriching Word Vectors with Subword Information. / Bojanowski, P., Grave, E., Joulin, A., Mikolov, T. // Transactions of the Association for Computational Linguistics. 2017. P. 135-146.

Pennington J., Socher R., Manning C. Glove: Global Vectors for Word Representation // Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014. Vol. 31, № 6. P. 1532-1543.

Efficient Estimation of Word Representations in Vector Space / Mikolov T., Chen K., Corrado G., Dean J. // In Proceedings of Workshop at ICLR. 2013.

Kutuzov A, Kuzmenko E. Webvectors: a toolkit for building web interfaces for vector semantic models. // International conference on analysis of images, social networks and texts. 2017. P. 155-161.

i Надоели баннеры? Вы всегда можете отключить рекламу.