더북(TheBook)

변수 corpus의 출력 결과를 보면 네 문장이 모두 잘 담겼다. 당연하다고 생각할 수도 있지만 이렇게 당연한 것에서도 오류가 날 수 있기 때문에 확인하는 습관을 갖는 것이 좋다.

데이터가 완성됐으므로 이제 sklearn.feature_extraction.text의 CountVectorizer()를 통해 BOW 인코딩 벡터를 만든다.

from sklearn.feature_extraction.text import CountVectorizer

다음으로 문장에서 노출되는 feature(특징이 될 만한 단어) 수를 합한 문서 단어 행렬(Document Term Matrix, 이하 dtm)을 반환하고, fit()으로 문서에 있는 모든 토큰의 단어 사전을 학습시킨다. 마지막으로 transform()으로 문서를 단어 빈도수가 들어 있는 단어-문서 행렬로 변환한다.

cvect = CountVectorizer()
cvect.fit(corpus)
dtm = cvect.transform(corpus)
dtm

실행 결과

<4x9 sparse matrix of type '<class 'numpy.int64'>'
 with 14 stored elements in Compressed Sparse Row format>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.