텍스트 임베딩
IT 위키
텍스트 임베딩(Text Embedding, 文章嵌入)은 자연어 처리(NLP)에서 단어나 문장, 문서 등의 텍스트 데이터를 고차원 벡터 공간의 실수 값 벡터로 변환하는 기술이다. 임베딩을 통해 텍스트의 의미적 유사성, 문맥, 관계 등을 수치적으로 표현할 수 있으며, 검색, 분류, 추천 등 다양한 태스크에 활용된다.
개요[편집 | 원본 편집]
텍스트 임베딩은 단어 또는 문장의 의미를 벡터 공간 상의 점으로 표현함으로써, 컴퓨터가 언어의 의미론적 유사성과 구조를 수학적으로 다룰 수 있도록 한다. 이 과정은 일반적으로 사전학습(pretraining)된 언어 모델을 통해 수행되며, 벡터 간의 거리 또는 방향을 통해 의미적 관계를 추론할 수 있다.
종류[편집 | 원본 편집]
- 단어 임베딩 (Word Embedding): 각 단어를 고정된 크기의 벡터로 변환
- 문장 임베딩 (Sentence Embedding): 문장 단위 표현을 생성
- 문서 임베딩 (Document Embedding): 긴 텍스트나 문서 전체를 벡터로 표현
주요 기법[편집 | 원본 편집]
- Bag-of-Words (BoW) 및 TF-IDF: 초창기 통계 기반 표현 방식
- Word2Vec, GloVe: 분산 표현(distributed representation)을 통한 단어 임베딩
- ELMo: 문맥을 고려한 단어 표현(Contextualized Embedding)
- BERT, RoBERTa, SBERT: Transformer 기반의 문맥적 임베딩
- Sentence Transformers: 문장 수준의 의미적 유사도 표현 최적화
활용 분야[편집 | 원본 편집]
- 문서 검색 및 정보 검색 시스템
- 의미 기반 추천 시스템
- 유사 문장/문서 판별
- 챗봇 및 질의응답 시스템
- 군집화, 분류, 시각화 등 다운스트림 NLP 태스크
계산 방식[편집 | 원본 편집]
임베딩 벡터는 일반적으로 128, 256, 384, 768, 1536차원 등으로 구성되며, 코사인 유사도(cosine similarity) 또는 유클리드 거리 등을 통해 텍스트 간 의미적 유사도를 측정한다.
임베딩 모델 예시[편집 | 원본 편집]
모델 | 설명 | 차원 수 | 특징 |
---|---|---|---|
Word2Vec | 단어 주변 문맥 기반 예측 | 100–300 | 고정형 단어 임베딩 |
GloVe | 전역 동시 등장 통계 기반 | 300 | 의미 유사도 표현에 강함 |
BERT | 양방향 Transformer 기반 | 768 이상 | 문맥적 표현 가능 |
SBERT | BERT 기반 문장 임베딩 | 384–768 | 문장 유사도 태스크에 최적화 |
OpenAI Embedding | 대형 언어 모델 기반 고차원 임베딩 | 1536 이상 | 검색·분류용 고성능 임베딩 |
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
- Devlin, J. et al. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Reimers, N., Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. EMNLP.