본문 바로가기
연구노트/PAPER

LIGRAM 논문 분석

by 스꼬맹이브로 2026. 6. 1.
728x90
반응형
01 · One-liner

한 줄 핵심 요약

한국어 단문의 "생략된 문맥"을 형태소·품사·개체명 그래프로 복원하고, 토픽 분포 기반 대조학습으로 의미 경계를 강화하여 레이블이 극소한 환경에서도 정확한 단문 분류를 수행하는 모델이다.
02 · Problem

왜 한국어 단문 분류는 어려운가

영어는 어순이 고정되어 있고 조사가 없어서 짧은 문장도 의미가 명확하다. 그러나 한국어는 교착어(agglutinative language)라는 특성상, 조사·어미가 생략되면 의미가 폭발적으로 불확실해진다.

"병원 갔다" ← 조사·어미 생략 → 치료받으러 갔다 (환자) → 문병하러 갔다 (방문자) → 검진받으러 갔다 (건강검진) → 일하러 갔다 (의료진) "배터리 갈다" ← 명사 + 동사만 남음 → 배터리를 교체하라 (명령) → 배터리를 교체했다 (서술)

여기에 훈련 데이터가 클래스당 단 20개뿐인 레이블 희소 환경까지 더해지면 기존 모델은 어떻게 실패할까?

방법실패 원인
TF-IDF + SVM"병원"이라는 단어 자체만 봄. 문맥·구조 전혀 없음한계
BERT (공백 토크나이징)"먹었는데" ≠ "먹었다" — 어근이 같아도 완전히 다른 토큰으로 처리한계
TextGCN영어 단어 단위 그래프 설계 → "먹었는데"와 "먹었다"의 공통 형태소 연결 불가한계
기존 대조학습 (SimCSE)"배터리 금방 닳음"과 "충전 느려요"를 negative로 밀어냄 — 실제로는 같은 클래스한계
LIGRAM형태소 분석 + 계층 그래프 + 토픽 기반 대조학습으로 위 문제를 모두 해결해결
03 · Core Idea

저자의 두 가지 핵심 직관

직관 1 — 빠진 문맥은 언어 구조에서 복원할 수 있다

단문 하나를 형태소·품사·개체명 세 층위로 분해하면, 생략된 조사나 어미가 만들어낸 의미 공백을 구조적으로 채울 수 있다.

"병원 갔다" ← 원문 (조사 생략) ▶ 형태소 분석 (Kiwi) 병원 / 가- / -았- / -다 ▶ 품사 분석 [NNG 명사] / [VV 동사어근] / [EP 과거어미] / [EF 종결어미] ▶ 개체명 분석 병원 → [ORG: 기관명] → 각 층위를 별도 그래프로 인코딩 후 계층적 통합 → 어휘 의미 + 문법 구조 + 의미 앵커를 동시에 포착

직관 2 — 의미적으로 유사한 문서는 토픽 분포로 묶어야 한다

── 기존 instance-level 대조학습 ── 문서 A: "배터리 금방 닳음" 문서 B: "충전 느려요 별로" ← 같은 클래스 (쇼핑 리뷰) 기존 방식: A ↔ B = negative (표면이 다르므로) → A와 B가 임베딩 공간에서 멀어짐 → 분류 성능 저하 ── SemCon ── A의 pseudo-topic: 쇼핑(0.8) IT(0.1) 기타(0.1) B의 pseudo-topic: 쇼핑(0.7) IT(0.2) 기타(0.1) SemCon: A ↔ B = positive (같은 pseudo-topic) → A와 B가 임베딩 공간에서 당겨짐 → 진짜 클래스 경계 학습
04 · Mechanism

핵심 메커니즘

세 가지 서브그래프

🔤 형태소 그래프 Gw

형태소를 노드로, PMI 기반 공동 출현을 엣지로 구성. KLUE/RoBERTa(d=768)로 각 형태소를 초기화.

엣지: PMI 공동출현

🏷️ 품사 그래프 Gp

품사 태그를 노드로, 동일 문서 내 품사 쌍의 PMI를 엣지로 구성. one-hot 초기화로 품사 고유성 보존.

엣지: PMI 품사 공동출현

🏢 개체명 그래프 Ge

KPFBERT-NER로 추출된 개체명을 노드로, 벡터 간 코사인 유사도를 엣지로 구성.

