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