2012-03-06 34 views
0

我有一些文本,例如100.从一组文本中获取最独特的文本

我会保留其中最独特的10个。我制作了一个100x100的矩阵,我用Levenshtein算法比较了它们之间的每个文本。

是否有算法来选择10个最独特的?

编辑:

我要的是N个最独特的文字,无论我组的第1个要素的最大化这款N文字之间的距离。

我想要最独特的,因为我将这些文本发布到网络,我想避免重复。

回答

0

长注释,而不是一个答案......

我不认为你指定你的要求(S)不够清楚。你如何选择10个字符串的第一个元素?它是距离任何其他字符串最大距离的字符串(在这种情况下,您正在寻找数组中最大的元素)还是与所有其他字符串距离最大的字符串(在这种情况下,您正在寻找最大的行 - 或数组中的列总和)。

移动到N(或10个,因为你建议)最遥远的字符串,你有很多选择。

您可以选择阵列中N个最大距离。我怀疑,没有看到您的数据,可能是距离其他任何字符串最远的字符串也可能与其他字符串最远 - 我的意思是您可能会发现阵列中N个最大的条目中的几个发生在同一行或列中。

您可以简单地选择行数最大的N个字符串。

或者您正在寻找一组N个字符串,它最大化该集群中所有字符串与其余100-N字符串中所有字符串之间的距离。这可能会导致您查看显然是聚类算法。

我建议你澄清你的要求并编辑你的问题。

+0

是的,你是对的,编辑问题。 – Ricardo 2012-03-06 13:03:39

0

由于这看起来像是一个特征值问题,所以我会尝试在矩阵上执行Power iteration,并从结果向量中拒绝90个最高值。功率迭代通常在10次迭代内收敛得非常快。顺便说一句:这个解决方案假设一个相似性矩阵如果矩阵的条目是衡量* DIS *相似性(“距离”),则可能需要使用它们的逆。

+0

谢谢,但功率迭代不会给我最独特的 – Ricardo 2012-03-06 12:54:58

+0

如果你认为你的文本作为一个图形/网络的集合,最相互关联/相关的文本将在集群的中心,而不相关的文本将在外面。但是也许你使用了“最独特”的不同定义。 (对我来说,它是“(最)与其余的不同”)。 – wildplasser 2012-03-06 13:03:21

+0

我编辑了我的问题,以澄清我的意思是“最独特的”。谢谢您的帮助 – Ricardo 2012-03-06 13:07:03