엣지: 코사인 유사도
💡
왜 개체명 그래프만 코사인 유사도를 쓰는가?
"이병헌"과 "봉준호"는 같은 문서에 잘 등장하지 않아 PMI가 낮다. 하지만 둘 다 한국 영화인이라 임베딩 공간에서 의미적으로 가깝다. 코사인 유사도를 쓰면 이런 의미적 관계를 포착할 수 있다.

GCN 인코딩 수식

H_π = Ã_π · ReLU(Ã_π X_π W_π¹) W_π²
각 서브그래프에서 이웃 노드의 정보를 집계하여 노드 임베딩을 업데이트하는 2-layer GCN
à = D̃⁻¹/²  D̃⁻¹/²정규화된 인접행렬. 고빈도 노드(예: 조사 "이")의 과도한 영향을 차수로 나눠 억제
 = A_π + Iself-loop 추가. 자기 자신의 정보를 이웃 집계에 포함시켜 특성이 희석되지 않게 함
W¹, W²학습 가능한 가중치. 2층 구조로 2-hop 이웃까지 정보 전파
정규화 없이 A만 쓰면: 조사 "이" → 수천 개 노드와 연결된 허브 노드 → 모든 노드 업데이트에 "이"의 임베딩이 과도하게 전파 → "배터리", "병원" 같은 의미 노드가 "이"로 수렴 D⁻¹/² A D⁻¹/² 정규화 적용 후: → 연결 수(degree)가 많은 노드일수록 영향을 줄임 → 희소하게 등장하는 "배터리" 노드도 공정하게 학습

계층적 풀링 — 노드 임베딩 → 문서 임베딩

x̂_π^i = u(H_πᵀ s_π^i), u(X) = X / ‖X‖₂
TF-IDF를 attention 가중치로 사용하여 문서를 대표하는 형태소에 높은 가중치 부여
s_π^i (w, p)형태소·품사 그래프: TF-IDF 값 사용. 레이블 희소 환경에서 learnable attention보다 안정적
s_e^i개체명 그래프: 0/1 출현 여부. 개체명 등장 자체가 강한 의미 신호이므로 가중치 불필요
문서 i: "배터리 빨리 닳아요 너무 별로" 형태소별 TF-IDF: 배터리: 0.8 ← 이 문서 핵심 단어, 타 문서엔 덜 등장 닳-: 0.7 ← 역시 핵심 별로: 0.3 ← 감성어라 많은 문서에 공통 등장 빨리: 0.2 ← 부사, 범용적 → 문서 임베딩 = 0.8×H(배터리) + 0.7×H(닳-) + ... 최종: xs_i = [형태소 풀링] ‖ [품사 풀링] ‖ [개체명 풀링] = [어휘 의미] ‖ [문법 구조] ‖ [의미 앵커]

SemCon 대조 손실

L_i = −(1/|P_i|) Σ log [ exp(sim(xs_i, xs_p)) / Σ exp(sim(xs_i, xs_a)) ]
anchor 문서와 같은 pseudo-topic을 가진 positive들의 유사도는 높게, negative들과는 낮게 학습
P_ianchor i와 같은 pseudo-topic을 가진 positive 문서 집합
Z_ii를 제외한 전체 문서 집합 (분모 — 대조의 기준)
1/|P_i|positive 수가 많은 문서가 과다 학습되지 않도록 정규화

통합 손실 함수

L = L_ce + λ · L_con (λ = 0.7)
분류 목적(L_ce)과 의미 표현 학습(L_con)을 동시에 최적화
L_ce만 사용40개 labeled 문서에만 최적화 → 12,000개 unlabeled 문서의 표현 공간 무시 → 일반화 실패
L_con만 사용초기 pseudo-topic이 틀린 경우 잘못된 방향으로 임베딩이 당겨짐
L_ce + 0.7 L_con분류 정확도를 유지하면서 의미 공간 구조도 함께 정제 → 최적
05 · Results

실험 결과

4개 한국어 단문 데이터셋에서 모든 베이스라인을 일관되게 능가했다.

