Я пытаюсь создать список TF-IDF (вместо матрицы) в Python, показывающий косинусное сходство всех документов только с одним. Предположим, у меня есть куча документов:
corpus= ['The first text string', 'The second text string', 'The third text string'...]
Я могу использовать tfidfVectorizer, vect.fit_transform и попарное сходство для получения матрицы. В матрице каждый документ имеет одну строку и один столбец, верно? Вместо этого я хочу только один столбец, показывающий косинусное сходство с первым документом, и строку для каждого другого документа.
Желаемый результат
Я знаю, что я можно сделать это, просто выбрав нужный столбец из матрицы, но это упражнение, которое я хочу проделать с сотнями строк. Я бы хотел опустить этот процесс. Я хотел бы отредактировать свой код, чтобы вычислить только один столбец косинусного сходства, который мне нужен.
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import euclidean_distances
from sklearn.feature_extraction.text import TfidfVectorizer
corpus= ['The first text string', 'The second text string', 'The third text string'...]
vect = TfidfVectorizer(min_df=1, stop_words="english")
tfidf = vect.fit_transform(corpus)
pairwise_similarity = tfidf * tfidf.T
pairwise_similarity = pairwise_similarity.toarray()
pairwise_similarity = pd.DataFrame(pairwise_similarity)