10장 자연어 처리를 위한 임베딩

임베딩

임베딩(embedding) : 자연어(사람이 사용하는 언어)를 컴퓨터가 이해할 수 있는 언어(숫자) 형태인 벡터로 변환한 결과 혹은 일련의 과정

임베딩 방법의 따른 분류

  • 희소 표현 기반 임베딩 : 희소 표현(sparse representation)은 대부분의 값이 0으로 채워져 있는 경우이다. -> 대표적으로 원-핫 인코딩이 있다. (p.399)

    • 이 임베딩 기법은 2가지 문제점이 있는데 대부분의 요소가 0이라서 벡터의 내적을 구해도 0이라서 직교를 이룬다. -> 요소들이 관계성이 없고 독립적이다.
    • 단어를 표현하는데 말뭉치 수 만큼 차원이 존재해서 복잡해지고, 차원의 저주(curse of dimension)을 야기한다.
  • 횟수 기반 임베딩 : 단어의 출현 빈도를 고려하는 임베딩 기법. -> 카운터 벡터, TF-IDF가 대표격

    • 카운터 벡터 : 문서 집합에서 단어를 토큰으로 생성하고 각 단어의 출현 빈도수를 이용하여 인코딩해서 벡터를 만드는 방법. -> 토크나이징과 벡터화가 동시에 가능하다. (p.400)
    • TF-IDF(Term Frequency-Inverse Document Frequency) : 정보 검색론에서 가중치를 구할 때 사용되는 알고리즘 (p.402)
  • 예측 기반 임베딩 : 신경망 구조 혹은 모델을 이용하여 특정 문맥에서 어떤 단어가 나올지를 예측하면서 단어를 벡터로 만드는 방식. -> 워드투벡터가 대표적

    • 워드투벡터 : 주어진 텍스트에서 텍스트의 각 단어마다 하나씩 일련의 벡터를 출력하는 신경망 알고리즘 (p.405)
    • CBOW, skip-gram, FastText 방식도 있다.
  • 횟수/예측 기반 임베딩 : 횟수 기반과 예측 기반의 단점을 보완하기 위한 임베딩 기법

    • 글로브(Glove, Global Vectors for Word Representation) : 횟수 기반의 LSA와 예측 기반의 워드투벡터 단점을 보안하기 위한 모델 (p.414)

트랜스포머 어텐션

어텐션을 기반으로 하는 Transformer, seq2seq, BERT, ELMO 등을 소개하고 구현한다.

나중에 블로그에 더 자세하게 다룰 내용들이다.

한국어 임베딩

한국어 임베딩 예시(p.451)

요약

자연어 처리를 위한 임베딩과 임베딩된 벡터들을 여러 모델에 사용해보는 장이었다.

profile
Learning bunch, mostly computer and language

0개의 댓글

Powered by GraphCDN, the GraphQL CDN