Интерпретация вывода StringToWordVector() — Weka

Я пытаюсь классифицировать документы, используя Weka java API.

Вот моя структура каталогов файлов данных.

+- text_example
|
+- class1
|  |
|  3 html files
|
+- class2
|   |
|   1 html file
|
+- class3
    |
    3 html files

У меня есть файл 'arff', созданный с помощью 'TextDirectoryLoader'. Затем я использую фильтр StringToWordVectorдля созданного файла arff с filter.setOutputWordCounts(true).

Ниже приведен пример вывода после применения фильтра. Мне нужно прояснить несколько вещей.

@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric

Этот огромный список должен быть токенизацией содержимого исходных html-файлов. правильно?

Тогда у меня есть,

@data
{1 2,3 2,4 1,11 1,12 7,..............}
{10 4,34 1,37 5,.......}
{2 1,5 6,6 16,...}
{0 class2,34 11,40 15,.....,4900 3,...
{0 class3,1 2,37 3,40 5....
{0 class3,1 2,31 20,32 17......
{0 class3,32 5,42 1,43 10.........

почему нет атрибута класса для первых 3 элементов? (он должен иметь class1). что означает начальный 0, как в {0 class2,..}, {0 class3..}. Например, в нем говорится, что в третьем html-файле в папке class3 слово, обозначенное целым числом 32, встречается 5 раз. Просто чтобы посмотреть, как мне получить слово (токен), на которое ссылается 32?

Как уменьшить размерность вектора признаков? Разве нам не нужно сделать все векторы признаков одинакового размера? (например, рассмотреть, скажем, только 100 наиболее часто встречающихся терминов из обучающего набора, а позже, когда дело доходит до тестирования, рассмотреть появление только этих 100 терминов в тестовых документах. Потому что таким образом, что произойдет, если мы придумаем совершенно новое слово на этапе тестирования классификатор просто проигнорирует его?).

Я что-то упустил? Я новичок в Weka.

Также я очень благодарен за помощь, если кто-нибудь объяснит мне, как классификатор использует этот вектор, созданный с помощью фильтра StringToWordVector. (например, создание словаря с обучающими данными, уменьшение размерности, это происходит внутри кода Weka?)

5
задан samsamara 18 April 2012 в 18:51
поделиться