brunch

매거진 B Magazine

You can make anything
by writing

C.S.Lewis

4. 텍스트마이닝의 시각화, 토픽모델링 분석과 활용

비플라이소프트 - B's Magazine

PR학 / 빅데이터 분석 전문가가 비플라이소프트의 WIGO-AI를 활용해
우리 사회의 다양한 이슈를 분석한 칼럼 연재를 시작합니다. 독자 여러분의 많은 관심과 성원 바랍니다.
- 저자: 정원준(수원대학교 미디어커뮤니케이션학과 부교수) 


이번 칼럼에서는 지난 칼럼(click)에서 언급하였던 의미망 분석(Semantic Network Analysis, SNA) 개념의 연장선으로, SNA 종류 중 하나이자 최근 많이 활용되고 있는 토픽모델링(Topic Modeling) 분석, 그중에서도 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)기법에 대해 알아보자.


* 주어진 문서에 대하여 각 문서에 어떤 주제들이 존재하는지를 서술하는 확률적 토픽 모델 기법 중 하나. 미리 알고 있는 주제별 단어 수 분포를 바탕으로, 주어진 문서에서 발견된 단어 수 분포를 분석함으로써 해당 문서가 어떤 주제들을 함께 다루고 있는지를 예측할 수 있다.


                                              > 비플라이소프트 뉴스레터 구독하기 <


SNA는 주요 단어 간 연결성 혹은 네트워크 구조를 분석해 언론기사와 같은 텍스트 군집 내 의미적 프레임을 파악하기에 용이하다. 하지만 몇몇 한계점도 존재한다. 그중 하나는 많은 단어 간의 복잡한 네트워크가 생성되는 경우, 단어 간 또는 단어 군집 간 관계를 직관으로 규명하거나 시각적으로 단순화하여 표현하기에 다소 무리가 있을 수 있다는 점이다.


가령, 지난 칼럼의 SNA 분석 예시에서는 모집한 언론 기사가 총합이 소량인 일주일 단위의 기사 모음을 SNA로 분석하였기 때문에 상대적으로 SNA 결과를 시각적으로 표현하기에 무리가 없었다고 할 수 있다. 하지만 만약 일 년 이상의 기사 모음 혹은 몇 만개의 개별적 텍스트 문서를 하나의 데이터셋(Data Set)에 포함하여 한꺼번에 분석할 경우라고 한다면, SNA의 결과를 시각적으로 간단하게 표현하기 쉽지 않다. 해석 역시 복잡해질 가능성이 높다.


그래서 최근에는 SNA를 더욱 정교화하면서도 직관적으로 표현하는 방법으로 다양한 토픽 모델링 기법을 활용하고 있다.



분석 결과를 직관적이고 정교하게 보여주는 토픽 모델링 기법


토픽 모델링은 텍스트 데이터에서 사용된 주제어들의 동시 사용 패턴을 바탕으로, 해당 텍스트들을 대표하는 특정 주제나 이슈, 주제 그룹들을 자동으로 추출하는 분석 기법이다. 이때 토픽은 함께 등장할 확률이 높고 유사한 의미를 가지는 단어들의 집합이라고 할 수 있다. 이 방식은 텍스트 데이터 내 단어들의 빈도를 통계적으로 분석하여 전체 데이터를 관통하는 잠재적 주제, 즉 토픽들을 자동으로 추출하는 분류를 하기 때문에 쟁점, 즉 프레임 분석 시 유용하다.


특히, LDA 기법(잠재 디리클레 할당)은 다른 토픽 모델링 기법에 비해 결과 해석이 용이하고, 과적합(Overfitting) 문제를 해결하기 때문에 방대한 비정형 데이터로부터 여러 가지 토픽(프레임)들을 도출하는 데 유리하다.


LDA를 활용하면 토픽을 잘 구분할 수 있는 이유로는 첫째, 각 문서에서 단어를 가능한 적은 수의 토픽에 할당하고자 하고, 둘째, 각 토픽에 대해서는 가능한 최소의 단어에 대해 높은 확률을 부여하고자 하는데, 이 두 가지를 조화시키고자 하기 때문이다.


이들 두 가지 조건은 서로 상반된다. 예를 들어 문서에 출현한 모든 단어를 가능한 한 적은 수의 토픽에 할당하고자 하면, 토픽에 할당되는 단어의 수가 늘어나기 때문에 토픽에 대해 가능한 최소의 단어에 높은 확률을 부여할 수가 없게 된다. 마찬가지로, 가능한 최소의 단어에 대해 높은 확률을 부여하는 방식으로 단어를 토픽에 할당하면 모든 단어를 토픽에 할당하기 위해서는 토픽 수가 늘어나야 한다.


