Обучающий и тестовый файл для SVM light

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

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

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

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


person ritesh    schedule 04.08.2013    source источник


Ответы (1)


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

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

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

person Jirka    schedule 04.08.2013
comment
А как насчет самой функции? Если функция представляет собой набор слов, будет ли функция увеличивать последовательность чисел? - person rottweiler; 26.01.2015