标签: tm

R tm在mclapply(content(x),FUN,...)中:所有计划的核心在用户代码中遇到错误

当我将以下代码运行到倒数第二行时,我收到了警告消息:

在mclapply(content(x),FUN,...)中:所有计划的核心在用户代码中遇到错误

当我跑完最后一行时,我得到了

"UseMethod(\"words \")中的错误:\n没有适用于"字"的方法应用于类\"character \"\n"attr(,"class")"try-error"attr(, "条件")

以下链接是一个可重现的示例,我们可以将其复制/粘贴到R并运行.

https://github.com/weijia2013/mclapply-issue/blob/master/codes

我刚开始学习R,我将非常感谢你的帮助.

library(devtools)
install_github("twitteR", username="geoffjentry")
library(twitteR)
setup_twitter_oauth("API Key", "API Secret")

rdmTweets <- userTimeline('rdatamining', n=200)
(nDocs <- length(rdmTweets))
rdmTweets[11:15]
for (i in 11:15) {cat(paste("[[", i, "]] ", sep="")) + writeLines(strwrap(rdmTweets[[i]]$getText(), width=73))}

df <- do.call("rbind", lapply(rdmTweets, as.data.frame))
dim(df)
library(tm)
library(SnowballC)
library(RWeka)
library(rJava)
library(RWekajars)

myCorpus <- Corpus(VectorSource(df$text))
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, removePunctuation)
myCorpus <- tm_map(myCorpus, removeNumbers)
removeURL <- function(x) gsub("http[[:alnum:]]*", "", x)
myCorpus <- tm_map(myCorpus, removeURL)
myStopwords <- c(stopwords("english"), "available", "via")
myStopwords …
Run Code Online (Sandbox Code Playgroud)

twitter r rstudio mclapply tm

13
推荐指数
1
解决办法
2万
查看次数

R词干/字符串/语料库

我试图在R中做一些干预,但它似乎只适用于单个文档.我的最终目标是一个术语文档矩阵,显示文档中每个术语的频率.

这是一个例子:

require(RWeka)
require(tm)
require(Snowball)

worder1<- c("I am taking","these are the samples",
"He speaks differently","This is distilled","It was placed")
df1 <- data.frame(id=1:5, words=worder1)

> df1
  id                 words
1  1           I am taking
2  2 these are the samples
3  3 He speaks differently
4  4     This is distilled
5  5         It was placed
Run Code Online (Sandbox Code Playgroud)

此方法适用于词干部分,但不适用于术语文档矩阵部分:

> corp1 <- Corpus(VectorSource(df1$words))
> inspect(corp1)
A corpus with 5 text documents

The metadata consists of 2 tag-value pairs and a data frame
Available tags are: …
Run Code Online (Sandbox Code Playgroud)

nlp r stemming tm

12
推荐指数
1
解决办法
9838
查看次数

R将语料库分成句子

  1. 我有许多PDF文档,我已将其读入带库的语料库中tm.如何将语料库分解成句子?

  2. 可以readLines通过sentSplit从包qdap[*] 读取文件来完成.该功能需要数据帧.它还需要放弃语料库并单独阅读所有文件.

  3. 如何在语料库中传递函数sentSplit{ qdap} tm?或者,还有更好的方法?.

注意:sentDetect 库中有一个函数,openNLP现在是Maxent_Sent_Token_Annotator- 同样的问题适用:如何将它与语料库[tm]结合起来?

split r sentence tm qdap

12
推荐指数
2
解决办法
2万
查看次数

用R文本分析进行干扰

我正在对TM包进行大量分析.我最大的问题之一是与词干和词干变换有关.

假设我有几个与会计相关的术语(我知道拼写问题).
在阻止后我们有:

accounts   -> account  
account    -> account  
accounting -> account  
acounting  -> acount  
acount     -> acount  
acounts    -> acount  
accounnt   -> accounnt  
Run Code Online (Sandbox Code Playgroud)

结果:3个条款(帐户,帐户,帐户)我希望1(帐户),因为所有这些都与同一个词有关.

1)纠正拼写是一种可能性,但我从来没有在R中尝试过.这是否可能?

2)另一种选择是建立一个参考列表,即账户=(账户,账户,会计,会计,账户,账户,账户),然后将所有事件替换为主条款.我怎么会在R?

再一次,任何帮助/建议将不胜感激.

text r stemming tm

12
推荐指数
3
解决办法
2万
查看次数

R中的TermDocumentMatrix错误

我一直在研究R中{tm}包的许多在线示例,试图创建一个TermDocumentMatrix.创建和清理语料库非常简单,但是当我尝试创建矩阵时,我一直遇到错误.错误是:

UseMethod("meta",x)中的错误:"meta"没有适用于类"character"对象的适用方法此外:警告消息:在mclapply(unname(content(x)),termFreq,control):all计划的核心在用户代码中遇到错误

例如,这里是Jon Starkweather的文本挖掘示例中的代码.为这么长的代码提前道歉,但这确实产生了一个可重复的例子.请注意,错误在{tdm}函数结束时出现.

#Read in data
policy.HTML.page <- readLines("http://policy.unt.edu/policy/3-5")

#Obtain text and remove mark-up
policy.HTML.page[186:202]
id.1 <- 3 + which(policy.HTML.page == "                    TOTAL UNIVERSITY        </div>")
id.2 <- id.1 + 5
text.data <- policy.HTML.page[id.1:id.2]
td.1 <- gsub(pattern = "<p>", replacement = "", x = text.data, 
     ignore.case = TRUE, perl = FALSE, fixed = FALSE, useBytes = FALSE)

