【问题标题】:Clustering words into groups将单词聚类成组
【发布时间】:2012-11-25 23:52:22
【问题描述】:

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

  1. 为整个组生成 k 个随机均值
  2. 通过将每个单词与最接近的均值相关联来创建 K 个聚类
  3. 计算每个集群的质心,成为新的均值
  4. 重复第 2 步和第 3 步,直到达到某个基准/收敛。

理论上,我有点明白,但不完全明白。我认为在每一步,我都有与之相对应的问题,这些是:

  1. 我如何决定 k 随机均值,技术上我可以说 5,但这不一定是一个好的随机数。那么这个 k 是纯粹的随机数还是实际上是由启发式驱动的,例如数据集的大小、涉及的单词数等

  2. 如何将每个单词与最接近的意思相关联?从理论上讲,我可以得出结论,每个单词都通过它与最近均值的距离相关联,因此如果有 3 个均值,则属于特定聚类的任何单词都取决于它与哪个均值的距离最短。但是,这实际上是如何计算的?在两个单词“group”、“textword”之间并假设一个意思是“pencil”,我如何创建一个相似度矩阵。

  3. 如何计算质心?

  4. 当您重复第 2 步和第 3 步时,您是在假设之前的每个集群都是一个新数据集吗?

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

【问题讨论】:

    标签: cluster-analysis k-means text-analysis


    【解决方案1】:

    由于您不知道确切的集群数量 - 我建议您使用一种分层集群

    1. 想象一下,您所有的文字都只是非欧几里得空间中的一个点。使用 Levenshtein distance 计算单词之间的距离(如果您想检测词典上相似的单词集群,它非常有用)
    2. 构建 minimum spanning tree 包含你所有的话
    3. 删除链接,其长度大于某些阈值
    4. 链接组的词是相似词的集群

    这是一个小插图:

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

    P.P.S.如果你想检测语义相似词的集群,你需要一些自动词库构建算法

    【讨论】:

    • 我不知道 Lehevenstein 距离如何帮助计算两个词之间的距离相似度
    • 感谢您向正确方向轻推。我所做的是创建一个具有 levenshtien 距离的相关矩阵,然后根据阈值选择相似的单词。这不是最好的方法,但是,数据高度非结构化,模型无监督,我能做的不多
    【解决方案2】:

    您必须为 k-means 选择“k”是 k-means 的最大缺点之一。 但是,如果您使用此处的搜索功能,您会发现许多问题涉及选择 k 的已知启发式方法。主要是通过比较多次运行算法的结果。

    至于“最近”。 K-means 实际上不使用距离。有些人认为它使用欧几里得,其他人说它是平方欧几里得。从技术上讲,k-means 感兴趣的是方差。它通过将每个对象分配给集群以使方差最小化,从而最小化整体方差。巧合的是,平方偏差的总和 - 一个对象对总方差的贡献 - 在所有维度上正是平方欧几里得距离的定义。而且由于平方根是单调的,所以也可以用欧式距离代替。

    无论如何,如果要对单词使用 k-means,首先需要将单词表示为平方欧几里得距离有意义的向量。我认为这并不容易,甚至不可能。

    【讨论】:

      【解决方案3】:

      关于距离:其实Levenshtein(或编辑)距离满足三角不等式。它还满足成为度量的其余必要属性(并非所有距离函数都是度量函数)。因此,您可以使用此度量函数实现聚类算法,这就是您可以用来计算相似度矩阵 S 的函数:

      -> S_{i,j} = d(x_i, x_j) = S_{j,i} = d(x_j, x_i)

      值得一提的是,Damerau-Levenshtein 距离不满足三角不等式,所以要小心。

      关于 k-means 算法:是的,在基本版本中,您必须手动定义 K 参数。对于给定的指标,算法的其余部分是相同的。

      【讨论】:

        猜你喜欢
        • 2017-08-01
        • 2019-10-29
        • 1970-01-01
        • 2013-04-19
        • 2019-12-23
        • 2017-06-16
        • 2020-04-16
        • 1970-01-01
        • 2012-08-20
        相关资源
        最近更新 更多