譯者 | 崔皓
審校 | 孫淑娟
開篇
根據Accenture的一項調查顯示,75% 的消費者更喜歡在知道他們名字和購買習慣的零售商那里消費,如果零售商無法對消費者提供個性化體驗,他們客戶中的 52% 有可能投入競爭對手的懷抱。因此,品牌方每天都會搜集數百萬數據,識別并建立客戶資料,這也是大多數公司面臨的最大挑戰(zhàn)之一。
當企業(yè)使用多種工具來采集數據的時候,常遇到客戶姓名拼錯或電子郵件地址格式混亂的情況。此外,當不同的應用擁有同一客戶不同信息時,由于信息分散導致無法深入了解客戶行為和偏好。
為了解決上述問題,我們引入了模糊匹配,接下來將介紹什么是模糊匹配、它的實現方式、使用哪些常用技術以及它所面臨的挑戰(zhàn)。讓我們開始吧。
什么是模糊匹配?
模糊匹配是一種數據匹配技術,它比較兩個或多個記錄并計算出它們屬于同一實體的可能性。模糊匹配得不到匹配或不匹配的結果,而是得到一個百分比(通常在 0-100% 之間),用來描述該記錄屬于同一客戶、產品、員工的可能性。
有效的模糊匹配算法可以處理一系列數據歧義,例如名字/姓氏顛倒、首字母縮略詞、縮略語、語音和故意拼寫錯誤、縮寫、添加/刪除的標點符號等。
模糊匹配過程
模糊匹配包括如下幾個過程:
1. 創(chuàng)建基本標準化錯誤的概要記錄。這包括已經得到修復的錯誤,以便跨記錄實現統(tǒng)一和標準化的視圖。
2. 基于將發(fā)生的模糊匹配來選擇和映射屬性。由于屬性的標題可能不同,因此必須跨數據源對其進行映射。
3. 為每個屬性選擇一種模糊匹配技術。例如,名稱可以根據鍵盤距離或名稱變體進行匹配,而電話號碼可以根據數字相似度指標進行匹配。
4. 為每個屬性選擇一個權重,例如高權重與低權重的字段相比,高權重的屬性對整體匹配置信度的影響更大。
5. 定義閾值級別——模糊匹配得分只要高于該級別就被認為是匹配的,低于該級別的就認為是不匹配的。
6. 運行模糊匹配算法并分析匹配結果。
7. 覆蓋任何可能出現的誤報。
8. 合并、去重或簡單地消除重復記錄。
模糊匹配參數
從上面定義的過程中,可以看到模糊匹配算法有多個技術參數,包括屬性權重、模糊匹配技術和分數閾值等等。
為了獲得最佳結果,必須使用不同參數執(zhí)行模糊匹配,并找到最適合數據的值。許多供應商將這些功能打包在模糊匹配解決方案中,讓參數自動調整,同時也可以根據需要進行定制。
什么是模糊匹配技術?
當今使用的多數模糊匹配技術與比較、匹配字段的公式算法有所不同。可以根據數據的性質選擇適合的技術。以下是常見的模糊匹配技術列表:
1. 基于字符的相似性度量(最適合匹配字符串):
a) 編輯距離:計算兩個字符串之間的距離,逐個字符計算。
b) 仿射間隙距離:通過還考慮字符串之間的間隙或空間來計算兩個字符串之間的距離。
c) Smith-Waterman 距離:通過同時考慮前綴和后綴的存在與否來計算兩個字符串之間的距離。
d) Jaro 距離:用來匹配名字和姓氏。
2. 基于標記的相似性度量(最適合匹配字符串中完整單詞):
a) 原子字符串:將長字符串劃分為由標點符號分隔的單詞,并在單詞上進行比較。
b) WHIRL:類似于原子字符串,但 WHIRL 會為每個單詞分配權重。
3. 語音相似度指標(最適合發(fā)音相似而字符不同的單詞):
a) Soundex:比較拼寫不同發(fā)音相似的姓氏。
b) NYSIIS:類似于 Soundex,不同的是它保留了有關元音位置的詳細信息。
c) Metaphone:比較發(fā)音相似的單詞、美國人常用的單詞以及美國常用的名字和姓氏。
4. 數字相似度指標,數字之間的距離,數字數據的分布等。
模糊匹配的挑戰(zhàn)
雖然模糊匹配的整個過程提供了意向不到的幫助,但其實現卻很困難。以下是企業(yè)面臨的一些挑戰(zhàn):
1. 高誤報率
許多模糊匹配解決方案具有較高的誤報率。當算法錯誤地分類匹配和不匹配時,就會發(fā)生這種情況,反之亦然。可以通過對匹配定義和模糊參數的配置盡可能多地減少不正確的結果。
2. 計算復雜度
在匹配過程中,每條記錄都會與同一數據集中的所有記錄進行比較。在處理多個數據集的情況下,比較次數會成倍增加。值得注意的是,隨著數據庫容量的增長,比較呈二次方增長態(tài)勢。因此,必須使用資源密集型的計算系統(tǒng)。
3.驗證測試
匹配的記錄合并在一起形成實體的完整模型,可以 通過360 度視角來觀察實體。在此過程中發(fā)生的任何錯誤都會給業(yè)務運營增加風險。這就是為什么必須進行詳細的驗證測試以確保調整后的算法始終如一地產生高準確率的結果。
總結
企業(yè)通常將模糊匹配解決方案視為運行時間長、執(zhí)行復雜、消耗資源和耗費資金的項目。事實上,投資能夠產生快速和準確結果的解決方案才是關鍵。組織在選擇模糊匹配工具時需要考慮諸多因素,例如投入的時間和金錢、可擴展性設計以及數據集的性質。這些都會幫助他們選擇解決方案,從而充分利用數據產生價值。
譯者介紹
崔皓,51CTO社區(qū)編輯,資深架構師,擁有18年的軟件開發(fā)和架構經驗,10年分布式架構經驗。
原文標題:THOUGHT LEADERSFuzzy Matching – Definition, Process and Techniques,作者:Zara Ziad