Как сравнить различные расстояния редактирования для вариантов использования? - PullRequest
0 голосов
/ 26 апреля 2019

Я хотел бы сравнить различные расстояния редактирования (также на основе токенов, фонетики и т. Д.), Чтобы выяснить их оптимальный вариант использования.Но и те, которые выполняют аналогичные.Было бы хорошо, чтобы иметь возможность доказать это с числовыми значениями.

Я использовал пакет textdistance на python, который имеет нормализованные функции почти для каждой меры подобия.Затем я создал несколько случаев манипуляции со строками (например, пропущенные буквы, перемешанные, перевернутые) как функции Python для применения к строке.Затем я взял среднее для каждого измерения, в результате чего на следующем графике.

graph for comparsion Но мне бы очень хотелось выяснить, какие строковые меры похожи, а какие сильно различаются и в каких случаях.Кто-то рекомендует использовать 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

...