Я пытаюсь получить косинусное сходство между текстом и текстами, содержащимися в массиве.
Я работал над этим кодом:
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
text1 = 'Hola me llamo Luis'
text2 = 'Ayer Juan se compró una casa'
text3 = 'Casiguagua está más gordo que un manatí'
text4 = 'Y encima le huelen los pies'
text5 = 'HOlA ME LLAMO PEPE'
tweets = [text1, text2, text3, text4]
vectorizer = TfidfVectorizer(max_features=10000)
vectorizer.fit(tweets)
text1_vector = vectorizer.transform([text1])
text2_vector = vectorizer.transform([text2])
text3_vector = vectorizer.transform([text3])
text4_vector = vectorizer.transform([text4])
text5_vector = vectorizer.transform([text5])
buffer = []
buffer.append(text1_vector)
buffer.append(text2_vector)
buffer.append(text3_vector)
buffer.append(text4_vector)
similarity = cosine_similarity(text5_vector.reshape(1,-1), buffer)
Мой тип векторов:
scipy.sparse.csr.csr_matrix
Итак, я думаю, мне придется передать свой буфер в csr_matrix, но я не знаю, как это сделать.
Я также пытался инициализировать свой буферкак np.array([])
объект, но я не могу добавить векторы в буфер позже.Есть идеи, что мне не удается?