Polaridad ordenada con Bing: ejemplo sencillo
Ahora que ya entiendes lo básico de un inner join, apliquémoslo al léxico "Bing". Ten en cuenta que la función inner_join() pertenece a dplyr y que el objeto del léxico se obtiene con get_sentiments() de tidytext.
El léxico Bing clasifica las palabras como positivas o negativas. En los próximos tres ejercicios interactuarás con este léxico en concreto. Para usar get_sentiments() pasa una cadena como "afinn", "bing", "nrc" o "loughran" para descargar el léxico específico.
Flujo de trabajo del inner join:
- Obtén el léxico correcto usando
get_sentiments(). - Pasa el léxico y los datos de texto ordenados a
inner_join(). - Para que
inner_join()funcione debe existir un nombre de columna compartido. Si no lo hay, decláralo con un parámetro adicional,by, igual accon los nombres de columna como se muestra abajo.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Realiza alguna agregación y análisis sobre la intersección de tablas.
Este ejercicio forma parte del curso
Análisis de sentimiento en R
Instrucciones del ejercicio
Hemos cargado ag_txt con las primeras 100 líneas de Agamenón y ag_tidy, que es la versión ordenada (tidy).
- Para comparar, usa
polarity()sobreag_txt. - Obtén el léxico
"bing"pasando esa cadena aget_sentiments(). - Realiza un
inner_join()conag_tidyybing.- Las columnas de palabras se llaman
"term"enag_tidyy"word"en el léxico, así que declara el argumentoby. - Llama al nuevo objeto
ag_bing_words.
- Las columnas de palabras se llaman
- Imprime
ag_bing_wordsy revisa algunas de las palabras que aparecen en el resultado. - Pasa
ag_bing_wordsacount()desentimentusando el operador de tubería, %>%. Compara la puntuación depolarity()con la proporción de recuento de sentimientos.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Qdap polarity
___
# Get Bing lexicon
bing <- get_sentiments("___")
# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))
# Examine
ag_bing_words
# Get counts by sentiment
ag_bing_words %>%
___(___)