最近,我开始阅读有关NLP的更多信息,并开始阅读Python后续教程,以了解有关该主题的更多信息。在阅读其中一本教程时,我观察到它们在每个推文(使用CountVectorizer创建)中都使用了稀疏的字数统计矩阵作为TfidfTransformer的输入,后者处理数据并将其馈送到分类器以进行训练和预测。

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


由于未提供任何解释,所以我无法理解其背后的思考过程……这不只是常规的单词袋吗?不能仅使用其中一个功能(例如Tfidf)来完成此操作吗?

任何澄清将不胜感激。

最佳答案

单词袋是CountVectorizer的作用–用每个句子的单词计数构建向量。

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

管道的这一部分可以用TfidfVectorizer代替–实际上是BoW + TfIdf。后来很少在没有BoW的情况下使用,因此如果分类器是您最后需要的所有东西,那么组合版本就很有意义

关于python - CountVectorizer输出用作TfidfTransformer输入与TfidfTransformer(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54754850/

10-12 18:23