1. 학습
  2. /
  3. 강의
  4. /
  5. R을 활용한 감성 분석

Connected

연습 문제

불행한 결말? 시간순 극성 분석

때로는 시간의 흐름에 따라 감성을 추적하고 싶을 때가 있습니다. 예를 들어, 광고 캠페인을 진행하는 동안 브랜드 감성을 추적하여 캠페인의 효과를 확인할 수 있습니다. 지난 챕터 말미에서 이와 관련된 몇 가지 예시를 살펴봤습니다.

이번 연습 문제에서는 소설 모비 딕(Moby Dick)을 활용해 시간에 따른 감성 변화를 탐색하는 워크플로를 복습합니다. 책의 행복한 장면에는 긍정적인 단어가 더 많이 등장하고, 어둡거나 슬픈 결말 부분에는 부정적인 언어가 더 많이 사용될 것으로 예상할 수 있습니다. 또한 감성 시계열을 시각적으로 더 보기 좋게 만드는 몇 가지 팁도 살펴보겠습니다.

워크플로는 다음과 같습니다.

  1. 텍스트와 레시콘(lexicon)을 단어 기준으로 내부 조인(inner join)합니다.
  2. 줄(line)별로 감성을 집계합니다.
  3. 각 감성이 별도의 열을 갖도록 데이터를 재구성합니다.
  4. (레시콘에 따라) 긍정 점수에서 부정 점수를 빼서 극성(polarity)을 계산합니다.
  5. 극성 시계열을 시각화합니다.

이 연습 문제는 익숙하게 느껴질 것입니다. Bing 타이디 극성: Call me Ishmael (with ggplot2)! 연습 문제를 확장한 내용입니다.

지침 1/2

undefined XP
    1
    2
  • 미리 불러온 모비 딕의 타이디 버전인 moby를 bing 레시콘에 inner_join()하세요.
    • 텍스트의 "term" 열과 레시콘의 "word" 열을 기준으로 조인하세요.
  • sentiment와 index를 기준으로 집계하세요.
  • pivot_wider()를 사용해 각 감성이 별도의 열을 갖도록 데이터를 재구성하세요.
    • names_from = sentiment으로 sentiment 열을 참조합니다.
    • values_from = n으로 n 열에서 값을 가져옵니다.
    • values_fill = 0으로 NA를 0으로 채웁니다.
  • mutate()를 사용해 polarity와 line_number 두 열을 추가하세요.
    • polarity는 긍정 점수에서 부정 점수를 뺀 값으로 설정하세요.
    • line_number는 row_number() 함수를 사용해 행 번호로 설정하세요.