我正在使用k-means聚类来对一组新闻项目进行分组。我使用词袋模型来表示文档,更具体地说,每个文档被表示为术语频率向量。
我的问题是:如何在不重新计算所有术语频率向量的情况下添加新文档(考虑到包含所有文档所有术语的词汇表会发生变化)?
回答:
简单的方法是使用你已经见过的文档的词汇表,忽略任何新术语;这在文档分类中是常见的做法。
另一种近年来变得流行的解决方案是完全放弃词汇表,转而使用特征哈希。
第三种可能性是为特征向量预留空间以容纳未来的术语。例如,假设你正在用大小为N的词汇表对一批文档进行向量化,那么你实际上可以将它们转换为大小为N + K的向量,最后的K最初设置为零,这样你以后可以向词汇表中添加最多K个术语。
(直接在哈希表上计算点积、均值等可能不是一个解决方案。这可能是最灵活的方法,但通常非常慢。)