Классификация документов с использованием LSA / SVD - PullRequest
3 голосов
/ 19 октября 2011

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

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

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

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

К вашему сведению, я использую R для предварительной обработки текста (пакеты: tm, snowball, lsa) и построение классификационных моделей (пакет: kernelsvm)

Спасибо.

Ответы [ 3 ]

1 голос
/ 27 сентября 2014

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

Может быть, вы могли бы использовать лемматизацию вместо определения, чтобы уменьшить неприемлемые результаты.Короткий и плотный: 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)

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

1 голос
/ 06 мая 2015

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

1 голос
/ 23 ноября 2011

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

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

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

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

...