통계 기반 언어 모델은 통계적 방법을 사용하여 인간 언어를 분석하고 생성하는 자연어 처리(NLP) 모델 클래스입니다. 시소러스와 같은 유의어 사전과 통계적 언어 모델은 자연어 처리(NLP)에서 보완적인 역할을 하지만 접근 방식과 기능이 근본적으로 다릅니다. 먼저 시소러스에 대해 알아보겠습니다.
시소러스(Thesaurus) 란?
시소러스의 사전적 의미는 단어를 의미에 따라 분류·배열한 일종의 유의어 사전이라고 합니다. 뜻이 비슷한 단어를 그룹으로 분류하고 단어 사이의 상위와 하위 관계를 트리로 체계화하는 방법입니다. NLP에서 가장 유명한 시소러스는 WordNet이 있죠.
WordNet
워드넷은 프린스턴 대학에서 1985년부터 구축되었는데요. 우리가 잘 알고 있는 ImageNet이 WordNet의 이름을 따서 만들었다고 해요. WordNet은 NLTK(Natural Language Toolkit) 라이브러리를 설치하여 사용 가능합니다.
- pip install nltk
구성 예시
- “car”의 상위 개념으로 “motor vehicle”이라는 단어가 존재
- “car”의 하위 계념으로 “SUV”,”compact”,”hatch-back”등 구체적 차종 구성

시소러스의 문제점
시소러스를 사용하면 단어의 의미를 간접적으로 컴퓨터를 가르칠 수 있으나, 사람이 수작업으로 레이블링 하는 방식이라는 한계가 존재합니다.
1. 시대의 변화에 대응하기 어렵다
말이라는 것은 새로운 단어가 생겨나고, 예말은 잊혀지기도 하고 의미변화도 생기게 됩니다. 이러한 단어의 변화에 대응하기 위한 수작업 갱신이 필요
2. 사람을 쓰는 비용이 크다
시소러스를 만드는 데 많은 인적 비용이 발생하게 됩니다. 영어 단어의 수는 약 1000만 개가 넘는데 그 관계 정의 어려움이 발생하게 되죠. 단어의 미묘한 차이를 표현할 수 없습니다.
3. 미묘한 차이 표현이 어렵다
시소러스에는 뜻이 비슷한 단어를 묶는 방식입니다. 실제로 비슷한 단어들의 미묘한 차이까지 표현이 어렵습니다. 단어의 차이를 무시하게 됩니다.
통계적 언어 모델이란?
통계 기반 기법은 주변 단어의 빈도를 기초로 단어를 표현하는 방법인데요. 확률 기반 접근으로 통계 언어 모델은 관찰된 데이터를 기반으로 단어 시퀀스나 문장의 확률을 추정합니다. n-gram 모델, HMM(Hidden Markov 모델), PCFG(확률적 문맥 자유 문법)와 같은 통계 기술을 사용하여 다양한 단어 조합의 가능성을 잡아냅니다.
통계적 언어 모델 특징
1. 대규모 말뭉치 이용
대량의 텍스트 데이터인 말뭉치(corpus)를 이용합니다. 말뭉치는 문장을 쓰는 방법이나 단어를 선택하는 등 자연어에 대한 사람의 지식이 담겨 있기 때문이죠. 자연어 처리에 사용되는 말뭉치에는 품사와 같이 텍스트 데이터에 대한 추가 정보가 포함될 수 있습니다.
통계적 언어 모델은 언어 내의 패턴과 관계를 학습하기 위해 많은 양의 훈련 데이터가 필요합니다. 예를 들어, 단어가 유사한 의미는 단어 간의 관계로 표현할 수 있어야 합니다. 동시 발생 가능성을 이용하여 관계성 정의합니다. 확률론적 언어 모델을 구축하기 위해 책, 기사, 웹 페이지와 같은 방대한 텍스트 말뭉치에 대해 training을 하게 됩니다.
2. 확장성
대규모 데이터 세트와 복잡한 언어 구조를 처리하도록 통계 모델을 확장할 수 있습니다. 병렬 컴퓨팅 및 분산 시스템의 발전으로 기계 번역 및 음성 인식에 사용되는 것과 같은 대규모 통계 언어 모델의 training이 가능해졌습니다.
3. 해석 가능성
통계 모델은 인간이 분석하고 이해할 수 있는 확률적 원칙을 기반으로 하기 때문에 어느 정도의 해석 가능성을 제공합니다. 단어 빈도, 동시 발생 패턴, 구문 구조와 같은 언어적 특징을 이러한 모델에서 추출하여 언어 사용에 대한 통찰력을 얻을 수 있습니다.
통계 기반 언어 모델의 분산 표현
색상으로 예를 들어보겠습니다. '코발트블루'와 같은 고유이름으로 표현할 수 있지만, RGB의 비율을 활용하여 '비색'을 (R,G,B) = (170, 33, 22)로 표현할 수도 있습니다. 그러면 R계열임을 알 수 있고, 색끼리 비슷한 색인지도 쉽게 알 수 있습니다.
1. 분산 표현(distributional representation)
- 분산 표현은 단어의 의미도 벡터로 표현하는 방법입니다.
- 분포 가설(Distributional hypothesis) : 단어를 벡터로 표현하는 핵심 아이디어는 '단어의 의미는 주변 단어에 의해 형성된다' 는 것입니다.
- 맥락(Context) : 유사한 단어는 유사한 맥락에서 자주 쓰인다는 것은 의미가 있음을 강조할 수 있습니다.
- 윈도우 사이즈(Window size) : 주변 몇 개의 단어를 고려할 것인지 값, 예를 들어 1이면 양쪽 1개씩을 말합니다.
2. 벡터 간 유사도
단어와 단어 벡터간에 동일한지 유사도를 측정하는 방법입니다. 단어가 발생한 횟수에 초점을 두고 유사도 측정하게 되죠.
- 동시발생 행렬 : 동시발생하는 단어를 표로 정리한 형태가 행렬의 형태를 띤다는 의미입니다.
- 유사도 측정 방법 : 벡터의 내적, 유클리드 거리 등이 있지만, 코사인 유사도(Cosine similarity)를 자주 이용합니다.

