Используйте DocumentTermMatrix в R с параметром «словарь»

Я хочу использовать R для классификации текста. Я использую DocumentTermMatrix для возврата матрицы слова:

library(tm)
crude <- "japan korea usa uk albania azerbaijan"
corps <- Corpus(VectorSource(crude))
dtm <- DocumentTermMatrix(corps)
inspect(dtm)

words <- c("australia", "korea", "uganda", "japan", "argentina", "turkey")
test <- DocumentTermMatrix(corps, control=list(dictionary = words))
inspect(test)

Первые inspect(dtm) работают, как и ожидалось, с результатом:

    Terms
Docs albania azerbaijan japan korea usa
   1       1          1     1     1   1

Но второй inspect(test) показывает этот результат:

    Terms
Docs argentina australia japan korea turkey uganda
   1         0         1     0     1      0      0

Пока ожидаемый результат:

    Terms
Docs argentina australia japan korea turkey uganda
   1         0         0     1     1      0      0

Это ошибка или я использую его неправильно?


person Izzur Zuhri    schedule 20.06.2017    source источник


Ответы (1)


У Corpus(), похоже, есть ошибка при индексации частоты слов.

Вместо этого используйте VCorpus(), это даст вам ожидаемый результат.

person AshOfFire    schedule 27.09.2017