我想使用tm包,所以我创建了下一个代码:
x<-inspect(DocumentTermMatrix(docs,
list(dictionary = c("survive", "survival"))))
我需要在文中找到以“幸存者”开头的任何单词,例如包括“生存”,“幸存者”,“生存”等字样。有没有办法写出这个条件 - 用“幸存”开头的单词 - 在代码中?
答案 0 :(得分:0)
您可以做的是创建一般DocumentTermMatrix
,然后对其进行过滤以仅使用surviv
保留以startsWith
开头的行。
corp <- VCorpus(VectorSource(c("survival", "survivance", "survival",
"random", "yes", "survive")))
tdm <- TermDocumentMatrix(corp)
inspect(tdm[startsWith(rownames(tdm), "surv"),])
答案 1 :(得分:0)
你可以使用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
P.S。如果你想获得x变量中的前10行和10列,只需要x <- inspect(DocumentTermMatrix(docs, .....)
。