Записывает алгоритмы дедупликации (связывания)

У меня есть стандартная задача дедупликации записей: у меня есть много записей с некоторыми текстовыми (или некоторыми другими) полями, некоторые из которых соответствуют одной и той же сущности. Объединение таких записей является целью задачи.

Для такого рода задач существует несколько широко используемых и простых статистических подходов, таких как " Вероятностная связь между записями". Некоторые из них являются более точными и более сложными, но используют те же идеи, что и 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 ; ....

в этом случае запись1 может быть связана с записью3 через запись2, гораздо более вероятно, чем запись4 с записью6.

Это означает, что мне нужно нечто похожее на кластеризацию графа, но с большим количеством пропусков и действительно огромным количеством узлов и ребер. Мне не нужно точное решение, но должно быть что-то лучшее, поскольку должна существовать классическая статистическая дедупликация.

1 ответ

Dedupe обрабатывает отсутствующие данные и выполняет кластеризацию графов. Существуют и другие парадигмы для связи записей, но, похоже, ваши данные этого не требуют.

Если вы хотите исследовать новые парадигмы, посмотрите на работу Beka Steorts или Майкла Вика.

Другие вопросы по тегам