如何只对一组给定数据中的单词进行聚类:我已经在网上进行了很少的算法,比如k-Means algotihm,但似乎它们与文档聚类相关而不是单词聚类。任何人都可以建议我一些方法只有一组给定数据中的聚类词。 请新来的python。
答案 0 :(得分:3)
Word集群将真的令人失望,因为计算机不懂语言。
您可以使用 levenshtein距离,然后执行层次聚类。
可是:
dog
和fog
的距离为1,即高度相似。dog
和cat
有3个字母中有3个不同。除非你能定义一个好的相似性度量,否则不要聚集单词。
答案 1 :(得分:3)
基于我的上一个答案确实是一个错误答案的事实,因为它用于文档聚类而不是单词聚类,这是真正的答案。
您要找的是word2vec。 事实上,word2vec是一个基于深度学习的谷歌工具,效果非常好。它将单词转换为矢量表示,因此允许您使用它做多个事情。
例如,其中许多效果良好的例子之一是单词的代数关系:
这意味着它可以包含一个单词的上下文,因此它可以很好地适用于众多应用程序。
当你有向量而不是单词时,你几乎可以做任何你想要的事情。例如,您可以使用余弦距离进行k均值聚类作为相异度的度量...
希望这能很好地回答你的问题。如果您愿意,可以在不同的论文或网站上阅读有关word2vec的更多信息。我不会在这里链接它们,因为它不是问题的主题。