KoNLP / Word Count 예제

문제: 데이터를 입력하여 명사형 단어의 빈도를 알아보라.
풀이:

options(java.parameters = "-Xmx2G")
library(KoNLP)
library(tidytext)
library(dplyr)
library(stringr)
txtSample=data.frame(
  n=c(1,2,3),
  text=c('대한민국은 민주공화국이다.','대한민국의 주권은 국민에게 있고, 모든 권력은 국민으로부터 나온다.',
         '국가는 법률이 정하는 바에 의하여 재외국민을 보호할 의무를 진다.'),
  stringsAsFactors=FALSE
)
useSejongDic()
result01=extractNoun(txtSample$text)
result01a=do.call(rbind,lapply(result01,paste,collapse=' '))
result01b=tibble(text=result01a) %>% mutate(n=dplyr::row_number())
tidy_result01=result01b %>% unnest_tokens(word,text)
#Word Count
tidy_result01 %>% count(word,sort=TRUE) %>% filter(nchar(word)>1)

#결과물:
# A tibble: 11 x 2
   word          nn
   <chr>      <int>
 1 국민           2
 2 대한           2
 3 민국           2
 4 국가           1
 5 권력           1
 6 민주공화국     1
 7 법률           1
 8 보호           1
 9 의무           1
10 재외국민       1
11 주권           1

댓글

이 블로그의 인기 게시물

Bradley-Terry Model: paired comparison models

xlwings tutorial - 데이터 계산하여 붙여 넣기

R에서 csv 파일 읽는 법