rueki

언어 모델(Language Model) 본문

DL/NLP

언어 모델(Language Model)

륵기 2019. 7. 2. 10:20
728x90
반응형

본문은 https://wikidocs.net/21668 을 참고하여 작성한 글입니다.

 

언어 모델은 자연어 생성의 기반으로, 단어의 시퀀스의 확률을 예측하는 모델이다.

음성 인식, 기계 번역, OCR, 검색어 자동 완성 등과 같은 것은 전부 언어 모델을 통해 이루어진다.

만드는 방법으로는 아래와 같다.

1) 통계를 이용한 방법

2) 인공 신경망을 이용한 방법

 

언어 모델은 문장의 확률을 예측하는 일이다. 예측에 앞서,

단어들이 주어졌을 때 다음 단어가 나올 확률을 예측해야 한다.

 

그래서 문장의 확률은 왜 예측해야 할까?

예를 들어서 한 번 살펴보자

 

a. 기계번역(Machine Translation)

P(  ) > P(  )

:언어 모델은 좌측의 문장의 확률이 더 높다고 판단

 

b. 오타교정(Spell Correction)

선생님이 교실로 부리나케
P() > P()P(달려갔다) > P(잘려갔다)
: 언어 모델은 두 문장을 비교하여 좌측의 문장의 확률이 더 높다고 판단합니다.

 

c. 음성 인식(Speech Recognition)

P(  ) < P(  )P(나는 메롱을 먹는다) < P(나는 메론을 먹는다)
: 언어 모델은 두 문장을 비교하여 우측의 문장의 확률이 더 높다고 판단합니다.

언어 모델은 위와 같이 보다 적절한 문장을 선택하는 일에 확률을 사용합니다.

 

# P - 확률


언어 모델은 문장 전체도 예측하지만, 단어의 등장 확률도 예측을 한다.

 

A. 문장의 확률 예측

하나의 단어(word)를 w라고 합시다. 단어의 시퀀스인 전체 문장(sentence)을 대문자 W라고 합시다. n개의 w로 구성된 문장 W의 확률은 다음과 같이 표현할 수 있습니다.

P(W)=P(w1,w2,w3,w4,w5,...,wn)=n=1nP(wn)P(W)=P(w1,w2,w3,w4,w5,...,wn)=∏n=1nP(wn)

B. 다음 단어 예측

n-1개의 단어가 나열된 상태에서 n번째 단어의 확률을 다음과 같이 표현할 수 있습니다.

P(wn|w1,...,wn1)P(wn|w1,...,wn−1)

|의 기호는 조건부 확률(conditional probability)을 의미합니다.

예를 들어 다섯번째 단어의 확률은 아래와 같습니다.

P(w5|w1,w2,w3,w4)P(w5|w1,w2,w3,w4)

문장. 즉, 전체 단어 시퀀스의 확률은 모든 단어가 예측되고 나서야 알 수 있으므로 결국 전체 단어 시퀀스의 예측은 다음과 같습니다.

P(W)=P(w1,w2,w3,w4,w5,...wn)=n=1nP(wn|w1,...,wn1)

 


조건부 확률 : 다음 사건의 확률을 다시 계산한다.

사건 A가 조건으로 일어났을 때 사건 B의 조건부확률 : P(B | A)

사건 B가 조건으로 일어났을 때 사건 A의 조건부확률 : P(A | B)

 

728x90
반응형
Comments