Диссертация (1148552), страница 21
Текст из файла (страница 21)
Итого, результатывычисления коэффициента Сёренсена-Чекановского для трёх исследуемых классовпопарно:2. «Четвёртое продолжение» - «Роман о Фиалке», Кs(Ω3;Ω1) = 0,5093. «Четвёртое продолжение» - «Продолжение Манессье» Кs(Ω3;Ω2) = 0,5364. «Продолжение Манессье» - «Роман о Фиалке» Кs (Ω2;Ω1) = 0,397Полученный результат дополнительно подтверждает гипотезу о том, чтоавтором «Четвёртого продолжения» может быть Манессье, хотя разница междузначениями критерия достаточно невелика.3.10. Атрибуция при помощи вероятностных классификаторов3.10.1.
Вероятностный классификатор БайесаВ задачах классификации текстов часто используются методы машинногообучения. Одним из наиболее распространённых является наивный классификаторБайеса [179, p. 67].Наивный классификатор Байеса обладает существенными преимуществамиперед другими классификаторами, в том числе:125 эффективный процесс обучения по сравнению с другими, болеесложными классификаторами простота реализации эффективен по сравнению с другими классификаторами на небольшихкорпусах текстов, что особенно важно в исследуемом случае [180, p.
127].Классификатор основывается на теореме Байеса, которая применительно кзадаче классификации текстов выглядит следующим образом (3.21) [181, p. 68]:(/) =(|)(); (3.21)()где: (/) – вероятность принадлежности документа x классу a (|) – вероятность появления документа x в классе a () – безусловная вероятность появления текста класса a в массиветекстов () – безусловная вероятность появления текста x во всем корпусетекстовТаким образом, задача сводится к поиску наиболее вероятного класса дляисследуемого текста, для этого Байесовский классификатор использует оценкуапостериорного максимума.
Для рассматриваемого случая она имеет следующий вид(3.22):С = arg (|)(); (3.22)()где Cax – наиболее вероятный класс для текста x.Или, с учётом того, что знаменатель является константой и на ранжированиедокументов не влияет, то формулу можно переписать [182, p. 147]:С = arg (|)(); (3.23)Важным допущением, упрощающим реализацию классификацию при помощиклассификатора Байеса, является концепция «мешка слов» («bag of words»). В126реальном тексте вероятность появления каждого слова зависит от содержания этоготекста. В соответствии с этой концепцией, текст представляется как набор слов,вероятности появления которых не зависят друг от друга.
В соответствии с этимпредположением, условная вероятность текста определяется как произведениевероятностей каждого слова, входящего в данный текст, см. формулу 3.24.(|) = (0 |)(1 |) … ( |) = ∏ ( |) ; (3.24)=0где ( |) - условная вероятность слова в тексте.С учётом этого, формулу 3.23 можно привести к окончательному виду 3.25.[183, p. 258]:С = arg [() ∏ ( |)] ; (3.25)=03.10.2. Формирование массива исходных данных для атрибуцииДля формирования массива исходных данных для атрибуции используетсяследующий принцип: есть два класса-эталона: Ω1 «Роман о Фиалке» (829предложений), Ω2 «Продолжение Манессье» (1583 предложений), и объектатрибуции Ω3 «Четвёртое продолжение» (1104 предложения).
Использованиеалгоритмов машинного обучения типа «Обучение с учителем», к которому относитсянаивный классификатор Байеса, подразумевает разбиение исходных данных наобучающую и тестовую выборки. Так как каждому классу в рассматриваемом случаесоответствует только один текст, необходимо разбить его на несколько частей.Для удобства расчётов классы Ω1 «Роман о Фиалке» (829 предложений) и Ω2«Продолжение Манессье» (1584 предложения) разбиты каждый на равные повеличине тексты по ~ 83 предложения, 10 текстов для класса Ω1 «Роман о Фиалке» и12719 - для Ω2 «Продолжение Манессье».
Каждая такая часть класса соответствуетпонятию «текст» (х) из формулы 3.25.Для определения понятия «wi» из формулы 3.25 используется принцип,предложенный в разделе 3.10: в предложении определяется сочетание параметровX18, X25, X39 и X52, которое и соответствует одному слову текста. Таким образом,каждый «текст» состоит из ~ 83 «слов» для классов Ω1 «Роман о Фиалке» и Ω2«Продолжение Манессье».
Обучающая и проверочная выборки формируются, исходяиз соотношения 8/2, и составляют 15/4 для класса Ω2 «Продолжение Манессье» и 6/4для класса Ω1 «Роман о Фиалке». Для атрибутируемого класса формируется нескольковариантов выборки для повышения качества атрибуции.3.10.3. Алгоритм атрибуции при помощи наивного классификатора БайесаДля применения алгоритма атрибуции при помощи наивного классификатораБайеса необходимо предварительно сделать несколько предположений, позволяющихпредложить его реализацию:1. При подсчёте произведения условных вероятностей (так как вероятность, поопределению, меньше единицы) может возникнуть ситуация, при которойполученное число будет слишком малым, что для скольких-нибудьобъёмных текстов повлечёт за собой переполнение разрядности.
Дляустранения данной проблемы вычисление производится в логарифмическомпространстве [184, p. 198]. Так как ln = ln + ln , взяв логарифм отобеих частей в формуле 3.25, получим формулу 3.26:С = arg [ln () + ∑ ln ( |)] ; (3.26)=01282. Вероятность текста P(a) в рассматриваемом случае не несёт никакогопрактического смысла, поскольку в тестовой и обучающих выборкахпредставленопоодинаковомучислутекстовизобоихклассов.Следовательно, формулу 3.26.
можно преобразовать в формулу 3.27,исключив данное слагаемое.С = arg [∑ ln ( |)] ; (3.27)=0Оценка вероятности слова в классе определяется как [185, p. 71]:( |) =; (3.28)∑=0 где Nwi – частота появления объекта в классе, а ∑=0 – сумма частот появленийвсех прочих слов в классе.3. Решение проблемы отсутствующих слов – так как вероятность слова, невстречающегося в тексте, равна 0, соответственно, и произведение такихвероятностей также равно 0, а логарифм «0» не существует, то необходимоопределённым образом это скомпенсировать. Как правило, данная проблемаможет решаться двумя способами: либо путём присвоения отсутствующемусловунекоторойфиксированно-малойвероятности,либопутёмиспользования сглаживания.Сглаженная оценка вероятности предполагает, что каждый объект встречаетсяв классе на n раз больше, чем на самом деле, то есть( |) = + ; (3.29) + ∑=0 где Nw – количество всех уникальных объектов [там же].
В данном исследованиибудет использоваться случай с n = 1 - сглаживание по Лапласу [там же].129С учётом данных предположений, итоговая формула для использования валгоритме примет вид 3.30.С = arg [∑ ln=0 + ] ; (3.30) + ∑=0 3.10.4. Результаты атрибуции при помощи наивного классификатора БайесаДля реализации наивного классификатора Байеса используется специальноразработанное программное обеспечение, производящее обучение классификатора ипроверку атрибутируемого объекта в соответствии с указанным алгоритмом. Приразработке использовался пакет Microsoft Visual Studio 2013, платформа .netFramework 4.5.1 и язык программирования C#.На первом этапе производится обучение классификатора и проверка качестваобучения.
В качестве меры принадлежности текста из тестовой выборки к какомулибо классу используется простое численное сравнение полученных значенийклассификатора – отрицательное значение соответствует классу Ω2 «ПродолжениеМанессье», положительное - Ω1 «Роман о Фиалке».Результаты обучения представлены в таблице 3.28.130Таблица 3.28Результаты обучения классификатораТестовый АприорнаяЗначениеЗначениеРасчётнаякласспринадлежноклассификатоклассификатопринадлежноссть текстара для класса ра для класса ть текстаТестовый Ω2класс №1Ω1Ω2-480,1-474,6«ПродолжениΩ1 «Роман оФиалке»е Манессье»Тестовый Ω2класс №2е Манессье»Манессье»-469,0е Манессье»Манессье»-494,4-495,4Ω2«Продолжени«Продолжениее Манессье»Манессье»-475,0-484,7Ω2«Продолжени«Продолжениее Манессье»Манессье»-444,9Фиалке»Тестовый Ω1 «Роман о -466,5класс №7Ω2«ПродолжениеТестовый Ω1 «Роман о -456,9класс №6-469,4«ПродолжениТестовый Ω2класс №5Ω2«ПродолжениеТестовый Ω2класс №4-472,5«ПродолжениТестовый Ω2класс №3-471,2Фиалке»Ω1 «Роман оФиалке»-457,2Ω1 «Роман оФиалке»131Тестовый Ω1 «Роман о -442,7класс №8-444,5Фиалке»Ω2«ПродолжениеМанессье»Для данных выборок уместно использование наиболее простой метрики длячисленной оценки качества классификации: =; (3.31)где P – количество текстов, по которым классификатор принял правильноерешение, а N – размер обучающей выборки.
В соответствии с этой формулой,получается, что для текущего классификатора точность оценки равна 0.75. Такаянизкая точность вызвана причинами, изложенными в разделе 3.10: несмотря на то, чтотексты классов Ω1 «Роман о Фиалке» и Ω2 «Продолжение Манессье»» различаются, итот и другой близки к атрибутируемому объекту. Косвенно это подтверждается темфактом, что значение разницы рассчитанных классификаторов крайне малоотносительно значения каждого классификатора.Для качественного проведения атрибуции дополнительно проводится попыткаобучения классификатора по каждому из рассматриваемых параметров поотдельности, а также их для всех их возможных комбинаций.
Результаты попытокобучения приведены в таблице 3.29.Таблица 3.29Точность обученияКомбинация параметровТочность обученияX18,X29,X35,X520.75X180.75X291X350.875132X520.75X18,X290.75X18,X350.75X18,X520.75X29,X351X29,X520.875X35,X520.5X18,X29,X350.875X18,X29,X520.625X18,X35,X520.75X29,X35,X520.675Таким образом, максимальной точности обучения удалось добиться только дляпроверки по параметру X29 и по комбинации параметров X29, X35.
Исходя из этого,а также из того, что обучение по параметру X35 отдельно дало худшие результаты,чем совместное обучение по параметрам X29, X35, дальнейшая атрибуция будетпроводиться по параметру X29.Для проведения атрибуции используется несколько вариантов разбиенияатрибутируемого класса Ω3, или «Четвёртое продолжение»:1. Последовательное разбиение на тексты аналогичного размера текстам изобучающей выборки (13 текстов по 83 слова).2. Полный текст класса Ω3 «Четвёртое продолжение».3. Атрибуция по многократному тестированию случайных выборок из класса Ω3по следующему алгоритму:3.1.При помощи генератора случайных чисел строится набор текстов изкласса Ω3, по количеству и размеру текстов аналогичный набору текстовиз п.1.1333.2.Проводится атрибуция и выбирается наиболее вероятный класс изклассов Ω1 и Ω23.3.Шаги 3.1.
и 3.2. повторяются 10 раз и полученные данные фиксируются втаблице.Полученные результаты представлены в таблицах 3.30, 3.31, 3.32.Таблица 3.30Атрибуция для случая последовательного разбиения на 13 текстов№Ω1 Ω3Ω2 Ω3Результат атрибуции1.-219,066-221,266Ω2 «Продолжение Манессье»2.-237,715-241,991Ω2 «Продолжение Манессье»3.-229,741-230,721Ω2 «Продолжение Манессье»4.-223,964-223,874Ω1 «Роман о Фиалке»5.-223,812-228,725Ω2 «Продолжение Манессье»6.-225,312-227,559Ω2 «Продолжение Манессье»7.-238,797-242,475Ω2 «Продолжение Манессье»8.-227,951-232,884Ω2 «Продолжение Манессье»9.-210,733-212,315Ω2 «Продолжение Манессье»10.-232,03-235,584Ω2 «Продолжение Манессье»11.-226,856-220,357Ω1 «Роман о Фиалке»12.-218,167-219,826Ω2 «Продолжение Манессье»13.-220,717-217,317Ω1 «Роман о Фиалке»В случае трёх текстов из 13 атрибутируемый класс относится к классу Ω1, длявсех прочих – к классу Ω2.