我正在使用预先训练的fastText()向量对简短的聊天消息进行聚类。这意味着结果矢量将是组成消息的令牌的平均值。
我最初开始使用k-means,但现在我想知道这是否是正确的选择。例如,K-means使用欧几里得距离,而在大多数情况下,单词嵌入相似度是使用余弦相似度来计算的。
在这种情况下如何选择正确的聚类方法?
答案 0 :(得分:0)
有趣的是,word2vec中向量的长度似乎对应于单词的“重要性”,其中角度对应于含义,因此答案将取决于对您的用例而言最重要的事物。
如果对向量进行归一化,则欧氏距离和余弦距离将相同。
您可能想尝试Annoy(由Spotify工程技术制造)-这使您可以使用不同的距离度量来构建集群:https://github.com/spotify/annoy