我想使用scikit-learn的HashingVectorizer
,因为它非常适合在线学习问题(文本中的新标记保证会映射到一个“桶”中)。不幸的是,scikit-learn中包含的实现似乎不支持tf-idf特征。将向量化器的输出通过TfidfTransformer
传递,是让在线更新与tf-idf特征一起工作的唯一方法吗,还是有更优雅的解决方案?
回答:
本质上,你无法以在线方式使用TF-IDF,因为随着每一个新文档的加入,所有过去特征的IDF都会发生变化——这意味着需要重新访问并重新训练所有之前的文档,这将不再是“在线”的方式。
可能有一些近似方法,但你需要自己实现它们。