59doit
토픽 모델링 #4 토픽 이름 짓기 본문
반응형
토픽 이름 짓기
(1) 토픽별 주요 문서 살펴보고 토픽 이름 짓기
#1 원문을 읽기 편하게 전처리하기, gamma가 높은 순으로 정렬하기
comment_topic <- news_comment_topic %>% mutate(reply = str_squish(replace_html(reply))) %>% arrange(- gamma) comment_topic %>% select(gamma, reply) # # A tibble: 5,927 x 2 # gamma reply # <dbl> <chr> # 1 0.317 도서관서 여자화장실서 나오는 남자사서보고 카메라있는지없는지 확인~ # 2 0.302 도서관서 여자화장실서 나오는 남자사서보고 카메라있는지없는지 확인~ # 3 0.258 자유매국당+조중동+떡검개검+아베+개독+자유당 틀딱 댓글러들 ====>~ # 4 0.25 봉준호 송강호가 블랙리스트라니 자한당 저것들은 .. 김대중 대통령 ~ # 5 0.235 정치판은 기생충을 정치적으로 이용하지마라 특히 서울대 문서위조학~ # 6 0.228 기생충 한국에서 개봉할때 좌파 감독의 엿같은 영화라고 평점테러하던~ # 7 0.225 봉준호 감독과 송강호 배우는 이명박그네 정권 시절 문화계 블랙리스~ # 8 0.221 박근혜 새누리 시절에 블랙리스트였던 감독과 배우들이 이런 대단한 ~ # 9 0.219 나는 보수우파 진형이지만 아카데미는 아카데미로 보자. 좌파나 우파~ # 10 0.219 이명박과 박근혜 정부시절 봉준호는 좌파라고 블랙리스트에 오르는 등~ # # ... with 5,917 more rows |
html 특수 문자 제거
gamma가 높은 주요 문서가 먼저 출력되도록 정렬
#2 주요 단어가 사용된 문서 살펴보기
#2-1 토픽 1 내용 살펴보기
comment_topic %>% filter(topic == 1 & str_detect(reply, "작품")) %>% head(50) %>% pull(reply) comment_topic %>% filter(topic == 1 & str_detect(reply, "진심")) %>% head(50) %>% pull(reply) comment_topic %>% filter(topic == 1 & str_detect(reply, "정치")) %>% head(5) %>% pull(reply) |
#3 토픽 이름 목록 만들기
name_topic <- tibble(topic = 1:8, name = c("1. 작품상 수상 축하, 정치적 댓글 비판", "2. 수상 축하, 시상식 감상", "3. 조국 가족, 정치적 해석", "4. 새 역사 쓴 세계적인 영화", "5. 자랑스럽고 감사한 마음", "6. 놀라운 4관왕 수상", "7. 문화계 블랙리스트, 보수 정당 비판", "8. 한국의 세계적 위상")) |
댓글 내용을 토대로 토픽 번호와 이름으로 구성된 '토픽 이름 목록' 만들기
#4 토픽 이름과 주요 단어 시각화하기
#4-1 토픽 이름 결합하기
top_term_topic_name <- top_term_topic %>% left_join(name_topic, name_topic, by = "topic") top_term_topic_name ![]() |
top_term_topic name_topic # > top_term_topic # # A tibble: 83 x 3 # # Groups: topic [8] # topic term beta # <int> <chr> <dbl> # 1 1 역사 0.0356 # 2 1 감독상 0.0331 # 3 1 스카 0.0287 # 4 1 미국 0.0157 # 5 1 인정 0.0157 # 6 1 각본상 0.0120 # 7 1 우리나라 0.0117 # 8 1 감격 0.0109 # 9 1 영화제 0.0102 # 10 1 정도 0.00839 # # ... with 73 more rows # # i Use `print(n = ...)` to see more rows # > name_topic # # A tibble: 8 x 2 # topic name # <int> <chr> # 1 1 1. 작품상 수상 축하, 정치적 댓글 비판 # 2 2 2. 수상 축하, 시상식 감상 # 3 3 3. 조국 가족, 정치적 해석 # 4 4 4. 새 역사 쓴 세계적인 영화 # 5 5 5. 자랑스럽고 감사한 마음 # 6 6 6. 놀라운 4관왕 수상 # 7 7 7. 문화계 블랙리스트, 보수 정당 비판 # 8 8 8. 한국의 세계적 위상 |
#4-2 막대 그래프 만들기
ggplot(top_term_topic_name, aes(x = reorder_within(term, beta, name), y = beta, fill = factor(topic))) + geom_col(show.legend = F) + facet_wrap(~ name, scales = "free", ncol = 2) + coord_flip() + scale_x_reordered() + labs(title = "영화 기생충 아카데미상 수상 기사 댓글 토픽", subtitle = "토픽별 주요 단어 Top 10", x = NULL, y = NULL) + theme_minimal() + theme(text = element_text(family = "nanumgothic"), title = element_text(size = 12), axis.text.x = element_blank(), axis.ticks.x = element_blank()) ![]() |
반응형
'텍스트마이닝' 카테고리의 다른 글
의미망 분석 #1 동시 출현 단어 분석 (0) | 2022.12.25 |
---|---|
토픽 모델링 #5 최적의 토픽 수 (0) | 2022.12.21 |
토픽 모델링 #3 토픽분류 (0) | 2022.12.20 |
토픽 모델링 #2 주요단어 (0) | 2022.12.20 |
토픽 모델링 #1 LDA (0) | 2022.12.20 |
Comments