확률론적 언어 모형(Probabilistic Language Model)은 개의 단어 열(word sequence)이 주어졌을 때 문장으로써 성립될 확률 을 출력함으로써 이 단어 열이 실제로 현실에서 사용될 수 있는 문장(sentence)인지를 판별하는 모형이다.
이 확률은 각 단어의 확률과 단어들의 조건부 확률을 이용하여 다음과 같이 계산할 수 있다.
여기에서 은 지금까지 라는 단어 열이 나왔을 때, 그 다음 단어로 이 나올 조건부 확률을 말한다. 여기에서 지금까지 나온 단어를 문맥(context) 정보라고 한다.
이 때 조건부 확률을 어떻게 모형화하는냐에 따라
- 유니그램 모형 (Unigram Model)
- 바이그램 모형 (Bigram Model)
- N-그램 모형 (N-gram Model)
등으로 나뉘어 진다.
유니그램 모형 (Unigram Model)¶
만약 모든 단어의 활용이 완전히 서로 독립이라면 단어 열의 확률은 다음과 같이 각 단어의 확률의 곱이 된다. 이러한 모형을 유니그램 모형 (Unigram Model)이라고 한다.
바이그램 모형 (Bigram Model)¶
만약 단어의 활용이 바로 전 단어에만 의존한다면 단어 열의 확률은 다음과 같다. 이러한 모형을 Bigram 모형 또는 마코프 모형(Markov Model)이라고 한다.
확률 추정 방법¶
실제 텍스트 코퍼스(corpus)에서 확률을 추정하는 방법은 다음과 같다. 여기에서는 바이그램의 경우를 살펴본다.
일단 모든 문장에 문장의 시작과 끝을 나타내는 특별 토큰을 추가한다. 예를 들어 문장의 시작은 SS
, 문장의 끝은 SE
이라는 토큰을 사용할 수 있다.
바이그램 모형에서는 전체 문장의 확률은 다음과 같이 조건부 확률의 곱으로 나타난다.
조건부 확률은 다음과 같이 추정한다.
위 식에서 은 전체 코퍼스에서 라는 바이그램이 나타나는 횟수이고 은 전체 코퍼스에서 라는 유니그램(단어)이 나타나는 횟수이다.
'컴퓨터이야기' 카테고리의 다른 글
MNIST 러닝 (0) | 2019.02.20 |
---|---|
[펌] Summary: Best Facial Recognition APIs for Apps and Software (0) | 2018.08.24 |
Sentibank classfier (0) | 2018.07.05 |
site package 확인 (0) | 2018.07.04 |
Face Classification (0) | 2018.07.04 |