728x90
언어 모델(Language Model, LM)?

 

언어 모델은 문장의 구조와 확률을 학습하여 다음 단어의 가능성을 추정하는 모델을 말한다. 통계적 또는 기계학습 기반의 모델로, 단어 또는 문장의 확률적 구조를 모델링하는 것이다.

 

예를 들어, 주어진 이전 단어들이 "나는 오늘"이라면, 다음에 올 단어가 "학교에"일 확률은 얼마인지를 계산한다. 이를 통해 언어 모델은 다음 단어를 예측하는 데 사용된다.

 

통계에 기반한 전통적인 언어 모델(Statistical Language Model)은 실제 사용하는 자연어를 추정하는 데 있어 데이터의 양이나 언어의 희소성과 같은 문제로 인해 한계가 있는데, 최근에는 인공 신경망이 이런 한계를 많이 해결해 주고 있다.

 

더보기

통계적 언어 모델

 

1. 조건부 확률:

조건부 확률은 두 확률 P(A), P(B)에 대해서 아래와 같은 관계를 갖는다.

 

2. 문장에 대한 확률:

문장의 확률은 각 단어들이 이전 단어가 주어졌을 때 다음 단어로 등장할 확률의 곱으로 구성된다.

 

3. 카운트 기반의 접근:

학습한 코퍼스 데이터에서 An adorable little boy가 100번 등장했는데 그 다음에 is가 등장한 경우는 30번이라고 합시다. 이 경우 P(is|An adorable little boy)는 30%이다.

(참고: 딥 러닝을 이용한 자연어 처리)

 

 

통계적 언어 모델의 한계점은 다음과 같다.

1. 데이터의 한계:

통계적 언어 모델은 대량의 데이터를 필요로 한다. 충분한 양의 데이터가 없으면 모델이 정확한 예측을 하지 못하거나 일반화하지 못하는 문제가 발생할 수 있기 때문이다. 또한, 데이터가 특정 분야나 언어에 한정되어 있는 경우 모델이 다른 분야나 다른 언어에서 성능이 좋지 않을 수 있다.

2. 장기 의존성 문제:

통계적 언어 모델은 단어의 시퀀스에서 어떤 단어가 다음에 올 확률을 계산한다. 그러나 이전의 많은 단어들이 현재 단어와 어떤 관련이 있는지 파악하기 어렵다. 이는 모델이 장기 의존성(Long-term dependency) 문제를 갖는다는 것을 의미한다.

3. 희소성 문제:

언어는 매우 다양한 단어와 문장 구조로 이루어져 있다. 그러나 실제로는 대부분의 단어나 문장이 한 번 이상 나타나지 않을 수 있다. 이러한 희소성 문제(Sparsity problem)는 모델이 희귀한 단어나 문장을 제대로 학습하지 못하게 만들 수 있다.

4. 일관성 문제:

통계적 언어 모델은 언어의 통계적 특성을 이용하여 다음 단어나 문장의 가능성을 예측한다. 그러나 이러한 통계적 특성이 모든 상황에서 일관되지는 않는다. 예를 들어, 문장의 문맥이 모호하거나, 두 가지 이상의 가능한 의미가 있는 경우 모델이 일관된 예측을 하지 못할 수 있다.

 

언어 모델은 자연어 처리 분야에서 기계 번역, 문장 생성, 자동 요약, 자동 완성, 음성 인식 등에 사용된다.

자동 완성 예시

 

N-gram?

N-gram은 통계적 언어 모델에서 카운트 기반의 접근을 사용한 모델로, 이전에 등장한 모든 단어를 고려하는 것이 아니라 일부 단어만 고려한다.

 

단어를 몇 개 고려할 것인지 결정하는데, n-gram의 'n'이 바로 그 갯수를 의미한다.  만약 "나는 집에서 공부를 한다"라는 문장에서 2-gram이라면 "나는 집에서", "집에서 공부를", 공부를 한다"이렇게 나누게 된다.

 

* 명칭

