У меня есть задача дедупликации стандартной записи: У меня есть много записей с некоторыми текстовыми (или некоторыми другими) полями, некоторые из которых соответствуют одному и тому же объекту. Цель таких задач - слияние таких записей.Алгоритмы дедупликации записей (linkage)
Существует ряд широко используемых и простых статистических подходов для таких задач как «Probabilistic Record Linkage». Некоторые из них более точны и сложнее, но используют те же идеи, что и https://github.com/datamade/dedupe: Они пытаются каким-то образом погрузить каждое поле как меру подобия, а затем линейный состав взвешенных различий как показатель общего подобия записи.
Но для некоторых задач, у меня есть много неизвестных полей, но количество подобных полей достаточно велик, как:
record1 : propA = A ; propB = unknown ; propC = unknown ; ....
record2 : propA = A ; propB = B ; propC = unknown ; ....
record3 : propA = unkown ; propB = B ; propC = D ; ....
record4 : propA = A2 ; propB = unknown ; propC = unknown ; ....
record5 : propA = A2 ; propB = B2 ; propC = unknown ; ....
record6 : propA = X2 ; propB = B2 ; propC = D2 ; ....
в этом случае record1 может быть связано с record3 через record2 гораздо более вероятно, как record4 с записью6.
Это означает, что мне нужно некоторое сходство с кластером граф, но с большим количеством пропусков и действительно огромным количеством узлов и краев. Мне не нужно точное решение, но лучше, чем классическая статистическая дедупликация.