Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.philol.msu.ru/~lex/articles/grco_r.htm
Дата изменения: Unknown
Дата индексирования: Fri Feb 28 09:00:57 2014
Кодировка: Windows-1251
МГУ-ЛОКЛЛ:: Кукушкина О.В., Поликарпов А.А., Хмелев Д.В.- Определение авторства текста с использованием буквенной и грамматической информации




О.В.Кукушкина, А.А.Поликарпов, Д.В.Хмелев



Определение авторства текста с использованием

буквенной и грамматической информации

 

Метод, применяемый в данной статье для определения авторства текста, основывается на формальной математической модели встречаемости последовательности элементов текста как реализации цепи Маркова. В качестве элементов текста используются последовательности букв и последовательности грамматических классов слов. Оказывается, частоты употребления пар букв и пар грамматических классов в тексте на русском языке являются достаточно устойчивой характеристикой автора и, видимо, их можно использовать, чтобы решать проблемы спорного авторства текста. Проводится сопоставление результатов, полученных при использовании различных вариантов методики в указанных единицах. Эксперимент проводится на 385 текстах 82 писателей.

В Приложении описано исследование Д.В. Хмелева о возможности применения алгоритмов сжатия данных в задаче определения авторства.



1. Введение



В настоящей работе задача определения авторства ставится следующим образом. Пусть имеются достаточно длинные фрагменты прозаических произведений ряда авторов на русском или ином языке, использующем фонологическую (неиероглифическую) письменность1. Про некоторый анонимный фрагмент известно, что он принадлежит одному из этих авторов, но какому - неизвестно. Требуется узнать, кому именно. На основе результатов экспериментальной проверки метода, предложенного Д.В. Хмелевым в работе [], утверждается, что с определенной, достаточно высокой степенью вероятности это возможно. Избранный метод базируется на учете статистики употребления пар элементов любой природы, идущих друг за другом в тексте (букв, морфем, словоформ и т.п.).

Традицию формального подхода к поиску методики определения авторства, по-видимому, следует отсчитывать от работы []. На эту работу откликнулся Марков [], что свидетельствует о живом интересе создателя аппарата цепей Маркова к данной теме. Заметим также, что первое применение <<испытаний, связанных в цепь>>, Марков описал в работе [], посвященной анализу распределения гласных и согласных среди первых 20000 букв <<Евгения Онегина>>.

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

Примечательным исключением до последнего времени являлась работа [], в которой избранный там метод был применен к достаточно большому количеству текстов. В ней исследовалась доля служебных слов, которые используются автором, и обнаружено, что она устойчива для каждого из авторов на большом количестве текстов русских писателей XVIII-XX-го веков. Данную методику авторы работы [] применили к проблеме определения плагиата.

Новый метод определения авторства текстов, написанных на естественном языке (независимо от того, на каком именно), впервые предложен Хмелевым в работе [].

Новый метод основывается на формальной математической модели последовательности букв (и любых других элементов) текста как реализации цепи Маркова. По тем произведениям автора, которые достоверно им созданы, вычисляется матрица переходных частот употребления пар элементов (букв, грамматических классов слов и т.п.). Она служит оценкой матрицы вероятности перехода из элемента в элемент. Матрица переходных частот строится для каждого автора. Для каждого автора оценивается вероятность того, что именно он написал анонимный текст (или фрагмент текста). Автором анонимного текста полагается тот, у которого вычисленная оценка вероятности больше (т.е. используется принцип максимального правдоподобия).

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

Марковские цепи разных порядков использовались в многочисленных работах 50-60-х годов XX века, описанных в книге [], для оценки энтропии различных типов текстов. Однако ни в одной из этих работ не поднимался вопрос о применении марковских цепей в рамках задачи определения авторства. Более того, общепринятой была точка зрения, что на уровне букв и буквосочетаний характеристики любого литературного текста близки к средним по языку и, с практической точки зрения, неразличимы (см. [,с. 191, примечание] и [,]). Принцип максимального правдоподобия также никогда ранее не применялся в задаче определения авторства текстов в силу следующих причин: во-первых, до появления компьютеров и большого количества текстов в электронном виде было затруднительно производить подсчеты на материале большого объема; во-вторых, определенный психологический барьер представляло отсутствие теоретического обоснования такого подхода, поскольку цепь Маркова первого порядка может служить лишь первым и очень грубым приближением естественно-языкового текста, на что многократно указывалось в различных работах по оценке энтропии текста с помощью цепей Маркова больших порядков [,с.197]; и, наконец, в-третьих, в самой задаче определения авторства считался перспективным поиск устойчивых количественных характеристик грамматического характера, позволяющих различать писателей, причем, по-видимому, единственный серьезный успех в этом направлении для русского языка был получен лишь недавно (см. []).