KLUE YNAT (7-class)
84.0% ACC
↑ +21.5% F1 vs HyperGAT
Snippets (8-class)
80.5% ACC
↑ +8.4% ACC vs GIFT
Movie Reviews (2-class)
74.5% ACC
↑ 그래프 베이스라인 전체 1위
Shopping (2-class)
81.3% ACC
↑ 그래프 베이스라인 전체 1위
🔬
LLM과의 비교: LIGRAM은 0.56M 파라미터만으로 다중 클래스 분류(YNAT, Snippets)에서 GPT-5.2를 능가했다. 생성 목적으로 학습된 LLM은 미세한 분류 경계 학습에 한계가 있으며, 경량 특화 모델의 경쟁력을 실증한다.

Ablation — 각 컴포넌트의 기여

YNAT F1 기준 morpheme only : 0.6496 ← 단독 그래프 중 유일하게 안정적 pos only : 0.1918 ← 문법 단독으론 충분하지 않음 entity only : 0.0357 ← 개체명 단독은 심각하게 부족 morpheme + pos : 0.6103 morpheme + entity: 0.6616 ← 어휘+의미 조합이 가장 강력 w/o SemCon : 0.6161 ← SemCon 제거 시 급락 LIGRAM (full) : 0.8269 ← SemCon이 +21.1% F1 기여
06 · Takeaways

반드시 가져가야 할 개념과 스킬

01

언어 특화 그래프 설계 감각

노드와 엣지를 무엇으로 정의하느냐는 언어의 특성에서 출발해야 한다. 한국어 교착어 → 형태소 노드 + PMI 엣지, 개체명 → 코사인 유사도 엣지. 각 선택에 언어학적 근거가 있다.

02

PMI 기반 그래프 엣지 구성

PMI(a,b) = log[P(a,b) / (P(a)·P(b))]. 공동 출현이 우연보다 얼마나 더 자주 발생하는지를 측정한다. TextGCN 계열 논문 대부분이 사용하는 핵심 기법이며, 윈도우 크기·임계값 설정이 그래프 품질을 좌우한다.

03

Pseudo-label 기반 대조학습 설계

Gold label이 부족할 때 모델 자체 출력(softmax 분포)을 pseudo-label로 활용하는 self-training적 접근. 초기 품질이 낮은 pseudo-label이 학습에 미치는 노이즈 효과를 ablation으로 분리 분석하는 실험 설계까지 익혀야 한다.

04

TF-IDF를 attention 대용으로 쓰는 판단력

레이블이 극소한 환경에서 learnable attention은 과적합 위험이 크다. 코퍼스 통계 기반 고정 가중치(TF-IDF)가 더 안정적인 경우를 판단하는 것이 실험 설계 역량이다.

05

Multi-objective 손실 함수와 ablation 설계

L = L_ce + λ·L_con 형태의 결합 손실에서 λ 설정과 각 손실의 기여를 ablation으로 분리 검증하는 방법. 이 논문의 Table 3는 각 서브그래프와 SemCon을 체계적으로 분리한 좋은 ablation 설계 예시다.

07 · Research Extension

연구자 관점 확장

🚦 병목 — O(N²) 스케일링

SemCon의 pairwise 계산이 O(N²d)다. 수십만 건으로 확장 시 메모리 폭발. FAISS 기반 Approximate Nearest Neighbor로 negative sampling을 근사하면 해결 가능하다.

🎚️ 고정된 PMI 윈도우·임계값

윈도우=5, δ=2.7은 heuristic 탐색으로 고정됐다. 학습 가능한 edge gating 메커니즘으로 대체하면 도메인 이식성이 높아진다.

🤖 LLM 임베딩으로 PMI 엣지 대체

KoSBERT 코사인 유사도로 PMI를 대체하면 저빈도 형태소 쌍의 엣지 품질이 올라간다. 특히 신조어·줄임말이 많은 SNS 데이터에서 유효하다.

🔬 Pseudo-topic 품질 검증 실험

Gold label pair vs. pseudo-topic pair의 성능 비교를 추가하면 SemCon이 얼마나 gold label에 근사하는지 정량화할 수 있다. 논문의 가장 큰 미검증 부분이다.

🌏 교착어 Cross-lingual 일반화

터키어·일본어 등 다른 교착어에 형태소 분석기만 교체하여 동일 프레임워크를 적용. 저자 스스로 future work로 언급한 방향이다.

🔄 Dynamic Graph 업데이트

현재 그래프는 학습 전 고정된다. epoch마다 document-document 엣지를 재계산하는 dynamic graph 방식을 도입하면 더 정교한 표현 학습이 가능하다.

728x90
반응형
LIST