EmpezarEmpieza gratis

¡Stressed Out!

Aquí vas a ajustar las palabras negativas para adaptarlas al texto específico. Luego compararás las puntuaciones básicas y personalizadas de polarity().

Una canción popular de Twenty One Pilots se llama "Stressed Out". Si revisas la letra, verás que habla de la nostalgia de la juventud. En general, la mayoría diría que la polaridad es negativa. Repite constantemente ideas de estrés, miedos y fingir.

Comparemos la letra de la canción usando el lexicón de subjetividad por defecto y también uno personalizado.

Para empezar, tienes que comprobar que el lexicón de subjetividad key.pol no tenga ya el término que quieres añadir. Una forma de comprobarlo es con grep(). La función grep() devuelve la fila que contiene caracteres que coinciden con un patrón de búsqueda. Aquí tienes un ejemplo usado al indexar.

data_frame[grep("search_pattern", data_frame$column), ]

Después de verificar que la jerga o palabra nueva no está ya en el lexicón key.pol, necesitas añadirla. El siguiente código usa sentiment_frame() para construir el nuevo lexicón. En el código, sentiment_frame() acepta el vector original de palabras positivas, positive.words. Después, las negative.words originales se concatenan con "smh" y "kappa", ambas consideradas jerga negativa. Aunque puedes indicar los pesos positivos y negativos, el valor por defecto es 1 y -1, así que no se incluyen abajo.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

¡Ya estás listo para aplicar la polaridad y que haga referencia al lexicón de subjetividad personalizado!

Este ejercicio forma parte del curso

Análisis de sentimiento en R

Ver curso

Instrucciones del ejercicio

Hemos creado stressed_out, que contiene la letra de la canción "Stressed Out", de Twenty One Pilots.

  • Usa polarity() sobre stressed_out para ver la puntuación por defecto.
  • Comprueba key.pol para ver si hay palabras que contengan "stress". Usa grep() para indexar el data frame buscando en la columna x.
  • Crea custom_pol como un nuevo data frame de sentimiento.
  • Vuelve a aplicar polarity() a stressed_out con el parámetro adicional polarity.frame = custom_pol para comparar cómo los términos nuevos cambian la puntuación y la acercan a una representación más fiel de la canción.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# stressed_out has been pre-defined
head(stressed_out)

# Basic lexicon score
___(___)

# Check the subjectivity lexicon
___[___("stress", x)]

# New lexicon
custom_pol <- ___(___, c(negative.words, "___", "___"))

# Compare new score
___(___, polarity.frame = ___)
Editar y ejecutar código