통계적 언어 모델 한계점
1. 데이터 희소성
통계 언어 모델은 특히 희귀하거나 보이지 않는 단어 또는 단어 조합을 처리할 때 데이터 희소성 문제로 어려움을 겪을 수밖에 없습니다. 이로 인해 확률 추정이 부정확해지고 OOV(Out of Vocbulary, 어휘 밖) 또는 빈도가 낮은 단어에 대한 성능이 저하될 수 있습니다.
2. 고정 컨텍스트 윈도우
통계 언어 모델의 일반적인 유형인 n-gram 모델은 고정 컨텍스트 윈도우를 사용하여 단어 간의 종속성을 캡처합니다. 그러나 이 접근 방식은 특정 윈도우 크기를 넘어서는 장거리 종속성이나 상황별 정보를 캡처하지 못해 모델의 효율성을 제한할 수 있습니다.
3. 의미론적 이해 부족
통계적 모델은 종종 언어에 대한 의미론적 이해가 부족하고 주로 표면 수준의 통계 패턴에 의존합니다. 그들은 은유, 풍자 또는 언어의 모호함을 이해하는 것과 같은 심층적인 의미 분석이 필요한 작업에 어려움을 겪을 수 있습니다. 특히, 단어가 복잡한 굴절 및 파생 패턴을 나타내는 형태학적으로 풍부한 언어를 처리할 때 이슈가 발생합니다. 이러한 언어에서는 토큰화, 표제어 추출 및 단어 형식 처리가 더 어렵게 됩니다.
4. 일반화 및 견고성
통계 언어 모델은 보이지 않거나 도메인 외부 데이터에 대해 잘 일반화하기가 어렵습니다. 이로 인해 새로운 입력 단어에 대한 모델 견고성 및 성능 저하 문제가 발생할 수 있습니다. 모델을 새로운 영역에 맞게 미세 조정하거나 조정하려면 추가로 레이블이 지정된 데이터와 retraining이 필요합니다.
5. 편향 및 공정성
편향되거나 대표성이 없는 데이터에 대해 훈련(train)된 통계 언어 모델은 훈련 데이터에 존재하는 편향을 지속적으로 적합하지 않은 결과를 초래할 수 있습니다. 통계 모델의 편향 및 공정성 문제를 해결하려면 신중한 데이터 선별, 모델 평가 및 완화 전략이 필요합니다. 이는 LLM의 파인튜닝에서 데이터의 선택에도 중요한 문제입니다.
전반적으로 통계 기반 언어 모델은 NLP 작업을 발전시키는 데 중요한 역할을 했지만 여러 가지 한계가 있었습니다. 그런 이유로 딥러닝과 신경망 모델로 이러한 한계를 완화하려고 하는 이유입니다.
'딥러닝' 카테고리의 다른 글
Word2Vec의 아이디어와 역할 (0) | 2024.03.25 |
---|---|
통계 기반 기법 vs 추론 기반 기법의 차이점 (0) | 2024.03.22 |
자연어 처리 과정과 n-gram (0) | 2024.03.14 |
자연어 처리(NLP) 역사 및 동향 (1) | 2024.03.12 |
Xception 구조 및 특징 (0) | 2024.03.11 |