그래프 머신러닝으로 텍스트 데이터를 재해석하다
텍스트 분류는 자연어 처리(NLP)에서 중요하고 고전적인 문제 중 하나입니다. 문서 분류, 뉴스 필터링, 스팸 탐지, 감정 분석, 고객 리뷰 분석 등 다양한 실무 응용에 활용되는 핵심 기술이기도 합니다.
특히, 딥러닝이 널리 도입된 이후로는 합성곱 신경망(CNN)을 기반으로 한 텍스트 분류 모델이 주류로 자리잡아 왔습니다.
그러나 CNN 기반 모델은 국소 정보에만 집중하거나 문서 전체의 문맥을 반영하지 못하기도 하고 짧은 문장에 취약하며 사전 학습된 임베딩 품질에 과도하게 의존한다는 한계에 도달했습니다.
이러한 한계를 극복하기 위해 그래프 기반 모델을 이용한 텍스트 분류 연구 사례[1]를 소개합니다.
그래프 머신러닝 모델을 이용하면 강력한 텍스트 분류가 가능합니다
배경
기존 텍스트 분류 모델의 한계
기존의 CNN, RNN, BERT 기반의 텍스트 분류 모델은 순차적 단어 패턴과 국소 문맥(local context)에 주로 의존하며 말뭉치 전체에서의 전역 단어 관계(global co-occurence)는 활용하지 못했습니다.
이로 인해 특히 긴 문서나 복잡한 주제를 분류할 때 정보 손실이 발생한다는 한계가 존재했습니다.
주요 아이디어
문서와 단어를 하나로 연결하는 그래프 기반 접근
여기에서는 말뭉치 전체를 하나의 이질적인 텍스트 그래프(단어 노드 + 문서 노드)로 구성하고, 이 위에 GCN(Graph Convolutional Network)을 적용해 문서와 단어 임베딩을 동시에 학습합니다. 즉, 텍스트 분류 문제를 노드 분류 문제로 변환함으로써, 전체 문서 구조를 반영한 새로운 방식의 분류 시스템을 제안합니다.
<이질적인 텍스트 네트워크 예시>

이질적인 텍스트 그래프(heterogeneous text graph)란, 서로 다은 종류의 노드가 함께 있는 그래프라는 의미입니다. 이 논문에서 사용하는 그래프는 다음 두 가지 종류의 노드를 포함합니다.
단어 노드: 말뭉치에 등장하는 고유 단어마다 하나의 노드로 표현
문서 노드: 말뭉치에 포함된 각 문서(예: 뉴스 기사, 논문 초록 등)도 하나의 노드로 표현
솔루션
1단계. 입력 특징 행렬(Feature Matrix) 생성
노드 데이터: 문서 노드 + 단어 노드
외부 사전학습 임베딩(word2vec, Glove 등)을 전혀 사용하지 않고, 노드 구별만 가능하게 만들기 위해서 노드 데이터(문서+단어)를 One-Hot Encoding을 합니다.
<One-Hot Encoding 예시>
이렇게 하면, 학습 과정에서 이웃 노드 정보와 그래프 구조만으로 임베딩을 학습할 수 있는 입력 특징 행렬이 생성 됩니다. 다시 말해 그래프 내 연결과 레이블 정보만으로 의미 있는 표현을 점차 학습할 수 있게 됩니다.
2단계. 말뭉치 네트워크 생성
링크 데이터: 문서-단어 + 단어-단어
문서-단어 간 링크는 말뭉치에서 해당 단어가 어떤 문서에 등장하는지를 기반으로 생성하였고 TF-IDF 값을 가중치로 부여하였습니다.
단어-단어 간 링크는 말뭉치 전체에서 슬라이딩 윈도우 기반 동시 등장 단어쌍을 기반으로 생성하였고 PMI(Pointwise Mutual Information) 값이 0보다 클 경우만 가중치로 부여하였습니다.
<링크 데이터 예시>
이렇게 하면 모델에 입력할 최종적인 네트워크를 생성할 수 있습니다.
3단계. 텍스트 분류 모델 비교
이 연구에서는 CNN, LSTM, fastText 등 기존 모델과 Text GCN 모델을 비교하였으며, 각각의 데이터셋에서 입력 특징 행렬과 말뭉치 네트워크를 생성하여 Text GCN 모델의 입력 데이터로 사용하였습니다.
Text GCN은 다음과 같은 구조로 구성됩니다.
입력 특징 행렬: 문서 및 단어 노드에 대해 One-Hot 벡터로 초기화
인접 행렬: TF-IDF 및 PMI를 기반으로 정의된 가중 엣지 포함
2-layer GCN 모델: 첫 번째 GCN 층에서는 1차 임베딩을 생성하고, 두 번째 층에서는 softmax를 통해 분류를 수행
즉, 이 연구는 텍스트 분류 문제를 그래프 기반으로 재해석함으로써 새로운 접근 방식을 제시하였습니다. 문서와 단어를 하나의 그래프로 구성하고 GCN을 통해 학습함으로써,
기존 딥러닝 모델이 간과하던 전역적인 단어 관계까지 반영한 모델을 사용하여 성능을 비교하였습니다.
결론
그래프 머신러닝으로 텍스트 분류 문제를 해결
이 연구에서는 5가지 벤치마크 데이터셋을 이용하여 비교 실험을 수행했습니다.
20NG(20 Newsgroups): 다중 클래스 뉴스 분류 데이터셋
R8(Reuters): 경제 관련 뉴스
R52(Reuters): 경제 관련 뉴스(세부 뉴스 분류)
Ohsumed: MEDLINE 기반 의학 논문 초록 데이터
MR(Movie Review): 영화 리뷰 문장, 감성 분석에 사용
Text GCN은 기존 모델과는 달리 외부 임베딩 없이도 높은 성능을 달성하며, 특히 적은 양의 학습 데이터에도 높은 성능을 보였습니다. 기존 모델들이 국소 정보에 집중했다면, Text GCN은 전역 문서-단어 구조를 반영함으로써 정확도를 끌어올렸습니다.
특히, Text GCN 모델은 20NG, Ohsumed 데이터셋에서 기존 모델 중 최고 성능을 보였던 모델인 SWEM(85.16%)과 Graph-CNN-C(63.86%)보다 더 높은 정확도(86.34%, 68.36%)를 기록했습니다.
Text GCN은 다양한 벤치마크에서 기존 모델들을 뛰어넘는 성능을 보여주었으며, 특히 데이터가 제한된 환경에서도 높은 성능을 유지하는 점이 주목할 만했습니다.
그래프 머신러닝의 가능성을 텍스트 분석 분야에 성공적으로 접목한 대표 사례로, 데이터 분석과 자연어 처리에 그래프 이론을 접목하고자 하는 연구자들에게 강력한 인사이트를 제공할뿐 만 아니라, 문서 간 상호연관성이 중요한 사이버 보안, 뉴스 분석, 정책 문서 분류 등 다양한 분야에 강력한 솔루션이 될 수 있음을 시사합니다.
(주) 사이람
1660-4230 | netminer@cyram.com
References
[1] Liang Yao, Chengsheng Mao, Yuan Luo. (2019). Graph Convolutional Networks for Text Classification. AAAI Technical Track: Natural Language Processing. Vol. 33 No. 01: AAAI-19, IAAI-19, EAAI-20.