7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

AI 系统如何识别重复数据?

  • 2021 年 7 月 30 日
  • 本文字数:1587 字

    阅读完需:约 5 分钟

AI系统如何识别重复数据?

当你同时比较两个 Salesforce 记录或任何其它 CRM 记录时,你可以很容易地确定它们是否重复。然而,当你有 10 万条这样的记录时,你几乎不可能一个一个地筛选它们,并进行这样的比较。这就是为什么很多公司开发了各种工具来自动化这些过程,为了做好工作,机器需要识别这些记录之间的相似性和差异性。在本文中,我们将更仔细地研究数据科学家用来训练机器学习系统识别重复的一些方法。

机器学习系统如何对比记录?


研究人员使用的主要工具之一是字符串度量。当你取数据中的两个字符串时,如果字符串相似,返回一个低值;如果字符串不同,则返回一个高值。这在实践中是如何工作的?让我们来看看下面两个记录:


First Name

Last Name

Email

Company Name

Ron 

Burgundy

ron.burgundy@acme.com

Acme

Ronald

burgundy

ron.burgundy@acme.com

Acme Corp


如果一个人看到这两个记录,很明显能看出来这是重复的。而机器依赖字符串度量来复现人类的思考过程,这就是所谓的人工智能。


最著名的字符串度量之一是汉明距离,它度量将一个字符串转换为另一个字符串所需的替换次数。例如,如果我们返回到上面的两条记录,只需要进行一次替换就可以将“burgundy”变成“Burgundy”,因此汉明距离是 1。

 

还有许多其它的字符串度量可以用来度量两个字符串之间的相似性,它们之间的区别是它们所允许的操作。例如,我们前面提到的汉明距离只允许替换,这意味着这种字符串度量只能应用于长度相等的字符串。而编辑距离(Levenshtein distance)允许删除、插入和替换。

如何消除 Salesforce 重复数据?


人工智能系统有许多方法可以实现 Salesforce 重复数据消除。其中一种方法是分区块,如下所示:


Record 1

Record 2

Ron Burgundy, ron.burgundy@acme.com, Acme

Ronald burgundy,ron.burgundy@acme.com Acme Corp


这种分区块方法具有可扩展性。它的工作方式是,每当你上传新的记录到你的 Salesforce,系统会自动将看起来“相似”的记录分块到一起,比如可以是名字的前三个字母或者任何其它条件。

 

这减少了需要进行比较的次数。例如,假设你的 Salesforce 中有 10 万条记录,而你想要上传一个包含 5 万条记录的 Excel 表。传统的基于规则的重复消除应用程序,需要将每个新记录与已有记录进行比较,那需要做 50 亿(100,000 x 50,000)次比较。想象一下这需要多少时间,并且会增加多少出错的概率。


此外,我们要知道,10 万条记录只是 Salesforce 记录中相当有限的一部分。有很多组织拥有数十万甚至上百万的记录。因此,在尝试适应此类模型时,传统方案的可伸缩性很差。

 

另一种选择是单独比较每个字段:


 

Record 1

Record 2

First Name

Ron

Ronald

Last Name

Burgundy

burgundy

Email

ron.burgundy@acme.com

ron.burgundy@acme.com

Company

Acme

Acme Corp


一旦系统将“相似的”记录分块到一起,它将继续逐字段分析每条记录。这是我们前面讨论的所有字符串度量发挥作用的地方。


除此之外,系统会给每个字段制定一个特定的“权重”或重要性。例如,假设对于你的数据集,“Email”字段是最重要的。你可以自己调整算法,或者当你将记录标记为重复(或不重复)时,系统会自动学习正确的权重。这被称为主动学习(Active Learning),这种方法更可取,因为系统可以精确计算一个字段相对于另一个字段的重要性。

机器学习方法的优点是什么?


机器学习能提供的最大好处是,它能为你做所有的工作。主动学习将自动给每个字段设置必要的权重。这意味着,不需要创建复杂的设置过程或规则。


让我们看看下面的场景。假设其中一个销售代表发现了一个重复记录,并将这个问题通知给 Salesforce 管理员。Salesforce 管理员将创建一个规则,从而防止将来发生此类重复。每次发现一种新的重复使得这一过程不可持续时,需要一遍又一遍地重复这个过程。

 

