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

Connected

연습 문제

Tidy Text 티블 만들기!

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

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

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

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

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

지침

100 XP
  • 원본 리뷰 객체 bos_reviews를 unnest_tokens() 함수에 파이프(%>%)로 연결하여 tidy_reviews를 생성하세요. 새 열 이름으로 word를 전달하고 comments 열을 지정하세요. tidyverse에서는 $나 따옴표가 필요하지 않습니다.
  • tidy 방식으로 새 변수를 만들어 보세요! tidy_reviews를 group_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 사전을 전달하세요.