1. PCFG(Probabilistic Context-Free Grammar) 정의
- PCFG는 CFG(Context-Free Grammar)의 각 생산 규칙(rule)에 확률을 부여한 확장 모델이다.
- 문장(또는 구조)을 생성할 때 규칙별 확률을 곱하여 전체 구조의 발생 확률을 계산한다.
2. 구성 요소

- 비단말 기호 (Nonterminal, N)
- 분류라고 생각하면 편하다. → Verb, Adj, Noun … etc
- 단말 기호 (Terminal, Σ)
- 비단말에 속하는 리프, 단어라고 생각하면 편함
- Noun → dog, cat … etc
- Verb → play, run … etc
- 시작 기호 (Start symbol, S ∈ N)
- 루트 노드임. 뜻을 가지지는 않음
- 생산 규칙 (Production rules)
- 형태: $A → α (P(A→α))$
- A는 N에 속한다.
- $α$는 $(N ∪ Σ)*$에 속한다.
- $P(A→α)$는 A가 $α$로 펼쳐질 확률이다.
<aside>
💡
cf. A→B[p]를 표기하는 방법으로는 세 가지가 있다.
(1) P(A→B)
(2) P(A→B | A)
(3) P(B|A)
</aside>
- 확률 조건
3. 확률 계산
1. 규칙 확률 계산 (MLE 방식)
코퍼스(트리뱅크)에서 각 규칙의 출현 빈도를 집계한 뒤, **최대우도추정(MLE)**으로 확률을 구하는 것이다.
- 코퍼스에서 각 규칙 A → α의 출현 횟수(count)를 센다.
- 예:
- NP → Det N 출현 200회
- NP → N 출현 50회
- 같은 LHS를 가진 모든 규칙의 출현 합을 구한다.
- 예: LHS가 NP인 규칙의 합 = 200 + 50 = 250
- 각 규칙의 확률은 다음과 같다:
$$
P(A→α) = \frac{count(A→α)}{\sum count(A→β)}
$$
- 예:
- $P(NP→Det N) = \frac{200}{250} = 0.8$
- $P(NP→N) = \frac{50}{250} = 0.2$