n-gram을 사용할 때는 n이 1일 때는 유니그램(unigram),

2일 때는 바이그램(bigram),

3일 때는 트라이그램(trigram),

4 이상일 때는 gram 앞에 그대로 숫자를 붙여서 명명한다.

 

N-gram 모델의 한계점: 

N-gram의 가장 큰 한계점은 문맥을 고려하지 못한다는 것이다. N-gram 모델은 현재 단어와 그 앞의 N-1개의 단어만을 고려하여 다음 단어를 예측하는 방식이기 때문에 문맥을 너무 제한적으로 고려할 수가 있다.

 

예를 들어, "나는 공부를" 다음에 올 단어를 예측하려고 할 때, N-gram 모델은 이전 단어들만 고려하고, "나는 공부를 열심히"나 "나는 공부를 안 했다"와 같은 문맥을 놓치게 된다.

인공신경망 모델은 이러한 문제를 극복할 수 있다. 인공신경망은 입력값과 출력값 사이에 복잡한 관계를 모델링할 수 있으며 이를 통해 단어들 간의 문맥적 관계를 파악할 수 있다. 따라서 인공신경망 모델은 문장 전체를 고려하여 단어를 예측하므로 N-gram 모델보다 더 나은 성능을 보일 수 있다.

 

그렇다면 N-gram 모델은 이제 사장되었나?

아니다. N-gram 모델은 여전히 자연어 처리 분야에서 널리 사용되고 있다. 특히 작은 데이터셋에서는 N-gram 모델이 인공신경망 모델보다 더 나은 성능을 보일 수 있으며  계산 비용(computational cost), 즉 컴퓨터가 수행하는 데 사용되는 자원(CPU 시간, 메모리, 저장 공간 등)이 낮다는 장점이 있다.

 

n-gram 모델이 작은 데이터셋에서 인공신경망 모델보다 더 나은 성능을 보일 수 있는 이유는 다음과 같다.

1. 파라미터 수: n-gram 모델은 단어 시퀀스의 n-gram을 기반으로 확률을 계산하는데, 이를 위해 많은 파라미터를 필요로 하지 않는다. 반면에 인공신경망 모델은 더 복잡한 구조를 가지고 있고, 많은 파라미터가 필요하다. 작은 데이터셋에서는 파라미터 수가 적은 n-gram 모델이 과적합을 피할 수 있으며, 일반화 성능이 더 좋을 수 있다.

2. 데이터 희소성: 작은 데이터셋에서는 데이터가 제한적이고 희소할 수 있다. 인공신경망 모델은 대부분의 파라미터를 학습하기 위해 많은 데이터를 필요로 한다. 작은 데이터셋에서는 충분한 데이터를 제공하기 어려울 수 있으며, 이로 인해 인공신경망 모델이 과적합될 수 있다. 반면에 n-gram 모델은 통계적인 접근 방식을 사용하기 때문에 데이터 희소성에 대해 더 강건한 성능을 보일 수 있다.

3. 문맥의 제한: n-gram 모델은 고정된 개수의 이전 단어만을 고려하여 예측을 수행한다. 작은 데이터셋에서는 문맥의 제한이 성능을 향상시킬 수 있다. 데이터가 적을 경우 더 긴 문맥을 고려하는 인공신경망 모델은 과적합의 위험이 높아질 수 있다. n-gram 모델은 문맥의 길이를 제한하여 이러한 문제를 완화할 수 있다. 하지만 큰 데이터셋이나 복잡한 문제에서는 인공신경망 모델이 더 우수한 성능을 보일 가능성이 높다. 인공신경망 모델은 대규모 데이터에서 다양한 문맥과 패턴을 학습할 수 있으며, 더 복잡한 관계를 모델링할 수 있다. 작은 데이터셋에서는 n-gram 모델이 단순하면서도 효과적인 대안일 수 있지만, 데이터의 규모와 복잡성에 따라 모델 선택을 달리 해야 한다.
728x90

+ Recent posts