向词袋模型添加新术语
Posted
技术标签:
【中文标题】向词袋模型添加新术语【英文标题】:Adding new terms to a bag-of-words model 【发布时间】:2012-06-17 10:00:15 【问题描述】:我正在使用 k-means 聚类对一组新闻项目进行分组。我使用词袋模型来表示文档,更具体地说,每个文档都表示为词频向量。
我的问题:如何添加新文档而无需重新计算所有术语频率向量(看到包含所有文档的所有术语的词汇表会改变)?
【问题讨论】:
【参考方案1】:简单的解决方案是使用您已经看过的文档中的词汇,忽略任何新术语;这是文档分类的惯例。
近年来流行的另一种解决方案是完全放弃词汇并使用feature hashing。
第三种可能性是在特征向量中为将来的术语保留空间。例如,假设您正在对一组具有大小为 N 的词汇表的文档进行向量化,然后您实际上将它们转换为大小为 N + K 的向量em>,最后的 K 最初设置为零,因此您以后最多可以将 K 个术语添加到词汇表中。
(直接在哈希表上计算点积、均值等可能不是解决方案。这将是最灵活的方法,但通常非常很慢。)
【讨论】:
你知道这在 scikit 的 TfidfVectorizer 中是如何实现的吗? @pnsilva:到底是什么?忽略新术语是TfidfVectorizer.transform
所做的;功能散列是您真正的work in progress;不直接支持第三种可能性。以上是关于向词袋模型添加新术语的主要内容,如果未能解决你的问题,请参考以下文章
向产品属性添加新术语并将其设置在 Woocommerce 中的产品中