У меня вопрос довольно высокого уровня, поэтому я постараюсь быть максимально конкретным.
Я провожу много исследований, которые включают в себя объединение разнородных наборов данных с информацией заголовка, относящейся к одной и той же сущности, обычно компании или финансовой безопасности. Это связывание записей обычно включает в себя информацию заголовка, в которой имя является единственным общим первичным идентификатором, но где часто доступна некоторая вторичная информация (например, город и штат, даты работы, относительный размер и т. Д.). Эти совпадения обычно бывают один-ко-многим, но могут быть один-к-одному или даже многие-ко-многим. Я обычно делал это сопоставление вручную или с очень простым сравнением текста очищенных подстрок. Иногда я использовал простой алгоритм сопоставления, такой как мера расстояния Левенштейна, но я никогда не получал от него многого, отчасти потому, что у меня не было хорошего формального способа его применения.
Я полагаю, что это довольно распространенный вопрос, и что для такого рода вещей должны быть разработаны некоторые формализованные процессы. Я прочитал несколько научных статей по этому вопросу, которые касаются теоретической целесообразности данных подходов, но я не нашел ни одного хорошего источника, который бы описывал рецепт или хотя бы практическую основу.
У меня следующий вопрос:
Кто-нибудь знает хороший источник для реализации многомерного нечеткого сопоставления записей, например, книгу или веб-сайт, опубликованную статью или рабочий документ?
Я бы предпочел что-то с практическими примерами и четко определенным подходом.
Подход может быть итеративным, с человеческими проверками на улучшение на промежуточных этапах.
( edit ) Связанные данные используются для статистического анализа. Таким образом, немного шума в порядке, но существует сильное предпочтение меньшего количества «неправильных совпадений» по сравнению с меньшим количеством «неправильных несоответствий».
Если бы они были на Python, это было бы замечательно, но не обязательно.
И последнее, если это имеет значение, это то, что меня не очень заботит эффективность вычислений. Я не реализую это динамически, и я обычно имею дело с несколькими тысячами записей.