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
这些平均向量应该代表您的标签。 woman
和 clothing
的平均向量应该与 woman
和 wear
的平均向量位于同一区域。另一方面,man
和 clothing
的平均向量应该位于向量 space 的不同区域,因此您的首选 clustering algorithm 应该能捕捉到它。
对于数据集中的每个产品,我都有很多 "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
这些平均向量应该代表您的标签。woman
和clothing
的平均向量应该与woman
和wear
的平均向量位于同一区域。另一方面,man
和clothing
的平均向量应该位于向量 space 的不同区域,因此您的首选 clustering algorithm 应该能捕捉到它。