1. Nauka
  2. /
  3. Kursy
  4. /
  5. R을 활용한 감성 분석

Connected

ćwiczenie

긍정적인 노래들!

물론 긍정적인 단어와 부정적인 단어만으로는 충분하지 않습니다. 이번 연습 문제에서는 저자의 감정적 의도를 파악하는 데 도움이 되는 극성 전환어(valence shifters)에 대해 배웁니다. 앞서는 극성 전환어 없이 polarity()를 텍스트에 적용했습니다. 이번 예제에서는 증폭어(amplification words)와 부정어(negation words)가 실제로 어떻게 작동하는지 살펴봅니다.

증폭어는 polarity()에서 긍정 단어에 0.8을 더하므로 긍정 점수는 1.8이 됩니다. 부정적인 단어의 경우 0.8이 차감되어 총점이 -1.8이 됩니다. 이후 점수는 전체 단어 수의 제곱근으로 나뉩니다.

다음은 Frank Sinatra의 예시입니다:

  • "It was a very good year"

"good"의 점수는 1이고, "very"가 0.8을 더합니다. 따라서 1.8/sqrt(6)은 극성 점수 0.73이 됩니다.

부정어, 예를 들어 "not"은 주관성 점수를 반전시킵니다. 다음은 Bobby McFerrin의 예시입니다:

  • "Don't worry Be Happy"

"don't"라는 부정어로 인해 "worry"의 점수는 1이 됩니다. 여기에 "happy"(+1)를 더하면 2가 됩니다. 총 4개의 단어로 나누면 2 / sqrt(4)는 극성 점수 1이 됩니다.

Instrukcje

100 XP
  • 대화 데이터 프레임 conversation을 살펴보세요. text 열에서 "never"와 같은 극성 전환어를 확인하세요.
  • conversation의 text 열에 polarity()를 적용하여 전체 대화의 극성을 계산하세요.
  • 학생별 극성 점수를 계산하고 결과를 student_pol에 할당하세요.
    • polarity()를 다시 호출하되, 이번에는 conversation의 두 열을 전달하세요.
    • 텍스트 변수는 text이고, 그룹화 변수는 student입니다.
  • 학생별 결과를 확인하려면 student_pol에 scores()를 사용하세요.
  • student_pol에 counts() 함수를 적용하면 전체 데이터 프레임의 문장별 극성과 식별된 어휘 단어가 출력됩니다.
  • 극성 객체 student_pol은 plot()으로 시각화할 수 있습니다.