공부 정리 블로그

[Chapter9] 언어모델(3)- 카테고리 기반 언어모델 본문

대학원 수업/음성인식

[Chapter9] 언어모델(3)- 카테고리 기반 언어모델

따옹 2023. 6. 17. 19:50

대충 훑고 지나감

 

𝑃(𝑤_𝑖|𝑤_(𝑖−2),𝑤_(𝑖−1)) = 𝑃(𝑐_𝑖|𝑐_(𝑖−2),𝑐_(𝑖−1)𝑃(𝑤_𝑖|𝑐_𝑖)

ㅇ 𝑃(𝑤_𝑖|𝑤_(𝑖−2),𝑤_(𝑖−1))

- trigram의 경우 10^(5*3)개를 추정해야하는데, 데이터 부족 문제가 생기므로 많은 tuple 0을 가지지만 자연 발화시 나타나는 경우가 많음

ㅇ 𝑃(𝑐_𝑖|𝑐_(𝑖−2),𝑐_(𝑖−1)𝑃(𝑤_𝑖|𝑐_𝑖)

- 품사(pos : part of speech)

ex) a beautiful flower -> 관사-형용사-(명사일 확률과 flower일 확률은?) parameter 수를 줄여서 안정적인 추정이 가능해짐(MB수준으로 경량화 가능)

𝑐_(𝑖−2),𝑐_(𝑖−1),𝑐_𝑖는 단어열 𝑤_(𝑖−2),𝑤_(𝑖−1),𝑤_𝑖에 대응하는 카테고리열

ㅇ 카테고리기반언어모델의주요문제:

- 카테고리 선택 방법( : 품사)

- 단어가 하나의 카테고리에만 속하는가? (: 명사 can깡통’, 조동사 can할수있다’)

- 모델 성능

 

9.2.1  품사 기반 카테고리 언어모델 - 개체명(Named Entity : 고유명사)

ㅇ 사람, 위치, 제품 등과 같이 적절한 이름으로 명명할 수 있는 실제 개체를 말함

- 개체명은 개체의 인스턴스로 볼 수 있음

: ‘New York City’ a ‘city’의 인스턴스

 

ㅇ 개체명인식(NER)에 활용

- NER: 특정 유형의 개체 혹은 텍스트에서의 관계를 참조하는 구를 식별

 

단어 카테고리 자동 생성

기본 알고리즘( 어휘크기: |V|:20000,카테고리수: K:1000 )

1. Unigram 통계 생성(단어 별 빈도수 측정)

2. (초기화) 가장 빈도가 높은 단어를 카테고리 1에 매핑. 그 다음 높은 빈도의 단어를 카테고리 2에 매핑. 같은 방법으로 K-1번째 카테고리까지 매핑. (K-1개의 각 카테고리들은 1개의 단어만 매핑되어 있음)

3. (초기화) 나머지 단어들(|V|-(K-1))을 모두 K번째 카테고리에 매핑

4. 현재의 단어-카테고리 매핑상에서 모든 가능한 카테고리 이동에 대하여 (|V|(K-1)99) 각 이동을 적용했을 때의 perplexity 변화를 측정함

5. 4의 과정에서 perplexity를 가장 낮추어주는 이동을 선택하고 이를 적용한다

6. Perplexity를 낮추는 이동이 없을 때 까지 4-5의 과정을 반복한다

 

장점

1. 언어에 대해 몰라도 만들 수 있음

2. perplextity가 가장 낮은 모델을 보장