더북(TheBook)

코퍼스를 정의하고 TfidfVectorizer()를 적용한 후 유사도를 계산하여 행렬로 표현합니다.

코드 10-5 TF-IDF를 적용한 후 행렬로 표현

from sklearn.feature_extraction.text import TfidfVectorizer
doc = ['I like machine learning', 'I love deep learning', 'I run everyday']
tfidf_vectorizer = TfidfVectorizer(min_df=1)
tfidf_matrix = tfidf_vectorizer.fit_transform(doc)
doc_distance = (tfidf_matrix * tfidf_matrix.T)
print('유사도를 위한', str(doc_distance.get_shape()[0]), 'x', str(doc_distance.get_shape()[1]), 행렬을 만들었습니다.')
print(doc_distance.toarray())

다음은 TF-IDF를 적용한 후 행렬로 표현한 결과입니다.

유사도를 위한 3 x 3 행렬을 만들었습니다.
[[1.       0.224325 0.     ]
 [0.224325 1.       0.     ]
 [0.       0.       1.     ]]

TF-IDF 값은 특정 문서 내에서 단어의 출현 빈도가 높거나 전체 문서에서 특정 단어가 포함된 문서가 적을수록 TF-IDF 값이 높습니다. 따라서 이 값을 사용하여 문서에 나타나는 흔한 단어( a, the)들을 걸러 내거나 특정 단어에 대한 중요도를 찾을 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.