感谢这个社区的帮助,我已经能够从电影脚本中制作一些词云,并且它变得越来越容易。有人要求我做电影潘,所以我找到了剧本然后我去了。
问题是出现了一些我编码删除的单词。它们看起来像'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
谢谢!这就是云目前的样子。如果你也有任何造型评论,我会全力以赴。
答案 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)
结果:
答案 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好一点