У меня есть строки различной длины, которые заполнены символами Base64. На самом деле они представляют собой данные распознавания звука, которые отличаются от песни к песне.
Для простого сравнения частей этих строк я делю их на подстроки из 16 символов. (что составляет около 1 секунды песни) Но в некоторых случаях я просто не могу сравнить их один на один ... Я должен их измерять.
Например, сравнение с 'hellohellohelloo
' и 'hallohellohelloo
' должно получить более близкое значение, чем сравнение 'hellohellohelloo
' и 'herehellohelloo
'.
Есть ли какой-нибудь алгоритм или теоретический
Редактировать: Извините, я новичок здесь :) И я не мог прояснить это. Вот некоторые комментарии, которые прояснят мне и предложат идею.
Комментарий 1:
На самом деле я знаю о расстоянии Левенштейна, но проблема заключается в каждомКогда я сравниваю две строки, мне нужно построить матрицу сравнения, и это замедляет процесс поиска. Если я могу преобразовать, например, привет в 4444 и привет в 4443, я могу определить, насколько близки у меня записи для «привет», просто проиндексировав числовые значения.
Комментарий 2:
Возможно, мне следует определить базовую строку (и) постоянной длины и сохранить значения расстояний из них в качестве значений индекса для строки. Это просто идея?!