ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NLP] NLP의 시작 : Tokenization & Embedding 종류
    카테고리 없음 2024. 4. 3. 14:44

    NLP ( Natural Language Processing )의 철학

    • 우리가 일상에서 사용하는 언어(자연어)를 이해하는 능력을 기계에게 부여하는 학문 분야이다
    • 기계는 숫자만을 이해할 수 있다.
    • 따라서 우리는 언어를 숫자로 바꿔야만 한다. 
    • 언어를 숫자로 바꾸기 위해 2가지 사고의 과정을 거치게 된다
      1. text를 어떤 단위(token)으로 나눌 것인가 ( tokenizing )
      2. token을 어떤 숫자로 바꿀 것인가 ( embedding )

     

    Tokenization 종류

    Tokenization 목적 : 의미를 지닌 단위로 자연어를 분절하기 위해서 & Model 학습 시 입력 token의 개수를 맞추기 위해서

     

    다음의 문장의 토큰화를 예시로 들겠다. ( 이 근처 미세먼지 많은지 알아봐 )

    • Morpheme-based tokenization ( 형태소 기반의 토큰화 )
      • 이, 근처, 미세, 먼지, 많, 은지, 알아보, 아
    • Word-based tokenization 
      • 이, 근처, 미세먼지, 많은지, 알아봐
      • 한국어는 단어가 띄어쓰기로 구분되지 않아 적합하지 않다.
    • Subword-based tokenization
      • #이, #근처, #미세먼지, #많은, 지, #알아봐
      • 통계적으로 의미있는 단위로 묶는다.
      • Vocab 에 없는 단어들에 대해서도 좋은 성능을 보인다.
      • OOV, 희귀 단어, 신조어의 문제를 완화할 수 있다.
      • 가장 많이 사용되는 방식이다.
      • 대표적인 방식으로 Byte Pair Encoding(BPE), SentencePiece, Word Piece 방식이 있다.

     

    Word Embedding 종류 

    1. 단어의 출현 빈도수를 기반으로 하는 count-based word embedding
      • Bag of Words, TF-IDF
      • 단어 벡터간의 의미 유사성을 표현할 수 없다.
    2. 단어를 고정된 dense vector로 표현한 word embedding
      • Word2Vec, FastText, Glove
      • 분산 표현이다 : 단어의 의미를 다차원 공간에 벡터화
      • 분산 표현의 가정 : 비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 갖는다.
    3. 주변의 문맥에 따라 단어의 vector가 바뀌는 contextualized word embedding
      • GPT, ELMo, BERT

     

     

     

     

Designed by Tistory.