2013-08-04 2 views
0

Я пытаюсь использовать SVM для проблемы классификации текста. Я нашел реализацию SVM под названием SVM light и ее производную SVM multiclass (для задач классификации с более чем 2 классами). Однако я действительно не могу понять формат файла для обучения и тестирования классификатора. Я понимаю, что мне нужно создать вектор функции (предположим, что я беру каждое слово в документе как функцию), а затем для каждого документа я должен указать его класс, содержащиеся в нем функции (на самом деле индекс функции в вектор функции) и значение функции для создания файла поезда. Я смущен этой «особенностью». Что это может быть? Это счет этой функции в этом документе? Или что-то еще? Пример файла поезда, который содержит веб-сайт, не имеет целых чисел в качестве значений функций, что указывает на то, что это не частота, которая бы сформировала значение функции.Тестовый файл для SVM light

Также мне было интересно, есть ли какой-либо инструмент/программное обеспечение для создания этого файла поезда из простой документ. Я обычно работаю с Java; поэтому некоторый пакет на Java для этого также будет достаточно хорош для меня. Я попытался выполнить поиск в Google, но не нашел ничего подходящего.

Я также хотел бы узнать, есть ли другой способ использования SVM для классификации текста.

Любая помощь в этом отношении была бы принята с благодарностью.

ответ

2

Можно использовать простые двоичные функции (произошло слово или нет?) Или просто счет. Но вы, вероятно, хотите масштабировать простые подсчеты по логарифму счетчика (более частые слова важнее, но слово 10x не является в 10 раз более важным, чем слово, которое происходит однажды).

Также вы можете взвешивать подсчеты, принимая во внимание, как часто слова встречаются во всех документах и ​​т. Д. (Даже если слово «the» будет часто встречаться в документе, на самом деле это не очень много говорит о документе, так как это очень частые вообще). Посмотрите на tf-idf.

Является ли SVM правильным выбором? Я бы сказал, что поиск правильных функций более важен, чем точный алгоритм, особенно на ранних стадиях.

+0

Большое спасибо! Это очищает много воздуха для меня – ritesh

+0

А как насчет самой функции? Если функция является сумкой слов, функция будет увеличивать последовательность чисел? – akshob

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