Сравните 2 слова для измерения сходства - PullRequest
0 голосов
/ 08 июня 2018

Вопрос:
Можно ли сравнить, похожи ли "Hollændervej" и "Hollaedervej", кроме "ae" и "æ" после или до использования алгоритма Левенштейна?Это о какой-то мере сходства.

В этом контексте речь идет о том, чтобы сделать depends равным, и все зависит от того, какое слово вы получите.

Другая информация:
* Легче ли сравнивать слова «Økernveien» и «Okernveien» после использования алгоритма Левенштейна, потому что у вас значение разницы, равное 1, особенно в начале слова.
Чтобы сравнить это, просто удалите первую букву.Гораздо сложнее сравнивать «Холлиндервей» и «Холлаедервей», чем «Экернвейен» и «Окернвейен».

* Я считаю, что для его решения вам нужно больше, чем алгоритм Левенштейна.

* У вас также есть другие слова, которые "Гетеборг" и "Гетеборг", "Vårveien", "Varveien", "MARKEDSFØRING", "MARKEDSFORING", "Rhrts vei" и "Røhrts vei", "Sjurs?"ya "и" Sjursøya "Речь идет о письме, которое встречается не во всех странах.

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

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

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

Идея состоит в том, чтобы иметь правила, уменьшающие используемый алфавит.Вы применяете эти правила к каждому слову.Одним из правил может быть, например, «заменить ö» на «o» или «изменить æ» на «ae».

Как только вы нормализуете строки, вы можете легко сравнитьих за «равенство».

0 голосов
/ 08 июня 2018

Я думаю, вам нужно проделать дополнительную работу после выполнения дистанции Левенштейна.Сначала вы применяете алгоритм Левенштейна для расчета расстояния.Это даст минимум правок, необходимых для преобразования одной строки в другую.Но тогда вам нужно отслеживать минимальный путь редактирования.Как, например, если вы преобразуете Hollændervej в Hollaedervej, минимальный путь редактирования может выглядеть следующим образом: del-> insert-> insert или insert-> delete-> insert. В основном отслеживайте символы, которые вы удалили, вставили, заменили.

Теперь вам нужно иметь словарь «похожих» символов, которые, по вашему мнению, похожи по алфавиту слова.Например, æ отображается на {a,e}.Теперь проверьте наличие этих специальных символов на вашем пути.Например, ваш путь выглядит так: del a -> insert æ -> del e, тогда вам нужно искать смежные записи (left = a, right = e или left = a, left = b или right = a, right =б).Если они соответствуют содержанию вашего значения в словаре, то есть сходство и продолжайте проверять ваш путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...