我正在使用 k-means 聚类对一组新闻项目进行分组。我使用词袋模型来表示文档,更具体地说,每个文档都表示为词频向量。
我的问题:如何添加新文档而无需重新计算所有术语频率向量(看到包含所有文档的所有术语的词汇表会改变)?
我正在使用 k-means 聚类对一组新闻项目进行分组。我使用词袋模型来表示文档,更具体地说,每个文档都表示为词频向量。
我的问题:如何添加新文档而无需重新计算所有术语频率向量(看到包含所有文档的所有术语的词汇表会改变)?
简单的解决方案是使用您已经看过的文档中的词汇,忽略任何新术语;这是文件分类的惯例。
近年来流行的另一种解决方案是完全抛弃词汇表并使用特征散列。
第三种可能性是在特征向量中为将来的术语保留空间。例如,假设您正在对具有大小为N的词汇表的一堆文档进行向量化,然后您实际上将它们转换为大小为N + K的向量,最终的K最初设置为零,因此您最多可以将K项添加到以后的词汇。
(可能不是解决方案是直接在哈希表上计算点积、均值等。这将是最灵活的方法,但通常很慢。)