텍스트 표현

텍스트 표현의 정의

  • Text Representation
  • 텍스트를 컴퓨터가 이해하고 처리할 수 있는 수치 형태로 변환하는 것

텍스트 표현의 방식

텍스트 표현 방식의 종류

방법론 영문명칭 설명 예시
등장 횟수 기반 방식 count-based 텍스트에 등장하는 단어의 빈도를 활용하여 벡터로 표현하는 방식 Bag of Words
TF-IDF
분포 기반 방식 distributed 단어의 의미를 벡터 공간에 표현하는 방식 Word2Vec
GloVe
FastText
신경망 기반 방식 neural network-based 하나의 단어도 문맥에 따라 다른 벡터로 표현 RNN/LSTM/GRU기반
Transformer기반

(1) 등장 횟수 기반 표현

  • count-based representation
  • 텍스트에 등장하는 단어의 빈도를 활용해 벡터로 표현하는 방식
  • 단어의 순서는 고려하지 않고, 단어의 출현 유무 또는 횟수에만 집중
기법 설명
Bag of Words - 모든 문서에 등장한 모든 단어에 고유 인덱스를 부여하고, 각 문서를 해당 단어들의 등장 횟수로 표현한 벡터를 만든다.
- 간단하고 구현이 쉽고, 문서의 주제 파악에 유용하다.
- 단어의 순서를 완전히 무시하는 단점
- 또한 모든 단어에 대한 벡터를 만드므로 벡터의 차원이 커지고 0이 많은 Sparse Vector 가 되기 쉽다.
TF-IDF - 단순 빈도 뿐만 아니라, 그 단어가 전체 문서 집합에서 얼마나 희귀하게 나타나는지를 함께 고려해 단어의 중요도를 측정한다
- 특정 문서에서 중요한 역할을 하는 단어를 잘 부각시켜준다.
- 하지만 차원이 커지고 희소행렬이 되기 쉽다는 단점은 같다.

(2) 분포 기반 표현

  • distributed representation
  • 또는 단어 임베딩(Word Embedding)
  • 단어의 의미를 벡터 공간에 표현하는 방식이다.
  • 비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 가진다는 분포 가설(Distributional Hypothesis)에 기반한다.
  • 단어를 밀집 벡터(Dense Vector)로 표현해 희소성 문제를 해결하고 단어의 의미적, 문법적 관계를 반영한다.
기법 설명
Word2Vec - 가장 기본이 되는 단어 임베딩 모델
- 주변 단어를 통해 중심 단어를 예측하거나(CBOW)
- 중심 단어를 통해 주변 단어를 예측하는(Skip-gram)방식으로 학습된다.
GloVe - Global Vectors for Word Representation
- 단어의 전역적인 동시 출현 빈도 정보를 활용해
- Word2Vec의 단점인 지역적 문제만 고려한다는 점을 보완한 모델
FastText - 단어를 문자 n-gram의 조합으로 표현하여
- 오타나 미등록 단어(OOV)문제에 강한 모델
- 형태론적 정보를 잘 포착한다.

(3) 신경망 기반 표현

  • Neural Network-based Representation
  • 최근 딥러닝 기반 모델에서 주로 사용하는 방식으로
  • 하나의 단어도 문맥에 따라 다른 벡터로 표현하는 방식이다.
기법 설명
RNN/LSTM/GRU 기반 임베딩 - 초기 시퀀스 모델에서 사용됨
- 단어 벡터를 순차적으로 입력받아 문맥 정보를 반영한 최종 벡터를 만듦
Transformer 기반 임베딩 - 어텐션 매커니즘을 사용해 입력 문장 전체를 동시에 고려하며 문맥을 파악함
- 문장 내의 동일한 단어라도 문맥에 따라 다른 으미를 반영한 임베딩 벡터를 생성함
- 현대 NLP의 표준으로 자리 잡고 있음

Reference

  • 검증 필요

Comments