Содержание к диссертации
Введение
1 Обзор подходов к идентификации автора неизвестного текста 15
1.1 Первые количественные методы 16
1.2 Методы статистического анализа 18
1.2.1 Статистические критерии 18
1.2.2 Методы теории информации 22
1.2.3 Метод накопительных сумм 26
1.2.4 Метод главных компонент и линейный дискриминантный анализ 28
1.3 Методы машинного обучения 30
1.3.1 Генетические алгоритмы 31
1.3.2 Метод к ближайших соседей 31
1.3.3 Деревья решений 32
1.3.4 Наивный байесовский классификатор 32
1.3.5 Искусственные нейронные сети 33
1.3.6 Машина опорных векторов 41
1.4 Сравнительный анализ методов идентификации автора 47
1.5 Выводы по главе 1 49
1.6 Постановка задач исследований и разработок 50
2 Методика идентификации автора неизвестного текста 52
2.1 Обобщенная методика идентификации автора текста и формирования модели авторского стиля 52
2.2 Модели представления текста в виде наборов признаков 55
2.2.1 Модель «Мешок слов» 55
2.2.2 yV-граммные модели 56
2.2.3 Сглаживающие модели 58
2.3 Анализ структуры и характеристик текста 62
2.3.1 Характеристики текста, использующиеся для идентификации автора 62
2.3.2 Модель иерархической структуры текста 63
2.4 Параметры классификаторов 66
2.5 Выводы по главе 2 67
3 Моделирование параметров авторского стиля 69
3.1 Общее описание экспериментов. Алгоритм проведения экспериментов 69
3.2 Влияние количества и частотности признаков на точность идентификации автора 71
3.3 Выбор типа ядрового преобразования машины опорных векторов 72
3.4 Исследование характеристик текста в случае двух альтернатив 72
3.5 Исследование характеристик текста в многоклассовых задачах 74
3.6 Сравнение времени обучения классификаторов 76
3.7 Исследование точности идентификации на основе сочетаний характеристик текста 77
3.8 Исследование техник сглаживания 78
3.9 Объединение полученных результатов. Использование ансамблей классификаторов 79
3.10 Решение практических задач на основе разработанной методики (результаты внедрения). Идентификация автора короткого электронного сообщения 81
3.10.1 Идентификация автора короткого электронного сообщения 81
3.10.2 Пример решения частной задачи идентификации автора 83
3.11 Рекомендации по практическому применению методики 85
3.12 Выводы по главе 3 87
4 Программный комплекс для идентификации автора письменной речи «Авторовед» 90
4.1 Структура программного комплекса 90
4.1.1 Подсистема сбора статистической информации 91
4.1.2 База данных для хранения текстов и их характеристик 92
4.1.3 Подсистема формирования файлов для исследований 95
4.1.4 Аналитическая подсистема 98
4.1.5 Подсистема представления результатов 100
4.2 Алгоритмическое обеспечение 101
4.2.1 Общий алгоритм работы подсистемы сбора статистической информации 101
4.2.2 Алгоритм автоматического определения кодировки текста 102
4.2.3 Алгоритм корректировки текста 103
4.2.4 Алгоритмы разбора текста 105
4.2.4.1 Алгоритмы определения границ предложения 105
4.2.4.2 Алгоритм разбора предложения 109
4.2.5 Алгоритм морфологического анализа 111
4.2.6 Алгоритмическое обеспечение Подсистемы формирования файлов 113
4.2.6.1 Алгоритм выполнения подготовленных запросов для извлечения характеристик текста из БД 113
4.2.6.2 Алгоритм формирования подготовленных для исследований файлов 114
4.3 Сравнение программного комплекса «Авторовед» с аналогами 116
4.3.1 Анализ программного обеспечения в области определения авторства текстов 116
4.3.2 Сравнение программного комплекса «Авторовед» с аналогами 124
4.4 Выводы по главе 4 126
Заключение 128
Список литературы 130
- Статистические критерии
- Модели представления текста в виде наборов признаков
- Влияние количества и частотности признаков на точность идентификации автора
- Подсистема формирования файлов для исследований
Введение к работе
Актуальность темы. За более чем 120-летнюю историю развития вопроса идентификации автора неизвестного текста отечественными и зарубежными исследователями было предложено множество методов определения автора текста, начиная от простого подсчета количества определенных слов в сравниваемых текстах и заканчивая разработками в области искусственного интеллекта.
У экспертов, занимающихся проблемами идентификации автора неизвестного текста, до последнего времени популярностью пользовались методы, основывающиеся на предположении о том, что каждый автор обладает набором специфических стилистических приемов, характерными языковыми особенностями (лексическими, грамматическими, фразеологическими), прослеживающимися во всех произведениях, благодаря которым его можно опознать. Внимание экспертов также привлекала любая автобиографическая информация, содержащаяся в тексте, «любимые» слова и т.п. Трудность использования этих методов заключается в том, что характерных особенностей у текста, равно как и у автора, может и не быть. Кроме того, если текст имеет выраженные особенности то, существует вероятность подмены типичных особенностей индивидуального стиля автора. К недостаткам следует также отнести и тот факт, что выявление отличительных черт авторского стиля носит субъективный характер, так как зависит от личности исследователя.
Вопросами идентификации автора текста в России, в частности, занимались Морозов Н.А., Марков А.А., Фоменко В.П. и Фоменко Т.Г., Хмелев Д.В., Хетсо Г., Рогов А.А., Сидоров Ю.В., Комиссаров А.Ю., Шевелев О.Г., Поддуб-ный В.В, Марусенко М.А.
Наиболее цитируемыми зарубежными авторами, занимавшимися вопросами определения авторства, являются Mendenhall Т.С, Morton A.Q., Farringdon J.M., Efron В., Thisted R., Teahan W. J., Chaski C.E., Stamatatos E., Juola P., Peng R.D., Joachims Т., Diederich J.J., Apte С Lowe D., Matthews R., Tweedie F.J., De Vel 0., Argamon S., Levitan S., Zheng R.
В настоящее время наблюдается повышенный интерес к количественным методам анализа текстовой информации на основе слабо контролируемых человеком характеристик текста, общих для всех авторов.
Однако общепринятого мнения о том, какой набор характеристик дает лучший результат, не существует. Этот вопрос остается открытым, в частности, для русского языка, т.к. существует немного работ, в которых проводились исследования на представительных русскоязычных корпусах. Недостаточно внимания уделено идентификации автора на основе комплексных характеристик текста, написанного на русском языке.
Работоспособность большинства методов идентификации автора для русского языка проверена в рамках решения частных задач. Судить о точности тех или иных методов по результатам исследования для английского и др. языков не корректно в силу особенностей строения каждого языка.
Сравнительный анализ методов на представительных корпусах, приведенный в работах ряда авторов, показывает, что лучшим классификатором в на-
стоящее время является машина опорных векторов. Однако работ, посвященных исследованию данного метода для русского языка, нет.
Сопоставимые с машиной опорных векторов результаты дают искусственные нейронные сети. Шевелевым О.Г. установлено, что данный метод дает наиболее точные результаты, однако его использование затруднено в связи с большими временными затратами на подбор архитектуры сети и её обучение, поэтому полного исследования нейросетевого подхода проведено не было. В связи с этим актуальной становится задача исследования алгоритмов автоматического построения топологии нейронной сети.
Нерешенной задачей является идентификация авторства коротких текстов. Существующие методы работают с текстами объемом более 30000-40000 символов и большим количеством обучающих примеров (5-100 и более). Поэтому актуальной задачей является поиск решений для снижения требуемого объема выборок и их количества.
Существующие в настоящее время программные комплексы для идентификации автора, в числе которых «Штампомер» (Л.Л. Делицын), «Лингвоана-лизатор» (Москва, Д.В. Хмелев), «Атрибутор» (Москва, МГУ, Поликарпов А.А. и др.), «Лингвистический анализатор» (Самара, А. Львов), «СМАЛТ» (Петрозаводск, ПетрГУ, А.А. Рогов и др.), «Стилеанализатор» (Томск, ТГУ, О.Г. Шевелев), «JGAAP» (США, P. Juola), «Автор» (Москва, ВНИИСЭ, ЭКЦ УВД России) реализованы на основе методов идентификации авторства, математический и лингвистический аппарат которых не всегда гарантирует точный результат. Большинство программ носит демонстрационный характер или не предназначено для решения реальных практических задач. Объем текста, необходимого для работы программ, в лучшем случае составляет 30 000 символов, что также ставит под сомнение возможность их использования в случае атрибуции реальных спорных текстов. Существующие программы не ориентированы на работу с короткими текстами, имеющими свою специфику. Особенности русского языка при анализе авторства не учитываются. Современные машинные методы интеллектуального анализа данных реализованы в них лишь частично.
Таким образом, разработка методики, в которой учтены недостатки существующих подходов, и создание программного комплекса на её основе являются актуальными задачами.
Целью работы является разработка и исследование методики идентификации авторства текстов на русском языке, обеспечивающей повышение точности определения автора, уменьшение объема текстовой выборки и снижение временных затрат на принятие решения, и создание программного комплекса для идентификации авторства на её основе.
Задачи исследования. Для достижения поставленной цели были решены следующие задачи:
1) анализ существующих методов, характеристик текста, программных средств, используемых для идентификации автора отечественными и зарубежными исследователями;
анализ структуры текста и моделей его представления для целей идентификации автора;
разработка методики идентификации автора неизвестного текста и получения информативных параметров авторского стиля;
разработка алгоритмического и программного обеспечения для идентификации автора неизвестного текста. Моделирование параметров авторского стиля.
Объект и предмет исследования. Объектом исследования является печатный текст и его характеристики. Предметом исследования являются характеристики текста, описывающие авторский стиль и методы идентификации автора неизвестного текста.
Методы исследования. Для решения задач, сформулированных в работе, использовались методы математической статистики, вычислительного эксперимента и искусственного интеллекта. При разработке программной системы использовались методы объектно-ориентированного программирования.
Достоверность и обоснованность полученных результатов подтверждаются серией практических экспериментов по идентификации автора на представительном корпусе текстов, а также согласованностью полученных данных с результатами других авторов.
Научная новизна работы определяется следующим.
Разработана новая методика идентификации автора русскоязычного текста, в которой впервые для целей идентификации автора текста на русском языке применяются метод опорных векторов и нейронные сети каскадных корреляций, используются методы сглаживания вероятностей. Особенностью методики является принятие итогового решения об авторе текста несколькими классификаторами по принципу мажоритарного голосования.
Предложена теоретико-множественная модель текста, учитывающая его иерархическую структуру.
Разработано оригинальное алгоритмическое обеспечение для обработки текста, учитывающее особенности русского языка и электронных текстов, в том числе коротких электронных сообщений.
4. Получены экспериментальные зависимости точности идентификации
автора на основе различных характеристик русскоязычного текста при 2, 5, 10,
50 предполагаемых авторах и использовании искусственных нейронных сетей и
метода опорных векторов, с применением методов сглаживания вероятностей.
Предложена комбинация информативных признаков текста для описания ав
торского стиля, включающая частоты появления отдельных букв, знаков пунк
туации, наиболее частых триграмм символов и слов русского языка.
Практическая ценность
1. Предложенная методика и её программная реализация позволяют снизить временные затраты на 1-3 порядка, сократить требуемый для однозначной идентификации объем текста до 20000 символов, при этом повысить точность
идентификации автора неизвестного текста на 0,05-0,15 по сравнению с существующими подходами.
Разработанное алгоритмическое и программное обеспечение системы «Авторовед» может использоваться как непосредственно для идентификации автора неизвестного текста на русском языке, так и для проведения комплексных исследований характеристик текста в задаче идентификации автора.
Полученная методика идентификации автора, алгоритмическое и программное обеспечение, база данных и SQL-запросы к ней могут применяться при решении смежных задач: идентификации языка текста, пола и тендера, профессии, национальности, уровня образования автора, а также других задач, связанных с анализом текста.
Результаты диссертационной работы использовались при выполнении проекта «Программное обеспечение для исследования характеристик текста в задачах идентификации автора» программы ФСРМПНТ «У.М.Н.И.К.» (договор № КР 04/07 от 9.06.2007 г.; № 014/08 от 9.09.2009 г).
Внедрение результатов. Разработанные методика идентификации автора и программный комплекс «Авторовед» внедрены в воинской части 51952 и Центре Технологий Безопасности ТУ СУР. Внедрение показало положительный результат, состоящий в повышении точности идентификации автора, снижении временных затрат на эксперименты за счет автоматизации процесса и применяемых подходов.
Результаты диссертационной работы используются в учебном процессе Томского государственного университета систем управления и радиоэлектроники при изучении дисциплин «Теория информации» и «Методы программирования».
Апробация результатов. Материалы работы докладывались и обсуждались на следующих конференциях и семинарах:
Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых «Научная сессия ТУ СУР», 2006 - 2010 гг., Томск;
Международной научно-методической конференции, посвященной 90-летию высшего математического образования на Урале «Актуальные проблемы математики, механики, информатики», 2006 г., Пермь.
Международной конференции «Interactive Systems and Technologies: The Problems of Human-Computer Interaction», 2007 г., Ульяновск.
Седьмом Всероссийском конкурсе студентов и аспирантов по информационной безопасности «SIBINFO-2007», 2007 г., Томск;
Международной научно-практической конференции «Электронные средства и системы управления», 2007 г., 2009 г. Томск.
Научно-техническом семинаре «Интеллектуальные системы моделирования, проектирования и управления», 2007 - 2010 г., Томск;
Всероссийской научной конференции «Техническая кибернетика, радиоэлектроника и системы управления», 2008 г., Таганрог.
Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых с международным участием «Молодежь и современные информационные технологии», 2008 г., 2009 г., Томск.
Всероссийской научно-практической конференции «Проблемы информационной безопасности государства, общества и личности, безопасность на-нотехнологий», 2009 г., Томск.
Международной конференции по компьютерной лингвистике «Диалог 2009», 2009 г. Москва.
Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых «Технологии Microsoft в теории и практике программирования», 2010 г., Томск.
Основные научные положения, выносимые на защиту
Методика идентификации автора неизвестного текста позволяет определять автора с точностью 0,95-0,98, при этом снизить объем необходимого текста до 20000 символов и сократить временные затраты на принятие решения на 1-3 порядка по сравнению с существующими подходами.
Авторский стиль наиболее точно описывается комбинацией характеристик текста, включающей частоты появления отдельных букв, знаков пунктуации, высокочастотных триграмм символов и слов русского языка.
Разработанное алгоритмическое и программное обеспечение для идентификации автора письменной речи «Авторовед» позволяет производить полный цикл обработки текстов, исследований влияния характеристик текста, вида классификатора и его параметров на точность идентификации автора неизвестного текста, идентифицировать автора из множества возможных претендентов с помощью искусственных нейронных сетей и машины опорных векторов, проводить анализ потенциально заимствованного текста, подтверждать или опровергать авторство текста.
Публикации. По результатам выполненных исследований опубликовано 20 работ, в том числе 3 в журналах, рекомендованных ВАК. Получено свидетельство о регистрации программной системы «Авторовед» в объединенном фонде электронных ресурсов «Наука и Образование» Института научной информации и мониторинга, подтверждающее, что электронный ресурс отвечает требованиям новизны и приоритетности (свидетельство № 15146).
Структура и объем работы
Статистические критерии
Ключевая идея одномерного статистического анализа заключается в том, что стиль автора можно выразить через один показатель. Этим показателем может быть, например, средняя длина предложения или слова, частота встречаемости определенного слова, оценка словарного запаса автора и др. В современных методиках идентификации авторства идея применения какого-либо одного авторского инварианта поддержки не находит.
Многомерный статистический анализ подразумевает использование нескольких показателей, это может быть как комбинация нескольких независимых параметров текстов, так и распределение характеристики текста.
В большинстве первых работ в области идентификации автора при сравнении текстов использовались простые меры расстояния. Используются они и сейчас. Например, в методе на основе частотного словаря Хрулева [44] тексты сравниваются на основе расстояния Евклида между частотными словарями. Суть методов статистического анализа с помощью статистических критериев можно описать следующим образом: в исследовании определяется критическая граница а и для каждой текстовой выборки определяется числовой параметр а. Проверяется две гипотезы: Н\ - {если а а , то текст с высокой вероятностью принадлежит автору} иЯ2- {если а а , то текст с высокой вероятностью не принадлежит автору}. По результатам проверки формулируется заключение.
Проверка принадлежности спорных текстов автору с помощью критерия Стьюдента проводится на основе средних значений некоторых характеристик текста (например, средней длине слова в буквах или средней длине предложения в словах). Подготовительным этапом является объединение всех текстов автора в один. Затем исследуемые тексты разбиваются на выборки равного объема. Для каждого текста получают три характеристики: число выборок nh значение среднего в выборках и стандартное отклонение ах. Эти же операции проделываются с текстом, полученным в результате объединения всех имеющихся текстов, точно принадлежащих автору — рассчитываются п2, Ш2, ст2- Для правомерности использования теста выборки должны иметь нормальное распределение.
В результате для каждого произведения получаются значения t-характеристики. Среди произведений, точно принадлежащих автору, выявляется то, значение критерия которого максимально. Из множества остальных произведений исключаются тексты, значение -характеристики которых больше фиксированного. Гипотеза о том, что они написаны этим автором отвергается.
В ходе теста на однородность с помощью критерия Колмогорова-Смирнова определяется вероятность того, что распределение некоторого па 20 раметра в двух текстах взяты из одной и той же генеральной совокупности и подчиняются одному закону распределения.
Как и в предыдущем случае, все известные тексты автора объединяются в один. Затем используется непараметрический критерий Колмогорова-Смирнова, измеряющий разницу между накопленными частотами в сравниваемых текстах. 1 maxl V/,+/2 где біти обозначает максимальную разницу между накопленными относительными частотами, 1\ и /2 - длина текстов в выбранных единицах (словах, предложениях), относительно которых происходит подсчёт.
Для всех текстов получают значения X. Среди текстов, точно принадлежащих автору, выбирается тот, значение X для которого максимально - Хтах. Из группы атрибутируемых статей исключаются те, которые имеют коэффициент X больший, чем Хтах.
Критерий Стьюдента и Колмогорова-Смирнова применял Гейер Хетсо. В 1979 году им была предпринята попытка исследования проблемы атрибуции ряда анонимных статей в журналах "Время" и "Эпоха" на предмет принадлежности их перу Ф.М. Достоевского [41]. В результате статистического анализа, из 12 спорных статей, предписываемых другими исследователями Достоевскому, Хетсо подтвердил его авторство в 5 случаях, ещё в 3 случаях подтвердились соавторство и редакционная правка. Для одной статьи однозначного ответа дать не удалось в виду её малого объема. Участие Достоевского в написании и редактировании ещё 3 статей не подтвердилось полностью.
Позже методика Г. Хетсо была использована в рамках работы над проектом «СМАЛТ». Ю.В. Сидоров в своей диссертационной работе [35] ставит под сомнения выводы Хетсо, аргументируя это недостаточным объемом исследуемых статей и результатами проверки текстов других потенциальных претендентов на предмет принадлежности их Достоевскому. Далее Сидоров делает вывод о невозможности выявления в спорных статьях авторского инварианта Достоевского как такового.
В диссертационной работе А.Ю. Комиссарова [15] описанные критерии использовались при разработке методики дифференциации авторов текстов с помощью анализа лексических навыков и методики классификации авторов текстов по уровню языковой культуры на основе лексического состава текстов.
Модели представления текста в виде наборов признаков
Чаще всего, текст представляется как неупорядоченная коллекция всех слов (или признаков слов), из которых он состоит - так называемый «мешок слов» («Bag of Words») [99, 132]. Пусть М - множество всех имеющихся текстов для исследований, а ело варь /-го текста Vl = {w/,wir,...,w; }, где «;- - количество уникальных слов (или лемм в случае, если все слова приведены к нормальной форме). Тогда словарь кодовых слов для всех текстов можно записать как объединение семейства множеств {V;}, / є М: W= U Vi ={w\weVi ЗіеМ}. іеМ Длина вектора для z -ro текста будет равна мощности множества словаря \W\, а его элементы 7} = (/j,/2v?Wj) формируются по следующему принципу: h= ,j = l,nhk = \,\W \\. (2.1) Модель можно усложнить, положив tk равным некоторой количественной оценке признаков - весу признака. Например, относительной частоте появления у-го слова (леммы) в /-ом тексте f(w- ): tk = /(w/) w/ eWJ = \tntik = \,\W\. (2.2) Сравнивая модели (2.1) и (2.2) можно сказать, что первая лучше подходит для анализа коротких сообщений, т.к. большинство слов встречаются в небольшом объеме текста 1-2 раза, и принадлежность текста к определенному классу характеризуется скорее фактом его наличия, чем частотой встречаемости.
Идея модели (2.1) в сочетании с принципом инвариантности использовалась для проверки однородности текста на русском языке в работе А.П. Ковалевского [13]. В работе Н.С. Закревской [10] в качестве элементов векторов применялись длины слов в слогах.
Схожим образом можно составить модель текста на уровне символов, используя вместо словаря набор интересующих букв, цифр, знаков пунктуации или специальных символов.
На практике, как правило, используются словари ограниченного объема, составленные экспертом заранее и отвечающие некоторым интересам. Это может быть словарь терминов по определенной тематике, просто некоторый набор слов (например, функциональные слова), однако чаще всего используются наиболее частые слова из частотного словаря.
Более совершенными моделями, учитывающими порядок элементов в тексте, являются TV-грамные модели. Пусть задан алфавит признаков А и последовательность Г = (а],а2,...,а/+(п_1)), составленная на его основе, где L и п - положительные целые числа. Тогда TV-граммой назовем цепочку п смежных признаков, являющуюся подпоследовательностью Т. Таким образом, JV-грамма с номером / будет иметь вид (ai,...,ai+n ), и в последовательности ТсуществуетL такихЛ -грамм.
Если алфавит состоит из букв русского алфавита и знака дефиса, то TV-граммами можно записать последовательность символов, из которых состоит слово. Если элементами алфавита являются слова, тогда TV-грамма - это некоторая последовательность слов текста. Если алфавит состоит из грамматических классов, то TV-граммами можно записать последовательности грамматических классов текста. Таким образом, с помощью TV-граммных моделей уровня символов можно зафиксировать закономерности словообразования, а с помо 57 щью TV-граммных моделей уровня слов - синтаксические связи внутри фраз и предложения.
Корректировка параметров классификатора, позволяющих обеспечить высокую разделяющую способность исследуемых авторов, путем обучения классификатора на нормированных векторах признаков группы обучающих текстов и проверки точности обученного классификатора на векторах признаков тестовой группы текстов. Первоначальное обучение классификатора происходит с параметрами по умолчанию.
Изменение перечня групп характеристик и/или признаков, составляющих группу, в случае, если изменением параметров классификатора достичь приемлемых результатов не удается.
Итогом является обученный классификатор, веса связей которого настроены так, чтобы классификатор был способен разделить стили авторов, на текстах которых он обучался при подаче на его входы подобранного набора признаков (авторского инварианта).
Разработанная методика помимо информативности признаков текста, анализируемых в статистических методах идентификации авторства, учитывает влияние общей способности классификатора к разделению данных и его точность, рассматривая его в виде «черного ящика».
Главной особенностью предложенного подхода является принятие итогового решения об авторе текста несколькими классификаторами (ансамблем классификаторов) по принципу мажоритарного голосования в случае, если удалось найти несколько информативных групп признаков текста.
Влияние количества и частотности признаков на точность идентификации автора
Для оценки влияния количества признаков на точность идентификации были проведены эксперименты по определению авторства на основе триграмм символов и количеством авторов равным двум. Классификаторы обучались и тестировались на пространствах признаков разной размерности: от 300 до 10000 триграмм, предварительно упорядоченных по частоте встречаемости.
Полученные результаты показывают, что использование большего количества признаков негативно сказывается на точности идентификации. Наиболее информативным набором является ограничение в 300-700 наиболее частотных триграмм, при этом средняя точность по всем экспериментам составляет 0,94 для нейронных сетей обеих архитектур (см. приложение 7, рис. П.7.1-П.7.2). Для сравнения при использовании 10000 признаков и сетей каскадных корреляций точность равна 0,85.
Классификация по двум авторам с помощью опорных векторов (см. приложение 7, рис. П.7.3) проходит одинаково хорошо при любом количестве признаков. Точность классификации 0,9 достигается на объеме выборки 10000 символов, 0,95 - на объеме 15000 символов, 0,98 - на объеме 40000 символов. Однако, если смотреть на среднюю точность по всем объемам, то увеличение количества признаков положительным образом сказывается на количестве правильно идентифицированных авторов (см. таблицу 3.1). Разница в точности между векторами размерностью 300 и 32768 составляет 0,02.
Для ответа на вопрос, влияет ли частота используемых признаков на результаты идентификации, все триграммы символов были отсортированы по частоте встречаемости и разбиты на группы по 300 признаков - от 300 до 3000, и по 700 признаков - от 700 до 7000 (см. приложение 7, рис. П.7.4-П.7.6). На примере графика для опорных векторов (см. приложение 7, рис. П.7.6) видно, что точность классификации уменьшается по мере использования менее частотных признаков с 0,91 для 300 наиболее частых триграмм до 0,81 для пятой группы и до 0,75 для последней. Аналогичные выводы можно сделать при исследовании точности классификатора с использованием в качестве признаков частотного словаря русского языка (см. приложение 7, рис. П.7.7). Наиболее информативными являются 500 первых слов (признак ШАРОВ_500). Средняя точность идентификации по всем объемам с помощью метода SVM составляет 0,93, MLP - 0,92, CCN - 0,90. Выбор ядрового преобразования метода SVM играет важную роль при идентификации автора (см. приложение 7, рис. П.7.27). Одинаково высокие результаты показывают машины с линейным и сиг-моидальным ядрами — средняя точность по всем объемам выборок составляет 0,94. Классификация с помощью полиномиальной машины 3-ей степени и ядром радиально-базисных функций проходит менее точно — 0,89, кроме того, наблюдается общее снижение точности классификации с увеличением объема текстовой выборки после значения 30000 символов. При использовании полиномиального ядра степени 3 точность составляет 0,83, увеличение степени полинома до 4 приводит к уменьшению точности до 0,64.
С целью отбора наиболее информативных характеристик текста были проведены эксперименты по идентификации в случае двух предполагаемых авторов. Результаты данных экспериментов важны для сравнения точности нейронных сетей с классификатором на основе аппарата машины опорных векторов, который изначально рассчитан на решение бинарных задач.
Использование практически всех характеристики позволяет успешно справиться с поставленной задачей в случае двух предполагаемых авторов — средняя точность классификации по всем объемам составляет 0,90 и более. Однако лучшие результаты показывает классификация на основе наиболее частых триграмм русского языка (см. приложение 7, рис. П.7.10). Так уже при объеме выборки 4000-5000 символов (около 1000 слов) точность классификации составляет 0,92, средняя значение по всем экспериментам колеблется около 0,94 для всех трех классификаторов. Из сравнительных графиков видно, что нейронные сети показывают более высокие показатели лишь на небольших объе 74 мах текста (до 10000 символов). На больших фрагментах преимущество использования машины опорных векторов очевидно - точность классификации по наиболее частым триграммам символов и частым словам с её помощью на 0,03-0,05 выше, чем с помощью нейронных сетей. Сети каскадных корреляций показывают сопоставимые с двумя другими классификаторам результаты, однако практически во всех экспериментах точность идентификации с их помощью ниже.
Сравнительно низкую идентифицирующую способность машины опорных векторов на небольших объемах текстов можно объяснить тем, что в методе компоненты входного вектора признаков, равные нулю, не учитываются при обучении. Результаты могут измениться в лучшую сторону при применении техник сглаживания, позволяющих оценить вероятности ненаступивших событий.
Исходя из результатов предыдущих исследований, для экспериментов с большим количеством классов были выбраны характеристики, отмеченные в таблице 3.1 серым цветом. Количество предполагаемых авторов при решении реальных задач идентификации автора редко превышает 5, однако в данной работе было решено ограничиться 10 авторами, чтобы показать возможный запас методов по точности.
Эксперименты для случая 5 и 10 авторов показали, что наиболее информативным авторскими признаками являются характеристики ТРИГРАММЫ_300 (см. приложение 7, рис. П.7.19-П.7.20) и ШАРОВ_500 (см. приложение 7, рис. П.7.21-П.7.22). Автора можно определить с точностью в среднем 0,95-0,98 при объеме текстовой выборки 20000-25000 символов.
Поведение графиков для сетей каскадных корреляций на рис. П.7.19-П.7.20 связано с тем, что значения частот триграмм для большинства текстов разных авторов становятся близкими. Пытаясь увеличить разделительную способность, алгоритм настройки сети добавляет дополнительные нейроны, однако это приводит к ещё большему увеличению ошибки за счет переобучения сети.
В остальных случаях стоит отметить, что с увеличением сложности задачи сети каскадных корреляций справляются с задачей лучше, чем многослойный перцептрон - разница составляет от 0,04 до 0,13.
Все три классификатора в сочетании с униграммами символов не обладают высокой разделительной способностью (см. приложение 7, рис. П.7.13-П.7.14), поэтому использование данного признака в качестве самостоятельного не рекомендуется, однако не исключается возможность применения в качестве вспомогательной характеристики.
Сравнительно низкую точность идентификации при использовании грамматических классов слов (см. приложение 7, рис. П.7.17-П.7.18) можно объяснить применением упрощенных алгоритмов морфологического анализа, точность которых составляет 80-85% при условии, что текст не содержит грамматических ошибок. Применение в дальнейшем более совершенных алгоритмов, возможно, позволит увеличить процент правильно идентифицированных авто 76 ров, однако, пока данная характеристика не применяется как самостоятельный признак.
Что касается пунктуации (см. приложение 7, рис. П.7.15-П.7.16), то она является сильным авторским инвариантом и может использоваться в качестве вспомогательной характеристики. При этом стоит помнить, что данные признаки в большей степени подвержены редакторским правкам и могут сознательно контролироваться автором.
Подсистема формирования файлов для исследований
С целью уменьшения временных затрат на получение признаков из базы данных, и для того, чтобы иметь возможность их повторного использования, было, во-первых, произведено разделение операций обучения методов идентификации и формирования данных для них, во-вторых, реализованы подготовка извлеченных наборов данных для каждого эксперимента и сохранение их в файл.
Далее следуют непосредственно N обучающих примеров, каждый из которых состоит из строки входных данных из X элементов и вектора-ответа, соответствующего номеру класса. Вектор ответ содержит Y элементов, значение 1 устанавливается в позиции, соответствующей номеру класса, к которому относится обучающий пример, все остальные элементы вектора равны -1. Также в файл записывается дополнительная служебная информация. Каждый из файлов содержит список сигнатур запросов, благодаря которым он был сгенерирован (поле «Signatures»). Сигнатуры отделяются друг от друга символом «». Помимо непосредственно векторов-ответов, хранится также расшифровка элементов вектора (поле «Labels»), а также тип метки (поле «LabelType»): фамилия, пол или возраст автора или жанр текста. Информация о позиции начала выборки в тексте и её объеме хранится через пробел в поле «Volumes».
Если полученный набор данных необходимо разбить на несколько подмножеств (например, все триграммы разбить на группы по 500 триграмм), то после выполнения соответствующего запроса, возвращающего весь набор данных (т.е., для примера, все 32768 триграммы), множество полученных признаков разбивается клиентской программой на группы и сохраняется в отдельные каталоги формата «сигнатура»_«позиция начала подмножества»_«позиция конца подмножества». Для учета такого разбиения в файл данных добавлены поля: «FeatureSubsetStart» и «FeatureSubsetEnd», соответствующие позициям начала и конца подмножества признаков. По умолчанию значения параметров равны соответственно 0 и мощности всего множества признаков (т.е. были использованы все элементы исходного множества). Пример файла данных приведен на рис. 4.36.
Чтобы иметь возможность расширения перечня обрабатываемых в системе характеристик текста без изменения программного кода, предлагается использовать следующую технологию: 1. Тексты хранятся в базе данных под управлением СУБД MySQL. 2. Запросы к базе данных для извлечения интересующих характеристик хранятся в текстовых файлах, а не являются частью кода программы. Помимо текста самих запросов дополнительно в файле сохраняется следующая информация: - сигнатура запроса; - символьная строка, обозначающая набор данных или описание действий, производимых запросом; - количество признаков, возвращаемых запросом. 3. Информация об идентификаторе текста и позициях выборки относи тельно начала текста передается через параметры: - :idtext - идентификатор текста в БД; - :frompos - позиция от начала файла (в единицах текста), с которой начинает обрабатываться текст; - :amount - количество обрабатываемых элементов текста. 4. Результат выполнения пакета запросов должен содержать два итоговых поля со следующими названиями: - feature - элемент множества возвращаемого набора данных; - value - количественная оценка элемента в обрабатываемом фрагменте. 5. Текст запросов должен соответствовать стандартам СУБД MySQL. 6. Пакеты запросов хранятся в каталоге «query», расположенном в корне директории исполняемого файла программы и имеют расширение .qau. 7. При запуске программы происходит считывание символьных строк запросов и добавление их в список доступных для выбора пользователю. 8. Отмеченные пользователем пакеты запросов при дальнейших операциях автоматически идентифицируются по сигнатурам. Описанные выше функции выполняет Модуль обработки пакетов запросов. Также в этом модуле реализован простой парсер SQL-запросов для сегментации пакетов на простые части, т.к. для получения большинства информатив ных характеристик текста требуется последовательно выполнить несколько запросов. Исследователь может отредактировать пакеты запросов, имеющиеся в системе по умолчанию, или разработать собственные с помощью Модуля разработки запросов. Примеры файлов с запросами приведены в приложении 5. Первый блок аналитической подсистемы - Блок классификации. В общем случае необходимо обучить выбранный классификатор на некотором наборе характеристик текстов, принадлежащих предполагаемым авторам. Затем на входы обученного классификатора подается тот же набор характеристик текста, авторство которого необходимо определить. Классификатор формирует вектор-ответ, содержащий информацию об авторстве.
В Модуле MLP реализуется работа с одной из самых популярных архитектур нейронных сетей - многослойным перцептроном (Multi Layer Perceptron) [40]. В качестве алгоритма обучения используется алгоритм обратного распространения ошибки. У этого метода есть ряд существенных недостатков, главными из которых являются сравнительно низкая скорость обучения, высокая склонность к переобучению и необходимость экспериментального подбора параметров для каждой конкретной задачи (количества слоев, количества нейронов в них и т.д.).
В Модуле CCN реализуется работа с другой архитектурой нейронных сетей - сетями каскадной корреляции (Cascade Con-elation Network) [91, 92, 105]. Алгоритм построения данного вида сетей предполагает подбор структуры нейронной сети в процессе обучения, что существенно упрощает задачу и снижает временные затраты в случае, когда необходимо провести большое количество экспериментов.