Файл: Средства разработки клиентских программ (ГЛАВА 1. АНАЛИЗ СУЩЕСТВУЮЩИХ РЕШЕНИЙ).pdf
Добавлен: 04.07.2023
Просмотров: 112
Скачиваний: 2
Вся выборка была случайным образом разделена на две равные части, одна предназначена для обучения алгоритма, другая – для тестирования. Обучающая и тестовая выборка содержат по три произведения каждого автора. Все произведения записаны в файлы с расширением .txt кодировки UTF8, каждый текстовый файл назван одноименно с записанным в него произведением. Вся выборка разбита на 20 папок, каждая папка носит имя одного автора и содержит 6 текстовых файлов с произведениями этого автора.
Для определения лучшего подхода АА была проведена серия экспериментов: были исследованы различные классификаторы, описанные в главе 2.3 с применением следующих признаков, извлекаемых из текстов: «мешок слов», 2-, 3-, 4-, 5-граммы символов, «Мешок слов» + 5-граммы. Все признаки предварительно обработаны алгоритмами нормализации и TF-IDF. Все алгоритмы были оптимизированы гиперпараметрами классификаторов, были измерены метрики качества на каждом эксперименте, полученные данные приведены в таблице 4.
Наиболее высокая точность была продемонстрирована наивным байесовским классификатором с применением комбинации признаков «Мешок слов» + 5-граммы символов, после оптимизации гиперпараметров средневзвешенное качество данного подхода достигло 0.87. Остальные подходы показали существенно худший результат, методы опорных векторов продемонстрировали долю верных ответов на уровне 0.7 , однако линейная форма классификатора показала наивысший результат достоверности при использовании 3-грамм, а нелинейная форма при использовании 5-грамм символов. Метод k-ближайших соседей показал наихудший результат, не превышающий 0.56 при оценке доли верных ответов, также значение гиперпараметров «по умолчанию» оказалось для данного классификатора оптимальным. Остальные методы показали уверенное улучшение по всем показателям качества после оптимизации гиперпараметров классификаторов.
Таблица 4
Качество классификатора в зависимости от признаков и оптимизации гиперпараметров
Классификатор |
Признак |
Качество классификатора |
|||||||
---|---|---|---|---|---|---|---|---|---|
До оптимизации параметров |
После оптимизации параметров |
||||||||
Достоверность |
Точность |
Полнота |
F1 |
Достоверность |
Точность |
Полнота |
F1 |
||
Наивный байесовский классификатор |
Мешок слов |
0.48 |
0.52 |
0.48 |
0.43 |
0.84 |
0.83 |
0.84 |
0.81 |
2-грамм |
0.63 |
0.62 |
0.63 |
0.58 |
0.7 |
0.8 |
0.7 |
0.72 |
|
3-грамм |
0.54 |
0.59 |
0.54 |
0.52 |
0.77 |
0.82 |
0.78 |
0.77 |
|
4-грамм |
0.57 |
0.51 |
0.57 |
0.5 |
0.8 |
0.87 |
0.8 |
0.8 |
|
5-грамм |
0.61 |
0.53 |
0.61 |
0.54 |
0.83 |
0.85 |
0.83 |
0.82 |
|
Мешок слов + 5-грамм |
0.53 |
0.52 |
0.53 |
0.49 |
0.87 |
0.86 |
0.87 |
0.85 |
|
Метод опорных векторов (линейный) |
Мешок слов |
0.49 |
0.43 |
0.48 |
0.44 |
0.51 |
0.45 |
0.51 |
0.46 |
2-грамм |
0.6 |
0.6 |
0.62 |
0.58 |
0.65 |
0.71 |
0.65 |
0.63 |
|
3-грамм |
0.65 |
0.69 |
0.67 |
0.64 |
0.7 |
0.74 |
0.7 |
0.69 |
|
4-грамм |
0.58 |
0.63 |
0.6 |
0.58 |
0.63 |
0.66 |
0.63 |
0.6 |
|
5-грамм |
0.65 |
0.64 |
0.67 |
0.62 |
0.7 |
0.69 |
0.7 |
0.67 |
|
Мешок слов + 5-грамм |
0.59 |
0.61 |
0.62 |
0.59 |
0.63 |
0.63 |
0.63 |
0.6 |
|
Метод опорных векторов (нелинейный) |
Мешок слов |
0.52 |
0.47 |
0.41 |
0.42 |
0.48 |
0.44 |
0.48 |
0.42 |
2-грамм |
0.6 |
0.62 |
0.6 |
0.59 |
0.65 |
0.71 |
0.65 |
0.63 |
|
3-грамм |
0.5 |
0.51 |
0.55 |
0.5 |
0.65 |
0.7 |
0.65 |
0.63 |
|
4-грамм |
0.55 |
0.57 |
0.56 |
0.53 |
0.59 |
0.6 |
0.59 |
0.55 |
|
5-грамм |
0.61 |
0.63 |
0.67 |
0.63 |
0.7 |
0.69 |
0.7 |
0.67 |
|
Мешок слов + 5-грамм |
0.49 |
0.55 |
0.49 |
0.52 |
0.55 |
0.57 |
0.55 |
0.53 |
|
K-ближайших соседей |
Мешок слов |
0.41 |
0.49 |
0.41 |
0.39 |
0.41 |
0.49 |
0.41 |
0.39 |
2-грамм |
0.48 |
0.63 |
0.48 |
0.49 |
0.48 |
0.63 |
0.48 |
0.49 |
|
3-грамм |
0.5 |
0.59 |
0.5 |
0.5 |
0.5 |
0.59 |
0.5 |
0.5 |
|
4-грамм |
0.55 |
0.54 |
0.56 |
0.51 |
0.55 |
0.54 |
0.56 |
0.51 |
|
5-грамм |
0.56 |
0.53 |
0.56 |
0.51 |
0.56 |
0.53 |
0.56 |
0.51 |
|
Мешок слов + 5-грамм |
0.4 |
0.56 |
0.4 |
0.42 |
0.4 |
0.56 |
0.4 |
0.42 |
Все предыдущие эксперименты были проведены над предварительно обработанными признаками, однако такой подход может быть неэффективен для всех классификаторов. Для проверки поведения классификаторов на признаках с разной степенью предварительной обработки, были использованы оптимизированные классификаторы из предыдущего эксперимента, показавшие лучшее качество. Для каждого классификатора были исследованы различные варианты предварительной обработки признаков: без обработки, нормализация, TF-IDF и комбинация нормализации и TF-IDF. Были измерены метрики качества на каждом эксперименте, полученные данные приведены в таблице 5.
Эксперименты показали, что полный отказ от предварительной обработки серьёзно повышает качество наивного байесовского классификатора и линейного метода опорных векторов. В то же время нелинейный метод опорных векторов показал наихудший результат без нормализации признаков, что связано с особенностями математического аппарата классификатора. По итогам данного эксперимента максимальная точность была повышена с 0.85 до 0.95.
Таблица 5
Качество классификатора в зависимости от предобработки признаков
Классификатор |
Предварительная обработка признаков |
Качество классификатора |
|||
---|---|---|---|---|---|
Достоверность |
Точность |
Полнота |
f1 метрика |
||
Наивный байесовский классификатор |
без обработки |
0.91 |
0.95 |
0.91 |
0.91 |
нормализация |
0.91 |
0.92 |
0.91 |
0.91 |
|
TF-IDF |
0.87 |
0.9 |
0.87 |
0.87 |
|
нормализация + TF-IDF |
0.87 |
0.86 |
0.87 |
0.85 |
|
Метод опорных векторов (линейный) |
без обработки |
0.76 |
0.89 |
0.76 |
0.76 |
нормализация |
0.64 |
0.56 |
0.64 |
0.58 |
|
TF-IDF |
0.44 |
0.52 |
0.44 |
0.44 |
|
нормализация + TF-IDF |
0.7 |
0.74 |
0.7 |
0.69 |
|
Метод опорных векторов (нелинейный) |
без обработки |
0.06 |
0.01 |
0.06 |
0.01 |
нормализация |
0.7 |
0.67 |
0.7 |
0.67 |
|
TF-IDF |
0.44 |
0.52 |
0.44 |
0.44 |
|
нормализация + TF-IDF |
0.7 |
0.69 |
0.7 |
0.67 |
|
K-ближайших соседей |
без обработки |
0.55 |
0.66 |
0.55 |
0.54 |
нормализация |
0.55 |
0.66 |
0.55 |
0.54 |
|
TF-IDF |
0.27 |
0.48 |
0.28 |
0.3 |
|
нормализация + TF-IDF |
0.56 |
0.53 |
0.56 |
0.51 |
В соответствии с требованиями к экспериментальной части необходимо исследовать поведение разработанных модификаций метода на выборках, содержащих различное число авторов. Для исследования были отобраны наилучшие подходы, определённые в разделах 4.1. и 4.2, каждый подход исследован на выборке текстов, принадлежащих 20, 15, 10, 5 и 2 авторам, авторы отбирались случайным образом из исходной выборки. Результаты всех экспериментов приведены в таблице 6.
Полученные результаты демонстрируют уверенное улучшение качества работы модификаций метода при уменьшении числа исследуемых авторов. На выборке из 2 авторов все подходы демонстрируют 100 % точность. Следовательно, при малых объёмах выборки наблюдается серьёзная переоценка каждого метода, а для наивного байесовского классификатора не было зафиксировано серьёзного снижения показателей точности при изменении объёма выборки, это может говорить о том, что наивный байесовский классификатор может показывать достаточную точность АА и на больших объёмах выборки.
Таблица 6
Качество классификатора в зависимости от числа авторов в выборке
Классификатор |
Количество авторов выборке |
Качество классификатора |
|||
---|---|---|---|---|---|
Достоверность |
Точность |
Полнота |
F1 |
||
Наивный байесовский классификатор |
20 |
0.91 |
0.95 |
0.91 |
0.91 |
15 |
0.89 |
0.93 |
0.88 |
0.89 |
|
10 |
0.9 |
0.95 |
0.9 |
0.9 |
|
5 |
0.86 |
0.92 |
0.87 |
0.85 |
|
2 |
1 |
1 |
1 |
1 |
|
Метод опорных векторов (линейный) |
20 |
0.76 |
0.89 |
0.76 |
0.76 |
10 |
0.8 |
0.9 |
0.8 |
0.8 |
|
15 |
0.83 |
0.88 |
0.83 |
0.82 |
|
5 |
0.87 |
0.9 |
0.86 |
0.87 |
|
2 |
1 |
1 |
1 |
1 |
|
K-ближайших соседей |
20 |
0.55 |
0.66 |
0.55 |
0.54 |
15 |
0.6 |
0.66 |
0.6 |
0.58 |
|
10 |
0.7 |
0.83 |
0.7 |
0.71 |
|
5 |
0.73 |
0.81 |
0.73 |
0.75 |
|
2 |
1 |
1 |
1 |
1 |
В ходе исследования предложенного метода было также проведено исследование зависимости качества алгоритма от размера текстов на обучающей и тестовой выборках. По результатам предыдущих экспериментов лучшим методом АА стал наивный байесовский классификатор с использованием необработанной комбинации признаков «мешок слов» и распределение 5-грамм. После оптимизации данный подход продемонстрировал точность порядка 95 % на тестовой выборке, состоящей из 20 авторов.
Исследование зависимости качества алгоритма от размера текстов выборки было проведено на лучшем методе, описанном выше. Были исследованы зависимости следующих метрик качества: достоверность, точность, полнота, f1-мера. Размеры текстов на обучающей и тестовой выборках менялись в диапазоне от 60 000 до 1500 символов с шагом в 1500 символов. На каждой итерации были вычислены вышеописанные метрики качества, по результатам проверки всего диапазона размера текстов были построены графики, демонстрирующие зависимость. Результаты данного исследования приведены на рисунках 6-9.
Как видно из приведённых графиков все метрики демонстрируют схожую тенденцию – снижение величины самой метрики качества при уменьшении размеров текстовых документов. Величина всех метрик качества каждого классификатора достигает максимума и не уменьшается на диапазоне 50-60 тысяч символов, при размере текстов меньше 50 тысяч наблюдается серьёзное падение всех метрик качества классификатора. Согласно требованиям, к реализуемому методу, описанным в разделе 2.1. данной работы, метод должен демонстрировать качество не ниже 75 %, данный результат может быть достигнут при использовании текстовой выборки, где размер каждого текста составляет не менее 15 тысяч символов.
Найденная зависимость является вполне закономерной [23], так как чем меньше данных имеет классификатор, тем чаще он ошибается, однако на выборке, где размер текстов составляет порядка 1500-3000 символов наблюдается серьёзный рост качества метода примерно на 15-20 %. Данный эффект может быть объяснён тем фактом, что текстовые документы не были очищены от издательской информации, среди которой числится имя автора, название произведения, краткая аннотация, предисловие, описание произведения. Вероятнее всего при небольших объёмах исследуемых текстов не удаленная издательская информация оказывает существенное влияние на точность АА. Данный факт был дополнительно проверен, все тексты были очищены от второстепенной информации, в результате чего при повторном эксперименте в диапазоне 1500-3000 символов не наблюдается резкого скачка качества классификатора.
Рисунок 6. Зависимость достоверности метода от размера текстов
Рисунок 7. Зависимость точности метода от размера текстов
Рисунок 8. Зависимость полноты алгоритма от размера текстов
Рисунок 9. Зависимость f1-меры от размера текстов
В результате поставленного эксперимента по исследованию зависимости качества классификатора от размера текстов исходных выборок можно сделать вывод о том, что оптимальный размер каждого текста в задачах АА должен составлять не менее 40 тысяч символов, именно при таких значениях наблюдается наибольшее качество предложенного метода, полученные данные совпадают с большинством других исследований в области АА [5, 6, 8, 9]. В поставленных экспериментах разработанный метод продолжает демонстрировать достаточно высокий показатель качества – более 75 % на выборках с размером текстов от 15 тысяч символов и более. Также данный эксперимент показал важность предварительной очистки текстовых документов от различной служебной информации, не имеющей отношения к творчеству автора – данная информация может серьёзно зашумлять результаты, особенно при исследовании текстов размером менее 5000 символов.
В ходе апробации были проведены эксперименты над различными модификациями метода, соответствующими различным подходам в задаче АА. В ходе эксперимента были изучены модификации метода с применением различных признаковых описаний текстов, алгоритмов предварительной обработки признаков и алгоритмов классификации данных. В результате эксперимента была выделена модификация метода, демонстрирующая лучший результат в задаче АА, ей оказалась следующая связка последовательных этапов обработки данных.
- Предварительная обработка текстов: понижение регистра символов.
- Признаковое описание: комбинация признаков распределения слов и распределения 5-грамм символов текста.
- Предварительная обработка признаков: без предварительной обработки.
- Алгоритм классификации: наивный байесовский классификатор.
- Параметры классификатора: α=0,01.
Также в результате экспериментов была определена минимальная длина исследуемых текстов, при которой достигается максимальное качество по всем метрикам, – 45 тысяч символов. При большей длине лучшего качества алгоритм не достигает.