R- textminig с пакетами тм - PullRequest
0 голосов
/ 17 мая 2018

Я хочу использовать tm packakes, поэтому я создал следующий код:

x<-inspect(DocumentTermMatrix(docs,
                          list(dictionary = c("survive", "survival"))))

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

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы можете остановить слова с помощью stemDocument.Тогда вам нужно искать только выжившего и выжившего, так как это слова, которые вы ищете.Использование и расширение списка слов из @ AshOfFire

my_corpus <- VCorpus(VectorSource(c("survival", "survivance", "survival",
                               "random", "yes", "survive", "survivors", "surviving")))
my_corpus <- tm_map(my_corpus, stemDocument)
my_dtm <- DocumentTermMatrix(my_corpus, control = list(dictionary = c("surviv", "survivor")))
inspect(my_dtm)

<<DocumentTermMatrix (documents: 8, terms: 2)>>
Non-/sparse entries: 6/10
Sparsity           : 62%
Maximal term length: 8
Weighting          : term frequency (tf)
Sample             :
    Terms
Docs surviv survivor
   1      1        0
   2      1        0
   3      1        0
   4      0        0
   5      0        0
   6      1        0
   7      0        1
   8      1        0

ps делает x <- inspect(DocumentTermMatrix(docs, .....) только если вы хотите получить первые 10 строк и 10 столбцов в вашей переменной x.

0 голосов
/ 17 мая 2018

Что вы можете сделать, это создать общий DocumentTermMatrix и затем отфильтровать его, чтобы сохранить только те строки, которые начинаются с surviv с использованием startsWith.

corp <- VCorpus(VectorSource(c("survival", "survivance", "survival",
                               "random", "yes", "survive")))
tdm <- TermDocumentMatrix(corp)
inspect(tdm[startsWith(rownames(tdm), "surv"),])
...