Введение 3
Постановка задачи 4
Обзор литературы 6
Глава 1. Этап подготовки 7
1.1. Обзор, сбор и предобработка данных 8
1.2. Описание используемой модели векторизации 10
Глава 2. Задача классификации 12
2.1. Модуль CatBoost 12
2.2. Параметры обучения 13
2.3. Оценка результатов модели 18
Заключение 19
Список литературы
Глобализация и повсеместная автоматизация сильно изменили мир за последние десятилетия. Каждую секунду, по данным 2020 года, сред-нестатистический пользователь создавал 1,7 Мб информации. Подобную ситуацию некоторые эксперты называют "информационным ожирением". В таких условиях всё большую ценность приобретают различные способы обработки информации и получения из неё максимума полезных знаний. Отдельную нишу занимает обработка естественного языка.
Обработка естественного языка (Natural Language Processing, NLP) — пересечение машинного обучения и математической лингвистики. Сегодня NLP применяется во многих сферах, в том числе в голосовых помощниках, автоматических переводах текста и фильтрации текста. Основными тремя направлениями являются: распознавание речи (Speech Recognition), понимание естественного языка (Natural Language Understanding) и генерация естественного языка (Natural Language Generation).
Частным случаем NLU является атрибуция авторства, т.е. исследование с целью установления автора текста или получения каких-либо сведений об авторе. Развитие данного направления, вкупе со стилометрическими приёмами, оказывает огромное влияние на различные области, такие как: 1. Анализ социальных сетей, политические исследования и маркетинг - для лучшего понимания аудитории, а также для изучения поведения различных политических групп довольно часто прибегают к методам атрибуции авторства [1, 2]; 2. Работа с преступлениями, связанными с кибербезопасностью, - стилометрические методы использовались в качестве доказательства в виде экспертных знаний в судах Великобритании, США и Австралии; 3. Образование и литературоведение - многие методы атрибуции авторства были созданы с целью разрешения споров о принадлежности текстов тому или иному историческому лицу[3, 4].
Данная работа представляет из себя реализацию методов атрибуции авторства на корпусе художественных текстов русских авторов.
Постановка задачи
В качестве хорошей аналогии для определения истинного автора является определение человека по отпечаткам пальцев. Последнее имеет название дактилоскопии, и начинает свою историю с конца 19го века, когда Ф. Гальтон на основе коллекции Парижской полиции (генетические тесты). Но с полной уверенностью можно утверждать, что задача атрибуции авторства сильно сложнее задачи сопоставления человека с его отпечатками.
Во-первых, стиль автора - сущность динамичная и периодически из-меняющаяся, в отличие от тех же статичных отпечатков, которые являются уникальным идентификатором конкретного человека на всю жизнь (не рассматриваем случаи хирургического вмешательства или прочие крайние ситуации).
Во-вторых, задачи, связанные с работой с естественными языками, всегда сопряжены с большой трудностью - сбор и предварительная обработка данных. Количество сырых данных велико, но они редко приносят пользу в своём естественном виде. В среднем, предобработка занимает в районе 3-4 этапов (нормализация, удаление стоп-слов, токенизация и др.)
В рамках проблемы атрибуции авторство было решено использовать компьютерные методы обработки естественного языка, позволяющие по заданному художественному русскоязычному тексту определять автора из ограниченного набора альтернатив.
Сформулируем данную задачу следующим образом:
Для случайно выбранного текста из множества Tнеобходимо определить истинного автора из множества A.
В рамках работы над этим исследованием были выделены следующие этапы:
1. Изучение уже существующих статей и исследований, связанных с методами идентификации авторов русскоязычных художественных текстов;
2. Выделение наиболее перспективных приёмов и инструментов;
3. Создание для данных целей достаточно объёмного корпуса;
4. Предварительная обработка данных;
5. Программная реализация идей;
6. Проверка качества полученных результатов.
Результатом данного исследования стало написание программы с использованием ЯП Python3 и специализированных библиотек для машинного обучения (таких как: catboost, vectorhub[encoders-text-tfhub] и другие). Идейно реализация была разбита на две части - парсер и работа с моделями.
Парсерная часть содержит в себе логику с http-запросами и реализацию класса Author, с такими атрибутами как authorName и authorTexts.
Логическая часть посвящена применению LaBSE к полученному корпусу текстов с целью их векторизации, а также применению модели классификации от catboost к train-выборке. Завершается данный этап использованием test-выборки для проверки качества работы выбранной архитектуры.
Как показали результаты, использование структуры Author2Vec, основанной на применении BERT-образных моделей, хорошо показывает себя на ранее тяжело контролируемой задаче - атрибуция авторства.
[1] Lau J. H., Collier N., Baldwin T. On-line trend analysis with topic models: twitter trends detection topic model online. Proceedings of COLING: Technical Papers. Mumbai, 2012, pp. 1519-1534;
[2] Е. А. Малютин, Д. Ю. Бугайченко, А. Н. Мишенин, “Выделение текстовых трендов в социальной сети OK”, Вестн. С.-Петербург. ун-та. Сер. 10. Прикл. матем. Информ. Проц. упр., 13:3 (2017), 313-325;
[3] https://sysblok.ru/philology/;
[4] Дроздова, И. И. Определение авторства текста по частотным характеристикам / И. И. Дроздова, А. Д. Обухова. — Текст : непосредственный // Технические науки в России и за рубежом : материалы VII Междунар. науч. конф. (г. Москва, ноябрь 2017 г.). — Москва : Буки-Веди, 2017. — С. 18-21. — URL: https://moluch.ru/conf/tech/archive/286/13237/;
[5] GRACHEVA A.A.1. STYLOMETRY: A COMPUTER METHOD FOR ATTRIBUTION AND STYLISTIC ANALYSIS. Higher School of Printing and Media Technologies, Saint-Petersburg State University of Industrial Technologies and Design;
[6] MB Malyutov. Authorship attribution of texts: A review. General Theory of Information Transfer and Combinatorics, 362-380;
[7] https://catboost.ai/docs/concepts/;
[8] https://vector-ai.github.io/vectorhub/;
[9] Fangxiaoyu Feng, Yinfei Yang, Daniel Cer, Naveen Arivazhagan, Wei Wang. Language-agnostic BERT Sentence Embedding. Google AI;
[10] Xiaodong Wu, Weizhe Lin, Zhilin Wang, Elena Rastorgueva. Author2Vec: A Framework for Generating User Embedding. University of Cambridge, United Kingdom;
[11] STEVEN H. H., BENJAMIN C. M. FUNG, FARKHUND IQBAL, WILLIAM K. CHEUNG. Learning Stylometric Representations for Authorship Analysis;
[12] https://nplus1.ru/material/2020/10/15/pseudotragics.