td.2 <- gsub(pattern = "</p>", replacement = "", x = td.1, ignore.case = TRUE,
     perl = FALSE, fixed = FALSE, useBytes …
Run Code Online (Sandbox Code Playgroud)

r corpus text-mining tm term-document-matrix

12
推荐指数
2
解决办法
1万
查看次数

R RKEA - 没有足够的带有类标签的训练实例(必需:1,提供:0)!

我正在努力让RKEA在R Studio中工作.这是我目前的代码:

#Imports packages
library(RKEA)
library(tm)

#Creates a corpus of training sentences
data <- c("This is a sentence",
          "I am in an office",
          "I'm working on a laptop",
          "I have a glass of water",
          "There is a wooden desk",
          "I have an apple for lunch")
data <- as.data.frame(data)
data <- Corpus(VectorSource(data$data))

#Creates a corpus of training keywords
keywords <- c("sentence",
              "office",
              "working",
              "glass",
              "wooden",
              "apple")
keywords <- as.data.frame(keywords)
keywords <- Corpus(VectorSource(keywords$keywords))

#Creates output file for created model
tmpdir <- tempfile() …
Run Code Online (Sandbox Code Playgroud)

r corpus keyword extraction tm

12
推荐指数
1
解决办法
232
查看次数

R:为wordcloud graphics/png添加标题

我有一些工作R代码,从术语 - 文档矩阵生成标签云.

现在我想从许多文档中创建一大堆标记云,并在以后可视化地检查它们.为了知道标签 - 云图片属于哪个文档/语料库,我想为生成的图形添加标题.我怎么做?

也许这很明显,但我仍然是R图形的初学者.

我自己的语料库太大了,无法在此列出,但是这个SO问题的代码(结合代码形成SO用户Andrie的接受答案)可以使用: wordcloud中的空格 我想添加自定义标题和一些更自定义的文本像照片这样

graphics r word-cloud tm

11
推荐指数
1
解决办法
1万
查看次数

使用tm-package进行文本挖掘 - 词干

我正在使用tm-package 在R中进行一些文本挖掘.一切都很顺利.但是,在词干之后会出现一个问题(http://en.wikipedia.org/wiki/Stemming).显然,有些词语具有相同的词干,但重要的是它们不会"被拼凑"(因为这些词语意思不同).

有关示例,请参阅下面的4个文本.在这里你不能使用"讲师"或"讲座"("协会"和"联系人")可互换.但是,这是在步骤4中完成的操作.

是否有任何优雅的解决方案如何手动实现某些案例/单词(例如,"讲师"和"讲座"是两个不同的东西)?

texts <- c("i am member of the XYZ association",
"apply for our open associate position", 
"xyz memorial lecture takes place on wednesday", 
"vote for the most popular lecturer")

# Step 1: Create corpus
corpus <- Corpus(DataframeSource(data.frame(texts)))

# Step 2: Keep a copy of corpus to use later as a dictionary for stem completion
corpus.copy <- corpus

# Step 3: Stem words in the corpus
corpus.temp <- tm_map(corpus, stemDocument, language = "english")  

inspect(corpus.temp) …
Run Code Online (Sandbox Code Playgroud)

r text-mining tm

11
推荐指数
1
解决办法
3万
查看次数

在R中查找ngrams并在语料库中比较ngrams

我正在开始使用R中的tm软件包,所以请耐心等待,并为大文本墙做道歉.我创造了一个相当大的社会主义/共产主义宣传语料库,并希望提取新创造的政治术语(多个词,例如"斗争 - 批评 - 转型运动").

这是一个两步的问题,一个关于我的代码到目前为止,一个关于我应该如何继续.

第1步:为此,我想首先确定一些常见的ngram.但是我很早就陷入了困境.这是我一直在做的事情:

library(tm)
library(RWeka)

a  <-Corpus(DirSource("/mycorpora/1965"), readerControl = list(language="lat")) # that dir is full of txt files
summary(a)  
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")) 
a <- tm_map(a, stemDocument, language = "english") 
# everything works fine so far, so I start playing around with what I have
adtm <-DocumentTermMatrix(a) 
adtm <- removeSparseTerms(adtm, 0.75)

inspect(adtm) 

findFreqTerms(adtm, lowfreq=10) # find terms …
Run Code Online (Sandbox Code Playgroud)

r text-mining n-gram tm

11
推荐指数
1
解决办法
3万
查看次数

如何在R tm包中显示语料库文本?

我是R和tm包中的新手,所以请原谅我的愚蠢问题;-)如何在R tm包中显示纯文本语料库的文本?

我在语料库中加载了一个包含323个纯文本文件的语料库:

 src <- DirSource("Korpora/technologie")
corpus <- Corpus(src)
Run Code Online (Sandbox Code Playgroud)

但是当我用语料库调用语料库时:

corpus[[1]]
Run Code Online (Sandbox Code Playgroud)

我总是得到这样的输出而不是语料库本身:

<<PlainTextDocument>>
Metadata:  7
Content:  chars: 144
Content:  chars: 141
Content:  chars: 224
Content:  chars: 75
Content:  chars: 105
Run Code Online (Sandbox Code Playgroud)

如何显示语料库的文本?

谢谢!

更新可 重复的样本:我已经尝试了内置的示例文本:

> data("crude")
> crude
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 20
> crude[1]
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 1
> crude[[1]]
<<PlainTextDocument>>
Metadata:  15
Content:  chars: 527
Run Code Online (Sandbox Code Playgroud)

如何打印文档文本?

更新2:会话信息:

> sessionInfo()
R version 3.1.3 (2015-03-09) …
Run Code Online (Sandbox Code Playgroud)

r corpus tm

10
推荐指数
3
解决办法
3万
查看次数