В настоящей работе мы развиваем процедуру проверки метода [], а также проверяем возможности его применения с использованием разных единиц анализа:

(а) пар букв в их естественных последовательностях в тексте - в словах (в той форме, в которой они употреблены в тексте) и пробелах между ними;

(б) пар букв в последовательностях букв в приведенных (словарных, лемматизованных или исходных) формах слов; например, предыдущее предложение в таком случае предстает в виде <<пара буква в последовательность буква приведенный словарный лемматизованный или исходный форма слово>>;

(в) пар наиболее обобщенных (<<неполных>>) грамматических классов слов, частей речи, в их последовательностях в предложениях текста - существительные, глаголы, прилагательные и т.п.: всего 14 традиционно выделяемых грамматических классов слов - частей речи и 4 других условных категории вроде <<конец предложения>>, <<сокращение>> <<неясный класс>> и <<знак тире>>; категория <<неясный класс>> введена в связи с тем, что разбор по грамматическим классам проводился автоматически (и покрывал более 99% всех встреченных слов), но некоторые слова (например, с опечатками) не поддавались автоматической обработке, а потому их грамматический класс оставался неясным.

(г) пар менее обобщенных (<<полных>>) грамматических классов слов (а именно таких семантико-грамматических разрядов, как одушевленные существительные, неодушевленные существительные, прилагательные качественные, относительные, притяжательные и т.п.).

Была произведена перекрестная проверка метода на материале 385 текстов 82 авторов (результаты проверки приведены в табл.  и , а список авторов с указанием объема материала и числа текстов данного автора - в табл. 3).

Одним из показателей точности метода может служить процент правильно определенных произведений. На материале вариантов (а) и (б) получены наиболее точные результаты (73% и 62% точных определений соответственно). На материале варианта (в) получен 61% точных определений. На материале варианта (г) получены существенно более худшие результаты (4%).

В 2 описываются принципы и результаты предварительной обработки текстов. В 3 описана методика перекрестной проверки. Детальное описание результатов дано в 4 с представлением выводов в заключении 5. В Приложении, которое написано Д.В. Хмелевым, изложен еще один подход к определению авторства с использованием алгоритмов сжатия данных.



2. Предварительная обработка



Исходный корпус текстов в результате предварительной обработки был представлен во всех ранее описанных вариантах (а)-(г).

Отличие варианта (а) от первоначального текста (и в этом одно из отличий данного исследования от []) состоит в том, что отброшены все слова, для которых не удалось автоматически определить грамматический класс (а следовательно, и найти словарную форму). Это было сделано, чтобы можно было сравнивать результаты с результатами варианта (б). При этом весь текст превращен в последовательность слов и пробелов между ними, вся пунктуация была отброшена, и, кроме того, были выкинуты все слова с заглавной буквы (включая слова, с которых начинаются предложения; такая уловка, как показано в работе [], позволяет значительно увеличить точность определения авторства; по-видимому, это улучшение связано с тем, что отбрасываются имена литературных героев, как правило, не соотносящиеся со стилем автора литературного текста). В используемом алфавите буква <<е>> склеивалась с буквой <<е>>, в результате чего вместе с пробелом получилось 33 буквы. Каждая буква кодировалась своим номером: буква<<а>> соответствовала 1, ..., <<я>> соответствовала 32. Пробелу сопоставлялся код 0. Общее количество буквоупотреблений составило 96209964. Общее число разных пар букв, обнаруженных на анализируемом массиве текстов, составило 1011 (из потенциально возможных 33×33=1089). Очевидно, 1011 несколько превосходит количество разных пар букв, действительно встречаемых в текстах на русском языке. Это является результатом определенного количества опечаток в электронных версиях книг и может приводить к погрешностям в вычислениях. Чтобы получить некоторую оценку этого шума, были отобраны все буквосочетания, которые вряд ли встречаются в русском языке, и их оказалось 121. Общее количество употреблений этих буквосочетаний равно 38495, что составляет около 0,04% от общего числа употреблений буквосочетаний, чем вполне можно пренебречь.

Преобразование исходных текстов для получения их в виде вариантов (б), (в) и (г) осуществлено на основе автоматического классификатора, разработанного О.В. Кукушкиной в Лаборатории общей и компьютерной лексикологии и лексикографии филологического факультета МГУ на основе грамматического словаря Зализняка [] и академических грамматик [,].

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

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

Приведем некоторую статистику по текстам, отвечающим вариантам (б)-(г).

В варианте (б) общее количество букв составило 110704464. Число разных пар букв в исходных формах слов составило 1029 (из потенциально возможных 33×33=1089). Как видно, оно увеличилось в сравнении с вариантом (а). Такой эффект связан с переводом косвенных форм в исходные.

