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

Connected

연습 문제

누적 막대 차트 비교 및 대조

텍스트를 분석하는 또 다른 방법은 문서에서 긍정적인 단어와 부정적인 단어가 각각 얼마나 사용되었는지 파악하는 것입니다. 예를 들어, 식당 리뷰에 "음식은 맛있었다"와 같은 긍정적인 내용이 있더라도, "식당이 지저분하고, 직원이 불친절하며, 주차가 불편했다"는 내용이 이어질 수 있습니다. 이런 경우, 문서에서 긍정적인 표현과 부정적인 표현이 각각 얼마나 큰 비중을 차지하는지 이해하는 것이 중요합니다. 이 예시에서는 긍정 비율보다 부정 비율이 더 높게 나타납니다.

이를 계산하는 한 가지 방법은 count()를 사용해 긍정 단어와 부정 단어의 수를 세고, 식별된 주관성 단어의 총 수로 나누는 것입니다. 위의 식당 리뷰 예시에서 "맛있었다"는 긍정 단어 1개, "지저분하고", "불친절하며", "불편했다"는 부정 단어 3개에 해당합니다. 주관성 단어가 총 4개이므로, 간단한 계산을 통해 긍정 25%, 부정 75%라는 결과를 얻을 수 있습니다.

먼저 Agamemnon, Oz, Huck Finn, Moby Dick 4권의 책이 포함된 통합 tidy 데이터 프레임에 inner_join()을 수행해 보세요. 이전 연습 문제와 마찬가지로 filter()와 grepl()을 사용합니다.

count()를 수행하려면 책과 감정(sentiment)을 기준으로 데이터를 그룹화해야 합니다. 예를 들어, Agamemnon의 긍정 단어는 다른 책의 단어와 섞이지 않도록 별도로 그룹화한 후 집계해야 합니다. 다행히 count()에 여러 변수를 직접 전달할 수 있습니다.

지침 1/3

undefined XP
    1
    2
    3
  • all_books를 렉시콘 nrc에 inner join 하세요.
  • sentiment 열에서 "positive" 또는 "negative"가 포함된 행만 남도록 필터링하세요. 즉, sentiment 열에 grepl()을 적용하되, 부정 없이 "positive|negative"가 유지되도록 설정하세요.
  • book과 sentiment를 기준으로 집계하세요.