Я хотел бы сравнить различные расстояния редактирования (также на основе токенов, фонетики и т. Д.), Чтобы выяснить их оптимальный вариант использования.Но и те, которые выполняют аналогичные.Было бы хорошо, чтобы иметь возможность доказать это с числовыми значениями.
Я использовал пакет textdistance на python, который имеет нормализованные функции почти для каждой меры подобия.Затем я создал несколько случаев манипуляции со строками (например, пропущенные буквы, перемешанные, перевернутые) как функции Python для применения к строке.Затем я взял среднее для каждого измерения, в результате чего на следующем графике.
Но мне бы очень хотелось выяснить, какие строковые меры похожи, а какие сильно различаются и в каких случаях.Кто-то рекомендует использовать k-means, но я считаю, что это проблематично, если у вас есть только одна числовая и категориальная функция.Является ли единственная опция, которую я должен взять в качестве интеграла между графиками?
Некоторые функции:
def reverse(string):
return string[::-1]
def letter_missing_front(string):
b = rd.randint(0, int(len(string)/2))
return string[:b] + string[b+1:]
Результат должен выглядеть следующим образом: * Case: наилучшее измерение , кластер аналогично выполняемых мер , выбросы
Итак, например: letter_missing_f: перекрытие, jaro_winkler и levenshtein, arth_ncd bwrtle_ncd