R文本文件和文本挖掘......如何加载数据

16 load r text-mining tm

我正在使用R包tm,我想做一些文本挖掘.这是一份文件,被视为一袋文字.

我不明白如何加载文本文件和创建必要的对象以开始使用诸如....的功能的文档.

stemDocument(x, language = map_IETF(Language(x)))
Run Code Online (Sandbox Code Playgroud)

所以假设这是我的文档"这是对R load的测试"

如何加载数据进行文本处理并创建对象x?

Ben*_*Ben 23

就像@richiemorrisroe一样,我发现这个记录很少.这是我如何获取我的文本以使用tm包并创建文档术语矩阵:

library(tm) #load text mining library
setwd('F:/My Documents/My texts') #sets R's working directory to near where my files are
a  <-Corpus(DirSource("/My Documents/My texts"), readerControl = list(language="lat")) #specifies the exact folder where my text file(s) is for analysis with tm.
summary(a)  #check what went in
a <- tm_map(a, removeNumbers)
a <- tm_map(a, removePunctuation)
a <- tm_map(a , stripWhitespace)
a <- tm_map(a, tolower)
a <- tm_map(a, removeWords, stopwords("english")) # this stopword file is at C:\Users\[username]\Documents\R\win-library\2.13\tm\stopwords 
a <- tm_map(a, stemDocument, language = "english")
adtm <-DocumentTermMatrix(a) 
adtm <- removeSparseTerms(adtm, 0.75)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您无需指定确切的文件名.只要它是第3行中引用的目录中的唯一一个,它将由tm函数使用.我是这样做的,因为我在第3行中没有成功指定文件名.

如果有人可以建议如何将文本放入lda包中,我将非常感激.我根本无法解决这个问题.


Pie*_*ter 7

你不能只使用readPlain同一个库中的功能吗?或者您可以使用更常见的scan功能.

mydoc.txt <-scan("./mydoc.txt", what = "character")
Run Code Online (Sandbox Code Playgroud)


ric*_*roe 6

我实际上发现这一点非常棘手,所以这里有一个更全面的解释.

首先,您需要为文本文档设置源.我发现最简单的方法(特别是如果你计划添加更多文档)是创建一个目录源,它将读取你的所有文件.

source <- DirSource("yourdirectoryname/") #input path for documents
YourCorpus <- Corpus(source, readerControl=list(reader=readPlain)) #load in documents
Run Code Online (Sandbox Code Playgroud)

然后,您可以将StemDocument函数应用于您的语料库.HTH.