Я пытаюсь получить вектор tf-idf для одного документа, используя объект TfidfVectorizer Sklearn. Я создаю словарь на основе некоторых учебных документов и использую fit_transform для обучения TfidfVectorizer. Затем я хочу найти векторы tf-idf для любого заданного тестового документа.
from sklearn.feature_extraction.text import TfidfVectorizer
self.vocabulary = "a list of words I want to look for in the documents".split()
self.vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word',
stop_words='english')
self.vect.fit_transform(self.vocabulary)
...
doc = "some string I want to get tf-idf vector for"
tfidf = self.vect.transform(doc)
Проблема в том, что это возвращает матрицу с n строками, где n - размер моей строки документа. Я хочу, чтобы он возвращал только один вектор, представляющий tf-idf для всей строки. Как я могу сделать так, чтобы строка отображалась как единый документ, а не каждый символ как документ? Кроме того, я новичок в интеллектуальном анализе текста, поэтому, если я делаю что-то не так концептуально, было бы здорово узнать. Любая помощь приветствуется.