2016-04-09 42 views
2

Twitter duygu analizim için temiz metinler oluşturmak için aşağıdaki kodu kullanıyorum. Bu analize "bok", "hasta", vb. Dahil etmek istemediğim bazı kelimeleri çıkarmak için başka bir satır eklemek istiyorum. Birisi nasıl yapılacağını tavsiye edebilir mi? R son "tm" paketini kullanarakR - Duygu Analizi - Bazı kelimeler nasıl kaldırılır

tweets <- searchTwitter("iPhone", n=1500, lang="en") 
txt <- sapply(tweets, function(x) x$getText()) 
txt <- gsub("(RT|via)((?:\\b\\W*@\\w+)+)", "", txt) 
txt <- gsub("@\\w+", "", txt) 
txt <- gsub("[[:punct:]]", "", txt) 
txt <- gsub("[[:digit:]]", "", txt) 
txt <- gsub("http\\w+", "", txt) 
txt <- gsub("[ \t]{2,}", "", txt) 
txt <- gsub("^\\s+|\\s+$", "", txt) 
+0

Ryo .. Sanırım blogu okuyabilirsiniz: https://mkmanu.wordpress.com/2014/08/05/sentiment-analysis-on-twitter-data-text-analytics-tutorial/ –

+0

gsub'ı [Bu cevabın 'gsub ile çoklu argümanları değiştir'] bölümüne bakın (http://stackoverflow.com/a/15254254/3560695). Bu da kodunuzu basitleştirir. – Therkel

cevap

0

, kelimeleri kaldırabilirsiniz ..

library(tm) 
myCorpOld <- Corpus(VectorSource(YourFirstDFonTweet$text) 

korpus verme konusunda yılında unutmayın, "YourFirstDFonTweet" İndirdiğiniz oluşturulan olabilirdi Dataframe olduğunu tweet'leri.

#remove "crap" and "sick" from 
txt <- setdiff(say_txt, c("crap", "sick")) 

#remove these form corpus 
myCorpUpdate <- tm_map(myCorpOld, txt) 

Umarım bu, sorununuzu nasıl çözeceğiniz konusunda size fikir verir.

+0

Bu iki kelimeyi 'gsub' kullanarak kaldırmanın alternatif bir yolu var mı? Gsub kullanarak – Ryo

+0

, aynı anda yalnızca bir kelimeyi kaldırabilirsiniz. örneğin bir tweet'iniz var: veri <- c ("Bu bir örnek tweet. İşte saçma e-posta adresim: [email protected] Burada çok saçma şeyler.") ve "bok" kelimesini kaldırmak istediğinizde, gsub kullanarak ... gsub ("bok", "", veri) ne elde edersiniz: "Bu bir örnek tweet. İşte e-posta adresim [email protected] Burada çok şey var." –

+0

Çok teşekkür ederim Manoj! – Ryo