String R文本挖掘-将段落一个接一个地组合起来,而不会混淆句子
初学者在R和文本挖掘。目前正在使用tm软件包 我试图将两个不同文档的文本添加到一个语料库中。 当我使用这样的语句时String R文本挖掘-将段落一个接一个地组合起来,而不会混淆句子,string,r,text,String,R,Text,初学者在R和文本挖掘。目前正在使用tm软件包 我试图将两个不同文档的文本添加到一个语料库中。 当我使用这样的语句时 c(corpus.doc[[1]],corpus.doc[[2]]) 或粘贴语句 paste(corpus.doc[[1]],corpus.doc[[2]]) 我得到了每行文字的组合结果 例如: 如果 我从这些陈述中得到的是 He visits very often She also and stays sometimes more 我怎样才能防止这种情况,而不是
c(corpus.doc[[1]],corpus.doc[[2]])
或粘贴语句
paste(corpus.doc[[1]],corpus.doc[[2]])
我得到了每行文字的组合结果
例如:
如果
我从这些陈述中得到的是
He visits very often She also
and stays
sometimes more
我怎样才能防止这种情况,而不是
He visits very often
and
sometimes more
She also
stays
或者有没有一种简单的方法来组合R tm包中的文档?提前谢谢你
附加信息
当我使用
pkg:tm中的帮助说明有一个c.Corpus函数,其“recursive”的默认设置为FALSE,但如果设置为TRUE,则可能导致“智能”合并。如果您认为copus.doc是语料库类对象的列表,您可以尝试:
c( corpus.doc[[1]], corpus.doc[[2]], recursive=TRUE)
。。。但不清楚您是否真的拥有“语料库”——类对象
str(corpus.doc) # see above
因此,这个很长的列表中的第一个元素不是语料库类对象,而是纯文本文档。进一步我的评论,在创建语料库之前,如果您在
R
中合并纯文本文档,怎么样?例如,如果1.txt
、2.txt
和3.txt
都是纯文本文件,那么您可以像这样将它们读入R
a <- readLines(file("C:/Users/X/Desktop/1.txt"))
b <- readLines(file("C:/Users/X/Desktop/2.txt"))
c <- readLines(file("C:/Users/X/Desktop/3.txt"))
结果将是一个包含1个文本文档的语料库
,然后您可以使用tm
包中的函数对其进行分析
将其扩展为一个函数,以高效地连接7000多个纯文本文档,然后从生成的数据对象生成一个语料库,应该很简单。这会让你更接近你想要做的事情吗?这会创建另一个包含两个文本文档的语料库。我想要的是语料库中的一个文档。对不起,无法以有意义的方式回应,因为我想我没有足够的声誉。我编辑了我的原始问题以回答您的问题。我的意思是,我不能在评论中使用“代码”部分,我是这个板的初学者,功能有限。@appletree:您建议对这个答案进行编辑;它应该应用于问题。它应用于问题。为什么不使用文本编辑器将一个文档的文本复制并粘贴到另一个文档中?如果您的示例中的两个文档是“明文文档”和“文本文档”,那么在文本编辑器中编辑它们应该没有问题。然后使用该新文档作为tm包的输入。这不是一个纯粹的R解决方案,但如果你只有少量文档,那么速度很快。是的……我知道:)只是这些文件中有7000多个(它们是语音文件),我想根据它们是否由同一个说话人合成文本。
List of 4270
$ CREC-2011-01-05-pt1-PgE1-2.htm :Classes 'PlainTextDocument', 'TextDocument',
'character' atomic [1:74] html head titlecongression record volume issue
head ...
.. ..- attr(*, "Author")= chr(0)
.. ..- attr(*, "DateTimeStamp")= POSIXlt[1:1], format: "2009-01-17 15:45:25"
.. ..- attr(*, "Description")= chr(0)
. . ..- attr(, "Heading")= chr(0) .. ..- attr(, "ID")= chr "CREC-2011-01-05-pt1-PgE1- 2.htm"
c( corpus.doc[[1]], corpus.doc[[2]], recursive=TRUE)
str(corpus.doc) # see above
a <- readLines(file("C:/Users/X/Desktop/1.txt"))
b <- readLines(file("C:/Users/X/Desktop/2.txt"))
c <- readLines(file("C:/Users/X/Desktop/3.txt"))
abc <- c(a, b, c)
abc.corpus <- Corpus(VectorSource(abc)) # not what you want
abc.paste <- paste(a,b,c, collapse=' ') # this is what you want
abc.corpus <- Corpus(VectorSource(abc.paste))