따라서 이 두 가지가 조화를 이룬다는 것은 문서에 나타난 모든 단어를 최소한의 토픽에 할당하면서도 할당된 단어들 중 가능한 적은 수의 단어들이 해당 토픽에 속할 확률이 높아져야 한다는 의미이므로, 분류가 정밀하게 이루어진다 할 수 있다.


다만, LDA의 단점으로는 처리해야 하는 문서가 많은 상태에서 토픽의 수를 제한한 경우와 하나의 문서에 다양한 주제의 내용을 혼용하여 사용하는 경우에, 몇 몇 개의 토픽이 서로 겹친다는 점을 꼽을 수 있다. 토픽 수를 정밀하게 지정해야 하는 과정이 필요한 이유다.



코로나 바이러스를 통해 본 LDA 기법의 이해와 활용


이제는 분석 실례를 통해 LDA 기법의 이해와 활용에 대해 살펴보자.


종전 칼럼과 동일하게, '코로나 바이러스' 이슈가 국내에 소개 된 시점(2019년 12월 말)부터 최근 시점(2020년 3월 21일)까지 일 주일 단위로, 총 12번의 기간 동안 비플라이소프트의 실시간 미디어 모니터링 플랫폼인 위고몬에 탑재되어 있는 자체 크롤러를 이용하여 네이버 뉴스에서 입력 키워드(코로나바이러스, 우한폐렴, COVID19)와 수집 기간을 기준으로 검색된 언론 기사를 모집하였다.


▲ 비플라이소프트 미디어 모니터링 & 분석 서비스인 위고몬의 토픽 모델링 도출 화면



주간 단위로 모집된 언론 기사에 대한 데이터를 LDA기법을 활용, 시계열적으로 분석하여 함의를 도출하고자 하였다. 다만, 본고에서는 공간의 제약이 있어 총 12주기 동안의 LDA 분석 결과를 다 언급하지 않고, 2주기 그리고 11주기의 총 2개의 기간에 대하여 다루고자 한다.



먼저 지금의 코로나바이러스(COVID19)라고 명명이 되기 전 올해 1월 초(2020-01-05 ~ 2020-01-11: 2주기, 총 기사건 수 = 962)의 언론기사에 대한 LDA 분석 결과는 아래 <그림 1~3>과 같다. 여기에서 직관적으로 보듯이, 2주기 동안 3가지 프레임(토픽)이 존재했음을 알 수 있었다.


▲ <그림 1> 2주기 내 토픽 분류-토픽 1 선택

<그림 1>은 2주기 내 언론기사 내 ‘토픽 1’로 명명되어 분류된 경우로, 우선 우측 상단에 토픽 1이 2주기 기간 동안 차지하는 비중의 정도(Top-30 … 51% of tokens)를 우선 보여준다. 한편, 오른쪽의 단어 리스트는 해당 토픽과 가장 연관성이 높은 순서로 단어들(폐렴, 중국, 환자, 우한 순)을 배치하고, 특정한 단어의 문서 내 나타난 전체 빈도 중에 해당 토픽에 속하는 비율을 보여주고 있다.


왼쪽의 좌표 평면을 보면 원의 크기는 해당 토픽이 전체 글에서 차지하는 비중이다. 본 사례에서는 토픽 1(빨간색 원)의 크기가 토픽 2(파란색 원)와 토픽 3(파란색 원)보다 크다고 할 수 있어, 토픽 1이 상대적으로 더 높은 비중을 보인다고 할 수 있다.


한편, 토픽 각 원의 위치 토픽 간 확률 분포의 유사성에 따라 다차원 척도로 정한 것이다. 다차원 척도를 통해 유사한 토픽을 근처에 배치하기 위한 확률 분포의 유사성은 젠슨-섀넌 발산(Jensen-Shannon Divergence) 지수를 계산한 것이다. 해당 지표는 기본적으로 각 토픽에 있는 단어들의 확률 분포에 따른 위치를 보여주며, 가령 토픽 간 확률 분포가 비슷하면(그림 1에서는 토픽 1과 토픽 2의 경우) 해당 토픽들이 서로 유사하다는 것을 의미하고, 이에 따라 서로 근접하게 위치한다.


▲ <그림 2> 2주기 내 토픽 분류-토픽 2 선택

