【发布时间】:2013-12-06 13:52:45
【问题描述】:
我正在尝试使用 Sklearn 的 TfidfVectorizer 对象获取单个文档的 tf-idf 向量。我根据一些训练文档创建了一个词汇表,并使用 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 的向量。我怎样才能使它将字符串视为单个文档,而不是每个字符都是文档?另外,我对文本挖掘非常陌生,所以如果我在概念上做错了什么,那会很高兴知道。任何帮助表示赞赏。
【问题讨论】:
标签: python document text-mining tf-idf