SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

SAP C4C的客户主数据创建时的重复检查,基于底层HANA数据库的模糊查找功能,根据扫描数据库中已有的数据检测出当前正在创建的客户主数据是否和数据库中记录有重复。

在系统里开启重复检查的配置:

SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

在此处配置主数据模型上每个字段对重复性检查结果共享的权值:

SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

要理解权值的作用,就必须先理解C4C客户主数据重复性检查的算法Levenshtein algorithm。这个算法以开发者Vladimir Levenshtein命名,通过计算Levenshtein(莱文斯坦)距离来衡量两个字符串的相似度。

看个具体例子。

假设数据库里有一条主数据记录:

Name = Carl,

Email = jerry@sap.com

然后在C4C UI创建一个新的客户主数据:

Name = Corl,

Email = jerry@sap.com

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

然后在C4C里这两个字段的权值配置如下:

Name = 30

E-mail = 70

按照Levenshtein algorithm的公式计算重复度:

SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

SIM = SQRT( (30² 0.75² + 70² 1²) / (30² + 70²) ) = 0.97 = 97%

到底重复度多少的待创建客户主数据被认为是真正的重复数据呢?可以在Business Configuration里配置:

SAP Cloud for Customer客户主数据的重复检查-Levenshtein算法

‘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算法

上一篇:PHP 操作Mongodb 实例


下一篇:【小Y学算法】⚡️每日LeetCode打卡⚡️——3.无重复字符的最长子串