1. N-gram 언어모델 이란?
- N-gram 언어모델은 자연어 처리에서 많이 사용되는 확률 기반 언어 모델을 말합니다.
* 언어모델(Language Model, LM)이란, 언어를 이루는 구성 요소(글자, 형태소, 단어, 단어열(문장), 문단 등)에 확률값을 부여하여 이를 바탕으로 다음 구성 요소를 예측하거나 생성하는 모델을 말함
* 이 언어모델은 크게 a) 확률에 기초한 통계적 언어모델(Statistical Language Model / SLM)과 인공 신경망에 기초한 딥러닝 언어 모델(Deep Neural Network Language Model / DNN LM)으로 나뉩니다. 오늘 알아볼 N-gram은 통계적 언어모델, 즉 SLM의 하나 입니다
- N-gram은 주어진 텍스트에서 단어의 나열을 분석하여 다음에 올 단어를 예측하는 것을 말합니다.
다음은 n-gram 모델의 주요 특징에 대한 설명입니다.
- N-gram에서의 n은 n개의 단어 연쇄를 의미하며, n의 값에 따라 단어의 조합을 분석하게 됩니다.
* 예를 들어, 1-gram 모델은 각 단어가 독립적으로 발생할 확률을 계산하고, 2-gram 모델은 두 단어씩 짝을 지어 그 연쇄의 확률을 계산합니다.
* 추가 예시 : I am a student 라는 문장에서 2-gram은 "I am", "am a", "a student"가 됩니다.
- N-gram 모델은 주어진 단어 시퀀스에 다음 단어가 나올 확률을 계산하게 됩니다. 예를 들어 위의 예시를 보면 "I am" 다음에 "a" 가 나올 확률을 계산하는 것입니다.
- Markov 가정 : n-gram 모델은 현재 단어가 이전 n-1개의 단어에만 의존하다고 가정합니다. 즉, 3-gram 모델에서는 현재 단어가 이전 두 단어에만 영향을 받는다고 가정을 하는 것입니다.
- 학습 데이터 : n-gram 모델은 대량의 텍스트 데이터를 통해 학습됩니다. 학습 데이터에서 각 n-gram의 빈도를 계산하여 확률을 추정하는 방식입니다.
- 언어 생성 : 학습된 n-gram 모델을 사용하여 새로운 텍스트를 생성할 수 있습니다. 시작 단어를 주고, 그 다음 단어를 예측하는 과정을 반복하여 문장을 만듭니다.
- 즉, n-gram 모델에서는 조건부 확률과 연쇄법칙(Chain Rule)을 주로 활용하게 됩니다.
* 조건부 확률은 주어진 이전 단어들이 있을 때 다음 단어가 나올 확률을 말합니다.
* 연쇄 법칙은 전체 시퀀스의 확률을 각 단어의 조건부 확률의 곱으로 표현할 수 있다는 원칙을 의미하며, 다음과 같이 계산됩니다.
* 이를 n-gram 모델에서 적용해본다면, 앞서 말씀드린 Markov 가정에 따라 각 단어가 오직 이전 n-1개의 단어에만 의존한다기에 n-gram 모델에서의 조건부 확률은 아래와 같습니다.
*예를 들어, 2-gram(bigram) 모델에서는 다음과 같이 계산합니다.
*따라서, 연속적인 단어의 시퀀스 W1, W2, W3, ......, Wn의 확률은 다음과 같이 계산할 수 있습니다.
* 예시를 통해서 알아보면, "나는 학교에 간다" 라는 문장이 있다고 가정해보겠습니다. 3-gram 모델을 사용해 이 문장의 확률을 계산해보면
1) P(나는)
2) P(학교에 l 나는)
3) P(간다 l 학교에 l 나는)
과 같습니다.
따라서 이 문장의 전체 확률은 다음과 같이 계산됩니다.
P(나는 학교에 간다) ≈ P(나는) × P(학교에 l 나는) × P(간다 l 학교에 l 나는)
'딥러닝 with Python' 카테고리의 다른 글
[딥러닝 with Python] 파이썬 코드로 구현해보는 트랜스포머 (1) | 2024.07.29 |
---|---|
[개념정리] 인코딩과 임베딩의 차이(Encoding vs Embedding) (0) | 2024.07.28 |
[개념 정리] 형태소 분석(Morphological Analysis) (0) | 2024.07.26 |
[개념정리] MLE(Maximum Likelihood Estimation)와 MAP(Maximum A Posteriori Estimation) (0) | 2024.07.25 |
[딥러닝 with Python] Multiple Instance Learning을 활용한 이미지 분류[개념 정리] (0) | 2024.07.23 |
댓글