Классификация документов
Процесс классификации документов как векторов основан на гипотезе о том, что тематически близкие документы окажутся в пространстве терминов геометрически близко расположенными. Поэтому в основе алгоритмов классификации лежит понятие сходства или расстояния между документами в пространстве терминов. В данном случае понятия расстояния и сходства являются взаимно обратными, расстояние можно было бы называть различием. Выбор способа вычисления расстояния влияет на результат классификации. Часто расстояние между документами, представленными векторами в; и определяют как
где г — это параметр, заданный пользователем. При г = 1 получаем так называемое манхэттенское расстояние, или расстояние городских кварталов; при г =2 — евклидово расстояние; при г —» ос — расстояние Чебышева, которое вычисляется как максимум модуля разности компонент этих векторов.
Другой часто используемой на практике мерой сходства является косинусная мера, которая представляет собой скалярное произведение векторов.
Если векторы ортогональны, то их мера близости равна 0, если совпадают, то 1.
Одним из возможных решений задачи классификации является классификация основная на правилах. Например, формулируются правила определения класса документа по его тексту типа
If (text.contains("BbmrpaTb") II text.contains("MmHraoH") && II 1ех1.соЩа1ш("доллар")) then "СПАМ" else "НЕ СПАМ"
Этот подход может быть хорошим вариантом при работе с небольшой коллекцией документов, которую можно тщательно проанализировать. Но есть у этого подхода и очевидные минусы. Для того чтобы выбрать значимые для классификации слова необходимо обладать экспертными знаниями в предметной области. Кроме того, отнюдь не всегда факт наличия или отсутствия какого-либо одного слова является решающим фактором для принятия решения. Усложнение правил с добавлением вложенных ifoB достаточно бесперспективно потому, что возможности человека в формулировании таких правил очень ограничены, а сложность правил катастрофически растет с количеством выбранных для классификации слов.
Можно пойти другим путем. Для каждого слова выберем некий условный вес (табл. 4.1), который будет означать, насколько вероятно, что сообщение с этим словом является спамом (0 — никогда не является спамом, 1 — всегда спам).
Таблица 4.1. Условные веса слов для выявления спама
Слово |
СПАМ |
НЕ_СПАМ |
выиграть |
0,99 |
0,01 |
миллион |
0,95 |
0,05 |
доллар |
0,95 |
0,05 |
приглашение |
0,50 |
0,50 |
конференция |
0,01 |
0,99 |
Суммарный вес документа определяется как произведение весов всех известных слов документа отдельно для класса «СПАМ» и класса «НЕ_СПАМ». Слова, для которых у нас нет веса при классификации, пропускаются. Какой суммарный вес оказался больше тот класс и побеждает.
Это более разумный подход, так как он более гибок и принимает решение на основании всех известных слов в тексте. Если у нас будет некий способ автоматически подобрать оптимальные веса слов, то данный подход можно считать методом машинного обучения.