Data Analysis

카테고리 없음

단어 임베딩과 문장 임베딩

Holy_Water 2024. 2. 20. 14:29

내용

1. 단어와 문장 임베딩의 차이점

2. 원핫 인코딩

3. 학습 기반 임베딩

4. 문장 임베딩 실습

 

 

문장과 단어 임베딩의 차이점

단어 임베딩과 문장 임베딩

• 단어 임베딩 
     • 앞선 수업에서 다룸 
     • 단어를 숫자의 형태로 변환하는 과정 
• 문장 임베딩 
     • 단어 임베딩과 마찬가지로 
     • 문장 자체를 숫자의 형태로 변환 
     • 단어를 넘어 문장 자체가 갖고 있는 의미를 벡터로 표현 
     • 이를 이용해 전반적인 글의 이해, 문맥 파악, 글 생성 등 다양한 자연어 처리 작업 진행

 

왜 서로 다른 임베딩이 있을까??

• 문장 임베딩과 단어 임베딩은 서로 다른 목적과 사용 사례를 기반으로 개발됨 
• 풀어야 하는 문제를 해결하는 서로 다른 도구임 


• 단어 임베딩은 
      • 단어의 의미, 문맥적 유사성, 동의어 등과 같이 
      • 단어 수준에서 의미를 활용하는 경우에 사용 
      • 전체적인 문장의 의미를 한번에 포착하기는 어려움 
• 문장 임베딩은 
      • 전반적인 글의 이해, 문맥 파악, 글 생성 등과 같이 
      • 문장 혹은 그 이상의 단위에서 정보를 포착하는 경우에 사용 
      • 글의 전반적인 이해가 쉽게 가능하지만 
      • 보다 많은 자원과 계산이 필요하며, 단어 수준의 미묘한 변화를 잡아내기가 어려운 단점이 있음 

 

 

원핫 인코딩

문장에 원핫 인코딩 적용하기

• 단어 원핫 인코딩과 마찬가지로 
       • 사용하는 전체 단어의 고유 집합 확보 
       • 각 단어에 독립된 인덱싱 진행 


• 문장에 소속된 각 단어를 해당 단어의 인덱스 위치에 1을 부여
• 나머지 부분을 0으로 채움


• 예를 들어, 
       • 사과는 = 0, 바나나는 = 1, 맛있다 = 2 
       • 사과는 맛있다 → [1, 0, 1]
       • 바나나는 맛있다 → [0, 1, 1]

 

다양한 문장 임베딩 기법

단어 임베딩을 활용한 문장 임베딩

• 문장은 단어를 기반으로 만들어지는 개념 
• 따라서 각 단어들의 임베딩을 이용해 문장의 임베딩을 생성 


• 각 단어의 임베딩의 평균을 활용 
     • 가장 직관적인 방법 
     • 하지만 다른 의미의 문장이 서로 비슷한(혹은 같은) 임베딩 값을 갖을 수 있음 
            • “고양이가 강아지를 쫒는다” 와 “강아지가 고양이를 쫒는다”는 안전 다른 의미 But 평균 임베딩은 동일 


• TF-IDF 를 활용한 단어 가중치를 적용해 문장 임베딩을 생성 
      • TF-IDF란 문장 내 단어의 중요도를 나타내는 척도 
      • 이 값을 이용해 각 단어 임베딩에 가중 
      • 가중된 값들을 활용해 평균 값 활용 

 

딥러닝을 활용한 학습 기반 문장 임베딩

• 문장 임베딩은 단어 임베딩보다 고차원적인 연산이 필요함 
• 따라서 딥러닝 기법을 활용하는 과정에서 많이 발전이 됨 


• 딥러닝 모델이 단어를 임베딩하는 과정에서 
• 전체 문장의 의미를 담는 벡터를 생성 


• 문장을 구성하는 각 단어에서 정보를 공급받아 임베딩 벡터를 생성