При наличии 2 многомерных наборов данных идентифицируйте записи, представляющие один и тот же объект, которые немного отличаются

#machine-learning #duplicates #fuzzy-comparison

#машинное обучение #дубликаты #нечеткое сравнение

Вопрос:

Давайте рассмотрим пример наличия 2 источников данных с размерами данных «m» и «n» соответственно. Оба набора данных представляют собой таблицы SQL, имеющие одну и ту же схему, но разные данные. Наша цель — «помечать» нечеткие совпадения (между наборами данных), которые достаточно похожи, чтобы считать «идентичными«.

 CREATE TABLE player(
    id Integer,
    fname VARCHAR(64),
    lname VARCHAR(64),
    birth_dt datetime,
    weight Integer
)
  

Хотя большинство общих комбинаций (m * n) не будут совпадениями, мы хотели бы отметить «похожие» совпадения следующим образом:

 {"fname": "John", "lname": "Smith", "birth_dt": "6/6/91", "weight": 220}
{"fname": "Jack", "lname": "Smith", "birth_dt": "6/6/91", "weight": 210}
  

Существуют ли какие-либо инструменты (с открытым исходным кодом или нет), которые отлично справляются с идентификацией и помечением этих «совпадений»?

Ответ №1:

Это проблема «привязки записей«, и это ключевое слово поможет вам найти большую литературу по этой проблеме.

Открытый исходный код, библиотека python dedupe, обеспечивает единый комплексный подход.

Комментарии:

1. Мы фактически использовали дедупликацию, и это оказалось отличным решением! Оставляя это открытым, чтобы стимулировать дополнительные ответы…

2. В будущем, пожалуйста, сообщайте о своей принадлежности к dedupe, когда предлагаете это там, где вопрос еще не об этом.