지난 포스팅에서 한글 텍스트 마이닝 분석을 위한 KoNLP 설치하는 방법까지 설명하였습니다. 이어서 테스트도 할 겸 엑셀의 텍스트 데이터를 호출하고, 빈도 분석까지 간단히 정리해 보겠습니다. 예제 데이터는 9월 20일 출시된 네이버의 생성형 AI 서비스인 큐에 대한 국내 보도자료이며, 이 중 제목과 키워드를 이용합니다.
1. 데이터 수집
네이버의 생성형 AI 서비스인 큐에 대한 국내 보도자료는 블로그에서 많이 인용했던 빅카인즈입니다. 빅카인즈를 처음 들어본 분들은 다음 포스팅을 통해 사용법을 간단하게 확인하고 이번 포스팅을 읽어보기 바랍니다.
네이버 생성형 AI 서비스 큐에 대한 보도자료 수집 결과는 다음 파일과 같고, 해당 파일을 이용하여 이번 포스팅 실습을 진행하겠습니다.
업로드된 파일을 열어보면, 총 25개의 보도자료가 수집되었고, 보도자료 일시, 제목 및 키워드만 추출하였습니다. 관심을 갖고 검토해야 할 점은 제목의 문자열 구분 기준은 빈칸이나, 키워드는 쉼표라는 점에서 차이가 있습니다.
2. 패키지 로딩, 작업 폴더 지정 및 텍스트 데이터 엑셀 호출
패키지 인스톨과 로딩, 데이터 호출, 분석결과의 저장 등을 위한 작업 폴더를 별도 지정합니다. 지정하지 않은 경우는 내 문서 폴더가 작업 폴더가 됩니다.
R 코드
# 01. 패지키 인스톨 및 로딩
install.packages("tidyverse")
install.packages("tidytext")
install.packages("readxl")
install.packages("wordcloud")
install.packages("openxlsx")
library(tidyverse)
library(tidytext)
library(KoNLP)
useNIADic()
library(readxl)
library(wordcloud)
library(openxlsx)
# 02. 작업폴더 지정
setwd("C:/test/ko_test")
getwd()
# 03. 텍스트 데이터 호출
naverq <- read_excel("naverq.xlsx", col_names = TRUE)
3. 데이터 전처리와 토큰화
한글을 제외한 모든 문자는 공란으로 처리하고, 두 개 이상의 공란은 하나의 공란으로 처리합니다. 또한 단어 기준으로 토큰화를 실행합니다. 토큰화 이후에는 두 글자 이상의 단어들만 추출하고, 빈도수를 계산한 후, 정렬합니다.
R 코드
naverq_title <- naverq %>%
mutate(title = str_replace_all(title, "[^가-힣]", " "),
title = str_squish(title),
id = row_number())
# 보도자료 제목 토큰화
naverq_title <- naverq_title %>%
unnest_tokens(input = title,
output = word,
token = "words")
# 빈도수 기준 정렬 (두 글자 이상의 단어)
naverq_title <- naverq_title %>%
count(word, sort = TRUE) %>%
filter(n >= 2)
# 빈도수 기준 상위 30개 단어 추출
top30 <- naverq_title %>%
head(30)
4. 막대 그래프 : 빈도수 기준 데이터 시각화
정렬된 데이터 중 상위 30개 단어들만 이용하여 막대그래프로 데이터 시각화 결과는 다음과 같습니다.
5. 키워드 기준 텍스트 마이닝
보도자료의 제목은 빈칸으로 문자열이 구분되어 있으나, 키워드는 쉼표로 구분되어 있음을 확인하기 바랍니다. 그 외 코드는 위의 제목을 구현한 코드와 동일합니다만, 빈도수를 표현하는 막대그래프에 몇 가지 옵션들을 추가하여 데이터 시각화를 시도하면 다음과 같습니다.
6. 워드클라우드
막대그래프로 구현된 데이터 시각화 결과를 워드 클라우드로 구현하면, 다음과 같습니다.
7. 파일 다운로드
이번 포스팅에서 설명한 R 코드는 다음 파일과 같습니다. 전체 복사한 후, R 콘솔창에 붙여 넣기 하고, 실행하면, 포스팅과 같은 데이터 시각화 결과를 구현할 수 있습니다.
8. 정리
R을 이용한 한글 텍스트 마이닝 분석을 위해 지난 포스팅에서 KoNLP 패키지 설치를 하였고, 이번 포스팅에서 KoNLP 패키지 설치 후, 테스트를 겸해 간단한 분석을 시도해 보았습니다. 다음 포스팅에서는 이어서 불용어 등 추가적인 전처리 분석 방법에 대하여 설명하겠습니다.
이번 포스팅까지 R 한글 텍스트 마이닝을 잘 따라 오신 분들은 네이버 오픈 API를 이용한 텍스트 마이닝 분석에도 도전해보기 바랍니다. 위 링크를 클릭하면, 관련 포스팅으로 이동합니다. 가입 방법부터 실행 방법 그리고 R 코드까지 모두 업로드해두었으니 참고하기 바랍니다.
'교육' 카테고리의 다른 글
R 한글 텍스트 마이닝 (3) : TF - IDF (0) | 2023.10.03 |
---|---|
R 한글 텍스트 마이닝 분석 (2) │품사 분석과 불용어 추가 전처리 (0) | 2023.10.01 |
해외 뉴스 텍스트 네트워크 분석 │영어 데이터 정제 방법 (0) | 2023.06.24 |
2023 구글 키워드 플래너 사용법 (0) | 2023.06.20 |
AI 무료 교육 │해외 추천 강의 Best 3 (0) | 2023.06.19 |