시작하기무료로 시작하기

Tidy Text 티블 만들기!

tidy 원칙을 학습한 내용을 바탕으로, 이 코드는 데이터를 티블(tibble)로 정리하여 tidyverse 안에서 작업할 수 있도록 도와줍니다!

앞서 TermDocumentMatrix() 객체에 tidy()를 적용하면 TDM을 티블로 변환할 수 있다는 것을 배웠습니다. 이번 연습 문제에서는 comments라는 리뷰 열에서 직접 단어 데이터를 생성합니다.

먼저 unnest_tokens()를 사용해 텍스트를 소문자로 변환하고 리뷰를 단어 단위로 토큰화합니다.

코퍼스의 각 그룹 내에서 원래 단어 순서를 보존하는 것이 유용할 때가 있습니다. 이를 위해 mutate()를 사용합니다. mutate() 안에서 seq_along()을 이용해 1부터 객체의 길이까지 숫자 시퀀스를 생성하면, 원문에 작성된 단어 순서를 그대로 보존할 수 있습니다.

tm 패키지에서는 removeWords()로 불용어를 제거했습니다. tidyverse에서는 먼저 불용어 사전을 불러온 후, tidy 텍스트 데이터 프레임과 불용어 사전 간에 anti_join()을 적용합니다.

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

R을 활용한 감성 분석

강의 보기

연습 안내

  • 원본 리뷰 객체 bos_reviewsunnest_tokens() 함수에 파이프(%>%)로 연결하여 tidy_reviews를 생성하세요. 새 열 이름으로 word를 전달하고 comments 열을 지정하세요. tidyverse에서는 $나 따옴표가 필요하지 않습니다.
  • tidy 방식으로 새 변수를 만들어 보세요! tidy_reviewsgroup_by에 파이프로 연결하고 id 열을 지정한 후, mutate()에 다시 %>%로 연결하여 tidy_reviews를 재작성하세요. mutate() 안에서 seq_along(word)와 같은 새 변수 original_word_order를 생성하세요.
  • 티블 tidy_reviews를 출력하세요.
  • data("stop_words")를 사용해 미리 준비된 "SMART" 불용어 사전을 R 세션에 불러오세요.
  • 원본 tidy_reviews%>%anti_join()에 연결하여 tidy_reviews를 덮어쓰세요. anti_join() 안에 미리 정의된 stop_words 사전을 전달하세요.

실습형 인터랙티브 연습

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

# Vector to tibble
tidy_reviews <- bos_reviews %>% 
  ___(___, ___)

# Group by and mutate
tidy_reviews <- tidy_reviews %>% 
  ___(___) %>% 
  ___(original_word_order = ___(___))

# Quick review
___

# Load stopwords
___

# Perform anti-join
tidy_reviews_without_stopwords <- tidy_reviews %>% 
  ___(___)
코드 편집 및 실행