私は以下の問題を抱えていましたが、機械学習を使うことができると思っていましたが、私の使用事例ではうまくいくとは確信していません。機械学習によるデータの重複除外
名前、住所、電子メール、電話などの顧客データを含む約1億レコードのデータセットがあり、この顧客データを消去し、データセット内の可能な重複を特定する方法を探したいと考えています。
ほとんどのデータは、検証のない外部システムを使用して手動で入力されているため、多くのお客様がDB内に複数のプロファイルを持ち、各レコードに異なるデータを持つことがあります。
インスタンスの場合連絡先の詳細が異なる顧客John Doeの5つのエントリがあります。
異なる顧客を表す複数のレコードが電子メールなどの主要フィールドに一致する場合もあります。たとえば、顧客が電子メールアドレスを持っていないのにデータ入力システムが必要とする場合、コンサルタントはランダムな電子メールアドレスを使用して、同じ電子メールアドレスを使用する多くの異なる顧客プロファイルを生み出し、電話機や住所などにも同様に適用されます。
すべてのデータはElasticsearchでインデックスされ、SQL Serverデータベースに格納されます。私の最初の考えは、Mahoutを機械学習プラットフォーム(これはJavaショップなので)として使用し、データを格納するためにHベースを使用することでした(Hadoopエコシステムに適合しているかどうか、 )、しかし私はそれについてもっと読んだほど、私はそれが私の場合にどのように動作するのかというと混乱しています。なぜなら、この問題がどこにあるのかわからないので、クラスタリングアルゴリズムまたは分類アルゴリズムを使用できますか?もちろん、プロファイルの一意性を構成するもの、つまりどのフィールドを構成するかについては、ある規則を使用する必要があります。
これは、新しい顧客プロファイルを入力したときに可能性のある重複を検証および検出するために当社のデータ入力システムが使用できるソートの顧客プロファイル重複除外サービスとして最初に導入された考えであり、分析プラットフォームを使用して顧客に関する洞察を収集します。
任意のフィードバックを大幅に理解されるであろう:)
ありがとう。
'時にはそれぞれのレコードに異なるデータがあります.'なので、機械学習アルゴリズムは重複をどのように見つけるべきですか? John Doeがほぼ同じデータで追加された場合、同じ人物であるかどうかはどうやって知ることができますか? IMHOあなたは流行語arroundを投げているとあなたの顧客データベースのタイトなリレーショナルモデルです。 –
@thomas本当に私は流行語を投げかけていますが、真実は私が大きなデータを得ようとしていることです。これは学ぶ良い機会になると思っています。これがうまくいくかどうかわかりませんでした。アイデアは、私はビジネスのように一意性を表す例のような電子メールのようなキーフィールドにマッチする必要があるということです。あなたが入力をありがとう。 –
Sql Serverのエディションは不明ですが、SSIS(ファジーグループ化とファジールックアップ)のデータクレンジング変換を利用することができます。http://msdn.microsoft.com/en-us/magazine/cc163731 aspx –