向词袋模型添加新术语

我正在使用k-means聚类来对一组新闻项目进行分组。我使用词袋模型来表示文档,更具体地说,每个文档被表示为术语频率向量。

我的问题是:如何在不重新计算所有术语频率向量的情况下添加新文档(考虑到包含所有文档所有术语的词汇表会发生变化)?


回答:

简单的方法是使用你已经见过的文档的词汇表,忽略任何新术语;这在文档分类中是常见的做法。

另一种近年来变得流行的解决方案是完全放弃词汇表,转而使用特征哈希

第三种可能性是为特征向量预留空间以容纳未来的术语。例如,假设你正在用大小为N的词汇表对一批文档进行向量化,那么你实际上可以将它们转换为大小为N + K的向量,最后的K最初设置为零,这样你以后可以向词汇表中添加最多K个术语。

(直接在哈希表上计算点积、均值等可能不是一个解决方案。这可能是最灵活的方法,但通常非常慢。)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注