<그림 2>의 예시에서 ‘토픽 2(빨간색 원)’는 51%에 해당하는 ‘토픽 1’에 비하여 낮은 비중(38%)을 차지하며, 토픽 2 내 주요, 그리고 연관성이 높은 단어(바이러스, 페렴, 코로나, 중국)를 순위적으로 보여준다. 또 앞서 언급한 토픽 1과 토픽 2의 유사성, 즉 토픽 3에 비하여 토픽 1과 토픽 2가 서로 근접하고 있음을 직관적으로 보여준다.


▲ <그림 3> 2주기 내 토픽 분류-토픽 3 선택

<그림 3>의 예시에서는 ‘토픽 3(비중 11%, 빨간색 원)’ 내 주요 그리고 연관성이 높은 단어(중국, 미국, 경제 등)를 순위적으로 보여주고 있으며, 앞서 언급한 토픽 1과 토픽 2에 비하여 토픽 3은 다소 다른 시각 / 프레임에 의한 텍스트 내용이 존재한다. 또, 그들과의 거리 역시 서로 근접하고 있지 않음을 보여준다.



3월 초(2020-03-08 ~ 2020-03-14: 11주기, 총 기사건 수 = 21,794)의 언론기사에 대한 LDA 분석 결과는 아래 <그림 4~5>와 같다. 11주기 동안의 LDA 분석 결과는 앞선 2주기 사례와 다소 차이가 있게 5가지 프레임(토픽)이 도출되었다.


▲ <그림 4> 11주기 내 토픽 분류 -토픽 1 선택

<그림 4>의 예시에서는 ‘토픽 1((빨간색 원)’ 내 주요 그리고 연관성이 높은 단어(코로나, 속보확인, 확진, 센터 등) 순위를 보여주며, 토픽 2와 상이성을 표시해 토픽 3, 4와 5가 서로 유사한 군집으로 분류되는 점을 보여준다. 토픽 1, 2 그리고 3, 4와 5의 군집 간 확률 분포가 다르게 나타나고 그 거리도 4분면(Grid) 상 3개면에 각각 달리 위치하며, 서로 근접하지 않는 것으로 나타났다. 이를 통해 도출된 토픽(토픽 1, 2 그리고 3)들이 서로 유사하지 않고 독립적인 토픽(프레임)으로 존재함을 알 수 있다.


▲ <그림 5> 11주기 내 토픽 분류-토픽 4 선택

한편, <그림 5>의 예시에서는 11주기 내 ‘토픽 4(빨간색 원)’를 선택하여 시각화한 것으로, 토픽 4 내 연관성이 높은 단어(대통령, 국민, 회의, 정부, 대책 등)를 보여주고 있을 뿐만 아니라, 토픽 1과 2와의 차이점 그리고 토픽 3, 4와 5가 서로 유사한 군집으로 분류되는 점을 보여준다. 특히, 4분면(Grid) 상 토픽 3, 4와 5는 동일한 분면에 위치하고 있기에 토픽 1과 2에 비하여 상대적으로 서로 유사하며, 토픽 4와 5의 경우는 두 개의 원 사이에 서로 겹치는 부분이 존재하여 두 토픽 사이에 혼합적인 프레임이 존재함을 알 수 있다.



물론, 언급한 예시에서 좀 더 정밀하게 검토하거나 토픽 수를 변화시키며 군집의 모양을 검토할 여지 또한 존재한다. 그럼에도 불구하고, 여기서 중요한 것은 토픽들이 포함하고 있는 단어들의 확률 분포를 토픽 사이에 서로 비교해 토픽 간 군집을 통해 토픽의 수를 줄이는 판단을 할 수 있다는 점이다.


이에, 이번 칼럼에서 언급한 LDA기법을 유용하게 활용하고 시계열적인 변화와 차이를 정교하게 분석하기 위해서는 빅데이터 분석 툴에 전적으로 의지하기 보다는, 토픽의 수를 어느 정도로 조정할지에 대한 감각과 경험을 일선 커뮤니케이션 실무자들이 배양하여 다양하게 응용하여 활용 할 필요가 있다.



저작권자 Bflysoft ⓒ 무단전재 및 재배포 금지




[위고몬 X 전문가 칼럼] 데이터마이닝과 빅데이터 분석 시리즈 보기 


                                              > 비플라이소프트 뉴스레터 구독하기 <

매거진의 이전글 인공지능(AI)의 기사 작성 알고리즘, 로봇 저널리즘

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari