课程简介
了解实体消解的目的、目标受众和先决条件。
企业使用企业资源规划(ERP)系统处理运营事务,使用客户关系管理(CRM)系统进行市场营销,同时还会涉及文件、外部应用程序编程接口(API)以及其他数据源。这些系统中的客户记录常常分散在各个来源中,彼此之间没有通过关联键正式整合,且存在名称和语言上的差异,甚至在每个系统内部还可能存在重复数据。这种情况不仅出现在客户信息中,也常见于供应商、人员、地点以及交易数据等方面。
本课程将教你如何解决表格数据中的这类问题。
交叉引用表
学习者可能会问:“具体来说,‘解决记录’是什么意思?” 这实际上是指构建交叉引用表。以下是一个示例:
ERP 客户
| ID | CompanyName | AddressLine1 | AddressLine2 | Country |
|---|---|---|---|---|
| 0 | ABC Corp. | 123 Oak Ave | Montreal QC | CA |
| 1 | Contoso | Rue de Bell. | 75374 Paris | FR |
| 2 | DB Schenker | Kruppstr. 4 | 45128 Essen | DE |
| 3 | Big Kahuna | 99 Ham Drive | Miami 33185 | US |
| 4 | Schenker AG | Krupp Straße 4 | Essen-City | DE |
| ... | ... | ... | ... | ... |
CRM 客户账户
| AccID | Name | Street | ZipCode | City | Country |
|---|---|---|---|---|---|
| a3b6l | Entity Hero | Bolzweg | 47839 | Krefeld | DE |
| ak44j | Lucha Libre Ole | C. de Benova | 66667 | Palencia | ES |
| a89ci | Deutsche Bahn | Kruppstr. 4 | 45128 | Essen | DE |
| aa341 | Contonso Inc. | P.O. Box 123 | 75374 | Paris | FR |
| a31bc | Bambini Pub | 66 Bobcat Lane | 09876 | London | UK |
| ... | ... | ... | ... | ... | ... |
我们从两个系统中获取了客户记录,每个系统内部都存在重复项,且两表之间没有可匹配的主键。第一个系统是我们的 ERP 系统,用于处理订单、发票及其他财务交易;第二个系统用于营销活动管理,我们在其中记录电话沟通、拜访等客户互动行为。市场团队希望我们分析客户拜访对促成新订单的效果。
我们可以借助实体消歧技术来弥合 ERP 和 CRM 之间的数据断层。最终结果是一个交叉引用表:
交叉引用
| source | original_id | resolved_id |
|---|---|---|
| erp | 1 | c-0 |
| crm | aa341 | c-0 |
| erp | 2 | c-1 |
| erp | 4 | c-1 |
| crm | a89ci | c-1 |
| ... | ... | ... |
该表明确了哪些原始记录属于同一个客户实体。它连接了原始标识符,使我们能够跨系统进行数据关联与聚合——这是分析营销活动效果的第一步。
目标受众
实体消歧是每个数据质量管理工具箱中不可或缺的部分。作为个人贡献者(如数据科学家、工程师、开发者),你将学习如何在 Python 中端到端地完成实体消歧任务。这一领域是计算机科学与统计学的交叉前沿,具有挑战性,也是当前企业在面临数据质量问题时极为看重的能力——换句话说,几乎适用于所有组织。
我们将会熟悉实体消歧相关的技术栈。如果某些组件选择购买而非自行开发,是否更合理?本课程将帮助你在与供应商沟通前做好充分准备。不要被误导购买不必要的功能;必须主动质疑供应商,以确保获得最佳性价比。
先修要求
实体消歧融合了计算机科学与统计学的知识。我们将运用文本处理、机器学习、图结构等多种技术。如果你具备以下领域的经验,将更有优势:
- 使用 Python 编程
- 使用 pandas 操作 DataFrame
- 使用 scikit-learn 构建二分类模型
- 使用 NetworkX 处理图结构数据
引用与术语表
本课程的完成离不开众多开源库和数据集的支持。请参阅本课程“附录”部分的术语表,了解相关引用信息及一系列实用链接。