moj-analytical-services/splink

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

解決的問題

Splink 是專為缺乏唯一識別碼的資料集進行記錄去重與連結而設計。它解決了實體解析問題——當您僅有跨多個欄位的不完整或不一致資料時,如何判斷兩個記錄是否指向同一個現實世界實體(例如個人或公司)。

工作原理

Splink 使用基於 Fellegi-Sunter 模型的機率式記錄連結演算法。它根據多個無關聯欄位(例如姓名、出生日期、城市)預測記錄對之間的匹配機率。系統可使用無監督學習(期望最大化)來估計模型參數,因此無需預先標記的訓練資料。一旦計算出匹配機率,系統會將這些連結聚類,為每組重複記錄分配唯一 ID。

適用對象

此工具適用於政府、學術界與民間部門的資料科學家與分析師,特別是在需要大規模執行記錄連結時,尤其是處理數百萬筆記錄的情況。

主要特色

  • 高效率:可在筆電上約一分鐘內連結一百萬筆記錄。
  • 可擴展性:支援多種後端,包括本地 Python 執行的 DuckDB,以及超過一億筆記錄的資料集所用的 Spark 或 PostgreSQL。
  • 無監督學習:訓練模型無需訓練資料。
  • 互動式診斷:內建一整套互動式視覺化工具,協助使用者診斷與優化其連結模型。
  • 模糊比對:支援詞頻調整與使用者自訂的模糊比對邏輯,以提升準確性。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案