with vidhya sentiment hands guide comprehensive code and r text-mining iconv sentiment-analysis

vidhya - comprehensive hands on guide to twitter sentiment analysis with dataset and code



Emoticonos en Twitter Sentiment Analysis en r (2)

Esto debería deshacerse de los emoticones, usando iconv como lo sugiere ndoogan.

Algunos datos reproducibles:

require(twitteR) # note that I had to register my twitter credentials first # here''s the method: http://stackoverflow.com/q/9916283/1036500 s <- searchTwitter(''#emoticons'', cainfo="cacert.pem") # convert to data frame df <- do.call("rbind", lapply(s, as.data.frame)) # inspect, yes there are some odd characters in row five head(df) text 1 ROFLOL: echte #emoticons [humor] http://t.co/0d6fA7RJsY via @tweetsmania ;-) 2 “@teeLARGE: when tmobile get the iphone in 2 wks im killin everybody w/ emoticons &amp; /nall the other stuff i cant see on android!" /n#Emoticons 3 E poi ricevi dei messaggi del genere da tua mamma xD #crazymum #iloveyou #emoticons #aiutooo #bestlike http://t.co/Yee1LB9ZQa 4 #emoticons I want to change my name to an #emoticon. Is it too soon? #prince http://t.co/AgmR5Lnhrk 5 I use emoticons too much. #addicted #admittingit #emoticons <ed><U+00A0><U+00BD><ed><U+00B8><U+00AC><ed><U+00A0><U+00BD><ed><U+00B8><U+0081> haha 6 What you text What I see #Emoticons http://t.co/BKowBSLJ0s

Aquí está la línea clave que eliminará los emoticones:

# Clean text to remove odd characters df$text <- sapply(df$text,function(row) iconv(row, "latin1", "ASCII", sub=""))

Ahora inspeccione nuevamente, para ver si los caracteres impares se han ido (vea la fila 5)

head(df) text 1 ROFLOL: echte #emoticons [humor] http://t.co/0d6fA7RJsY via @tweetsmania ;-) 2 @teeLARGE: when tmobile get the iphone in 2 wks im killin everybody w/ emoticons &amp; /nall the other stuff i cant see on android!" /n#Emoticons 3 E poi ricevi dei messaggi del genere da tua mamma xD #crazymum #iloveyou #emoticons #aiutooo #bestlike http://t.co/Yee1LB9ZQa 4 #emoticons I want to change my name to an #emoticon. Is it too soon? #prince http://t.co/AgmR5Lnhrk 5 I use emoticons too much. #addicted #admittingit #emoticons haha 6 What you text What I see #Emoticons http://t.co/BKowBSLJ0s

¿Cómo manejo / elimino los emoticones para poder ordenar los tweets para el análisis de sentimientos?

Obteniendo: Error en sort.list (y): entrada inválida

Gracias

y así es como salen los emoticones mirando desde twitter y hacia r:

/xed��/xed�/u0083/xed��/xed�� /xed��/xed�/u008d/xed��/xed�/u0089


Puede usar expresiones regulares para detectar caracteres que no pertenecen al alfabeto y eliminarlos. Código de muestra:

rmNonAlphabet <- function(str) { words <- unlist(strsplit(str, " ")) in.alphabet <- grep(words, pattern = "[a-z|0-9]", ignore.case = T) nice.str <- paste(words[in.alphabet], collapse = " ") nice.str }