Создать список TF-IDF (не матрицу) в Python - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать список 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)

...