# Embedding

By [soieu](https://paragraph.com/@soieu) · 2025-01-04

---

### 임베딩

자연어를 컴퓨터가 이해할 수 있도록 실수 벡터 형태로 표현한 것으로, 단어 간 유사성 이해, 언어 모델링, 자연어 처리에 필수적인 개념이다.

### One-hot Encoding

*   모든 단어들에게 숫자 인덱스를 하나씩 부여
    
*   단점
    
    *   코사인유사도가 항상 0
        
    *     
        

### word2vec

*   단순한 **단어 임베딩**
    
*   분포 가설 기반
    
*   맥락 기반 표현
    
*   아키텍처
    
    *   CBOW : 주변 단어들을 입력받아, 중심 단어 예측
        
    *   Skip-Gram : 중심 단어를 입력받아, 주변단어 예측. 대규모 데이터셋에서 더 좋은 성능을 보이는 경향
        
*   단점
    
    *   학습 데이터에 없는 단어에 대해서는 임베딩을 구하기 어려움
        
    *   다의어에 대한 처리가 어려움
        

### fasttext

*   word2vec 기반
    
*   단어 + 쪼갠 단어(내부단어) 임베딩
    

### BERT

*   문장의 일정 토큰을 없애고, 추론하는 식으로 학습
    
*   transformer의 encoder부분의 학습 과정을 따온 언어모델
    
*   학습 방법
    
    *   마스크 랭귀지 모델
        
        *   문장 중간의 토큰을 가려서 학습하는 방식. 기존 언어모델의 sequential한 특징과 다르게 양방향의 토큰을 모두 사용하는 특징을 가지고있다.
            
    *   다음 문장 예측
        
        *   연이은 두 문장의 연속 여부 판단
            

### [OpenAI Embeddings](https://platform.openai.com/docs/guides/embeddings)

*   python 코드를 통해 api 호출을 하는 방식으로 embedding 추출 가능
    

### 참고하면 좋은 자료

*   [https://www.syncly.kr/blog/what-is-embedding-and-how-to-use](https://www.syncly.kr/blog/what-is-embedding-and-how-to-use)
    
*   [https://blog.cosadama.com/articles/2021-practicenlp-03/](https://blog.cosadama.com/articles/2021-practicenlp-03/)
    
*   [https://huidea.tistory.com/168](https://huidea.tistory.com/168)

---

*Originally published on [soieu](https://paragraph.com/@soieu/embedding)*
