N-Gram은 말 그대로 N개의 연속적인 단어들의 나열을 뜻합니다. 코퍼스에서 N개의 단어로 나누고 이를 하나의 토큰으로 간주합니다. 여기서 N이 한 개 일 때는 유니그램(unigram), 두 개일 때는 바이그램(bigram, 세 개일 때는 트라이그램(trigram)이라고 하는데요. 이번 포스팅에서는 어린이 자외선 차단제 댓글들을 이용하여 N-Gram 분석 방법과 결과를 각각 정리하여 공유하겠습니다. 물론 분석에 이용한 댓글들과 R 한글 텍스트 마이닝 코드는 포스팅 하단에 업로드해 두었습니다. 관심 있는 분들은 각각 내려받은 후, 순서대로 따라 해 보시기 바랍니다.
1. N-Gram 분석을 위한 R 패키지 로드
패키지 중 tidytext 패키지가 추가로 필요합니다.
install.packages("tidytext")
library(tidytext)
2. 2-Gram 생성 및 확인
먼저 unnest_tokens() 함수의 token = "ngrams", n=2 옵션을 통해 2-Gram(bi-Gram)을 생성합니다.
bigram_reviews <- naverq_reviews %>%
unnest_tokens(input = reviews, output = bigram,token = "ngrams", n = 2) # 2-gram 생성
3. 불용어 제거
separate() 함수를 이용하여 bigram을 단어별로 분리한 뒤, 불용어를 제거하고 unite()로 다시 bigram을 만듭니다.
stopwords <- c("글로우픽") # 필요시 불용어 추가
bigram_filtered <- bigram_reviews %>% separate(bigram, into = c("word1", "word2"), sep = " ") %>%
filter(!word1 %in% stopwords, !word2 %in% stopwords) %>% unite(bigram, word1, word2, sep = " ")
4. 2-Gram 빈도수 계산 및 상위 2--Gram 확인
count()를 통해 각 bi-Gram의 빈도수를 계산하고, 빈도 수가 1 이하인 경우 필터링한 후, 상위 20개 bi-Gram을 출력합니다.
bigram_counts <- bigram_filtered %>% count(bigram, sort = TRUE) %>% filter(n > 1)
# 빈도수 1 이하 제거 (필요에 따라 조정 가능)
print(head(bigram_counts, 20))
5. 시각화: 막대그래프 생성
상위 20개의 bi-Gram을 막대그래프로 시각화하였고, 이전 포스팅에서 출력했던 uni-Gram 결과와 비교해 보았습니다.
top_bigrams <- bigram_counts %>% head(10)
ggplot(top_bigrams, aes(x = reorder(bigram, n), y = n)) +
geom_col() + coord_flip() + labs(title = "2-gram 빈도 분석", x = "2-gram", y = "빈도") + theme_minimal()
6. 2-Gram 워드 클라우드 생성
bi-Gram 단어를 이용하여 워드클라우드를 생성하는 R코드와 각 옵션들의 의미는 각각 아래와 같습니다. 또한 앞서 uni-Gram 기반의 워드클라우드 생성 결과도 함께 제시하여 생성 결과의 차이를 비교해 보았습니다.
set.seed(1234) # 재현성을 위한 시드 설정
wordcloud(
words = bigram_counts$bigram, # 2-gram 단어
freq = bigram_counts$n, # 빈도수
scale = c(5, 0.5), # 글자 크기 (최대, 최소)
max.words = 100, # 최대 표시 단어 수
random.order = FALSE, # 빈도수 순으로 정렬
rot.per = 0.15, # 회전 비율
colors = brewer.pal(8, "Dark2") # 색상 팔레트
)
7. 어린이 자외선 차단제 댓글 및 R 코드 다운로드
이번 포스팅에서는 이전 포스팅에 계속 이어서 어린이 자외선 차단제 댓글들을 이용하여 N-Gram 분석 방법과 결과를 각각 정리하여 공유하였습니다. 이번 포스팅에서 활용한 댓글을 모은 엑셀 파일과 R 코드는 아래와 같습니다. 필요한 분들은 각각 내려받은 후, 테스트해 보시기 바랍니다.
'정보' 카테고리의 다른 글
Recraft AI 사용법 │이미지 생성과 편집 기능 무료 사용법 (19) | 2024.11.18 |
---|---|
R을 이용한 논문 작성법│국가 간 무역 패턴을 설명하는 중력모형 (18) | 2024.11.17 |
무료 나눔│2025 캘린더 탁상용 달력 PPT Tool Kit │아이보스 마케팅 캘린더│설 연휴 기간은? (1) | 2024.11.15 |
SWOT 과 SWOC │PPT 무료 다운로드 │경영학 강의 자료 (19) | 2024.11.14 |
서치GPT 이용 절차와 잘 사용하는 방법 추천 │예시 사례 Best 10 (17) | 2024.11.13 |