【发布时间】:2015-11-22 01:22:25
【问题描述】:
我想仅使用一组句子的 tf*idf 矩阵来获取给定句子中单词的计数。我使用来自 sklearn.feature_extraction.text 的 TfidfVectorizer。
例子:
from sklearn.feature_extraction.text import TfidfVectorizer
sentences = ("The sun is shiny i like the sun","I have been exposed to sun")
vect = TfidfVectorizer(stop_words="english",lowercase=False)
tfidf_matrix = vect.fit_transform(sentences).toarray()
我希望能够仅使用 tfidf_matrix[0] 和可能的 vect.idf_ 来计算“太阳”一词在第一句(即 2)中出现的次数。 我知道有无数种方法可以获得词频和字数,但我有一个特殊情况,我只有一个 tfidf 矩阵。 我已经尝试将第一句中单词“sun”的 tfidf 值除以其 idf 值得到 tf.然后我将 tf 乘以句子中的单词总数,得到单词数。不幸的是,我得到了错误的值。
【问题讨论】:
-
你能适应另一个 tfidf 矩阵吗?有一个选项
use_idf可以设置为False。 -
其实我做不到。但是,让我们假设我可以。将
use_idf设置为False将允许我拥有术语频率(我已经可以通过将 tf*idf 值除以 idf 值来获得)。如何根据词频值计算字数? -
对不起,我现在意识到我误解了提示。您是否也在规范化术语向量?
-
没问题.. 是的,默认范数设置为“l2”,所以是的术语向量被归一化。
标签: python nlp scikit-learn tf-idf