У меня есть следующая проблема и я думал, что могу использовать машинное обучение, но я не совсем уверен, что он будет работать для моего использования.
У меня есть набор данных, насчитывающий около ста миллионов записей, содержащих данные о клиентах, включая имена, адреса, электронные письма, телефоны и т.д. и хотел бы найти способ очистки данных клиентов и определения возможных дубликатов в наборе данных.
Большая часть данных была введена вручную с использованием внешней системы без проверки, поэтому многие наши клиенты получили более одного профиля в нашей БД, иногда с разными данными в каждой записи.
Для экземпляра У нас может быть 5 разных записей для клиента John Doe, каждый из которых имеет разные контактные данные.
Мы также имеем случай, когда несколько записей, которые представляют разные клиенты, соответствуют ключевым полям, таким как электронная почта. Например, если у клиента нет адреса электронной почты, но система ввода данных требует, чтобы наши консультанты использовали случайный адрес электронной почты, в результате чего многие разные профили клиентов использовали один и тот же адрес электронной почты, то же самое относится к телефонам, адресам и т.д.
Все наши данные индексируются в Elasticsearch и хранятся в базе данных SQL Server. Моя первая мысль заключалась в том, чтобы использовать Mahout как платформу для машинного обучения (так как это магазин Java) и, возможно, использовать H-базу для хранения наших данных (только потому, что она соответствует Hadoop Ecosystem, не уверена, что она будет иметь какую-либо реальную ценность), но чем больше я читаю об этом, тем больше я смущен, насколько это будет работать в моем случае, для начала я не уверен, какой алгоритм я мог бы использовать, так как я не уверен, где эта проблема, могу ли я использовать алгоритм кластеризации или алгоритм классификации? и, конечно, некоторые правила должны быть использованы в отношении того, что представляет собой уникальность профиля, то есть какие поля.
Идея состоит в том, что это первоначально было развернуто как служба де-дубликатора профиля клиента, которую наши системы ввода данных могут использовать для проверки и обнаружения возможных дубликатов при вводе нового профиля клиента, а в будущем, возможно, развить это в аналитике платформу для сбора информации о наших клиентах.
Любая обратная связь будет принята с благодарностью:)
Спасибо.