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
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