한판 대결! Amazon vs. Google 호평 리뷰
Amazon의 긍정 리뷰에서는 "good benefits" 같은 바이그램이 자주 보이고, 부정 리뷰에서는 "workload"와 "work-life balance" 이슈에 초점이 맞춰져 있어요.
반면, Google의 긍정 리뷰에는 "great food", "perks", "smart people", "fun culture" 등이 언급됩니다. Google의 부정 리뷰는 "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열에서 0이 아닌 값만filter()로 남기세요.- 같은 방식으로
GooglePro열도 0이 아닌 값만 남기세요. - 그런 다음
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)