1. 程式人生 > >SAP Cloud for Customer客戶主數據的重復檢查-Levenshtein算法

SAP Cloud for Customer客戶主數據的重復檢查-Levenshtein算法

算法 開啟 cor 檢查 conf cat ron weak 原創

SAP C4C的客戶主數據創建時的重復檢查,基於底層HANA數據庫的模糊查找功能,根據掃描數據庫中已有的數據檢測出當前正在創建的客戶主數據是否和數據庫中記錄有重復。

在系統裏開啟重復檢查的配置:

技術分享圖片

技術分享圖片

在此處配置主數據模型上每個字段對重復性檢查結果共享的權值:

技術分享圖片

要理解權值的作用,就必須先理解C4C客戶主數據重復性檢查的算法Levenshtein algorithm。這個算法以開發者Vladimir Levenshtein命名,通過計算Levenshtein(萊文斯坦)距離來衡量兩個字符串的相似度。

看個具體例子。

假設數據庫裏有一條主數據記錄:

Name = Carl,

Email = [email protected]

然後在C4C UI創建一個新的客戶主數據:

Name = Corl,

Email = [email protected]

其中Name字段的相似度為 1 - 1/4 = 75%,而Email字段相似度為100%。

然後在C4C裏這兩個字段的權值配置如下:

Name = 30

E-mail = 70

按照Levenshtein algorithm的公式計算重復度:

技術分享圖片

SIM = SQRT( (302 * 0.752 + 702 * 12) / (302 + 702) ) = 0.97 = 97%

到底重復度多少的待創建客戶主數據被認為是真正的重復數據呢?可以在Business Configuration裏配置:

技術分享圖片

‘Strong – Duplicate Check for Business Partners’:85%

‘Medium – Duplicate Check for Business Partners’: 80%

‘Weak – Duplicate Check for Business Partners’: 70%

要獲取更多Jerry的原創文章,請關註公眾號"汪子熙":

技術分享圖片

SAP Cloud for Customer客戶主數據的重復檢查-Levenshtein算法