跳到正文FIT5196 Seminar Week 10 · Jimmy Huang's BlogFIT5196 Seminar Week 10
本页目录· 105 条
ChatGPT 说›本周主题是数据集成与数据丰富(Data Integration & Enrichment)。它位于数据整理(Data Wrangling)流程中,承接前几周的数据清洗(Data Cleaning)和数据转换(Data Transformation),重点解决一个现实问题:即使数据已经被清洗、标准化、转换,原始数据仍然可能“不够用”——样本不够、字段不够、语义不清、信息缺失、来源分散。这时就需要通过外部数据、已有数据派生信息、旧文档或其他数据源来增强数据的可用性。
Learning Outcomes
理解数据丰富(Data Enrichment)和数据集成(Data Integration)的区别与联系。
解释为什么来自不同来源的数据很难直接合并。
理解数据集成的两大层次:模式集成(Schema Integration)与数据级集成(Data-Level Integration)。
掌握模式(Schema)的含义,以及不同数据模型中 Schema 的表现形式。
能识别常见的 Schema 集成冲突,包括结构冲突、命名冲突、语义冲突、单位冲突、数据类型冲突、抽象层级冲突等。
理解模式匹配(Schema Matching)的基本方法,包括基于名称的匹配(Name-Based Matching)和基于实例的匹配(Instance-Based Matching)。
理解属性级集成(Attribute-Level Integration)中如何处理冗余与相关性。
掌握分类变量的卡方检验(Chi-square Test)和数值变量的相关系数(Correlation Coefficient)在数据集成中的作用。
理解元组级集成(Tuple-Level Integration)中的重复记录、记录匹配、字符串匹配和数据匹配问题。
理解编辑距离(Edit Distance)、Needleman-Wunsch 度量(Needleman-Wunsch Measure)、TF-IDF 度量(TF/IDF Measure)、规则型数据匹配和学习型数据匹配的基本思想。
本周在课程中的位置
在完整的数据整理流程中,本周内容接在数据转换之后:
可以这样理解:
数据清洗主要解决“数据脏不脏”的问题,例如缺失值、错误值、重复值、格式混乱。
数据转换主要解决“数据好不好分析”的问题,例如标准化、离散化、构造新特征、降低偏态。
数据丰富 / 数据集成主要解决“数据够不够、信息全不全、多个来源能不能统一使用”的问题。
数据验证会在后续继续检查处理结果是否合理、可靠、符合要求。
课堂中特别强调,Assessment 2 中的数据转换方法不能“所有属性都套同一个方法”,也不能只是把所有方法试一遍再选表现最好的。更重要的是解释:为什么这个属性适合这种方法、这种选择在逻辑上是否合理、是否符合数据本身的特点。
1. 数据转换回顾(Data Transformation Recap)
本周开头先回顾了上周的数据转换(Data Transformation)。
1.1 数据转换是什么
数据转换是指把原始数据清洗、调整并转换成更适合分析的格式。它的目标是让数据变得:
更可用(usable)
更高效(efficient)
更容易分析
更可靠
更符合建模方法的假设
1.2 为什么需要数据转换
修复数据偏态(skewness)
改善数据可视化效果
提高可解释性
让数据更符合模型假设
把不同尺度或不同格式的数据变得可比较
1.3 数据转换包含哪些方法
数据标准化 / 归一化(Data Normalisation)
线性转换(Linear Transformation)
幂转换(Power Transformation)
数据离散化(Data Discretisation)
数据降维 / 数据约简(Data Reduction)
2. 数据丰富(Data Enrichment)
2.1 数据丰富是什么
数据丰富(Data Enrichment)是指在已有数据基础上追加额外上下文或外部信息,使数据更完整、更有分析价值。
增加新的字段
增加外部背景信息
增加旧版文档、数据字典、说明材料
从已有字段中派生出新的信息
用新的数据源补充原数据的缺失维度
可以这样理解:数据丰富不是简单“把数据变多”,而是让数据的含义更清楚、分析价值更高。
2.2 数据丰富的三个作用
2.3 数据丰富的典型场景
在完成初步清洗和转换后,如果仍然遇到以下问题,就可能需要数据丰富:
数据样本数量太少。
属性数量太少,无法支撑分析目标。
某些重要字段被清洗时删除或无法使用。
原数据缺乏背景说明,难以理解字段含义。
原数据过时,需要外部最新数据补充。
单一来源数据无法回答分析问题。
课堂补充中提到,额外信息可以来自外部数据源,也可以来自新收集的数据,甚至可以来自已有数据派生出来的新变量。
3. 数据集成(Data Integration)
3.1 数据集成是什么
数据集成(Data Integration)是指把来自不同来源的数据合并起来,形成一个统一视图(unified view)。它是数据整理中的重要组成部分,尤其适用于数据分散在多个系统、数据库、文件、API 或部门中的情况。
来源多样性(Source Diversity):数据来自不同数据库、表格、API、社交媒体、传感器等。
模式合并(Schema Merging):把不同结构的数据统一到一个共同结构中。
实体解析(Entity Resolution):判断不同数据集中哪些记录其实指向同一个真实对象。
集中化(Centralization):最终可能形成一个集中式数据仓库或统一数据集,方便访问和分析。
3.2 数据丰富 vs 数据集成
4. 为什么数据集成很难
数据集成不是简单地 concat 或 merge。课件和课堂都强调:不同数据源通常是为了不同目的独立设计和收集的,因此它们天然会有不一致。
4.1 异构数据(Heterogeneous Data)
schema
字段命名
数据类型
采集目的
业务定义
记录粒度
A 的 customer 可能是注册用户;
B 的 customer 可能是实际购买过的人。
4.2 数据格式多样
文本(text)
Web 日志(web logs)
社交网络(social networks)
传感器(sensors)
医疗记录(medical records)
图像、视频、音频
天文、基因组、监控数据等
课堂中提到,多模态数据(multi-modal data)会更常见。不同设备、传感器、平台产生的数据都可能被视为不同来源,因此一开始就要决定:
是否把信息抽取出来,转成统一表格?
是否保留原始数据,但在分析时分别处理?
是否把文本、图像、视频转成数值化表示?
文本可以转成 token、词频、向量。
视频可以拆成图像帧。
图像可以转成矩阵或特征向量。
4.3 分类体系不兼容(Incompatible Taxonomies)
不同数据源可能对对象身份和分类方式有不同定义。例如:
4.4 时间同步问题(Time Synchronisation)
一个数据源按周记录。
另一个按月记录。
一个记录的是当前值。
另一个记录的是历史快照。
集成时需要考虑时间窗口是否对齐,否则合并后的数据可能在逻辑上不一致。
4.5 历史遗留数据(Legacy Data)
IMS
spreadsheet
临时设计的 ad-hoc structure
旧系统导出的半结构化文件
如果要把历史数据与现代系统数据结合,通常要先理解旧字段含义,再决定是否保留、转换或丢弃。
4.6 抽象层级不同(Different Abstraction Levels)
4.7 数据质量问题(Data Quality)
数据合并会放大原有质量问题。一个来源中的错误数据如果未经检查就合并到总数据集,可能影响整个 integrated dataset 的质量。
错误值
缺失值
重复值
不一致更新
过时信息
格式混乱
单位不统一
4.8 数据源数量太多
数据源越多,映射关系、冲突类型和质量检查成本就越高。Web-scale integration 就是极端例子:大量网页、文本、图片、视频和结构化数据都需要被抽取、匹配和统一。
5. 数据丰富的应用例子
课件展示了几个典型应用,核心思想都是:把多个来源的数据组合起来,创造出单一数据源无法提供的服务。
5.1 Google 知识图谱(Google Knowledge Graph)
知识图谱把实体、概念和它们之间的关系组织成一个巨大的图结构。
课堂中用搜索和生成式 AI 进行类比:系统能够快速返回相关信息,很大程度上依赖提前构建好的知识结构,而不是每次查询时才从头搜索所有原始网页。
5.2 地图 + 房产信息(HousingMaps / Map Mashup)
房屋位置
房价
房源可用性
房间数量
可入住人数
周末是否可租
当前价格
5.3 地图 + Twitter 趋势(TrendMaps)
课件中的 TrendMaps 展示了如何把地图数据与 Twitter 数据结合,用来显示某个区域当前讨论的热门话题。
6. 数据丰富的一般步骤
6.1 Define Objectives:定义目标
当前数据缺少什么信息?
是样本太少,还是字段不够?
是数据质量不够,还是数据过时?
新增信息要服务什么分析目标?
6.2 Select Data Sources:选择数据源
可靠性(reliability)
准确性(accuracy)
相关性(relevance)
数据量是否足够
数据是否及时更新
数据格式是否可处理
人口统计数据
地理数据
社交媒体数据
行业数据库
外部 API
数据字典或文档
6.3 Integrate Data:集成数据
将外部数据与现有数据合并。这一步可能涉及 ETL(Extract, Transform, Load):
6.4 Ensure Data Quality:确保数据质量
准确性
完整性
一致性
时效性
重复记录
单位和类型是否统一
集成后是否引入新的错误
6.5 Continuous Updating:持续更新
对于动态数据,例如消费行为、社交媒体趋势、市场价格等,数据丰富不是一次性任务。需要定期更新,否则 enriched data 很快会失去价值。
7. 数据集成的两大类别
一般先做 Schema Integration,再做 Data-Level Integration。原因是:如果结构没有统一,后面逐条处理数据值会非常混乱。
8. 模式(Schema)是什么
8.1 关系型数据库中的 Schema
在关系型数据库(Relational Database)中,Schema 规定:
关系型数据库因为结构清晰,通常是最容易开始做集成的数据类型。
8.2 XML / JSON 中的 Schema
在 XML 和 JSON 这类半结构化数据中,Schema 通常体现为:
标签(tags)
类(classes)
属性(properties)
父子层级关系
嵌套结构
它们不一定像表格一样规整,但仍然有可识别的层级和字段关系。
8.3 数据科学中的 Schema
数据如何排列
字段之间有什么关系
数据内容如何组织
数据如何表示同一类信息
即使数据从一种格式转换成另一种格式,只要尽量保留信息本身,它仍然可以被映射到某种 Schema。
9. 为什么需要 Schema Integration
多个数据源往往有各自的结构。为了统一访问和分析,需要构建一个中介模式(Mediated Schema)或全局模式,让不同来源的数据都能映射到统一表示。
底层有多个数据源,例如 RDBMS、HTML、XML。
每个数据源通过 wrapper / extractor 抽取数据。
抽取的数据经过转换,映射到统一的 mediated schema 或 warehouse。
用户查询时可以面对统一结构,而不必分别理解每个原始来源。
可以这样理解:Schema Integration 就像设计一个“统一表头和统一字段说明”,让来自不同文件、数据库、网页或 API 的数据都能按同一套规则被读取。
10. Schema Mapping 与 Semantic Mapping
模式映射(Schema Mapping)是指建立每个数据源与中介 Schema 之间的对应关系。课件强调这种对应关系通常通过语义映射(Semantic Mapping)完成。
CustomerID 和 ClientID 可能都对应统一 Schema 中的 customer_id。
一个来源中的 full_name 可能需要拆成 first_name 和 last_name。
一个来源中的 base_price 和 tax_rate 可能要计算后才对应另一个来源中的 price。
11. Schema Integration 的常见问题
11.1 结构冲突(Structure Conflicts)
结构冲突指不同 Schema 在整体结构上不一致。
课堂补充中提到,即使两个数据库看起来很像,真正合并后可能只剩少数共同属性可用。因此在集成前要评估:集成后还剩多少信息、这些信息是否足够支持分析目标。
11.2 命名冲突(Naming Conflicts)
课堂中特别提醒:集成后有权重新命名字段,应该用清楚的属性名。例如不要只叫 ID,而应叫 company_id、student_id 或 customer_id。字段名越有意义,后续分析越不容易混乱。
11.3 实体解析与冲突解决(Entity Resolution / Conflict Resolution)
实体解析是判断不同数据源中的记录或字段是否指向同一真实对象。
不同单位(Different Units)
数据类型异构(Data Type Heterogeneity)
电话号码在一个数据库中是 string。
在另一个数据库中是 integer。
虽然看起来都是 phone number,但 integer 可能丢失开头的 0 或格式符号,因此通常更适合作为字符串处理。
值表示异构(Value Heterogeneity)
Professor / Prof
Street / St
Road / Rd
United States / US / USA
抽象层级不同(Level of Abstraction)
语义异构(Semantic Heterogeneity)
即使字段名相同,含义也可能不同;即使含义相同,命名也可能不同。常见来源包括:
例如,一个 Schema 只有 phone,另一个 Schema 有 home_phone、work_phone、cell_phone。这不是简单的一对一映射,而可能是一对多或多对一关系。
12. Schema Matching:如何判断字段是否对应
模式匹配(Schema Matching)是把一个 Schema S 中的元素与另一个 Schema T 中的元素对应起来。
12.1 语义匹配(Semantic Matching)
语义匹配关注字段“含义上”是否对应,而不只是名称是否相同。
课件中的 DVD-vendor 与 Aggregator 例子包括:
DVD-vendor:Movies(id, title, year)
Products(mid, releaseDate, releaseCompany, basePrice, rating, saleLocID)
Locations(id, name, taxRate)
课堂中强调,这些关系一开始往往只是猜测,不能只看字段名就 100% 确定。需要结合数据值、业务含义和后续验证。
13. 基于名称的匹配(Name-Based Matching)
基于名称的匹配(Name-Based Matcher)比较属性名或列名,希望名称能够反映真实语义。
13.1 常见处理方式
13.2 Name-Based Matching 的局限
它便宜、直接、容易自动化,但不能保证正确。原因是:
同名不一定同义,例如 name 可以是 location name,也可以是 item name。
异名也可能同义,例如 title 和 name 可能都表示商品名称。
缩写可能有多种含义。
字段名无法表达复杂业务逻辑,例如 basePrice 和 taxRate 共同决定 price。
因此,名称匹配通常只是初步候选,还需要数据值或业务规则进一步验证。
14. 基于实例的匹配(Instance-Based Matching)
基于实例的匹配(Instance-Based Matching)使用实际数据值来判断字段或记录是否对应。
14.1 基于规则的实例匹配(Rule-Based Matching)
字段名
数据类型
结构
子元素数量
完整性约束
常见取值范围
如果某个新字段的大多数值都在这个列表中,它就很可能对应电影分级(classification / rating)。但如果值是 1 到 5 的数字,它可能是用户评分,而不是电影分级。
优点
成本较低。
不需要训练数据。
适合用规则快速筛选候选字段。
缺点
难以充分利用复杂数据实例。
如果值格式差异大,效果会下降。
规则依赖人工经验,可能遗漏特殊情况。
14.2 基于学习的匹配(Learning-Based Matching)
基于学习的方法使用机器学习技术,同时利用 schema 信息和数据值信息。
它的关键前提是:必须有正确的训练样本。如果训练数据本身错误,模型会学习错误模式。
课堂中特别强调,模型不只是需要训练,使用模型的人也需要理解方法本身。否则即使工具给出结果,也无法解释为什么这样匹配。
15. 数据级集成(Data-Level Integration)
数据级集成关注的不是 schema,而是具体的数据内容和值。
16. 属性级集成(Attribute-Level Integration)
16.1 属性级集成的问题
合并不同来源的数据时,可能出现冗余表示(redundant representation)。
课堂中提到,合并后如果保留了 location 和 address 两列,需要进一步查看具体值:
16.2 如何判断属性是否冗余
17. 卡方检验(Chi-square Test)
17.1 作用
卡方检验用于分类变量,目的是判断两个分类变量是否相互独立。
Gender 是否独立于 Education Level?
17.2 假设
17.3 公式
χ2=i∑Ei(Oi−Ei)2 Oi 表示观察频数(observed frequency)。 Ei 表示在原假设成立时的期望频数(expected frequency)。
E=Sample SizeRow Total×Column Total 17.4 课件例子:Gender 与 Education Level
例如,Female + High School 的期望频数为:
50.886=395100×201 χ2=8.006 (r−1)(c−1)=3 8.006>7.815 Education Level 与 Gender 在 5% 显著性水平下不是独立的,二者存在依赖关系。
课堂中特别提醒:做统计计算时不能只给公式和数值,必须写出结论。Assessment 中如果只算出结果但没有解释 dependent / independent,通常拿不到完整分数。
18. 相关系数(Correlation Coefficient)
18.1 Pearson 相关系数
相关系数(Correlation Coefficient),也叫皮尔逊相关系数(Pearson Correlation Coefficient),用于衡量两个数值变量之间线性关系的强度和方向。
r=n∑x2−(∑x)2n∑y2−(∑y)2n∑xy−(∑x)(∑y) 18.2 r 的解释
在数据集成中,如果两个数值属性高度相关,可能说明它们表达的是相似信息。为了避免冗余,可以考虑只保留一个,或进一步检查它们是否是单位转换关系、派生关系或重复属性。
18.3 课件例子
r=0.676747624 r2=0.457987347 这表示两个变量之间存在一定正相关,但不是完全线性相关。
19. 判定系数(Coefficient of Determination)
判定系数(Coefficient of Determination)通常写作 R2 或 r2,表示一个变量的波动中有多大比例可以由另一个变量解释。
19.1 直观理解
课堂中提醒:如果线性回归或分类结果出现 100% 完美,很可能要警惕是否有错误、数据泄漏或不合理设定。
19.2 相关公式
回归平方和(Regression Sum of Squares, SSR):
SSR=i=1∑n(yi^−yˉ)2 残差平方和(Residual Sum of Squares, RSS):
RSS=i=1∑n(yi−yi^)2=i=1∑nei2 总平方和(Total Sum of Squares, TSS):
TSS=i=1∑n(yi−yˉ)2 R2=1−TSSRSS 20. 元组级集成(Tuple-Level Integration)
20.1 什么是元组级集成
元组级集成关注不同数据源中的行记录是否表示同一个真实对象。
20.2 Tuple Matching 的两类方法
字符串匹配(String Matching)
数据匹配(Data Matching)
字符串匹配更关注单个字符串是否指向同一实体;数据匹配则更关注整条记录中多个字段是否共同表明两个 tuple 是同一实体。
21. 字符串匹配(String Matching)
21.1 问题定义
给定两个字符串集合 X 和 Y,要找出所有字符串对 (x,y),其中:
Dave Smith 与 David D. Smith 是否是同一个人?
St Kilda Rd 与 Saint Kilda Road 是否是同一条路?
Monash Uni 与 Monash University 是否表示同一机构?
21.2 相似度方法分类
22. 编辑距离(Edit Distance)
22.1 定义
编辑距离(Edit Distance)是把一个字符串转换成另一个字符串所需的最少编辑操作数量。
插入(Insertion)
删除(Deletion)
替换(Substitution)
22.2 课件例子
课件中用动态规划矩阵展示了从一个字符串转换到另一个字符串的过程,例如把 d-va 与 dave 对齐。示例中需要执行的操作包括:
它的重点不是字符串的语义,而是直接计算字符层面的转换代价。
23. Needleman-Wunsch 度量
Needleman-Wunsch 度量(Needleman-Wunsch Measure)也是基于序列对齐的方法,但它不一定把每个操作都看作同样代价。
匹配相同字符会得到正分,例如 +2。
不匹配或 gap 会有惩罚,例如 1。
gap cost 可以人为定义。
可以这样理解:编辑距离是在“扣分”,Needleman-Wunsch 可以同时“奖励匹配、惩罚不匹配”。
24. TF-IDF 度量(TF/IDF Measure)
TF-IDF 把字符串看成一组 token,然后判断哪些 token 更重要。
x = aab 可以表示为 {a, a, b}。
y = ac 可以表示为 {a, c}。
z = a 可以表示为 {a}。
它会计算 token 的频率和区分度,把字符串转成向量,再用类似余弦相似度的方式比较。
24.1 TF-IDF 的直观意义
如果一个 token 在当前字符串中出现频繁,它对该字符串更重要。
如果一个 token 在所有字符串中都很常见,它区分能力较弱。
如果一个 token 在某些字符串中特别出现,它区分能力更强。
在数据匹配中,TF-IDF 适合处理多个 token 组成的字段,例如名称、地址、标题、机构名。
25. 数据匹配(Data Matching)
25.1 为什么 Data Matching 难
数据匹配不仅比较单个字符串,还比较整条记录。它会受到很多现实问题影响:
25.2 基于规则的数据匹配(Rule-Based Data Matching)
sim(x,y)=i=1∑nαisimi(x,y) simi(x,y) 是第 i 个字段的相似度。 αi 是该字段的重要性权重。
sim(x,y)=0.3sname(x,y)+0.3sphone(x,y)+0.1scity(x,y)+0.3sstate(x,y) sim(x,y)=1+e−z1 z=i∑αisimi(x,y) 可以这样理解:规则型匹配不是只看一个字段,而是综合多个字段,给每个字段不同的重要程度。
课堂补充中特别强调,最好的规则应该尽量结合业务规则(business rules)。例如公司内部如何定义 client name、company name、customer,都可能影响匹配逻辑。
26. 基于学习的数据匹配(Learning-Based Data Matching)
26.1 监督学习(Supervised Learning)
T={(x1,y1,l1),(x2,y2,l2),...,(xn,yn,ln)} (xi,yi) 表示一对 tuple。 li 表示布尔标签,例如 match / non-match。
定义特征集合 f1,f2,...,fm。 把每一对 tuple 转换成特征向量。
使用监督学习算法训练匹配模型。
用模型判断新的 tuple pair 是否匹配。
名字是否匹配
电话是否匹配
城市是否匹配
州是否匹配
区号与城市是否一致
26.2 决策树式匹配
如果 name similarity 大于 0.8,再判断 phone similarity。
如果 phone similarity 也大于 0.8,则可能判断为 yes。
如果某一步不满足阈值,则继续检查其他字段或判断为 no。
这种方法的好处是可解释性较强,但仍然依赖正确的训练数据和合理特征。
26.3 聚类方法(Clustering Approach)
聚类方法认为:同一个 cluster 中的 tuple 是匹配的。
可以这样理解:如果多个记录都很像同一个人、同一个地址或同一个商品,聚类方法会把它们归为一组,然后为这组生成一个统一版本。
26.4 概率方法(Probabilistic Approach)
课件只列出 probabilistic approach,没有展开细节。它的基本思想通常是把匹配看作概率问题:给定多个字段相似度,估计两条记录属于同一实体的概率。
27. 本周与 Assessment 2 的关系
课堂中多次提醒,本周内容与 Assessment 2 的思路密切相关,尤其是方法选择与解释。
27.1 方法选择必须有理由
无论是 transformation、matching、correlation check,还是 data cleaning,都不能只写“我用了这个方法”。需要解释:
为什么这个字段适合这个方法?
这个方法解决了什么问题?
它的假设是否适合当前数据?
是否有其他选择?为什么不选?
结果说明了什么?
27.2 不能盲目依赖工具或 AI
课堂中强调,即使 AI 或工具能给出方法建议,也必须追问:
Assessment 2 有小组 presentation,老师会根据提交的 solution 提问。如果某些方法选择看起来不常见、不清楚或缺乏解释,很可能会被追问。因此最终报告和代码都要能够自洽。
27.3 计算结果必须配结论
χ2=8.006 critical value = 7.815
27.4 小组任务建议
尽早规划时间,不要等到 submission 前才开始。
每个成员都要理解自己负责的部分。
可以一个人处理某些属性,另一个人负责 validation / cross-check。
组内要讨论并解决不同意见。
如果不确定要求,应尽早在 applied session 或 consultation 中问教学团队。
28. 本周核心思维方式
本周最重要的不是记住某一个公式,而是形成数据集成中的判断逻辑。
28.1 不要只看名字
rating 可能是电影分级,也可能是用户评分。
name 可能是人名、商品名、地点名。
ID 没有上下文时几乎没有意义。
28.2 不要只看值
28.3 结构、名称、数据值和业务规则要一起看
Schema 结构
字段名称
数据类型
实际取值
单位和粒度
时间窗口
业务定义
统计检验
人工判断
28.4 集成结果也必须再清洗和验证
所以 enrichment / integration 后通常还需要重新进行质量检查。
Summary
本周的核心是理解:真实世界的数据很少天然适合直接分析。即使完成清洗和转换,数据仍可能缺少上下文、样本不足、字段不够、来源分散或语义不清。数据丰富(Data Enrichment)通过外部信息或派生信息提升数据价值;数据集成(Data Integration)则把多个来源合并成统一视图。
整个集成过程可以分为两个层次:先做模式集成(Schema Integration),解决结构、字段、实体和语义映射问题;再做数据级集成(Data-Level Integration),处理具体值、属性冗余、记录重复和匹配冲突。Schema 集成中要特别注意结构冲突、命名冲突、单位差异、数据类型差异、值表示差异和抽象层级差异。数据级集成中,属性级问题可以借助卡方检验、相关系数和判定系数分析冗余与相关性;元组级问题则需要字符串匹配、规则型匹配、学习型匹配或聚类方法来判断记录是否属于同一实体。
本周最重要的复习重点是:数据集成不是简单合并文件,而是一个需要语义理解、统计判断、业务规则和质量验证共同参与的过程。做 Assessment 2 时,任何方法选择都要能解释“为什么适合这个数据”,计算结果也必须转化成明确结论。
similarity = 0.3 × name_similarity
+ 0.3 × phone_similarity
+ 0.1 × city_similarity
+ 0.3 × state_similarity