Это более сложный дополнительный вопрос к: Эффективному способу поиска последовательных значений
Каждый Продукт может иметь много Сегмент строки (тысячи).Каждый сегмент имеет столбец position , который начинается с 1 для каждого продукта (1, 2, 3, 4, 5 и т. Д.), И столбец value , который может содержать любые значения, такие как (323,113, 5423,231, 873,42, 422,64, 763,1 и т. Д.).Данные доступны только для чтения.
Это может помочь представить продукт как песню, а сегменты - как набор музыкальных нот в песне.
Учитывая подмножество смежных сегментов, например фрагмент песни, я хотел бы определить потенциальные совпадения для продуктов.Однако из-за возможных ошибок в измерениях сегменты в подмножестве могут не соответствовать сегментам в базе данных точно .
Как определить кандидатов на продукт, найдясегменты продуктов, которые наиболее близко соответствуют подмножеству сегментов, которые я измерил?Кроме того, является ли база данных лучшим средством для данных такого типа?
-
Вот лишь некоторые мысли о том, как я собирался подойти к этой проблеме. Пожалуйста, не принимайте их как точные требования. Я открыт для любых алгоритмов, чтобы сделать эту работу максимально эффективной.Я думал, что должно быть несколько пороговых переменных для определения близости.Одной из возможностей может быть реализация порога близости и порога match .
Например, с учетом следующих значений:
Product A contains these segments: 11,21,13,13,15.
Measurement 1 has captured: 20,14,14,15.
Measurement 2 has captured: 11,21,78,13.
Measurement 3 has captured: 15,13,21,13,11.
ЕслиПорог близости позволил измеренному сегменту быть на 1 выше или ниже фактического сегмента, тогда измерение 1 может соответствовать продукту А, поскольку, хотя многие сегменты не совпадают точно , они находятся в пределах близостипорог относительно фактических значений.
Если порог совпадение разрешен для измерений с совпадениями 3 или более, измерение 2 может вернуть Продукт A, поскольку, хотя один из сегментов (78) далекопревышает порог близости, он по-прежнему соответствует 3 сегментам в правильном порядке и находится в пределах порога match .
Измерение 3 не соответствует продукту A, поскольку, хотя все измеренные сегменты существуют вфактические сегменты, они не находятся в пределах порогов близости или совпадения.
Обновление: Один из заданных ответовчтобы я определил, что я имею в виду под наиболее близко соответствует .Я не совсем уверен, как на это ответить, но я постараюсь объяснить, продолжая аналогию с песней.Допустим, сегменты представляют максимальные частоты записанной песни.Если я снова запишу ту же песню, она будет похожа, но из-за фонового шума и других ограничений записывающего оборудования, некоторые частоты будут совпадать, некоторые будут близки, а некоторые - далеко.В этом сценарии, как бы вы определили, когда одна запись «соответствует» другой?Это та же логика сопоставления, которую я ищу для использования в этой задаче.