코퍼스를 정의하고 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)들을 걸러 내거나 특정 단어에 대한 중요도를 찾을 수 있습니다.