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
풀이:
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
댓글
댓글 쓰기