我有一系列字符串,它们是来自多个商店的产品名称。现在,无论列出的商店如何,我都需要对该数组进行集群以获得包含相同产品的集群。
例如:
data = ["Laptop Asus xd45jkl",
"Laptop Acer d3000",
"Notebooh Hp hxsss",
"Laptop Asus xd45jkl intel core i7",
"Laptop Acer d3000 intel core i5 4gb RAM"
]
desired_output = [["Laptop Asus xd45jkl", Laptop Asus xd45jkl intel core i7],
["Laptop Acer d3000", "Laptop Acer d3000 intel core i5 4gb RAM"]
[""Notebooh Hp hxsss""]
]
作为产品名称之间的距离,我认为 JaroWinkler 从amatch gem。有没有类似 k-means 的算法或其他算法可以产生这个字符串数组的聚类?