Я использую библиотеку Dedupe для сопоставления записей людей друг с другом. Мои данные включают имя, дату рождения, адрес, номер телефона и другую личную информацию.Настройка явных правил для сопоставления записей с использованием библиотеки Dedupe Python
Вот мой вопрос: я всегда хочу сопоставить две записи со 100% уверенностью, если у них есть соответствующее имя и номер телефона (например).
Вот пример некоторых из моего кода:
fields = [
{'field' : 'LAST_NM', 'variable name' : 'last_nm', 'type': 'String'},
{'field' : 'FRST_NM', 'variable name' : 'frst_nm', 'type': 'String'},
{'field' : 'FULL_NM', 'variable name' : 'full_nm', 'type': 'Name'},
{'field' : 'BRTH_DT', 'variable name' : 'brth_dt', 'type': 'String'},
{'field' : 'SEX_CD', 'type': 'Exact'},
{'field' : 'FULL_US_ADDRESS', 'variable name' : 'us_address', 'type': 'Address'},
{'field' : 'APT_NUM', 'type': 'Exact'},
{'field' : 'CITY', 'type': 'ShortString'},
{'field' : 'STATE', 'type': 'ShortString'},
{'field' : 'ZIP_CD', 'type': 'ShortString'},
{'field' : 'HOME_PHONE', 'variable name' : 'home_phone', 'type': 'Exact'},
{'type': 'Interaction', 'interaction variables' : ['full_nm', 'home_phone']},
В библиотеке DeDupe, есть ли способ для меня, чтобы явно соответствовать двум или более полей? Согласно документам: «Поле взаимодействия умножает значения нескольких переменных». (https://dedupe.readthedocs.org/en/latest/Variable-definition.html#interaction). Я хочу реализовать строгое правило, которое соответствует 100% -ной уверенности, а не просто умножению значений переменных. Причина, по которой я спрашиваю, заключается в том, что я обнаружил, что иногда Dedupe пропускает некоторые совпадения по этим двум критериям (скорее всего, это результат того, что я недостаточно долго тренировался, но, несмотря на это, я просто хочу записать эти совпадения в свой сценарий).
Любые предложения?
Спасибо, @barny. Чтобы уточнить, я хочу, чтобы Dedupe работал над своей магией в дополнение к нескольким условиям, когда матчи автоматически создаются. Если я понимаю Dedupe, вероятность совпадения двух строк - это комбинация вероятностей во всех полях. Например, если я установил HOME_PHONE в «Exact», две записи с тем же номером телефона могут не совпадать, если имя и дата рождения значительно отличаются. Я не думаю, что просто изменение FULL_NM на «Exact» создаст правило, в котором все записи с совпадением имени и номера телефона будут совпадать, потому что другие поля могут быть разными. – blahblahblah
У вас уже есть взаимодействие, настроенное для домашнего телефона и полного имени, - и телефон уже настроен так, что добавление полного имени, точное совпадение должно сделать трюк. Приведите пример того, что депутация не находит - всегда ли у нее такая же комбинация? – barny
Вы пробовали исходный набор правил полей с указанием только имени и номера телефона, оба установлены на точное и, возможно, взаимодействие, ссылающееся на них обоих? Если вы выполняете точные совпадения, вам действительно не нужна дедушка - вы можете предварительно обработать, чтобы найти эту запись и удалить ее из последующей обработки дедуплирования. – barny