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