Дипломная работа: Автоматическое выявление вербальной агрессии в Интернет-коммуникации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 2. Автоматическое выявление вербальной агрессии на материале записей с блог-платформы «Живой Журнал»

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

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

Выбор записей проводился по следующим критериям:

· Временной критерий. Рассматриваются записи, написанные в период с 1 января 2017 года по 10 мая 2019 года.

· Актуальность. В записях Интернет блогов освещены события и явления в мире, актуальные на данный момент: выборы президента РФ (2018), выборы президента Украины (2019), боевые действия на территории Сирии и Украины, террористические акты, феминизм и т.д.

· Проблематика. Интерес предоставляют записи в блогах, в которых обсуждаются актуальные вопросы.

В ходе данной работы было собрано 1400 записей на различные тематики с блог-платформы «Живой Журнал», содержащие в себе агрессию по отношению к какому-либо явлению или событию. Для автоматического определения вербальной агрессии полученные при помощи программы записи были разделены на тренировочную и тестовую выборку. Разделение записей было произведено в случайном порядке в соотношении 80% к 20%, где 80% записей были отнесены к тренировочной выборке, а 20% - к тестовой. Таким образом, в тренировочный корпус вошло 1120 случайных записей.

2.1 Автоматический сбор записей Интернет-пользователей блог-платформы «Живой Журнал»

В пункте 3 Главы 1 было отмечено, что не любое собрание текстов может считаться корпусом, поэтому перед тем, как начать компилирование корпуса, необходимо определить критерии отбора записей.

Во-первых, необходимо, чтобы в корпусе в полной мере было отражено явление, изучаемое в данном исследовании. Для этого необходимо определить, в каких записях вероятнее всего будет наблюдаться вербальная агрессия. В Главе 1 шла речь о взаимосвязи понятий «вербальная агрессия» и «интолерантность», поэтому логично будет предположить, что вербальная агрессия будет обнаружена в тех записях, тематика которых соответствует видам интолерантности: политической, религиозной, расовой и т.д. Поиск подобных записей проходил по таким тегам, которые могли вывести на записи, содержащие негативное отношение к какой-либо теме. Так, для поиска записей про политику были использованы такие теги, как «Россия», «США», «Путин», «Трамп», «Сирия», «Украина», про религию - «Ислам», «Джихад», «Исламисты» и т.д.

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

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

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

Скачивание записей с блог-платформы «Живой Журнал» было реализовано при помощи краулера, программы на языке программирования Python, которая взаимодействует с окружающей средой посредством сетевых протоколов и автоматически скачивает нужную информацию из Интернета. Пример кода программы для реализации данной задачи на примере записей с тегом «феминизм» приведен в Приложении 1.

В ходе работы веб-краулера было собрано более 3000 записей, опубликованных в период с 1 января 2017 года по 10 мая 2019 года, однако только 1400 из них вошли в корпус текстов для выявления вербальной агрессии. Это можно объяснить тем, что во время автоматического скачивания блогов были также скачены записи, содержащие только мультимедийный материал, а это значит, что данные записи не могут быть использованы для проведения дальнейшего исследования в силу отсутствия текста.

В силу того, что структура каждого блога на блог-платформе «Живой Журнал» уникальна, был написан такая программа для краулинга, которая скачивает весь текст на веб-странице. Таким образом, в скаченные тексты изначально вошли также данные о меню веб-страницы, тексты рекламы и комментарии.

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

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

2.2 Обработка текстов корпуса

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

1.

в

27572

2.

и

21797

3.

на

13932

4.

не

9304

5.

что

9124

6.

с

9097

7.

по

5302

8.

как

4510

9.

к

4121

10.

а

3783

До удаления стоп-слов корпус состоял из 718818 токенов. Список 10 самых частотных слов во всем корпусе до их удаления выглядел следующим образом:

Список стоп-слов nltk состоит из 151 слов, после удаления которых число токенов во всем корпусе сократилось до 521806 токенов, а список 10 самых частотных слов стал следующим:

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

1.

это

3450

2.

сша

2845

3.

colonelcassad

1701

4.

сирии

1567

5.

то

1537

6.

года

1450

7.

которые

1403

8.

канал

1380

9.

telegram

1339

10.

в

1324

Нормализация полученных записей была реализована за счет еще одной программы на языке программирования Python. В Приложении 4 приведен код данной программы. Для ее работы были использованы библиотеки re и pymystem3.

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

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

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

1.

который

3860

2.

это

3808

3.

год

2548

4.

свой

2134

5.

россия

1696

6.

сша

1598

7.

человек

1486

8.

украина

1339

9.

мочь

1145

10.

страна

1121

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

2.3 Распределение текстов корпуса по тональности

Как уже говорилось ранее, в тренировочный корпус вошло 1120 записей с блог-платформы «Живой Журнал». Именно с ними будет проводиться работа по созданию тонального словаря для данной блог-платформы.

В данных записях встречались проявления вербальной агрессии на политическую, религиозную, сексуально-ориентационную, гендерную, расовую и этническую тематики. Подавляющее большинство составили записи на политическую (77%) и религиозную (31%) тематики. Такие результаты можно объяснить тем, что политические, религиозные проблемы являются наиболее актуальными в период с 1 января 2017 года до 10 мая 2019 года.

В рамках данного исследования перед составлением тонального словаря был проведен ручной анализ тональности данных записей: каждая из них была размечена и добавлена либо в «положительный», либо в «отрицательный» корпус на основе стилистической окраски употребленных языковых единиц, при этом 587 записей (42%) попало в «отрицательный» корпус.

В отличие от исследований, о которых речь шла в Главе 1 пункте 3.1, в данной работе помечаются как отрицательные или положительные сами тексты, а не позиции в тональном словаре. Это сделано с той целью, чтобы алгоритм, применяемый в данном исследовании (наивный байесовский классификатор), подсчитал вероятность «агрессивности» языковой единицы, не основываясь на предварительной оценке самой единицы. Такой подход применяется потому, что не всегда языковая единица с заведомо отрицательной или положительной коннотацией свидетельствует о той же коннотации текста в целом.

Приведем несколько примеров тестов, вошедших в «отрицательный» корпус.

Автор: colonelcassad

Дата публикации: 24 января 2017 года

Название: Размежевание

Отрывки текста:

РФ с конца 2015 года без особого успеха пыталась добиться от США, чтобы они разделили боевиков на "умеренных" и "неумеренных", чтобы было понятно, с кем можно вести переговоры, а кого будут "мочить в сортирах".

За 2016-й год, удалось согласовать вопрос только по "Ан-Нусре", которую и США и Турция признали "неумеренной" и против которой хотя бы на словах обязались вести боевые действия. "Джунд-аль-Акса" оказалась в этом узком списке по причине неадекватности своих лидеров…

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

Важное отличие от прежних встреч - это реальные боевики и за их представителями стоит реальная военная сила (порядка 25-35 тыс. штыков), а не свора обычных сирийских эмигрантов на подкорме у Вашингтона или Эр-Рияда.

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

На деле, полного разделения "умеренных" и "неумеренных" еще не произошло - из легального поля выпали пока что лишь наиболее отъявленные "отморозки"…

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