Файл: Средства разработки клиентских программ (Обзор готовых программных продуктов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.06.2023

Просмотров: 78

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

Для достижения поставленной цели необходимо выполнить следующие задачи:

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


ГЛАВА 1. АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ

Авторская атрибуция (далее АА) — это задача сопоставления исследуемому документу одного автора из конечного множества авторов других документов, среди которых есть автор исследуемого текста [1]. АА обычно направлена на решение задач идентификационного, или диагностического, характера. Идентификация подразумевает проверку документа на истинность авторства и необходима в случаях, когда требуется удостовериться в истинности авторства. Определение авторства производится над анонимным документом, автор которого точно не известен. Как правило, задача идентификации решается через задачу определения авторства, при данном подходе исследуемый текст считается анонимным, и ему сопоставляется автор из заданного множества; в случае, если новый автор совпадает с предполагаемым, истинность авторства подтверждена, в ином случае – нет.

    1. Обзор готовых программных продуктов

В настоящее время существует сравнительно небольшое количество готовых программных продуктов, предназначенных для проведения авторской атрибуции документов на естественном языке. В таблице 1 представлено описание существующих программных средств [2].

Лингвоанализатор [3]. Программа использует метод энтропийного анализа, суть метода заключается в том, что к анонимному документу последовательно добавляются фрагменты документов с известным авторством, после чего модифицированные тексты обрабатываются алгоритмами сжатия. Анонимному тексту присваивается авторство того документа, фрагмент которого в совокупности с исходным текстом показал наибольшую степень сжатия. Наибольший результат в 89 % был продемонстрирован на выборке из 1813 статей 50 авторов, однако для оценки точности использовалась лишь десятая часть от исходной выборки.

СМАЛТ [4]. Система основана на методах кластерного анализа лексических единиц текста (абзацы, предложения и слова) и на критериях Колмогорова-Смирнова, Стьюдента. Из анонимного документа извлекаются различные лексические единицы, строится граф, после чего происходит сравнительный анализ по критериям Колмогорова-Смирнова и Стьюдента с другими текстами выборки. Эксперименты были поставлены на выборках до 900 слов, однако авторы в явном виде не приводят результаты экспериментов, по которым можно было бы оценить их качество.

Атрибутор [5]. В данной системе в качестве описания текстов используются распределения троек символов исходного текста. Полученные текстовые описания сравниваются по принципу каждый с каждым, с использованием математического аппарата Марковских цепей. Автор также не указывает точность предложенного метода.


Стилеанализатор [6]. Автор данной системы извлекает из каждого текста выборки различные признаковые описания, далее решение сводится к задаче классификации текстов по этим признакам. В качестве основных алгоритмов классификации используются нейронные сети. Данный подход позволяет получать точность порядка 90-98 % в задаче авторской атрибуции, однако автор не указывает точный размер выборки, на которой был получен такой результат. Также использование нейронных сетей требует больших вычислительных мощностей и временных задач для проведения классификации на больших выборках.

Авторовед [7]. Автор данного программного обеспечения также сводит авторскую атрибуцию к задаче классификации. В качестве признаков используются 300-700 наиболее употребляемых троек букв текста, а также 500 наиболее употребляемых слов. Для классификации используются нейронные сети и метод опорных векторов. При бинарной классификации (классификация 2 авторов) данный подход показывает точность в 90-98 %, однако данная точность может быть завышена из-за недостаточного размера выборки и количества авторов, также нейронные сети достаточно требовательны к вычислительным мощностям и проигрывают по времени обучения.

Таблица 1

Сравнительное описание программных средств определения авторского инварианта.

Название

Методы

Методы анализа текстов

Требование по объёму текста

Точность, %

Лингвоанализатор

Энтропийный анализ

Статистический и графемный анализы

> 40 000 символов

~89

СМАЛТ

Кластерный анализ, критерии Колмогорова-Смирнова, Стьюдента

Графемный, морфологический, синтактический, статистический анализы

Около 500 цельных слов для определения однородности текста

Нет данных

Атрибутор

Марковские цепи

Статистический, вероятностный анализы

> 20 000 символов

Нет данных

Стилеанализатор

Меры расстояний, марковские цепи, нейросети, деревья решений

Графемные, статистические анализы, работа с первоначально размеченными профессиональными лингвистами текстами

> 30 000 символов

90 - 98

Авторовед

Нейросети, QSUM, опорные векторы

Графемный, морфологический, синтактический, статистический анализы

> 20 000 символов

95


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

Общие подходы

Решение задачи АА методами классификации относится к такой области искусственного интеллекта, как машинное обучение. В общем случае построение модели машинного обучения принято делить на основные этапы, которые включают в себя сбор данных, очистку данных, извлечение признаков данных, алгоритмическую обработку признакового описания и оценку результата. В группе задач по классификации текстов принято придерживаться подобных подходов [8], на рисунке 1 представлена диаграмма последовательности этапов построения подобной модели применительно к задаче АА.

Рисунок 1. Основные этапы в задаче АА.

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

Данный этап подразумевает под собой сбор первичных данных, в нашем случае это русскоязычные литературные произведения разных авторов, для которых будет решаться задача АА. Собранная текстовая выборка делится на две части [9], первая используется для обучения классификатора, вторая – для тестирования алгоритма. Соотношения размеров двух выборок могут быть разными, но чаще всего размер тестовой выборки меньше либо равен размеру обучающей выборки. Итоговое решение относительно размеров выборок зависит от количества и состава исходных данных – данная задача суть предмет параметризации метода на материале экспериментов, проводимых при помощи программного обеспечения, реализующего метод. Чем больше обучающая выборка, тем лучше обучается алгоритм, многообразие исходных данных позволяет классификатору уловить сложные редко встречающиеся зависимости, соответственно на меньших данных алгоритм будет обучаться хуже. В то же время, чем больше размер тестовой выборки, тем точнее можно оценить качество алгоритма. Небольшие размеры тестовой выборки могут привести к переоценке или недооценке качества работы алгоритма. Основная задача в разделении выборки – найти оптимальное соотношение размеров двух подмножеств данных.


В случаях, когда для исследования доступны малые объёмы данных, разделение выборки на тестовую и обучающую не рационально, в таком случае применяют кросс-валидацию [9] – процесс, при котором вся выборка делится на несколько равных частей, как правило, (3, 5, 10), после чего одна часть становится отложенной и используется для тестирования, а остальные – для обучения алгоритма. Далее в качестве тестовой выделяется другая часть данных, остальные также идут в обучение. После того, как все части были использованы для тестирования, строится итоговая оценка качества алгоритма, определяемая средним значением оценок каждого из экспериментов. Данный метод хорошо подходит при малых исходных данных, но он обладает большими временными затратами, так как алгоритм обучается не один раз, как в случае с статической тестовой выборкой, а N раз, где N это количество разбиений кросс-валидацией.

Одним из ключевых параметров исходных данных в задачах классификации текстов является количество классов (авторов произведений). Как указывается в исследовании [10], подавляющее большинство экспериментов в области АА ставится на малом количестве авторов (2-10 авторов), вследствие чего авторы таких работ получают высокую точность разработанных алгоритмов, однако такая оценка с большой долей вероятности является сильно завышенной. Подобная ситуация наблюдается среди реализованных программных продуктов, описанных в разделе 1.1 данной работы. Исходя из описанного, для наиболее точной оценки качества разработанного алгоритма необходимо включать в исходную выборку достаточное количество авторов (более 10).

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

  • Понижение регистра слов, удаление пунктуации и числовых символов.
  • Удаление стоп-слов, к ним относят союзы, междометия, местоимения, предлоги, а также самые часто встречающиеся слова. Для задачи АА считается, что эти данные не являются носителями авторского стиля [25].
  • Нормализация форм слов. Все слова текста приводятся в их начальные формы так, например, слово «люди» превращается в «человек». В рамках задачи АА данный шаг может ухудшить качество алгоритма в связи с уменьшением числа разных словоформ, которые могут описывать авторский стиль. К тому же задача нормализации форм слов является алгоритмически сложной и требует больших временных ресурсов. Однако конечный вывод о применимости данного шага для АА можно сделать после детальной апробации.
  • Токенизация текста. Данный шаг подразумевает под собой извлечение из исходного текста токенов – элементарных единиц текста, в качестве которых могут выступать слова, наборы слов, N-граммы символов и букв, и даже целые предложения. Данный шаг является ключевым в области АА для дальнейшего извлечения признаков текста.