Bag of Words

단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도 (frequency) 에만 집중하는 텍스트 데이터의 수치화 표현 방법

A.1) 장점

  1. 간단하다.

A.2) 단점

  1. 단어 간 순서의 정보를 잃게 된다.
    1. bag of n-grams 모델을 사용하면, 순서 이슈를 어느정도 해소할 수 있다.
  2. data sparsity & high dimensionality 문제가 존재한다.
  3. 모델이 단어의 실질적인 의미를 학습하지 못한다. 그래서 bag-of-words 를 통해 얻어진 vector 간 거리가 의미 자체의 다름을 의미하지 않는다.
    1. Word2Vec 모델을 통해 의미 학습 이슈를 해소할 수 있다.

B) BoW 만들기

  1. 단어 집합 생성: 각 단어에 고유한 정수 인덱스를 부여함
  2. 각 인덱스의 위치에 단어 토큰의 등장 횟수를 기록한 벡터를 만듬

C) 예시

doc1 = "정부가 발표하는 물가상승률과 소비자가 느끼는 물가상승률은 다르다."
vocabulary : {'정부': 0, '가': 1, '발표': 2, '하는': 3, '물가상승률': 4, '과': 5, '소비자': 6, '느끼는': 7, '은': 8, '다르다': 9}
bag of words vector : [1, 2, 1, 1, 2, 1, 1, 1, 1, 1]

D) Related

E) References