시작하기무료로 시작하기

나누어 살펴보기: 극성을 활용한 비교 워드 클라우드

극성을 활용해 코퍼스를 나누는 방법을 살펴봤으니, 이제 직접 실습해 봅시다! 이 코드는 감정 점수를 기준으로 코퍼스를 분할하여, 전체를 한꺼번에 보는 대신 각 하위 집합의 정보를 자세히 살펴볼 수 있도록 도와줍니다.

R 세션에는 "오즈의 마법사"에 polarity()를 적용해 생성된 oz_pol이 준비되어 있습니다.

편의를 위해, 극성 점수를 기준으로 코퍼스를 분할하는 간단한 커스텀 함수 pol_subsections()를 미리 만들어 두었습니다. 이 함수는 각 행이 코퍼스의 문장 또는 문서인 데이터 프레임을 입력으로 받습니다. 그런 다음 극성 값이 0보다 크거나 작은 행만 추출합니다. 마지막으로 긍정 및 부정 문장(0이 아닌 극성)을 collapse 매개변수로 합쳐 단일 코퍼스로 만들고, 두 문서를 하나의 벡터로 연결합니다.

pol_subsections <- function(df) {
  x.pos <- subset(df$text, df$polarity > 0)
  x.neg <- subset(df$text, df$polarity < 0)
  x.pos <- paste(x.pos, collapse = " ")
  x.neg <- paste(x.neg, collapse = " ")
  all.terms <- c(x.pos, x.neg)
  return(all.terms)
}

이제 중립 문장은 제외하고, 남은 텍스트를 정리하는 데 집중합니다. 이 연습 문제에서는 %>% 연산자를 사용해 객체를 함수로 전달합니다. 간단한 전처리 후 comparison.cloud()를 사용해 시각화를 만들어 보세요.

이 연습은 강의의 일부입니다

R을 활용한 감성 분석

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

oz_df <- oz_pol$all %>%
  # Select text.var as text and polarity
  ___(text = ___, polarity = ___)

# Apply custom function pol_subsections()
all_terms <- ___(___)

all_corpus <- all_terms %>%
  # Source from a vector
  ___() %>% 
  # Make a volatile corpus 
  ___()
코드 편집 및 실행