ComenzarEmpieza gratis

¡Duelo en la cima! Reseñas positivas de Amazon vs. Google

Las reseñas positivas de Amazon parecen mencionar bigramas como "good benefits", mientras que las negativas se centran en bigramas relacionados con la carga de trabajo ("workload") y problemas de "work-life balance".

En cambio, las reseñas positivas de Google mencionan "great food", "perks", "smart people" y "fun culture", entre otras cosas. Las reseñas negativas de Google hablan de "politics", "getting big", "bureaucracy" y "middle management".

Has decidido crear un gráfico piramidal alineando las reseñas positivas de Amazon y Google para comparar las diferencias entre los bigramas compartidos. Hemos precargado un data frame, all_tdm_df, con terms y las frecuencias de bigramas correspondientes AmazonPro y GooglePro. Usando este data frame, identificarás los 5 bigramas principales que comparten ambos corpus.

Este ejercicio forma parte del curso

Minería de texto con Bag-of-Words en R

Ver curso

Instrucciones del ejercicio

  • Crea common_words a partir de all_tdm_df usando funciones de dplyr.
    • Aplica filter() sobre la columna AmazonPro para valores distintos de cero.
    • Filtra igualmente la columna GooglePro para valores distintos de cero.
    • Luego usa mutate() para crear una nueva columna, diff, que sea la diferencia abs (absoluta) entre las columnas de frecuencia de términos.
  • Encadena common_words a slice_max para crear top5_df usando la columna diff y los 5 valores superiores. Se imprimirá en tu consola para que lo revises.
  • Crea un pyramid.plot pasando primero top5_df$AmazonPro, luego top5_df$GooglePro y, por último, añade las etiquetas con top5_df$terms.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Filter to words in common and create an absolute diff column
common_words <- all_tdm_df %>% 
  filter(
    ___ != 0,
    ___ != 0
  ) %>%
  ___(diff = ___(___ - ___))

# Extract top 5 common bigrams
(top5_df <- common_words %>% ___(___, n = ___))

# Create the pyramid plot
pyramid.plot(top5_df$___, top5_df$___, 
             labels = top5_df$___, gap = 12, 
             top.labels = c("Amzn", "Pro Words", "Goog"), 
             main = "Words in Common", unit = NULL)
Editar y ejecutar código