Introspección emocional
En este ejercicio irás más allá de filtrar por lenguaje positivo y negativo. En su lugar, vas a filtrar el texto por cada una de las 8 emociones del círculo de Plutchik para construir una visualización. Con este enfoque, obtendrás más claridad sobre el uso de las palabras al mapearlas a una emoción concreta en lugar de solo positivo o negativo.
Usando el léxico de subjetividad de tidytext, "nrc", harás un inner_join() con tu texto. El léxico "nrc" incluye las 8 emociones más las clases de términos positivos y negativos. Por tanto, tendrás que eliminar las palabras positivas y negativas después de hacer el inner_join(). Una forma de hacerlo es con la negación, !, y grepl().
La función "Global Regular Expression Print Logical", grepl(), devuelve Verdadero o Falso si identifica un patrón de cadena en cada fila. En este ejercicio buscarás positive OR negative usando el operador |, que representa "or", como se muestra abajo. A menudo esta barra vertical está encima de la tecla Enter en el teclado. Dado que la negación ! precede a grepl(), el V o F se invierte y así "positive|negative" se descarta en lugar de mantenerse.
Object <- tibble %>%
filter(!grepl("positive|negative", column_name))
Después, aplica count() sobre las palabras identificadas junto con pivot_wider() para ordenar el data frame.
comparison.cloud() requiere que su entrada tenga nombres de fila, así que tendrás que convertirlo a un data.frame de base R, llamando a data.frame() con el argumento row.names.
Este ejercicio forma parte del curso
Análisis de sentimiento en R
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
moby_tidy <- moby %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Drop positive or negative
___(!___("___", sentiment)) %>%
# Count by sentiment and term
___(___, ___) %>%
# Pivot sentiment, using n for values
___(names_from = ___, values_from = ___, values_fill = ___) %>%
# Convert to data.frame, making term the row names
data.frame(row.names = "___")
# Examine
head(moby_tidy)