Tidy 감성 분석과 Qdap 극성 비교
감성 분석 방법이 다르면 결과도 달라질 수 있습니다. 세부 수치는 다를 수 있지만, 방향성이 일치하는 결과를 얻는 것이 중요합니다. 이전 연습 문제에서는 불용어를 제거한 임대 리뷰 데이터 프레임인 tidy_reviews를 만들었습니다. 또한 이 챕터 앞부분에서 qdap의 기본 polarity() 함수를 계산하고 시각화했는데, 리뷰가 전반적으로 긍정적임을 확인했습니다.
이번에는 tidytext 방식으로 유사한 분석을 수행해 보겠습니다! 앞 챕터에서 배운 것처럼 inner_join()을 수행한 후 count()와 pivot_wider()를 차례로 적용합니다.
마지막으로 mutate()를 사용해 positive - negative를 계산하는 새로운 열을 만들겠습니다.
이 연습은 강의의 일부입니다
R을 활용한 감성 분석
연습 안내
get_sentiments()함수에 "bing"을 전달하여 Bing 주관성 어휘 목록을 가져오세요. 이 어휘 목록을bing이라고 부르겠습니다.- 챕터 2에서 작성한 코드를 기반으로, 어휘 목록 객체
bing과 새로운 열 이름(polarity), 그리고mutate()안에서의 계산식을 입력하세요. - 마지막으로 새로운 객체
pos_neg에summary()를 호출하세요. 수치는 다를 수 있지만, 평균값을 확인했을 때 대부분의 임대 리뷰는polarity()를 사용했을 때와 마찬가지로 긍정적인가요? 점수가 전반적으로 높게 나오는 경향이 보이나요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Get the correct lexicon
bing <- ___
# Calculate polarity for each review
pos_neg <- tidy_reviews %>%
inner_join(___) %>%
count(sentiment) %>%
pivot_wider(names_from = sentiment, values_from = n, values_fill = 0) %>%
mutate(___ = ___ - ___)
# Check outcome
___