1. 언어 모델(Language Model, LM)
- 언어 모델(Language Model)은 언어라는 현상을 모델링 하고자 단어 시퀀스(또는 문장)에 확률을 할당하는 모델이다.
- 언어 모델(Language Model,LM)이란 단어 시퀀스(문장)에 확률을 할당하는 모델을 말한다.
언어 모델을 만드는 방법은 크게 2가지 방법으로 구분한다
- 통계를 이용한 방법
- 인공 신경망을 이용한 방법
언어 모델링(Language Modeling)은 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업을 말한다.
2. 단어 시퀀스의 확률 할당
* P = 확률
자연어 처리에서 단어 시퀀스에 확률을 할당하는 일이 왜 필요한지 알아보자.
a. 기계 번역(Machine Translation):
* P(나는 버스를 탔다) > P(나는 버스를 태운다)
→ 언어 모델은 두 문장을 비교하여 좌측의 문장의 확률이 더 높다고 판단한다.
b. 오타 교정(Spell Correction)
선생님이 교실로 부리나케
* P(달려갔다) > P(잘려갔다)
→ 언어 모델은 두 문장을 비교하여 좌측의 문장의 확률이 더 높다고 판단한다.
c. 음성 인식(Speech Recognition)
* P(나는 메롱을 먹는다) < P(나는 메론을 먹는다)
→ 언어 모델은 두 문장을 비교하여 우측의 문장의 확률이 더 높다고 판단한다.
언어 모델은 위와 같이 확률을 통해 보다 적절한 문장을 판단한다.
3. 주어진 이전 단어들로부터 다음 단어 예측하기
언어 모델은 단어 시퀀스에 확률을 할당하는 모델이다.
시퀀스에 확률을 할당하기 위한 보편적인 방법은 이전 단어들이 주어졌을 때, 다음 단어를 예측하는 것이다.
이를 조건부 확률로 표현해보자.
* 조건부 확률이란: 어떤사건 B가 일어났을 때 사건 A가 일어날 확률을 의미한다.
A. 단어 시퀀스의 확률
하나의 단어를 w, 단어 시퀀스를 대문자 W라고 한다면,
n개의 단어가 등장하는 단어 시퀀스 W의 확률은 다음과 같다.
B. 다음 단어 등장 확률
이제 다음 단어 등장 확률을 식으로 표현해보면,
n-1개의 단어가 나열된 상태에서 n번째 단어의 확률은 다음과 같다.
| 의 기호는 조건부 확률(conditional probability)을 의미한다.
예를 들어 다섯 번째 단어의 확률은 아래와 같다.
전체 단어 시퀀스 W의 확률은 모든 단어가 예측되고 나서야 알 수 있으므로 단어 시퀀스의 확률은 다음과 같습니다.
4. 언어 모델의 간단한 직관
학교에 가려고 버스를 탔는데 차가 막히는 바람에 학교에 [?]라는 문장이 있다. '학교에' 다음에 어떤 단어가 오게 될지 사람들은 예상할 수 있다. 지식에 기반하여 나올 수 있는 여러 단어들을 후보에 놓고 높은 확률로 나올 수 있는 단어를 판단하기 때문이다.
기계에게 위 문장을 주고 예측을 하려 한다면 기계도 비슷하게 앞에 어떤 단어들이 나왔는지 고려하여 후보가 될 수 있는 여러 단어들을 놓고 확률을 예측해본 후 가장 높은 확률을 가진 단어를 선택한다.
5. 검색 엔진에서의 언어 모델의 예
검색 엔진이 입력된 단어들의 나열에 대해서 다음 단어를 예측하는 언어 모델을 사용하고 있다.
정리 :
1. 언어 모델은 언어라는 현상을 모델링 하고자 단어 시퀀스(또는 문장)에 확률을 할당(assign)하는 모델이다.
2. 가장 보편적으로 사용되는 방법은 언어 모델이 이전 단어들이 주어졌을 때 다음 단어를 예측하도록 하는 것이다.
3. 만드는 방법은 크게 통계를 이용한 방법과 인공신경망을 이용한 방법이 있다.
4. 단어 시퀀스의 확률을 구하는 것을 식으로 표현하면 P(W)=P(w1,w2,w3,w4,w5,...,wn) 이다.
5. 다음 단어 등장 확률을 식으로 표현하면 P(wn|w1,...,wn−1) 이다.
6. 기계도 사람이 지식에 기반한 예측을 하는 것처럼 기존 학습한 내용으로 가장 높은 확률을 가진 단어를 선택한다.
7. 언어 모델의 예로는 플랫폼에 검색엔진이 있다.
'Deep learning > NLP(자연어처리)' 카테고리의 다른 글
펄플렉서티(Perplexity) (0) | 2020.02.27 |
---|---|
한국어에서의 언어 모델(Language Model for Korean Sentences) (0) | 2020.02.27 |
N-gram 언어 모델(N-gram Language Model) (0) | 2020.02.27 |
통계적 언어 모델(Statistical Language Model, SLM) (0) | 2020.02.27 |
자연어 처리(불용어) (0) | 2020.02.26 |