moj-analytical-services/splink

Fast, accurate and scalable probabilistic data linkage with support for multiple SQL backends

何を解決するか

Splinkは、一意の識別子のないデータセットからのレコードの重複除去とリンクを目的として設計されています。エンティティ解決の問題、すなわち複数の列にわたる不完全または一貫性のないデータしか持たない状況で、2つのレコードが同じ現実世界のエンティティ(人物や会社など)を指しているかどうかを特定する問題を解決します。

動作方法

Splinkは、Fellegi-Sunterモデルに基づく確率的レコードリンクアルゴリズムを使用しています。名前、生年月日、都市などの複数の相関のない列に基づいて、レコードペア間のマッチ確率を予測します。システムは、教師なし学習(期待値最大化)を用いてモデルパラメータを推定できるため、事前にラベル付けされた訓練データは必要ありません。マッチ確率が計算された後、これらのリンクをクラスタリングし、重複レコードのグループに一意のIDを割り当てます。

対象ユーザー

このツールは、政府、学術界、民間セクターのデータサイエンティストやアナリスト向けであり、特に数百万件のレコードを扱う大規模なレコードリンク作業が必要な場合に適しています。

特徴

  • 高いパフォーマンス: ラップトップで100万件のレコードを約1分でリンク可能。
  • スケーラビリティ: ローカルPython実行にはDuckDB、1億件を超えるデータセットにはSparkまたはPostgreSQLをサポート。
  • 教師なし学習: モデルの学習に訓練データは不要。
  • インタラクティブな診断: リンクモデルの診断と最適化を支援する一連のインタラクティブな可視化機能を備えています。
  • ファジー検索: 単語頻度の調整とユーザー定義のファジー検索ロジックをサポートし、精度を向上させます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト