Python: tf-idf-cosine: найти сходство документа

Я следовал учебнику, который был доступен наЧасть 1 & Амп;Часть 2, К сожалению, у автора не было времени для заключительного раздела, в котором использовалось косинусное сходство, чтобы фактически найти расстояние между двумя документами. Я следовал за примерами в статье с помощью следующей ссылки отпереполнение стекавключен код, упомянутый в приведенной выше ссылке (чтобы облегчить жизнь)

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from nltk.corpus import stopwords
import numpy as np
import numpy.linalg as LA

train_set = ["The sky is blue.", "The sun is bright."]  # Documents
test_set = ["The sun in the sky is bright."]  # Query
stopWords = stopwords.words('english')

vectorizer = CountVectorizer(stop_words = stopWords)
#print vectorizer
transformer = TfidfTransformer()
#print transformer

trainVectorizerArray = vectorizer.fit_transform(train_set).toarray()
testVectorizerArray = vectorizer.transform(test_set).toarray()
print 'Fit Vectorizer to train set', trainVectorizerArray
print 'Transform Vectorizer to test set', testVectorizerArray

transformer.fit(trainVectorizerArray)
print
print transformer.transform(trainVectorizerArray).toarray()

transformer.fit(testVectorizerArray)
print 
tfidf = transformer.transform(testVectorizerArray)
print tfidf.todense()

В результате приведенного выше кода у меня есть следующая матрица

Fit Vectorizer to train set [[1 0 1 0]
 [0 1 0 1]]
Transform Vectorizer to test set [[0 1 1 1]]

[[ 0.70710678  0.          0.70710678  0.        ]
 [ 0.          0.70710678  0.          0.70710678]]

[[ 0.          0.57735027  0.57735027  0.57735027]]

Я не уверен, как использовать этот выход для вычисления косинусного сходства, я знаю, как реализовать косинусное сходство в отношении двух векторов одинаковой длины, но здесь я не уверен, как идентифицировать эти два вектора.

Ответы на вопрос(6)

Ваш ответ на вопрос