нечеткое сравнение строк
Oct. 22nd, 2009 01:22 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
господа, кто в теме, подскажите,
а есть что-нибудь круче и быстрее алгоритма Jaro-Winkler для нечеткого сравнения строк?
спасибо!
а есть что-нибудь круче и быстрее алгоритма Jaro-Winkler для нечеткого сравнения строк?
спасибо!
no subject
Date: 2009-10-22 03:53 pm (UTC)no subject
Date: 2009-10-22 03:55 pm (UTC)no subject
Date: 2009-10-22 05:05 pm (UTC)в теме не рублю абсолютно, просто интересно - а что такое "нечеткое сравнение". что такое "похожесть", и как эти определения не сработают на конкретных примерах.
no subject
Date: 2009-10-22 06:08 pm (UTC)глазами такое определить - без проблем, а машина буксует. машины, обычно, сравнивают побуквенно и если хоть одна буква не совпадает, то строки разные. обычно этого хватает. но бывают ситуации, когда важно отловить такие ошибки ввода. стандартная ситуация - перепись населения. большинство алгоритмов придумали для этого. многие еще в позапрошлом веке.
типа того...
no subject
Date: 2009-10-22 06:32 pm (UTC)no subject
Date: 2009-10-22 07:03 pm (UTC)оффтоп
Date: 2009-10-23 10:34 am (UTC)вот оно: может ли у вас буква быть "более похожа" на вторую букву, чем третья буква на вторую букву? или для опечаток это только мешать будет?
Re: оффтоп
Date: 2009-10-23 10:37 am (UTC)мои задачи на порядок проще.
Re: оффтоп
Date: 2009-10-23 10:44 am (UTC)"розлечид" и "различит" - 60,4
"розлечид" и "разлучит" - 67.9
Re: оффтоп
Date: 2009-10-23 10:47 am (UTC)я проверил для всех вариантов выдает одно и тоже. но мой doublemetaphone рассчитан для европейских языков. и перед проверкой я их транслитерировал. результат - RSLX.
в своем деле я этот алгоритм использую для создания индекса по именам, что быстро выбирать похожие, а потом jaro-winkler проверяю схожесть. как-то так.