微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cluster-analysis – 将单词聚类成组

这是一个家庭作业问题.我有一个充满文字的巨大文件.我的挑战是将这些单词分类为充分代表单词的不同组/群.我处理它的策略是使用K-Means算法,如您所知,采用以下步骤.

>为整个组生成k随机方法
>通过将每个单词与最近的平均值相关联来创建K个群集
>计算每个集群的质心,这成为新的意思
>重复步骤2和步骤3,直到达到某个基准/收敛.

从理论上讲,我有点得到它,但并不完全.我想在每一步,我都有与之相对应的问题,这些是:

>我如何决定k随机方法,技术上我可以说5,但这可能不一定是一个好的随机数.那么这个k纯粹是一个随机数,还是实际上是由启发式驱动的,例如数据集的大小,涉及的单词数量等等
>你如何将每个单词与最近的平均值相关联?从理论上讲,我可以得出结论,每个单词与距离最近均值的距离相关联,因此,如果有3个均值,则任何属于特定聚类的单词都取决于它具有最短距离的平均值.但是,这实际上是如何计算的?在两个单词“group”,“textword”和假设一个平均单词“pencil”之间,我如何创建一个相似性矩阵.
>你如何计算质心?
>当您重复步骤2和步骤3时,您假设每个先前的群集都是新的数据集?

很多问题,我显然不清楚.如果有任何我可以阅读的资源,那就太好了.维基百科还不够:(

解决方法

因为你不知道确切的簇数 – 我建议你使用一种层次聚类:

>想象一下,所有的词语都只是非欧几里德空间中的一个点.使用Levenshtein distance计算单词之间的距离(如果你想检测字典相似单词的集群,它的效果很好)
> Build minimum spanning tree,其中包含您的所有单词
>删除长度大于某个阈值的链接
>链接的单词组是相似单词的集群

这是一个小插图:

附:你可以在网上找到很多论文,其中描述了基于最小生成树构建的聚类

P.P.S.如果要检测语义相似的单词集群,则需要一些自动同义词库构造的算法

原文地址:https://www.jb51.cc/html/226076.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