解决聚类问题

机器算法验证 聚类
2022-03-28 14:42:38

假设我有一个监视新闻提要的程序,并且在监视它时,我想发现一堆故事何时出现标题中带有特定关键字。理想情况下,我想知道什么时候有不寻常数量的故事聚集在一起。

我对统计分析完全陌生,我想知道您将如何解决这个问题。您如何选择要考虑的变量?问题的哪些特征会影响您对算法的选择?那么,你选择什么算法,为什么?

谢谢,如果问题需要澄清,请告诉我。

4个回答

您可以尝试潜在语义分析,它基本上提供了一种在缩小的空间中表示您的新闻提要和任何术语(在您的情况下,关键字出现在标题中)的方法。由于它依赖于奇异值分解,我想您可以检查这两个属性之间是否存在特定关联。我知道这用于查找与特定标准集匹配的文档,例如在信息检索中,或者基于大型语料库(这里扮演概念空间的角色)构建反映术语相似性的树(如字典)。

请参阅Landauer 等人的“潜在语义分析简介”。

此外,还有一个实现此技术的 R 包,即lsa

这个问题的传统解决方案是对新闻故事使用向量表示,然后对向量进行聚类。向量是数组,其中每个条目代表一个词或词类。与每个单词关联的值将是tf-idf权重。该值越高,文档中的单词越频繁,而该单词在整个文档集合中的频率越低。

您可能将标题视为文档,但只为新闻故事提供标题可能会有点冒险聚集相似的故事。问题在于,通过使用字数统计,您将丢弃所有关于单词顺序的信息。较长的文本通过使用词汇来区分文档来弥补丢失的信息(提到金融金钱的文章……比提到遍历庞加莱的文章更接近)。

如果你想坚持标题,一个想法是将单词对视为你在向量表示中使用的单词。所以对于标题The eagle has Landed,你会想到老鹰老鹰有已经登陆作为“话”。

要发现集群何时变得更大或与其他集群不同,您需要制定决策程序。

您要问的这个问题称为文本挖掘!

您需要考虑几件事情。例如,在您提到在标题中使用关键字的问题中。有人可能会问“为什么不是文章中的文字而不仅仅是标题?” 这让我想到了第一个考虑因素:您将自己限制在哪些数据范围内?

其次,正如前面的答案所暗示的,使用频率是一个很好的开始。为了进一步分析,您可以开始查看哪些词经常一起出现!例如,“快乐”这个词可能会非常频繁地出现……但是,如果总是伴随着“不”,你的结论就会大不相同!

我过去使用过一个非常不错的澳大利亚软件,叫做Leximancer我建议任何对文本挖掘感兴趣的人看看他们的网站和他们拥有的例子......根据记忆,其中一个分析了 2 位美国总统候选人的演讲。它使一些非常有趣的阅读!

我将从频率分布开始。收集一个大语料库的词频并巧妙地选择作为关键字的词(不是拼写错误,频率非常低,而不是像“and”,“or”这样的停止词)

然后,当您有许多新提要时,将它们的分布与您从训练数据构建的分布进行比较。查看频率的巨大差异并选择当时的重要关键字。