stemDocument R文本挖掘

时间:2014-09-26 19:24:08

标签: r tm stemming

我的数据是一个txt文件,如下所示:
单词number_doc
翻看1
客户1
商店1
marge 1
价格2
股票2
经济学2

对文档的数量进行排序(从最小到最大)。现在我想为每个文档提供属于该文档的所有单词。现在他们站在一个专栏中,但我想要一个textDocument中的单词(来自包tm,因为它是该包中某些函数的必要条件)。我这样做了如下:

 data <- read.table("poging.txt", header = TRUE)
 data

 doc <- c()
 #I paste all the words from a document together:
 doc[1] <- paste(data[1:4,1], collapse = ' ')
 doc[2] <- paste(data[1:4,1], collapse = ' ')

 #Make a data.frame of it
 doc_df <- data.frame(docs = doc, row.names = 1:2)

 #Install package
 install.packages("tm")
 library(tm)

 #Make a Dataframesource of it so that each row is seen as a document
 ds <- DataframeSource(doc_df)
 inspect(VCorpus(ds))

 #Now I want to stem for example document number 1
 stemDocument(ds[[1]])

但是使用ds[[1]]作为参数,它不起作用。他找不到第1号文件。 有人能帮助我吗?

在示例om tm包中,他们使用数据crude。我希望我的数据格式与crude格式相同。

西尔克

1 个答案:

答案 0 :(得分:0)

stemDocument()旨在与TextDocument一起使用,而不是与DataSource一起使用。您想使用DataSource创建语料库,然后您可以从那里提取文档。

ds <- DataframeSource(doc_df)
corpus <- VCorpus(ds)
stemDocument(corpus[[1]])

请注意,stemDocument将返回一个新文档,并且不会永久更新语料库。因此,如果您希望对输出执行任何操作,请务必将其保存在某处。