토큰화와 정제

R로 시작하는 텍스트 분석

Maham Faisal Khan

Senior Data Science Content Developer

tidytext 사용

R로 시작하는 텍스트 분석

텍스트 토큰화

자연어 처리(NLP) 기본 용어:

  • 단어 자루(Bag of words): 문서의 단어는 서로 독립적임
  • 각 개별 텍스트는 문서임
  • 각 고유 단어는 용어(term)임
  • 용어의 각 출현은 토큰임
  • 단어 자루 생성은 토큰화라 함
R로 시작하는 텍스트 분석

unnest_tokens() 사용

tidy_review <- review_data %>% 
  unnest_tokens(word, review)

tidy_review
# A tibble: 229,481 x 4
   date    product                    stars word   
   <chr>   <chr>                      <dbl> <chr>  
 1 2/28/15 iRobot Roomba 650 for Pets     5 you    
 2 2/28/15 iRobot Roomba 650 for Pets     5 would  
 3 2/28/15 iRobot Roomba 650 for Pets     5 not    
# … with 229,478 more rows
R로 시작하는 텍스트 분석

단어 세기

tidy_review %>% 
  count(word) %>% 
  arrange(desc(n))
# A tibble: 10,310 x 2
   word      n
   <chr> <int>
 1 the   11785
 2 it     7905
 3 and    6794
# … with 10,307 more rows
R로 시작하는 텍스트 분석

anti_join() 사용

  • 정제된 데이터 프레임에서 불용어를 제거합니다
  • 이를 위해 조인을 사용합니다

R로 시작하는 텍스트 분석

anti_join() 사용

tidy_review2 <- review_data %>% 
  unnest_tokens(word, review) %>% 
  anti_join(stop_words)

tidy_review2
# A tibble: 78,868 x 4
   date     product                    stars word       
   <chr>    <chr>                      <dbl> <chr>      
 1 1/12/15  iRobot Roomba 650 for Pets     4 walk       
 2 1/12/15  iRobot Roomba 650 for Pets     4 rest       
# … with 78,866 more rows
R로 시작하는 텍스트 분석

단어 재집계

tidy_review2 %>% 
  count(word) %>% 
  arrange(desc(n))
# A tibble: 9,672 x 2
   word         n
   <chr>    <int>
 1 roomba    2286
 2 clean     1204
 3 vacuum     989
# … with 9,669 more rows
R로 시작하는 텍스트 분석

연습해 봅시다!

R로 시작하는 텍스트 분석

Preparing Video For Download...