另外,我们需要记住,Salesforce 中基于重复数据消除的功能也是基于规则的,只是非常有限。例如,你一次只能合并三条记录,不支持自定义对象,以及其它许多限制。


机器学习是一种更智能的方法,因为规则的创建是自动化的,而人工智能和机器学习则试图重现人类的思维过程。在另一篇文章中,讨论了更多机器学习与自动化之间的区别。选择一个简单地扩展了 Salesforce 的功能的去重产品,而不修复整个过程,是没有意义的。这就是为什么机器学习方法是最好的方法。

作者介绍


Ilya Dudkin 是 Softwarium 的业务开发经理。

原文链接


How Do AI Systems Identify Duplicate Data?

2021 年 7 月 30 日 14:461185

评论

发布
暂无评论
发现更多内容

Android单页应用如何在Activity与Fragment中共享状态

Changing Lin

12月日更

性能基础之CPU、物理核、逻辑核概念与关系

zuozewei

Linux 性能测试 基础 签约计划第二季

性能分析之构建 Linux 操作系统分析决策树

zuozewei

Linux 性能测试 性能分析 签约计划第二季

下周上海见!超越商业,创业邦100未来独角兽峰会议程抢先看

创业邦

工业4.0时代:低代码的兴起,或将掀起制造业格局的变革

优秀

低代码 工业4.0

XTransfer技术专家康康:从普通程序员到架构师的进化之路

XTransfer技术

程序员 创业心态 创业公司 跨境支付 XTransfer

性能工具之Java分析工具BTrace入门

zuozewei

Java 性能测试 性能分析 签约计划第二季

伙伴大会报名截止倒计时3天!

明道云

性能分析之单条SQL查询案例分析(mysql)

zuozewei

MySQL 性能测试 性能分析 签约计划第二季

架构实战营第 4 期 -- 模块二作业

烈火干柴烛灭田边残月

架构实战营

即时通讯(IM)开源项目OpenIM本周版本发布- v1.0.7web端一键部署

OpenIM

使用 Apache APISIX serverless 能力快速拦截 Apache Log4j2 的高危漏洞

Apache APISIX 中国社区

Serverless log4j APISIX

TypeScript 之模块

冴羽

JavaScript typescript 翻译 前端 web前端

iKuai与DNSPod合作,搞了一个大动作!

网络安全 DNS DNS劫持

数据库大赛50强之「华东师范大学」:恰同学少年,代码激扬!

OceanBase 数据库

数据库 学习 开源 oceanbase

Xcode13 适配之打印启动时间

CRMEB

性能监控之Telegraf+InfluxDB+Grafana+Python实现Oracle实时监控

zuozewei

数据库 oracle 性能监控 签约计划第二季

性能工具之常见性能工具一览

zuozewei

工具 性能测试 签约计划第二季

记录docker,k8s,oneops,.netcore搭建个人博客过程

哔啵哔啵

.net Docker k8s .net core oneops

【Promise 源码学习】第十六篇 - 了解 co 库

Brave

源码 Promise 12月日更

深度揭秘技术创新:全球首个知识增强千亿大模型是怎样炼成的?

百度大脑

人工智能

睁眼、耸肩、觉醒:人形机器人的吊诡与最终幻想

脑极体

Linux之ls命令

入门小站

Linux

Hoo虎符研究院 | 币海寻珠——2021年区块链投融大事记

区块链前沿News

区块链 虎符 Hoo虎符 Hoo 虎符交易所

Apache Log4j 2 报高危漏洞,CODING 联手腾讯安全护卫软件安全

CODING DevOps

Apache DevSecOps CODING Log4j 2 腾讯安全

40 K8S之Calico网络插件

穿过生命散发芬芳

k8s 28天写作 12月日更

盘点2021:一年读完的50本书

石云升

书单 年终总结 28天写作 12月日更 盘点2021

记录-最骄傲的事(3)

将军-技术演讲力教练

数据情报在金融行业的探索系列

nexpose

数据分析 目标追踪 风险识别 数据分析预测 数据情报

实用机器学习笔记九:数据部分总结

打工人!

机器学习 算法 学习笔记 12月日更

时间紧资金少人才缺?8位产业专家带你破局AI智能化升级

百度大脑

人工智能

AI系统如何识别重复数据?_AI_Ilya Dudkin_InfoQ精选文章