计算字符串相似度/ Levenshtein距离而不使用转置值列

时间:2015-12-15 12:26:58

标签: excel similarity

我经常要完成两种任务:

  1. 在抓取网站后,我有一个URL列表(在一列中),我想找到所有相似的URL。相似之处不同,可以在网址的中间或末尾,如ID,参数等 - 因此不足以按字母顺序对网址进行排序。网址示例:

  2. 我有关键字列表,我想根据它们的相似性进行聚类。在这种情况下,也不足以按字母顺序对它们进行排序,因为关键字的顺序可能不同。关键字示例:

    • 买iphone
    • 在柏林购买iphone
    • 购买iphone封面
    • 购买i-phone covr
    • iphone cover berlin
  3. 问题是:在我描述的情况下,如何计算列中值的相似性?

    我需要像101列一样的结果:在第一列中是我的值,其相似度应该计算,来100列:100%相似度,99%相似度等等:在这些列中应该被填充值in,类似于第一列中的特定值:

    Values  100%     99%              ...     5%
    value1  value2   value3,value7            value5
    value2
    value3
    value4
    value5
    value6
    value7
    

    我设置仪表板来计算Levenshtein距离,但是此仪表板的构建方式如下:第一列包含值,然后转换此列,并为每个值对计算Levenshtein距离。 它看起来像:

    Values     value1   value2   value3
    value1     100%      75%      95%
    value2     75%       100%     30%
    value3     95%       30%      100%
    

    但我有太多的价值观,所以我无法建立转置表 - 它们会太大。

    更准确的问题是:如何在不构建转置表的情况下完成此计算,因此每个值对都有自己的单元格?

0 个答案:

没有答案