채니의 개발일기

워드 임베딩(Word Embedding) 본문

인공지능/자연어처리

워드 임베딩(Word Embedding)

윤채니챈 2023. 10. 10. 14:45
728x90
반응형

워드 임베딩이란? 

 

이전참고글! 

2023.10.09 - [인공지능/자연어처리] - 단어 벡터화(Vectorization)

 

단어 벡터화(Vectorization)

*** 벡터화란? 데이터를 벡터 형태로 변환하는 과정 1. 벡터화에 신경망을 사용하지 않는 경우 단어에 대한 벡터표현 방법 : 원-핫 인코딩 문서에 대한 벡터표현방법: Document Term Matrix, TF-IDF 2. 벡터

xcwaonvy.tistory.com

 

 

- 자연어 처리(NLP)와 딥러닝 분야에서 사용되는 기술로, 단어나 문장을 고차원에서 저차원의 벡터로 변환하는것

- 이 변환을 통해 단어나 문장간 의미적 관계를 벡터간에서의 거리나 방향으로 표현가능하다

 

  • 희소표현 

- 워드임베딩과 관련하여 자연어 처리에서 사용하는 단어표현방식

- 각 단어를 고차원의 벡터로 표현하며, 이 벡터의 대부분의 원소는 0, 해당 단어를 나타 내는 특정위치의 원소만 1의값을 가짐(원-핫인코딩)

특징

- 단어의 개수가 늘어나면 벡터의 차원이 한겂이 커진다는 점이 단점이다(고차원의 특성) : 공간적 낭비 발생

- 대부분의 원소가 0의 값을 가지고 있으므로 이러한 벡터는 희소한다

- 단어간 의미적 관계를 표현하지 못한다. 즉, 벡터 간의 거리나 방향이 단어의 의미적 유사성과 관련이 없다

- 희소 표현의 한계로 인해, 저차원의 밀집 벡터로 단어를 표현하는 워드 임베딩 기법이 널리 사용하게 되었다.

 

예)

사과 : [1,0,0]

바나나:[0,1,0]

체리:[0,0,1]

** 고차원: 단어 집합의 크기만큼의 차원을 가지며, 단어 집합이 크면 표현의 차원도 커진다

 

 

  • 밀집표현

- 자연어 처리에서 단어나 문장을 저차원의 연속 벡터로 표현하는 방식

- 이러한 밀집 벡터는 대부분의 원소가 실수값으로 구성되어있ㅇ며, 각 원소는 0의 값이 아닌 값을 가진다

- 희소표현과 대조적이다.

 

특징

- 단어의 문장을 표현하는 벡터의 차원이 상대적으로 낮다. 

- 밀집 벡터는 단어나 문장의 의미적 정보를 포함하며 벡터간의 거리나 방향이 의미적 유사성을 반영한다.

 

희소표현 - 대조표현의 예시

희소 표현 (원-핫 인코딩) 예시:

어휘집합: {사과, 바나나, 체리}
사과: [1, 0, 0]
바나나: [0, 1, 0]
체리: [0, 0, 1]

밀집 표현 (워드 임베딩) 예시:

사과: [0.12, -0.45, 0.89]
바나나: [0.56, 0.32, -0.71]
체리: [-0.23, 0.87, 0.44]

 

 

  • 워드 임베딩

- 단어나 문장을 고차원의 희소벡터에서 저차원의 밀집벡터로 변환하는것 

- 이 변환을 통해 단어나 문장 간 의 의미적 관계를 벡터 공간에서의 거리나 방향으로 표현할 수 있게 된다

 

특징

1. 의미적 유상성 벡터 공간에서 가까운 위치에 있는 단어들은 의미적으로 유사한 경향이 있다

2. 차원축소 : 워드 임베딩은 단어의 의미를 고차원에서 저차원 벡터로 변환한다. 이렇게 하면 계산 효율성이 향상한다.

3. 전이 학습: 워드 임베딩은 다양한 NLP 작업에 사용 될 수 있다. 예를들어, 한작업에서 학습된 워드 임베딩을 다른 작업에 전이하여 사용할 수 있다. 

 

 

 

원-핫벡터 vs 임베딩 벡터 차이점

 

워드임베딩 두가지 방법

 

1. 랜덤 초기화 임베딩 

 

  • NNLM(딥러닝 자연어치리 모델) 과 마찬가지로 랜던값을  가지고 오차를 구하는 과정에서 embdding table
  • NNLM은 이전 단어가 주어졌을때, 다음 단어를 구하는 학습과정에 오차를 줄이면서 학습되었으나 텍스트분로ㅠ, 개체명 인식 등 수많은 태스크에도 오차를 줄이며 학습간으
  • Task에 맞도로 embedding vector값이 최적화 된다.

2. 사전 훈련된 임베딩(pre-trained Word Embedding)

  • 정해진 특정 알고리즘에 의해 방대한 데이터를 입력으로 학습시킨 후 여러 Task의 입력으로 사용
  • 대표적인 알고리즘으로  word2Vec, FasText, Glove가 존재 

 

 

 

 

 

728x90
반응형