模式集成问题如何使来自多个数据源的现实世界的实体匹配,其中就涉及实体识别问题。实体是存在于现实世界中并且可以与其他物体区分开来的物体。实体是名词,例如,人名、地名、物名都是实体。在计算机领域进行实体识别是一个大工程,需要明确如何对待实体,即用一系列的属性来描述这个实体从而把差别描述出来。数据集成中,往往需要把原本不属于同一个东西的实体区别开,也需要把原本属于同一个东西的实体匹配起来。例如,如何确定一个数据库中的“custom_ID”与另一个数据库中的“custome_number”是否表示同一实体?在匹配来自多个不同信息源的现实世界实体时,如果两个不同数据库中的不同字段名指向同一实体,则需要把两个字段名改为一致,避免模式集成时产生错误。
实体识别是指从不同数据源识别出现实世界的实体,它的任务是统一不同源数据的矛盾之处,常见形式如下:
1.同名异义
数据源A中的属性ID和数据源B中的ID分别描述的是菜品编号和订单编号,即不同的实体。例如,苹果既可以代表手机也可以代表水果。又如姓名王伟是一个很普通的名字,但是它表示不同的实体。
2.异名同义
数据源A中的sales_date和数据源B中的sales_day都是描述同一商品的销售日期,即A.sales_date=B.sales_day。例如,我们团队中有个“涛哥”,有时候也叫“涛涛”,真实名字叫作“张涛”,很多场合下我们知道这是一个人。又如“李白”和“李太白”指的就是一个人。又如我们会习惯性地给某个人加上职位性的称谓,如说“陈主任” “王博士”“周院长”等。我们需要将这些称谓与真实姓名对应起来。
3.单位统一(www.xing528.com)
用于描述同一个实体的属性有时可能会出现单位不统一的情况,这就需要能够统一起来,如1 200 cm与1.2m,要知道计算机在进行处理时是没有量纲的,要么统一量纲,要么去量纲化(归一化)。
4.ID-M apping
ID-Mapping实际上是一个互联网领域的术语,意思是将不同数据库或者账号系统中的人对应起来。例如说你办了一张中国移动的手机卡,他们就会知道你用的是某个手机号,而如果你使用今日头条就会留下各种浏览新闻的痕迹,如果现在中国移动要和今日头条合作,那么就得打通两边的数据,“打通”的第一步就是知道中国移动的张三就是今日头条的张三,这个过程在当下可以通过设备的IMIS号码进行比照进行,其他的ID-Mapping需要采取不同的策略。
例3_7_ID-Mapping.py
实验设计中,基于ID-Mapping实现账户匹配,自行给定不同数据源下的数据,采用唯一识别号(学号-姓名-专业-ID-刷卡地点-刷卡时间-消费金额等)进行账户信息匹配。运行结果如下,实现了学号-姓名-专业-ID-刷卡地点-刷卡时间-消费金额等数据的拼接。这在大数据强调的数据孤岛问题解决上有着重要的意义。如结果所示,在数据缺失情况下,利用元数据避免了模式集成过程中的错识。
元数据是“描述数据的数据”。每个属性的元数据包括名字、含义、数据类型和属性值允许范围,以及处理缺失值(空值)的规则。对于这些常见的矛盾,一般利用元数据来处理。特别是在数据库与数据仓库中通常包含元数据,元数据有助于避免模式集成过程中的错识。此外,在数据集成过程中,当一个数据库的属性与另一个数据库的属性匹配时,要特别注意数据间的结构差异性。这旨在确保源系统中的函数依赖和参照约束与目标系统对应的互匹配。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。