【发布时间】:2019-10-04 22:29:45
【问题描述】:
我正在尝试一个相当大的无监督学习项目,但不确定如何正确利用 word2vec。我们正在尝试根据一些关于他们的统计数据以及他们在我们的网站上采取的行动来对客户群体进行聚类。有人建议我使用 word2vec 并将用户执行的每个操作都视为“句子”中的一个单词。这一步是必要的原因是因为单个客户可以在数据库中创建多行(大致相同的统计信息,但网站上每个操作的新行按时间顺序排列)。为了对这些数据执行 kmeans,我们需要将其减少到每个客户 ID 一行。因此,之前的想法是将动作分解为“描述用户动作”的句子中的单词
我的问题是,我在网上遇到了无数教程和资源,这些教程和资源向您展示了如何使用 word2vec(与 kmeans 结合)来自行对单词进行聚类,但没有一个显示如何将 word2vec 输出用作更大的kmeans模型。我需要能够将 word2vec 模型与有关客户的其他价值观一起使用。我该怎么办?如果您想具体说明编码示例,我将使用 python 进行聚类,但我也可能只是遗漏了一些超级明显和高级别的东西。似乎 word2vec 输出向量,但 kmeans 需要直数才能工作,不是吗?任何指导表示赞赏。
【问题讨论】:
-
总共(最大可能)操作有多少??
-
用户可以执行大约 36 种不同的操作。但该列包含用户采取的所有 操作的列表。由于没有最小或最大操作数,这些列表的长度不同。
-
好的。只是想了解是否有 36 个动作,并说每个动作都有一个唯一 ID 例如,动作 1 的 id = 1。然后列表看起来像 - [1,3,5,36],[2,5, 6,2,6,7,4]。还有两个问题 - 可以为用户重复该操作吗?他们的动作有顺序吗??
-
是的,每个用户都可以重复这些操作。虽然从技术上讲是有顺序的,但从功能上讲是没有的。例如,一组操作可能如下所示:[主页、搜索、产品列表页面、产品页面、产品列表页面、产品页面、搜索、产品页面、结帐]
-
在您的情况下,使用任何聚类方法或什至监督方法的单词/句子向量的问题是,上述所有方法都需要固定的向量长度。您必须限制序列长度。
标签: python cluster-analysis k-means word2vec unsupervised-learning