3

Я пытаюсь выполнить классификацию документов с помощью поддерживающих векторных машин (SVM). У документов, которые у меня есть, есть электронная почта. У меня есть около 3000 документов для обучения классификатора SVM и набор тестовых документов около 700, для которых мне нужна классификация.Классификация документов с использованием LSA/SVD

Первоначально я использовал двоичный DocumentTermMatrix как вход для обучения SVM. Я получил около 81% точности для классификации с данными испытаний. DocumentTermMatrix использовался после удаления нескольких стоп-слов.

Поскольку я хотел улучшить точность этой модели, я попытался использовать уменьшение размеров на основе LSA/SVD и использовать приведенные уменьшенные коэффициенты в качестве входных данных для модели классификации (я попытался использовать 20, 50, 100 и 200 сингулярных значений из оригинальная сумка ~ 3000 слов). В каждом случае эффективность классификации ухудшалась. (Еще одна причина использования LSA/SVD заключалась в том, чтобы преодолеть проблемы памяти с одной из переменных ответа, которая имела 65 уровней).

Может ли кто-нибудь указать некоторые рекомендации относительно того, как улучшить характеристики классификации LSA/SVD? Я понимаю, что это общий вопрос без каких-либо конкретных данных или кода, но я бы оценил некоторые данные экспертов о том, где начать отладку.

FYI, я использую R для этого текста предварительной обработки (пакеты: тм, снежный ком, LSA) и строительство классификационных моделей (упаковка: kernelsvm)

спасибо.

+0

Использовали ли вы такое же преобразование низкого ранга во время классификации? Вектор вашего тестового документа также должен быть уменьшен по размеру. – adi

ответ

1

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

  1. «двоичное documentMatrix», кажется, подразумевает ваши данные представлены двоичными значениями, то есть 1 на срок существующего в документе, и 0 для несуществующего срока; переход к другой схеме подсчета очков (например, tf/idf) может привести к лучшим результатам.

  2. LSA - это хорошая метрика для уменьшения размеров в некоторых случаях, но в меньшей степени - в других. Поэтому, в зависимости от точного характера ваших данных, может быть хорошей идеей рассмотреть дополнительные методы, например. Infogain.

  3. Если основным стимулом для уменьшения размерности является один параметр с 65 уровнями, возможно, это относится к конкретному параметру, например. по какой-то форме квантования, приведет к лучшему компромиссу?

1

Возможно, это не лучший ответ. Надеюсь, эти предложения помогут.

Возможно, вы можете использовать лемматизацию, чтобы уменьшить неприемлемые результаты. Короткие и плотные: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

The goal of both stemming and lemmatization is to reduce inflectional forms and 
sometimes derivationally related forms of a word to a common base form. 

However, the two words differ in their flavor. Stemming usually refers to a crude 
heuristic process that chops off the ends of words in the hope of achieving this 
goal correctly most of the time, and often includes the removal of derivational 
affixes. Lemmatization usually refers to doing things properly with the use of a 
vocabulary and morphological analysis of words, normally aiming to remove 
inflectional endings only and to return the base or dictionary form of a word, 
which is known as the lemma. 

Один экземпляр:

go,goes,going ->Lemma: go,go,go ||Stemming: go, goe, go 

И использовать некоторые заранее определенный набор правил; так что краткие слова обобщаются. Например:

I'am -> I am 
should't -> should not 
can't -> can not 

Как бороться с круглыми скобками внутри предложения.

This is a dog(Its name is doggy) 

Текст в круглых скобках часто упоминается имена псевдонимов упомянутых объектов. Вы можете либо удалить их, либо сделать correference analysis и рассматривать его как новое предложение.

1

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

Смежные вопросы