2

最近,我开始阅读更多关于 NLP 的内容并关注 Python 教程,以了解有关该主题的更多信息。在遵循其中一个教程时,我观察到他们使用每条推文中的字数稀疏矩阵(使用 CountVectorizer 创建)作为 TfidfTransformer 的输入,TfidfTransformer 处理数据并将其提供给分类器进行训练和预测。

pipeline = Pipeline([
     ('vect', CountVectorizer()),
     ('tfidf', TfidfTransformer()),
     ('clf', LogisticRegression())
])

由于没有提供任何解释,我无法理解这背后的思考过程……不就是一个普通的词袋吗?这不能通过仅使用其中一个函数来完成,例如,只使用 Tfidf 吗?

任何澄清将不胜感激。

4

1 回答 1

4

词袋是做什么CountVectorizer的——用每个句子的字数构建向量。

TfIdf采用 BoW 并将该矩阵转换为tf-idf - 句子中的频率 + 倒置文档频率。

这部分管道可以替换为TfidfVectorizer- 实际上是 BoW + TfIdf。如果没有 BoW,Later 很少使用,因此如果您最终只需要分类器,那么组合版本是有意义的

于 2019-02-18T20:30:04.760 回答