Bing 감성 극성 분석: 흰 고래의 빈도 계산과 피벗 변환
이 연습 문제에서는 "bing" 어휘 사전을 사용하여 inner_join()을 다시 적용해 봅니다.
그런 다음 dplyr의 count()와 tidyr의 pivot_wider()를 함께 사용해 결과를 가공하고 텍스트에 대한 인사이트를 얻어 봅니다.
pivot_wider() 함수는 데이터를 여러 열에 걸쳐 넓게 펼쳐줍니다. 이 경우, 감성(sentiment)과 그에 해당하는 n 값은 각 행에서 긍정 또는 부정 단어의 빈도를 나타냅니다. pivot_wider()를 사용하면 값이 0이더라도 각 행에 긍정과 부정 값이 모두 포함되도록 데이터 구조가 변환됩니다.
이 연습은 강의의 일부입니다
R을 활용한 감성 분석
연습 안내
이 연습 문제의 R 세션에는 모비 딕(Moby Dick) 텍스트가 담긴 m_dick_tidy와 이전 연습 문제와 유사한 어휘 사전인 bing이 준비되어 있습니다.
m_dick_tidy와bing을 대상으로inner_join()을 수행하세요.- 이전과 동일하게,
m_dick_tidy의"term"열을 어휘 사전의"word"열에 조인하세요. - 새 객체의 이름은
moby_lex_words로 지정하세요.
- 이전과 동일하게,
document에as.numeric()을 적용하여index열을 생성하세요. 이 작업은 tidyverse의mutate()내에서 수행합니다.moby_lex_words를count()에 전달하고sentiment, index를 인수로 넘겨moby_count를 생성하세요.moby_count를pivot_wider()로 파이프하여moby_wide를 생성하세요. 이때names_from은sentiment열,values_from은n열로 설정하고, 빈 값은values_fill = 0으로 채우세요.- 마지막 파이프로
arrange를 사용하여 행을index값 기준으로 정렬하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Inner join
moby_lex_words <- inner_join(___, ___, by = c("___" = "___"))
moby_lex_words <- moby_lex_words %>%
# Set index to numeric document
mutate(___ = as.numeric(___))
moby_count <- moby_lex_words %>%
# Count by sentiment, index
___(___, ___)
# Examine the counts
moby_count
moby_wide <- moby_count %>%
# Pivot the sentiments
pivot_wider(names_from = ___, values_from = ___, values_fill = ___) %>%
arrange(index)
# Review the pivoted data
moby_wide