首页 > 解决方案 > Python:聚类搜索关键字

问题描述

对于数据集中的每个产品,我都有很多“搜索关键字”。我尝试根据产品的“搜索关键字”对产品进行聚类。

我想要做的是将这些关键字聚集成“相似含义”的集群,并创建集群的层次结构(按每个集群的搜索总数的顺序排列)。

一个示例集群 - “女装” - 理想情况下包含以下关键字:女装、1000 件女装、300 件女装、50 件女装、6 件女装、2。

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

标签: python-3.xnlpnltkcluster-analysis

解决方案


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

  • 预处理您的标签:标记您的标签:women's clothing-> ["women's", "clothing"]看这里
  • 词形还原:["women's", "clothing"]->["woman", "clothing"] 看这里
  • 计算每个单词的向量:vec1 = model.get_word_vector("woman")
  • 平均给定标签的所有向量:avg= (vec1 + vec2)/2 这些平均向量应该代表您的标签。和的平均向量 应该与woman和的平均值在同一区域内。另一方面,和的平均向量应该位于向量空间中的不同区域,因此您首选的聚类算法应能捕捉到它。clothingwomanwearmanclothing

推荐阅读