# 3-1. 명사 추출
nount <- extractNoun(text_titles)
nounc <- extractNoun(text_contents)
head(nount, 3)
> head(nount, 3)
[[1]]
[1] "제주" "항공" "면접" "블라우스" "디테일" "구매" "하" "기"
[[2]]
[1] "제주" "항공" "JJ멤버스" "위크" "특가" "7" "월" "출발" "항공" "권"
[[3]]
[1] "조이버" "사이판" "갈" "제주" "항공" "타고" "할인" "혜택받"
head(nounc, 3)
> head(nounc, 3)
[[1]]
[1] "제주" "항공" "면접" "블라우스" "당신" "꿈"
[7] "날개" "면접" "복장" "전문" "드림윙즈입니다" "제주"
[13] "항공" "면접" "블라우스" "서류" "발표" "나"
[19] "면접" "준비" "기간" "짧" "기"
[[2]]
[1] "제주" "항공" "JJ" "멤버스" "위크" "7" "월" "출발" "항공권" "제주"
[11] "항공" "얼리버드" "특가" "JJ멤버스" "위크" "시작" "판매" "기간" "2018" "년"
[21] "3" "월" "7" "오전" "10" "시" "3" "월" "13" "일"
[31] "출발" "기간" "2018" "년"
[[3]]
[1] "제주" "항공" "사" "이" "판" "혜택" "들이" "제주"
[9] "항공" "사" "이" "판" "켄싱턴" "호텔" "숙박" "하"
[17] "객실료1박당" "20" "불" "인"
명사 추출을 위해서 'KoNLP'에 있는 'useNIADic()'을 사용하였습니다. 또한 n행 1열의 데이터 프레임 형태로 만들어 주기 위해 아래와 같이 'for문'을 이용하였습니다.
df_nount <- NULL
df_nounc <- NULL
for (i in 0:9){
df_nount_b <- as.data.frame(nount[i+1])
names(df_nount_b) <- c('keywords')
df_nount <- rbind(df_nount, df_nount_b)
df_nounc_b <- as.data.frame(nounc[i+1])
names(df_nounc_b) <- c('keywords')
df_nounc <- rbind(df_nounc, df_nounc_b)
}
jkeywords <- rbind(df_nount, df_nounc)
head(jkeywords)
> head(jkeywords)
keywords
1 제주
2 항공
3 국제
4 선
5 파일럿
6 기내식
# 3-2. 카운팅 (빈도 확인)
추출된 키워드는 'group_by'를 이용해 동일 키워드를 기준으로 묶고 'summarise'와 'n()'을 사용해 카운팅했습니다. 'order'를 이용하여 내림차순 정렬하면 빈도수가 높은 단어 순으로 확인할 수 있습니다.
jkeywords$keywords <- as.character(jkeywords$keywords)
count_key <- jkeywords %>% filter(nchar(keywords)>=2 & nchar(keywords)<=9) %>% group_by(keywords) %>% summarise(n=n())
keywords <- count_key[order(-count_key$n), ]
head(keywords, 10)
> head(keywords, 10)
# A tibble: 10 x 2
keywords n
<chr> <int>
1 제주 3174
2 항공 2913
3 여행 586
4 특가 302
5 항공권 301
6 이용 170
7 출발 164
8 항공우주 164
9 2018 138
10 시간 135