在R中删除带有撇号的词组,用于词云

时间:2016-06-13 15:35:14

标签: r special-characters tm word-cloud

感谢这个社区的帮助,我已经能够从电影脚本中制作一些词云,并且它变得越来越容易。有人要求我做电影潘,所以我找到了剧本然后我去了。

问题是出现了一些我编码删除的单词。它们看起来像'il,'ve,'re等。注意引导撇号。

这是我的代码:

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)

我试过在Notepad ++中搜索'il没有运气,R的removeWords功能似乎也没有处理它。我知道撇号和其他特殊角色有时候需要特殊的方法,但我被困在这里。有什么想法吗?

以下是感兴趣的脚本来源:http://pastebin.com/JiK3pF5f

谢谢!这就是云目前的样子。如果你也有任何造型评论,我会全力以赴。

enter image description here

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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好一点