Классификация текстов (на осень 2023/24 тема закрыта)

Задание 1

Это линейная классификация текстов по двум характеристикам. Нельзя пользоваться стандартными алгоритмами и их реализациями.

Баллы

Баллы: 2 курс – 25 баллов, 1 курс – 50 баллов.

Подготовка

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

Далее нужно провести границу в виде прямой линии, которая разделяет точки с минимальной ошибкой - ее и используйте для классификации. Эту границу можно провести просто вручную (просто нарисовать) и получить ее формулу. Второй вариант - написать программу для численного поиском разделяющей прямой, дающей лучшую точность (можно просто перебором коэффициентов по сетке). Сравните эти два способа по точности. Перед исследованием все рассказы надо разделить на две части случайным образом - те, на которых будет строиться классифицирующее правило, и те, на которых потом будет проверяться точность классификации. Результат представляйте в виде таблиц класификации (confusion matrix) и точности классификации (accuracy) на обучающем и тестовом множествах. Результат также визуализируйте на скаттерплотах (раскрашенные точки, разделяющая прямая).

Задание 2

Существенное усложнение - взять много характеристик, применить к ним анализ главных компонент (feature extraction), получить две основные характеристики и потом по ним проводить границу так же, как в Задании 1. Для получения максимального числа баллов нужно разобраться в теории сингулярного разложения матриц, потому второе задание рекомендуется для 2 курса.

Баллы

Баллы: 2 курс – 25 баллов, 1 курс – 50 баллов.

Подготовка

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

Информация

Сингулярное разложение матриц - http://www.gistatgroup.com/gus/ssa_an.pdf, приложение A.

Руководитель

Нина Эдуардовна Голяндина

research/prob_class_text.txt · Последнее изменение: 2023/10/14 19:17 — nina
Наверх
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0