Нужно рассчитать энтропию URL

Discussion in 'Болталка' started by \/IRUS, 26 Feb 2013.

  1. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    371
    Likes Received:
    497
    Reputations:
    37
    Знающие, помогите рассчитать энтропию трех URL.
    Мб я путаю определение понятия энтропии... мне нужно вывести какую-либо закономерность и определить схожесть нескольких Friendly URL.

    Например:
    1. http://ru.wikipedia.org/wiki/one-friendly-url
    2. http://ru.wikipedia.org/wiki/any-other-friendly-url
    3. http://ru.wikipedia.org/else/any-other/url-trololo

    нужно определить что первые два URL более похожи между собой чем третий
     
    #1 \/IRUS, 26 Feb 2013
    Last edited: 26 Feb 2013
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    Нужно больше примеров и правильных результатов для них, т.к. в приведенном случае достаточно просто попарно сравнить строки и выбрать те, где первое отличие находится дальше от начала строки.
     
    _________________________
  3. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    371
    Likes Received:
    497
    Reputations:
    37
    спс разобрался
    сравниваю по явным критериям ЧПУ, спецсимволы и % схожести от начала
    оставшеюся часть привожу в средним арифметическим кодов символов ASCII
    вышло более-менее красиво :)

    первые два - коеф. 82 а третий 100, сойдет
     
  4. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    913
    Likes Received:
    480
    Reputations:
    724
    В URL используются символы, это значит что в схожести ссылок играет количество и повторность используемых символов. Я представляю себе алгоритм в виде:
    1) Проходим по ссылке и считаем количество каждых символов
    2) Разбиваем URL на блоки по разному количеству символов, считаем процент совпадений во всех ссылках
    3) Результат получаем исходя из процентного соотношения первого и второго шага.
     
    _________________________
  5. trolex

    trolex Well-Known Member

    Joined:
    6 Dec 2009
    Messages:
    592
    Likes Received:
    1,391
    Reputations:
    6
    не понятно что ты под энтропией понимаешь, у 1 и 2 строчки три общих слова (если не считать урл), у 2 и 3 строчки также 3 общих слова,
    среднеарифметическое кодов символов точно не вариант, тогда получается что строка
    "az"
    почти тоже самое, что и
    "nn" или "by"

    первое что на ум приходит, посчитать сколько в строке символов a, b, c и тд. и сравнить с аналогичными показателями из другой строки, к примеру взяв сумму разниц по модулю количества соответствующих букв |(a1-a2)|+...+|(Z1-Z2)|
    чем сумма ближе к нулю, тем более похожи строки
     
    #5 trolex, 26 Feb 2013
    Last edited: 26 Feb 2013
  6. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    расстояние Левенштейна справится с этой задачей
     
  7. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    371
    Likes Received:
    497
    Reputations:
    37
    интересно, попробую реализовать

    UPD.: Нашел рабочее решение по Демерау-Левенштейну, спасибо за помощь!
     
    #7 \/IRUS, 27 Feb 2013
    Last edited: 27 Feb 2013