Linear-chain CRF
Linear-chain CRF
개요
Linear-chain Conditional Random Field(선형 체인 조건부 확률장, 이하 Linear-chain CRF)는 자연어처리(NLP) 분야에서 널리 사용되는 시퀀스 레이블링(sequence labeling)을 위한 확률적 그래피컬 모델이다. 주로 형태소 분석, 개체명 인식(NER), 품사 태깅(POS tagging), 문단 분할 등의 과제에서 입력 시퀀스(예: 문장)에 대해 각 단어나 토큰에 적절한 레이블을 부여하는 데 사용된다.
CRF는 주어진 입력 시퀀스에 조건부로 종속된 출력 레이블 시퀀스의 확률을 모델링하며, 특히 선형 구조(linear structure)를 가진 시퀀스 데이터에 특화된 형태인 Linear-chain CRF는 이웃 레이블 간의 전이(transition) 정보를 효과적으로 활용할 수 있다. 이는 독립적인 분류 모델(예: 로지스틱 회귀)과 달리 레이블 간의 의존성을 명시적으로 고려할 수 있게 하여, 시퀀스 레이블링 성능을 크게 향상시킨다.
기본 개념
조건부 확률 모델링
CRF는 조건부 확률 분포 $ P(\mathbf{y} \mid \mathbf{x}) $를 모델링하는 지시적 모델(discriminative model)이다. 여기서:
- $\mathbf{x} = (x_1, x_2, \dots, x_T)$: 관측 시퀀스 (예: 단어 시퀀스)
- $\mathbf{y} = (y_1, y_2, \dots, y_T)$: 레이블 시퀀스 (예: 품사 또는 개체명 레이블)
CRF는 다음 형태의 로지스틱 형식으로 조건부 확률을 정의한다:
$$ P(\mathbf{y} \mid \mathbf{x}) = \frac{1}{Z(\mathbf{x})} \exp\left( \sum_{t=1}^T \sum_{k} \lambda_k f_k(y_{t-1}, y_t, \mathbf{x}, t) \right) $$
여기서: - $f_k$: 특징 함수(feature function) - $\lambda_k$: 가중치 (학습 파라미터) - $Z(\mathbf{x})$: 정규화 상수(partition function), 모든 가능한 $\mathbf{y}$에 대한 합을 보장
Linear-chain 구조
Linear-chain CRF는 출력 레이블이 선형적인 마르코프 체인(Markov chain) 구조를 가진다는 가정을 둔다. 즉, 각 레이블 $y_t$는 이전 레이블 $y_{t-1}$에만 조건부로 종속된다. 이는 그래프 구조상 인접한 노드만 연결된 체인 형태의 마르코프 네트워크로 표현된다.
이 구조는 다음의 조건부 독립성을 의미한다:
$$ P(y_t \mid y_1, \dots, y_{t-1}, y_{t+1}, \dots, y_T, \mathbf{x}) = P(y_t \mid y_{t-1}, y_{t+1}, \mathbf{x}) $$
하지만 일반적인 선형 CRF에서는 전이 확률이 $y_{t-1} \to y_t$에만 의존하도록 단순화한다.
모델 구성 요소
1. 특징 함수 (Feature Functions)
특징 함수 $f_k$는 입력 $\mathbf{x}$, 현재 및 이전 레이블, 그리고 위치 $t$를 기반으로 특정 패턴의 존재 여부를 나타내는 함수이다. 예를 들어:
- 단어가 대문자로 시작하고, 현재 레이블이
PERSON이면 1, 아니면 0 - 이전 레이블이
B-ORG, 현재 레이블이I-ORG이면 1 - 현재 단어가 사전에 등록된 도시 이름이면
LOCATION레이블에 대해 1
이러한 특징 함수는 문제 도메인 지식을 모델에 주입하는 수단이 된다.
2. 전이 가중치 (Transition Weights)
레이블 간 전이 가능성에 대한 가중치 $\lambda_{\text{transition}}$를 통해, 예를 들어 B-PER → I-PER는 가능하지만 B-PER → B-LOC는 불가능하다는 제약을 학습할 수 있다. 이는 후처리 규칙 없이도 자연스러운 레이블 시퀀스를 생성하게 한다.
3. 정규화 (Partition Function)
모든 가능한 레이블 경로에 대해 지수 함수의 합을 계산하는 $Z(\mathbf{x})$는 확률 분포의 정규화를 보장한다. 이 값은 동적 프로그래밍인 포워드-백워드 알고리즘을 통해 효율적으로 계산된다.
학습 및 추론
학습 (Training)
매개변수 $\lambda_k$는 주어진 학습 데이터 $\{(\mathbf{x}^{(i)}, \mathbf{y}^{(i)})\}$에 대해 로그-우도(log-likelihood)를 최대화하는 방식으로 학습된다:
$$ \mathcal{L}(\lambda) = \sum_i \log P(\mathbf{y}^{(i)} \mid \mathbf{x}^{(i)}) $$
최적화는 일반적으로 L-BFGS 또는 확률적 경사하강법(SGD)을 사용한다.
추론 (Inference)
주어진 입력 $\mathbf{x}$에 대해 가장 확률이 높은 레이블 시퀀스 $\mathbf{y}^*$를 찾는 과제는 다음과 같다:
$$ \mathbf{y}^* = \arg\max_{\mathbf{y}} P(\mathbf{y} \mid \mathbf{x}) $$
이 최적 경로는 비터비 알고리즘(Viterbi algorithm)을 통해 동적 프로그래밍으로 효율적으로 계산할 수 있다. 시간 복잡도는 $O(T \times L^2)$이며, $L$은 레이블 수, $T$는 시퀀스 길이이다.
장점과 단점
| 장점 | 설명 |
|---|---|
| 레이블 의존성 모델링 | 이전/다음 레이블의 영향을 고려 가능 |
| 특징 유연성 | 임의의 관측 특징을 통합 가능 |
| 확률 기반 | 신뢰도 기반 후처리나 앙상블 가능 |
| 단점 | 설명 |
|---|---|
| 수동 특징 설계 필요 | 딥러닝과 달리 특징 공학이 필요 |
| 긴 시퀀스에서 성능 저하 | 전이 구조가 장거리 의존성 포착에 약함 |
| 학습 속도 느림 | 정규화 항 계산 비용 큼 |
활용 사례
- 개체명 인식(NER): 사람, 조직, 위치 등을 추출
- 품사 태깅(POS tagging): 각 단어의 문법적 역할 부여
- 의미역 분석(SRL): 문장 내 술어-논항 구조 파악
- 음성 인식 후처리: 인식된 단어 시퀀스에 레이블 부여
관련 기술 및 발전
- LSTM + CRF: 딥러닝에서 LSTM이 문맥 정보를 추출하고, CRF 계층이 레이블 시퀀스를 최적화하는 하이브리드 구조
- BERT-CRF: 트랜스포머 기반 언어 모델(BERT)의 출력 위에 CRF 계층을 추가하여 최신 NLP 태스크에서 뛰어난 성능 달성
# 예: Hugging Face Transformers + CRF 구현 개요 (의사코드)
model = BertModel.from_pretrained('bert-base-uncased')
crf_layer = CRF(num_labels=10)
logits = model(input_ids)
loss = crf_layer(logits, labels)
predicted_labels = crf_layer.decode(logits)
참고 자료
- Lafferty, J., McCallum, A., & Pereira, F. (2001). Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. ICML.
- Sutton, C., & McCallum, A. (2012). An Introduction to Conditional Random Fields. Foundations and Trends in Machine Learning.
- Hugging Face Transformers 문서: https://huggingface.co/docs/transformers
- Stanford NLP Group 튜토리얼: https://nlp.stanford.edu/
Linear-chain CRF는 딥러닝 이전 시대의 시퀀스 모델링을 주도한 핵심 기술이며, 오늘날에도 고성능 하이브리드 모델의 일부로 널리 사용되고 있다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.