2016-06-13 42 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