В вариантах (в) и (г) число элементов составило 20262449. При этом в варианте (в) количество разных пар элементов - 302 (из потенциально возможных 18×18=324). В варианте (г) число разных пар элементов составило 8124 (из потенциально возможных 112×112=12544).



3. Метод и его перекрестная проверка



Анализ текстового материала по каждому из указанных выше вариантов произведен на основе комплекса программ, разработанного Хмелевым. При обработке каждого варианта отображения корпуса текстов мы покажем результаты перекрестной проверки метода []. Перекрестная проверка выполняется следующим образом.

Напомним, что элементы текста кодируются числами от 0 до 32 (в вариантах (а) и (б)), 17 или 111 (в вариантах (в) и (г) соответственно). Код 0 всегда соответствует разграничителю между крупными единицами: в вариантах (а) и (в) код 0 соответствует пробелу между словами, а в вариантах (в) и (г) код 0 соответствует разделителю между предложениями (<<концу предложения>>).

Пусть у нас есть W писателей, у каждого из которых есть Nw текстов, где w=0, ..., W-1. В первую очередь подсчитывается Qijwn - количество переходов из буквы i в букву j в тексте n (n=0, ..., Nw-1) автора w (w=0, ..., W-1). Чтобы найти предсказание автора текста [^n] (известного автора [^w]) с использованием информации об авторстве всех остальных текстов всех авторов (включая автора [^w]), мы подсчитываем

Qijk= Nw-1
е
 n=0 
Qijkn,  Qik=
е
 j 
Qijk
для авторов k ? [^w], а для автора [^w] мы исключаем текст [^n] из обучающей выборки
Qij[^w]=
е
n ? [^n] 
Qij[^w]n,  Qi[^w]=
е
  j 
Qij[^w].

Теперь мы вычисляем

Lk (
^
w
 
,
^
n
 
) = -
е
i: Qik > 0 

е
j: Qijk > 0 
Qij[^w] [^n] ln  Qijk

Qik
и
L[^w] (
^
w
 
,
^
n
 
) = -
е
i: Qi[^w] > 0 

е
j: Qij[^w] > 0 
Qij[^w] [^n] ln  Qij[^w]

Qi[^w]
.

Если отвлечься от вырожденных случаев Qkij=0 и Qki=0, то легко увидеть, что каждое Lk([^w],[^n]) есть минус логарифм вероятности реализации текста [^n] писателя [^w] при условии, что он является реализацией марковской цепи с переходными интенсивностями Pkij=Qkij/Qki. Обоснование для отбрасывания вырожденных слагаемых дают результаты об оптимальной оценке максимума правдоподобия, приведенные в [,с.224].

Также определим ранг Rk([^w],[^n]) как ранг Lk([^w],[^n]) среди {Lk([^w],[^n]), k=0,+, W-1}, причем мы отсчитываем начальный ранг с нуля: Rk([^w],[^n]) О {0, +,W-1}; наименьший ранг соответствует наименьшему числу. Если текст соотнесен правильному автору, то ранг R[^w]([^w],[^n])=0.

Если текст соотнесен какому-либо другому автору, а правильный автор оказался на втором месте, то R[^w]([^w],[^n])=1, и т.д.

В результате перекрестной проверки мы получаем набор рангов

{R[^w](
^
w
 
,
^
n
 
)}[^w] О {0,+,W-1},[^n] О {0,+,N[^w]-1}.

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

M=

 

 1

 


W-1
е
[^w]=0 
N[^w]
W-1
е
[^w]=0

 

N[^w]-1
е
[^n]=0

 

R[^w](

 

^
w


 
,

 

^
n


 
).

 

(1)

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

Qk=
е
i 
Qki и Q[^w]=
е
i 
Q[^w]i

и вместо величин Lk([^w], [^n]) используются величины

Gk(
^
w
 
,
^
n
 
) = -
е
i: Qik > 0 
(
е
j 
Qij[^w] [^n]) ln  Qik

Qk

и

G[^w](
^
w
 
,
^
n
 
) = -
е
i: Qi[^w] > 0 
(
е
j 
Qij[^w] [^n]) ln  Qi[^w]

Q[^w]
.

4. Описание результатов


Table 1: Результаты перекрестной проверки правильности определения автора текста с использованием последовательности букв
Случай (а)Случай (б)
Словоформы текстаПриведенные формы
RПары букв ОдиночныеRПары букв Одиночные
0 282/385 27/3850 240/385 12/385
1 21/385 55/3851 29/385 40/385
2 9/385 25/3852 17/385 19/385
3 5/385 24/3853 9/385 16/385
4 5/385 17/3854 6/385 16/385
³ 5 63/385 237/385 ³ 5 84/385 282/385
M3,38 12,69M4,77 17,88

Table 2: Результаты перекрестной проверки правильности определения автора текста с использованием последовательности грамматических