본문 바로가기
AI

자연어처리 : 언어 모델 (Language Model)

by 월곡동로봇팔 2020. 3. 5.

정의

단어 시퀀스에 확률을 할당하는 일을 한다. 즉, 가장 자연스러운 단어 시퀀스를 찾아내는 모델이다.

언어모델링은 가장 자연스러운 단어 시퀀스를 찾아내는 작업이다. 이전 단어들로부터 다음 단어를 예측하는 일이다.

다른 말로 문법이라고도 말한다.

  • 통계를 이용한 방법
  • 인공 신경망을 이용한 방법 : GPT, BERT

1. 언어모델의 역할 : 단어 시퀀스의 확률 할당

a. 기계 번역 (Machine Translation)

P( 나는 버스를 탔다 ) > P( 나는 버스를 태운다 )

: 좌측의 문장일 확률이 높다고 판단한다.

b. 오타 교정 (Spell Correction)

P( 달려갔다 ) > P( 잘려갔다 )

: 좌측의 문장일 확률이 높다고 판단.

c. 음성 인식 (Speech Recognition)

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


2. 언어모델의 역할 : 주어진 이전 단어들로부터 다음 단어 예측하기

A. 단어 시퀀스의 확률

하나의 단어를 w, 단어 시퀀스을 대문자 W라고 한다면, n개의 단어가 등장하는 단어 시퀀스 W의 확률은 다음과 같다.

P(W)=P(w1,w2,w3,w4,w5,...,wn) ( ',' 반점은교집합이다)

B. 다음 단어 등장 확률

이제 다음 단어 등장 확률을 식으로 표현한다. n-1개의 단어가 나열된 상태에서 n번째 단어의 확률은 다음과 같다.

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

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

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

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

P(W)=P(w1,w2,w3,w4,w5,...wn)=∏ (i=1,n) P(wn|w1,...,wn−1) (약분되서 마지막에는 P(W)로 남음.)


3. 예시

비행기를 타려고 공항에 갔는데 지각을 하는 바람에 비행기를 [?]라는 문장이 있다. 

'비행기를' 다음에 어떤 단어가 오게 될지 사람은 쉽게 '놓쳤다'라고 예상할 수 있다.

우리 지식에 기반하여 나올 수 있는 여러 단어들을 후보에 놓고 놓쳤다는 단어가 나올 확률이 가장 높다고 판단하였기 때문이다.

 

기계도 마찬가지다. 여러가지 비슷한 예시를 주고 여러 단어들에 대해서 확률을 예측해보고 가장 높은 확률을 가진 단어를 선택한다,

댓글