我正在尝试一个相当大的无监督学习项目,并且不确定如何正确使用word2vec。我们正在尝试根据有关客户的统计数据以及他们在我们的网站上采取的行动对客户群进行分类。有人建议我使用word2vec并将用户执行的每个动作都视为“句子”中的单词。此步骤之所以必要,是因为单个客户可以在数据库中创建多行(大致相同的统计信息,但网站上每个操作按时间顺序排列的新行)。为了对这些数据执行kmeans,我们需要将每个客户ID的数据减少到一行。因此,以前的想法是将动作分解为句子“描述用户的动作”中的单词
我的问题是,我在网上遇到了无数的教程和资源,向您展示了如何使用word2vec(与kmeans结合使用)自己对单词进行聚类,但是没有一个教程展示了如何将word2vec输出用作更大的kmeans模型。我需要能够将word2vec模型与有关客户的其他值一起使用。我应该怎么做?如果您想使用编码示例进行具体说明,我正在使用python进行聚类,但是我也可能会缺少一些非常明显和高级的内容。似乎word2vec输出向量,但kmeans需要正数才能工作,不是吗?任何指导表示赞赏。
答案 0 :(得分:0)
有两种常见方法。
答案 1 :(得分:0)
在您的情况下,将单词/句子向量与任何聚类方法或什至是受监督方法结合使用时,上述所有方法都需要固定向量长度。您将必须限制序列长度。您可以使用多种方法将这些序列转换为向量。
将单词向量的这些序列转换为向量是这里的挑战。
您可以将它们取平均值或连接起来,但是这些事情将不是很准确,而且随着时间的推移也不会变得更好。
我发现这张纸非常好……正是您想要的。Try this
构建像这样或使用RNN的好处是,除了将它们聚类之外,以后您可以使用相同的模型来尝试预测下一个最可能的操作。