2016-06-13 41 views
0

感谢这个社区的帮助,我已经能够从电影脚本中创建一些词语云,并且它变得越来越简单和容易。有人要求我做电影潘,所以我找到了剧本,我走了。在R中删除带撇号的词组,用于词云

问题是有几个词出现,我编码删除。它们看起来像'il','ve''等等。注意前面的撇号。

这里是我的代码:

text = readLines("C:/Users/MyName/Downloads/Pan.txt",encoding="UTF-8") 

content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, c("'il","'re","cont'd")) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2,PlainTextDocument) 
wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

我试图寻找在记事本“金正日++,没有运气和R的removeWords功能似乎并没有被任何照顾它。我知道撇号和其他特殊字符有时可能需要特殊的方法,但我被困在这里。有任何想法吗?

这里是如果有兴趣的脚本源:http://pastebin.com/JiK3pF5f

谢谢!这里是云这个词目前的样子。如果您也有任何造型评论,我全都耳熟能详。

enter image description here

回答

1

这是否对你的工作?我刚刚添加了删除空格,并没有看到例如'il

library(tm) 
library(wordcloud) 
text = readLines("~/Downloads/JiK3pF5f.txt", warn = F) 
content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2, trimws) 
content2 = tm_map(content2, PlainTextDocument) 

wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

结果:

wordcloud

+0

好一点的性能可惜是的,他们仍然存在。我运行了精确的代码,这就是我所看到的。通知底部有'重新和'il。你能发布你的文字云的图片吗? http://i.imgur.com/4lG6Gkx.png?1 – user137698

+0

它可能是编码。我用UTF-8选项删除了readLines()的部分,并且我注意到了一些奇怪的结果。另外,如果我使用像你一样的pastebin文件并运行代码,我注意到TM在出现撇号时应该出现。 – user137698

+1

有趣的是,我发布了我得到的图像。你能在语料库中找到一个“il”的例子吗? – effel

0

你试过GSUB替换这些字符?例如:

library(tm) 
library(wordcloud) 
text = readLines("~/Downloads/JiK3pF5f.txt", warn = F) 

text=gsub("'re", '', text) 

content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2, trimws) 
content2 = tm_map(content2, PlainTextDocument) 

wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

你也可以尝试Quanteda:https://cran.r-project.org/web/packages/quanteda/vignettes/quickstart.html

它还具有比TM

+0

谢谢你的回复。 gsub方法对我不起作用。我不知道为什么。 – user137698