У меня есть сценарий использования, который можно решить обычными методами, но ..
Я хочу найти дубликаты в данных клиентов с низким качеством. Отсутствие стандартов, другой порядок имен, пунктуация, сокращения, орфографические ошибки и т. Д.
Мне нужно иметь возможность генерировать уникальные идентификаторы для каждого человека и кластеризовать записи, которые ссылаются на одного и того же человека под одним и тем же идентификатором.
Есть примерно 1-2 миллиарда записей, которые сначала должны быть сгруппированы.
После этого, сценарий будет таким: я получаю от 100 до 20 миллионов записей и вынужден дедуплировать их по большому набору данных.
Обычно я мог бы решить эту проблему с помощью процесса нормализации, разделив записи на что-то, что резко сузило пространство поиска, а затем вручную выяснил некоторые закодированные правила, которые улавливали большинство случаев с высокой степенью точности.
Легче сказать, чем сделать, но, возможно, выполнимо. Может быть, даже самый лучший способ?
Или здесь уместно использовать глубокое обучение?
На мой взгляд, есть две основные проблемы:
1) Как надежно определить, совпадает ли одна запись с другой, со множеством «нечеткости», встроенной в
2) Как работать с таким объемом данных и при этом масштабировать
С такими вещами, как Kubernetes, может, мне не нужен Spark? А может Spark лучше? Или что-то еще?