사이킷런에서는 cosine_similarity를 계산하는 기능을 제공한다. 앞의 TF-IDF 잠재 디리클레 할당에서는 dtm_tfidf를 사용해 LDA_model로 학습시켰는데, 여기서는 TF-IDF 가중치가 적용된 특정 문서 단어 벡터를 불러와서 전체 문서 단어 행렬과의 거리를 계산해 보겠다.
from sklearn.metrics.pairwise import cosine_similarity similarity_simple_pair = cosine_similarity(dtm_tfidf[0] , dtm_tfidf) result_list = similarity_simple_pair.tolist()[0]
result_list를 ‘유사도’ 파생 변수로 생성하고 유사도가 높은 순으로 정렬한다. 유사도가 높은 문서는 거리가 가깝다고 볼 수 있으므로, 이 방법을 응용하면 문의에 대한 비슷한 질문을 추천해 보여 주는 등과 같이 활용할 수 있다.