EmpezarEmpieza gratis

Comparar y contrastar gráfico de barras apiladas

Otra forma de segmentar tu texto es entender qué parte del/los documento(s) está compuesta por palabras positivas o negativas. Por ejemplo, una reseña de un restaurante puede incluir algo positivo como "la comida estaba buena" y luego añadir "el restaurante estaba sucio, el personal fue grosero y el aparcamiento horrible". Como resultado, quizá quieras saber qué proporción del documento se dedica a lenguaje positivo frente a negativo. En este ejemplo, habría un mayor porcentaje negativo que positivo.

Un método para hacerlo es count() las palabras positivas y negativas y luego dividir entre el número de palabras de subjetividad identificadas. En el ejemplo de la reseña, "good" contaría como 1 positiva y "dirty", "rude" y "awful" contarían como 3 términos negativos. Un cálculo sencillo te llevaría a concluir que la reseña es 25% positiva y 75% negativa, ya que hubo 4 términos de subjetividad.

Empieza realizando el inner_join() sobre un marco de datos ordenado unificado que contiene 4 libros: Agamemnon, Oz, Huck Finn y Moby Dick. Igual que en el ejercicio anterior, usarás filter() y grepl().

Para realizar el count() tienes que agrupar los datos por libro y luego por sentimiento. Por ejemplo, todas las palabras positivas de Agamemnon deben agruparse y luego contarse, para que no se mezclen con palabras positivas de otros libros. Por suerte, puedes pasar múltiples variables directamente a count().

Este ejercicio forma parte del curso

Análisis de sentimiento en R

Ver curso

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Review tail of all_books
tail(all_books)

# Count by book & sentiment
books_sent_count <- all_books %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Keep only positive or negative
  ___(__("___", sentiment)) %>% 
  # Count by book and by sentiment
  ___(___, ___)
  
# Review entire object
books_sent_count
Editar y ejecutar código