토픽 모델링으로 텍스트가 아닌 네트워크를 읽는다?
토픽 모델링은 오랫동안 텍스트 분석의 대표적인 도구로 자리해 왔습니다.
문서와 단어 사이의 등장 정보를 바탕으로 잠재적인 주제를 찾아내는 이 방법은, 데이터 과학과 자연어 처리에서 가장 널리 사용되는 기법 중 하나로 자리 잡았습니다.
하지만 토픽 모델링이 텍스트에만 머물러야 할까요? 그 경계를 넘어, 네트워크 데이터에도 적용할 수는 없을까요?
그리고, 소셜 네트워크 분석에서 ‘분류’를 목적으로 활용되는 커뮤니티 분석과는 과연 어떤 차이를 보여줄까요?
이번 글에서는 문서–단어(Bag-of-Words) 데이터 대신 이원 모드(2모드) 네트워크 데이터를 토픽 모델링에 적용한 결과를 소개하고, 더 나아가 유사한 노드를 분류하는 데 널리 사용되는 커뮤니티 분석과 어떤 다른 시각을 제시하는지 함께 살펴보고자 합니다.
분석 데이터
분석 데이터는 Davis, Gardner, Gardner(1941)가 「Deep South」 연구에서 활용한 데이터입니다.
이 데이터는 18명의 여성이 약 9개월 동안 14개의 다양한 이벤트(사교 클럽 모임, 교회 행사, 소규모 파티 등)에 참여한 기록을 기반으로 구성되어 있습니다. 연구자들은 여성 집단과 이벤트 집단을 각각 노드로 두고, 이들의 참여 관계를 연결한 2모드 네트워크로 모델링하여 사회적 구조와 관계망의 특징을 분석했습니다.
아래는 NetMiner에서 시각화 한 결과입니다.
하늘색은 여성, 회색은 이벤트이며, 둘 사이의 연결 선은 참여 여부를 의미합니다.
LDA로 이벤트 참여 패턴이 유사한 그룹 포착하기
1. LDA 분석
NetMiner의 토픽 모델링(LDA) 기능은 비정형 텍스트 분석뿐 아니라 2모드 네트워크에도 적용할 수 있습니다.
NetMiner에서 여성-이벤트 참여 2모드 네트워크를 대상으로 토픽 수(k)를 2로 지정하여 두 개의 집단으로 분류하도록 설정했습니다.
LDA는 여성들이 어떤 이벤트들에 참여했는지의 패턴을 바탕으로 잠재적인 주제(Topic)를 찾아내고, 그 결과 유사한 이벤트 참여 패턴을 가진 여성들을 하나의 그룹으로 묶어냅니다.
<LDA 분석 결과: 주요 리포트>
Topic Info: 각 그룹별 대표 인물 5명을 제시
Documentation Classification Statistics: 각 그룹별 연관 이벤트 수
* 비정형 텍스트를 분석하는 경우에는 Topic Info는 주제별 핵심 단어, Document Classification Statistics는 주제별 분류된 문서 수를 의미합니다.
분석 결과, 토픽 모델링을 통해 18명의 여성을 두 개의 집단으로 나누었을 때 각 집단을 대표하는 주요 여성들은 다음과 같이 나타났습니다.
1번 집단: Nora, Katherine, Sylvia, Helen, Myra
2번 집단: Theresa, Evelyn, Brenda, Laura, Frances
주요 여성들은 비슷한 유형의 이벤트에 반복적으로 참여했으며, 그 결과 해당 집단(토픽)을 가장 뚜렷하게 대표하는 인물로 분류된 것으로 이해할 수 있습니다.
반면, 여러 토픽에 고르게 분포한 여성들은 양 집단의 이벤트에 동시에 참여해 특정 집단에 명확히 속하지 않는 경향을 보인다고 이해할 수 있습니다.
각 집단별 주요 여성들을 아까의 2모드 네트워크 시각화 영역에 표시해 보았습니다.
어떠신가요?
그래프 위에서 집단별 대표 인물들을 표시해 보니, 토픽 모델링이 찾아낸 관계의 결이 훨씬 더 직관적으로 다가옵니다.
그리고, LDA의 또 다른 분석 결과인 [T] Word Distribution Over Topic을 확인해 보겠습니다.
<LDA 분석 결과: [T] Word Distribution Over Topic>
NetMiner의 [T] Word Distribution Over Topic 결과는 원래 주제별 단어 분포를 보여주는 표입니다.
여기서는 입력 데이터가 여성–이벤트 2모드 네트워크이므로, “단어” 대신 “여성(노드)”가 표시됩니다.
즉, 각 여성이 두 집단(주제) 중 어디에 속할 확률이 높은지를 보여주는 분포로, 복잡한 이벤트 참여 패턴을 압축해 저차원에서 표현한 인물별 프로파일링 결과로 볼 수 있습니다.
2. 프로파일이 유사한 인물 클러스터링(군집화): k-Means
이번에는 조금 더 정확하게, 각 인물의 주제 분포를 활용해 k-means 클러스터링을 적용함으로써 참여 패턴이 비슷한 여성들끼리 실제로 어떤 그룹을 이루는지 정량적으로 확인해 보겠습니다.
NetMiner의 [T] Word Distribution Over Topic 결과를 NetMiner에 분석 데이터로 저장합니다. (우하단의 Add To Dataset > Node Attribute)
그러면, 여성(Person) 데이터에 분석 결과가 추가됩니다.
이렇게 하나의 분석 결과를 데이터에 추가하면, 또 다른 분석에서 입력 데이터로 사용할 수 있습니다.
다음은 k-Means 분석 결과입니다.
18명의 여성을 이벤트 참여 패턴에 따라 6개 군집으로 나눴습니다.
그리고, 군집화 결과를 다시 데이터에 추가한 후, 여성-이벤트 2모드 네트워크에 군집별로 다른 색상으로 나타날 수 있도록 표시해보았습니다.
결과적으로, 연결된 이벤트가 매우 비슷한 사람들끼리 같은 군집으로 분류된 것을 확인할 수 있습니다.
(하늘색 인물들은 이벤트 참여 패턴이 명확하지 않은 경우로 일종의 미분류)
이벤트 참여가 유사한 커뮤니티 파악하기
번외로, 이번에는 여성들의 이벤트 참여 유사성을 바탕으로 여성 간 네트워크를 만들고, 이를 커뮤니티(응집 그룹)로 나누어 보았습니다.
LDA가 이벤트 패턴을 기반으로 군집화한 결과와는 어떤 차이가 있을까요?
☞ 군집화와 응집 그룹 분석의 차이가 무엇일까?
군집화는 개별 노드의 특성(예.사람의 나이, 거주지 등)을 기준으로 비슷한 패턴을 묶는 방법이고, 응집 그룹 분석은 네트워크 구조 속에서 서로 밀접하게 연결된 집단을 찾는 방법입니다.
쉽게 말해, 하나는 속성 기반 분류, 다른 하나는 관계 기반 분류라고 볼 수 있습니다.
먼저, 모드 투영(Mode Projection)을 통해 여성–이벤트 2모드 네트워크를 여성–여성 1모드 네트워크로 변환했습니다. 이때 선의 굵기는 두 인물이 얼마나 비슷한 이벤트에 함께 참여했는지를 보여줍니다.
Community(Louvain) 알고리즘을 적용하여 서로 밀접하게 연결된 그룹을 찾아보았고, 그 결과 두 개의 응집 그룹이 나타났습니다.
아래 그림은 이 응집 그룹을 네트워크 시각화에 색상으로 표현한 결과입니다.
결론
지금까지, 전통적으로 텍스트 분석에 활용되던 토픽 모델링(LDA)을 2모드 네트워크 데이터에 적용해 보고, 그 결과를 k-Means 군집화와 커뮤니티 분석과 비교해 보았습니다.
토픽 모델링은 개인별 이벤트 참여 패턴을 저차원으로 압축해, 유사한 참여 경향을 가진 사람들을 효과적으로 프로파일링할 수 있었습니다.
k-means 군집화는 이 토픽 분포를 기반으로 정량적으로 집단을 나누어, 참여 패턴의 차이를 명확하게 보여주었습니다.
커뮤니티 분석은 네트워크 구조 자체에 주목해, 서로 밀접하게 연결된 응집 그룹을 찾아냄으로써 또 다른 시각을 제공했습니다.
때로는 익숙한 방법을 벗어난 시도가 새로운 통찰을 열어줍니다.
현실의 다양한 2모드 네트워크 데이터를 새로운 분석 기법에 적용해 본다면, 우리가 당연하게 보던 데이터 속에서도 전혀 다른 이야기를 발견할 수 있지 않을까요?
NetMiner를 활용한 2모드(이원) 네트워크 분석 과정 보기 ☞




