Python:聚类搜索关键字

Python: Clustering Search Keywords

对于数据集中的每个产品,我都有很多 "Search Keywords"。我尝试根据 "Search Keywords".

对产品进行聚类

我要做的是将这些关键字聚类到 "similar meaning" 的聚类中,并创建聚类的层次结构(按每个聚类的搜索总数的顺序排列)。

示例集群 - "women's clothing" - 理想情况下包含以下关键字:women's clothing, 1000 ladies wear, 300 women's clothes, 50 ladies' clothing, 6 women wear, 2.

我是 NLP 的初学者。您对这项任务的 NLP 技术有什么建议吗?任何帮助将不胜感激:-)

我建议使用一些预训练的词向量,例如fastText,这样你就不用担心训练和训练数据了。您需要做什么:

  • 预处理您的标签:标记您的标签:women's clothing -> ["women's", "clothing"]see here
  • 词形还原:["women's", "clothing"] -> ["woman", "clothing"] see here
  • 计算每个单词的向量:vec1 = model.get_word_vector("woman")
  • 对给定标签的所有向量取平均值:avg= (vec1 + vec2)/2 这些平均向量应该代表您的标签。 womanclothing 的平均向量应该与 womanwear 的平均向量位于同一区域。另一方面,manclothing 的平均向量应该位于向量 space 的不同区域,因此您的首选 clustering algorithm 应该能捕捉到它。