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