더북(TheBook)

10.1.2 횟수 기반 임베딩

횟수 기반은 단어가 출현한 빈도를 고려하여 임베딩하는 방법입니다. 대표적으로 카운터 벡터와 TF-IDF가 있습니다.

 

카운터 벡터

카운터 벡터(counter vector)는 문서 집합에서 단어를 토큰으로 생성하고 각 단어의 출현 빈도수를 이용하여 인코딩해서 벡터를 만드는 방법입니다. 즉, 토크나이징과 벡터화가 동시에 가능한 방법입니다.

카운터 벡터는 사이킷런의 CountVectorizer()를 사용하여 코드로 구현할 수 있습니다. CountVectorizer()는 다음 작업이 가능합니다.

1. 문서를 토큰 리스트로 변환합니다.

2. 각 문서에서 토큰의 출현 빈도를 셉니다.

3. 각 문서를 인코딩하고 벡터로 변환합니다.

 

다음은 사이킷런을 이용한 예제입니다.

코퍼스를 정의하고 CountVectorizer() 객체를 생성합니다.

코드 10-2 코퍼스에 카운터 벡터 적용

from sklearn.feature_extraction.text import CountVectorizer
corpus = [
    'This is last chance.',
    'and if you do not have this chance.',
    'you will never get any chance.',
    'will you do get this one?',
    'please, get this chance',
]
vect = CountVectorizer()
vect.fit(corpus)
vect.vocabulary_
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.