Nuestro analisis intenta encontrar si existe alguna relación respecto al uso del lenguaje del presidente con alguno de los principales medios en Twitter.
@clarincom, @infobae, @C5N@pagina12 y @alferdez.
Para ello analizaremos frecuencia de palabras utilizadas, la probabilidad de cada usuario en comparación a otro respecto al uso de palabra, la longitud de los tweets y el analisis de sentimientos mediante a algoritmos de NLP.
Se realizo un request a la API de Twitter por aproximadamente 3mil tweets por cada usuario. En el caso de Alberto Fernandez para llegar a tanta cantidad de tweets nos tenÃamos que alejar mucho en el tiempo, por lo tanto se dicidió un request de 1800 tweets.
## # A tibble: 5 x 2
## screen_name numero_tweets
## <chr> <int>
## 1 alferdez 1847
## 2 C5N 3196
## 3 clarincom 3199
## 4 infobae 3059
## 5 pagina12 3200
En los siguientes graficos observamos la distribución de tweets respecto a la variable tiempo.
Se puede analizar muy claro como infobae y clarin tienen una mayor utilizacion del twitter que pagina12 y mucho mayor que c5n. Alberto fernandez acumula la misma cantidad de tweets en casi un año que clarin.com en menos de un mes.
A la hora de entender que caracteriza los mensajes de cada noticiero, es interesante estudiar qué palabras emplea, con qué frecuencia, asà como el significado de las mismas.
Esto es relativo al request que hice, tomando lineas temporales distintas.
Alberto Fernandez es el usuario con más pálabras distintas. Estoy comparando una persona fisica a medios que publican sus noticias y a lineas temporales distintas. En los medios llama la atencion que infobae y clarin en un linea temporal menora a pagina12 y c5n usen mas palabras distintas.
Mido la longitud media de los tweets por usarios De los datos se observa que pagina12 utiliza menos palabras que el resto de los medios que se ubica en un minmo de 6 y 7 palabras por tweets.
C5m es el noticiero con mayor varianza entre tweets largos y cortos. Clarincom parece que tiene una linea editorial más marcada de cantidad de palabras
## # A tibble: 52 x 3
## # Groups: autor [5]
## autor token n
## <chr> <chr> <int>
## 1 alferdez argentina 280
## 2 alferdez más 246
## 3 alferdez vamos 225
## 4 alferdez gracias 215
## 5 alferdez hoy 144
## 6 alferdez vos 142
## 7 alferdez macri 139
## 8 alferdez solo 131
## 9 alferdez argentinos 119
## 10 alferdez paÃs 107
## # ... with 42 more rows
En los medios se observa con claridad que la recoleccion de palabras corresponde en su mayorÃa al ultimo mes, dado que en las rpimeras palabras se encuentra coronavirus y pandemia, esta ultima palabra no usada por c5n.
## # A tibble: 6 x 6
## # Groups: token [6]
## token clarincom infobae C5N alferdez pagina12
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 aaajoficial 3 0 0 0 0
## 2 aabadonh 1 0 0 0 0
## 3 abajo 2 1 0 0 4
## 4 abandonamos 1 0 0 1 0
## 5 abandonarlo 1 0 0 0 0
## 6 abandono 2 0 1 0 0
corrplot(m_cor, method="color", type="upper", order="hclust",
addCoef.col = "black", tl.col="black", tl.srt=45,
sig.level = 0.01, insig = "blank", diag=FALSE)
Esta matriz de correlacion es muy interesante. Hay un correlacion fuerte entre las palabras de C5n, pagina12 y Alberto Fernandez. Asociación sospechada y en este caso medida. Tiene en cuenta las palabras en común en cantidad de veces utilizadas.
La linea roja representa las palabras en común que representan la correlacion mostrada en el corrplot.
## [1] "Palabras comunes entre clarincom y infobae : 3757"
## [2] "Palabras comunes entre clarincom y C5N : 3133"
## [3] "Palabras comunes entre clarincom y alferdez : 2396"
## [4] "Palabras comunes entre clarincom y pagina12 : 2961"
## [5] "Palabras comunes entre infobae y C5N : 3094"
## [6] "Palabras comunes entre infobae y alferdez : 2489"
## [7] "Palabras comunes entre infobae y pagina12 : 3031"
## [8] "Palabras comunes entre C5N y alferdez : 2477"
## [9] "Palabras comunes entre C5N y pagina12 : 2941"
## [10] "Palabras comunes entre alferdez y pagina12 : 2348"
#Comparación en el uso de palabras El log of odds ratio de las frecuencias (esta comparación se hace por pares). Se cuantifica la frecuencia de cada par de usuarioes.
\(loggoodsratio=ln(\frac{(\frac{n+1}{total+1})clarincom}{(\frac{n+1}{total+1})alferdez})\)
Siendo nk el número de veces que aparece el término k en los textos de cada autor y N el número total de términos de cada autor.
Para realizar el calculo hay que contar cada una de las palabras que aparece en los tweets, si un autor no utilizo una de esas palabras se pone un cero. Para esto es necesario pivotwider y poner las palabras en columnas y reemplazar los NA que aparezcan por 0
## # A tibble: 6 x 6
## # Groups: token [6]
## token clarincom infobae log_odds abs_log_odds autor_frecuente
## <chr> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 aaajoficial 0.0000373 0.0000330 0.122 0.122 clarincom
## 2 aabadonh 0.0000373 0.0000330 0.122 0.122 clarincom
## 3 aampm 0.0000373 0.0000330 0.122 0.122 clarincom
## 4 aarón 0.0000373 0.0000330 0.122 0.122 clarincom
## 5 abad 0.0000373 0.0000330 0.122 0.122 clarincom
## 6 abajo 0.0000373 0.0000330 0.122 0.122 clarincom
Las 30 palabras mas diferenciadas son estas.
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
Es muy interesante como aparece diferenciada la palabras desigualdad, memoriverdadyjusticia, feminista, nuncamas, carceles y dictaduras de pagina12 respecto a c5n.
Se hace un analisis en función de la clasficiacion nrc, clasficiando cada palabra en sentimiento positivo o negativo.
En base a cada palabra se acumula el valor de los sentimientos para armar una continuidad.
sent <- read_csv("sent.csv", locale = locale(encoding = "WINDOWS-1252"))
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
## X1 = col_double(),
## texto = col_character(),
## ira = col_double(),
## anticipacion = col_double(),
## aversion = col_double(),
## miedo = col_double(),
## alegria = col_double(),
## tristeza = col_double(),
## sorpresa = col_double(),
## confianza = col_double(),
## negativo = col_double(),
## positivo = col_double()
## )
tweets_sent2 <- read_csv("tweets_sent2.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Parsed with column specification:
## cols(
## .default = col_double(),
## autor = col_character(),
## fecha = col_date(format = ""),
## is_retweet = col_logical(),
## token = col_character(),
## tipo = col_character(),
## emocion = col_character()
## )
## See spec(...) for full column specifications.
tweets_sent <- read_csv("tweets_sent.csv")
## Warning: Missing column names filled in: 'X1' [1]
## Warning: Duplicated column names deduplicated: 'X1' => 'X1_1' [2]
## Parsed with column specification:
## cols(
## .default = col_double(),
## autor = col_character(),
## fecha = col_datetime(format = ""),
## is_retweet = col_logical(),
## token = col_character(),
## tipo = col_character()
## )
## See spec(...) for full column specifications.
Se observan muy marcada una diferencia entre la persona alberto fernandez de los medios. Donde el presidente esta representado por sentimientos mas negativos que los medios y por otro lado, clarin dentro del grupo de medios, representa sentimientos mas negativos y c5n representa mas positivos. Es interesante analizar que en el 1er cuatrimestre del 2019 alberto fernandez tenia tweets con sentimientos mas negativos y a partir de las fechas cercanas a las paso de agosto del 2019 empezaron los sentimientos postivios en mayor proporcion y se mantuvo esta tendencia.