巅峰对决!Amazon vs. Google 的正向评价
Amazon 的正向评价似乎常提到如 "good benefits" 之类的二元词组,而其负向评价则集中在 "workload" 和 "work-life balance" 等问题上。
相比之下,Google 的正向评价会提到 "great food"、"perks"、"smart people"、"fun culture" 等。其负向评价则讨论 "politics"、"getting big"、"bureaucracy" 和 "middle management"。
您决定绘制一个金字塔图,将 Amazon 和 Google 的正向评价对齐,这样就能比较二者共享的二元词组之间的差异。
我们已预加载数据框 all_tdm_df,包含 terms 以及对应的 AmazonPro 和 GooglePro 的二元词组频次。请使用该数据框,找出两个语料库之间共享的前 5 个二元词组。
本练习是课程的一部分
使用 R 的 Bag-of-Words 进行文本挖掘
练习说明
- 使用
dplyr函数从all_tdm_df创建common_words。- 对
AmazonPro列使用filter(),筛选非零值。 - 同样对
GooglePro列进行非零值筛选。 - 然后使用
mutate()新增一列diff,其值为两个词频列的abs(绝对)差。
- 对
- 将
common_words通过管道传入slice_max,依据diff列取前5个值,创建top5_df。它会打印到控制台供您查看。 - 使用
pyramid.plot作图,依次传入top5_df$AmazonPro、top5_df$GooglePro,最后用top5_df$terms添加标签。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)