Записать связь, используя методы сходства строк

Мы работаем над проектом Record Linkage. Мы наблюдаем странное поведение всех стандартных техник, таких как Яро Винклер, Левенштейн, Н-Грам, Дамерау-Левенштейн, Жаккард, Соренсен-Дайс

Скажем, String 1= МИНИ-ШЛИФОВАЛЬНЫЙ КОМПЛЕКТ
String 2= Комплект принадлежностей для мини-шлифмашины Weiler 13001, для использования с небольшими прямоугольными шлифмашинами
Строка 3= видеобороскоп Милуоки, вращающийся осмотр, серия: M-SPECTOR 360, 2,7 х 640 х 480 пикселей, ЖК-дисплей высокого разрешения, пластиковый, черный / красный

В приведенном выше случае строка 1 и строка 2 связаны счетом всех методов, как показано ниже.
Яро Винклер -> 0.391666651
Левенштейн -> 75
N-грамм, -> 0,9375
Дамерау -> 75
Жакард индекс -> 0
Соренсен-Кости -> 0
Косинус -> 0

Но строка 1 и строка 3 совсем не связаны, но метод расстояния дает очень высокий балл.
Яро Винклер -> 0.435714275
Левенштейн -> 133
N-грамм, -> 0,953571439
Дамерау -> 133
Жакард индекс -> 1
Соренсен-Кости -> 0
Косинус -> 0

Какие-нибудь мысли.?

2 ответа

Решение

Все оценки расстояния учитывают регистр. Следовательно, приведите их всех в один и тот же случай. Тогда вы сможете увидеть расчет баллов соответствующим образом.

Я считаю, что ваша цель - проверить, одинаковы ли эти два продукта или нет. Я полагаю, что данные взяты из разных источников, в случае таких данных вам нужно выяснить, какое самое важное упоминание стоит сравнить?! Название бренда, характеристики и т. Д.

Эти метрики следуют за очень грубым понятием сходства!, а не просто подавать данные таким образом.

Поэтому сначала очистите (удалите знаки препинания, не важные слова), разбейте (разбейте его на отдельные слова), затем, возможно, вы сможете использовать fuzzywuzzy, чтобы найти лучшее соответствие.

Другие вопросы по тегам