IBM Match 360使用匹配算法将数据记录解析为主数据实体。 数据工程师可以为其数据中的每个实体类型定义不同的匹配算法。 然后,匹配算法可以分析数据以评估和比较记录,然后将匹配的记录收集到实体中。
对数据运行匹配有两个常见原因:
- 对于 记录去重和实体解析,匹配过程会分析数据以确定数据中是否存在任何重复记录。 可疑重复记录将合并到主数据实体中,以建立单个可信的全方位数据视图。
- 要创建其他类型的 实体关联,匹配过程会分析数据,以将记录收集到表示不同类型分组 (例如家庭) 的实体中。
观看以下视频,了解如何使用 IBM Match 360 为定制数据模型设置匹配算法。
此视频提供了一种可视方法来学习本文档中的概念和任务。
在本主题中:
匹配以创建多种类型的实体
IBM Match 360 匹配算法由关联数据的实体类型驱动。 您可以为数据模型中的每个记录类型定义多个实体类型。 对于每种实体类型,配置并调整其相应的匹配算法,以确保 IBM Match 360 创建满足组织需求的实体。
单个记录可以是多个单独实体的一部分。 如果数据模型包含多个实体类型,那么可以在同一数据集中运行不同类型的匹配。 例如,考虑包含来自整个企业的人员记录的数据集。 如果 "个人" 记录类型包含 "个人" 实体类型和 "家庭" 实体类型的定义,那么您可以运行 "个人" 匹配算法以进行实体解析和去重,还可以运行 "家庭" 匹配算法以创建由属于同一家庭的人员记录组成的实体。
匹配过程
匹配引擎将通过定义的流程将记录匹配到实体中。 匹配过程包括三大步骤:
标准化。 在此步骤中,算法将数据的格式标准化,以便可以由匹配的引擎进行处理。
你在说什么? 该算法将数据排序为各种类别或 "存储区" ,以便它可以比较相似到相似的信息片段。
比较。 该算法比较数据以确定最终比较分数。 然后,该算法使用比较分数来确定记录是否匹配。
其中每个步骤都由匹配算法定义和配置。
复原力规则
您可以使用IBM Match 360API 配置弹性规则,限制匹配算法对记录数据更改的响应。
在没有弹性规则的情况下,当主数据记录被添加、更新或删除时,可能会发生多种实体链接变化:
如果添加了新的记录,就可以:
- 加入现有实体。
- 作为胶水记录,使两个或多个现有实体连接在一起。
- 形成一个新的单例实体。
如果记录被更新,就可以
- 不再属于当前实体,成为新的单例实体。
- 不再附属于当前实体,而是加入另一个现有实体。
- 使其当前实体分裂成多个实体。
- 通过充当胶水记录,使其他实体加入现有实体。
- 不改变实体构成。
如果记录被删除,它就会被删除:
- 导致其单机实体也被删除。
- 使其当前实体分裂。
通过定义弹性规则,数据工程师可以配置IBM Match 360匹配引擎如何应对上述各种情况。 匹配引擎会控制其链接行为,以便与您配置的弹性规则保持一致。 通过配置弹性规则,你可以限制实体合并和拆分,这意味着你可以拥有更稳定的实体组成。
使用 "resiliency_rules
应用程序接口定义弹性规则。 如果给定规则设置为 "FALSE
,则相应的实体链接方案将不会完成通常的实体链接更改。
要获取当前的弹性规则集,请运行以下 API 命令:
GET /mdm/v1/resiliency_rules
要更新弹性规则,请使用更新的有效载荷运行以下 API 命令:
PUT /mdm/v1/resiliency_rules
{
"link_resiliency_rules": {
"records": {
"person": {
"add": {
"join_existing_entity": "true/false",
"merge_entities": "true/false"
},
"update": {
"record_becoming_singleton": "true/false",
"join_existing_entity": "true/false",
"original_entity_split": "true/false",
"merge_entities": "true/false"
},
"delete": {
"singleton_entity_deletion": "true",
"original_entity_split": "true/false"
}
}
},
"entities": {
}
}
}
匹配算法的组件
三种主要类型的组件定义 IBM Match 360 匹配算法:
标准化人员
正如名称所表明的那样,标准化程序定义了数据标准化的方式。 标准化使匹配算法能够将不同属性的值转换为可由匹配引擎处理的标准化表示。
匹配算法使用多个标准化程序。 每个标准化程序都适用于处理在记录数据中找到的特定属性类型。
标准化程序由 JSON 对象定义。 每个标准化程序的 JSON 对象定义都包含三个元素:
label
-标识此标准化程序的标签。inputs
-inputs
列表具有一个元素,即 JSON 对象。 该 JSON 对象具有两个元素:fields
和attributes
:fields
-要用于标准化的字段列表。attributes
-要用于标准化的属性列表。
standardizer_recipe
-JSON 对象的列表,其中每个对象表示在关联的标准化程序的标准化过程中要运行的一个步骤。standardizer_recipe
列表中的每个对象都由四个主要元素组成:label
-用于标识标准化程序配方中的此步骤的标签。method
-使用的内部方法。 此元素仅供参考,不得编辑。inputs
-inputs
列表的单个元素定义了一个更高级别的元素。fields
-要用于此步骤的字段的列表。 这通常是inputs
列表中定义的所有字段的子集,级别更高一层。 并非每个步骤都需要处理所有inputs
字段。set_resource
-用于此步骤的set
类型可定制资源的名称。map_resource
-用于此步骤的map
类型可定制资源的名称。
根据步骤的行为,在相应的 JSON 对象中可能需要更多配置元素。
预配置的标准化程序
以下标准化程序已准备好在 IBM Match 360中使用。 预配置的标准化程序也是可定制的。
人员姓名标准化程序
此标准化程序用于对 "人员名称" 属性值进行标准化。 它按顺序包含以下食谱:
Upper case
-转换输入字段值以使用其大写等价项。Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Tokenizer
-根据定义的定界符列表,将输入字段值标记为多个标记。Parse token
-根据 IBM Match 360 资源中的预定义值,将输入字段值解析为不同的标记。 例如,您可以使用此配方将后缀,前缀和生成值解析为相应的字段。Length
-废弃超出给定长度范围的标记。 最小值和最大值在 IBM Match 360 资源中定义。Stop token
-除去已配置的匿名输入值。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下, "人员名称" 标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。person_map_name_alignments
-将后缀,前缀和生成值解析为相应的字段。
缺省情况下, "人员名称" 标准化程序使用以下 Set 资源:
person_set_name_aname
-除去匿名人员名称值。
组织名称标准化程序
此标准化程序用于标准化 "组织名称" 属性值。 它按顺序包含以下食谱:
Upper case
-转换输入字段值以使用其大写等价项。Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Stop character
-从名称值中除去不需要的输入字符。Map token
-生成给定输入的昵称或备用名,并将信息存储在单独的新内部字段中。Tokenizer
-根据定义的定界符列表,将输入字段值标记为多个标记。Stop token
-除去已配置的匿名输入值。Acronym
-生成给定组织名称的首字母缩略词,并将信息存储在单独的新内部字段中。 此首字母缩略词值在比较期间用于处理缩写名称。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,组织名称标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。org_map_name_cnick_name
-生成给定输入的昵称或备用名。
缺省情况下, "组织名称" 标准化程序使用以下集资源:
org_set_name_aname
-除去匿名组织名称值。
日期标准化程序
此标准化程序用于对 "日期" 属性值进行标准化。 它支持许多不同的日期格式,并按顺序包含以下食谱:
Map character
-将斜杠字符 (/
) 转换为短划线字符 (-
)。Date function
-将不同格式的日期输入转换为标准化格式。Stop token
-除去已配置的匿名日期值。Parse token
-根据某些正则表达式,将输入字段值解析为不同的标记。 例如,您可以使用此配方将完整的日期输入解析为日,月和年标记。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,日期标准化程序使用以下映射资源:
map_character_date_separators
-将斜杠 (/
) 或任何其他分隔符转换为短划线字符 (-
)。map_date_tokens_year_month_day
-根据正则表达式将输入日期值解析为内部字段,即birth_year
,birth_month
和birth_day
。
缺省情况下,日期标准化程序使用以下 Set 资源:
set_date_date
-除去匿名日期值。
性别标准化
此标准化程序用于对 "性别" 属性值进行标准化。 它按顺序包含以下食谱:
Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Upper case
-转换输入字段值以使用其大写等价项。Stop token
-除去配置的匿名输入性别值。Map token
-将输入令牌值转换为等效值,如 IBM Match 360 资源中所配置。Parse token
-将已处理的字段值解析为相应的内部字段。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,性别标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。map_gender_gender
-将不同的输入性别值映射到标准值。map_gender_tokens_gender
-根据正则表达式将输入标记值解析为内部gender
字段。
缺省情况下, Gender 标准化程序使用以下 Set 资源:
set_gender_anon_gender
-除去匿名输入性别值。
地址标准化程序
此标准化程序用于对地址属性值进行标准化。 根据语言环境,地址可以有多种不同的格式。 这种灵活性需要复杂的处理才能将地址转换为标准化格式。 地址标准化程序按顺序包含以下食谱:
Upper case
-转换输入字段值以使用其大写等价项。Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Map token
-将输入令牌值转换为等效值,如 IBM Match 360 资源中所配置。 例如, "美利坚合众国" , "美国" 和 "美国" 都可以映射到 "美国"。 此映射对于国家或地区和省/直辖市/自治区字段值是通用的。 此外,在资源中配置的定界字符将映射到空格字符。Tokenizer
-根据定义的定界符列表,将输入字段值标记为多个标记。Stop token
-除去配置的匿名输入值,例如邮政编码。Keep token
-仅允许为给定字段定义值列表。 例如,您可以定义标准化期间允许的邮政编码列表。 将除去不在允许列表中的输入值。Parse token
-根据资源中配置的特定正则表达式和预定义值,将输入字段值解析为相应的内部字段。 您可以使用此配方通过使用正则表达式将给定令牌截断为特定长度。 您还可以使用正则表达式形式定义不同的字母数字模式集,以仅允许某些模式。Join fields
-将两个或多个字段连接在一起,以创建分配给内部字段的新组合值。 例如,可以将latitude
和longitude
字段值连接在一起,以形成名为lat_long
的新内部字段。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,地址标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。map_address_country
-将输入国家或地区值转换为等效值。map_address_province_state
-将输入省/自治区/直辖市值转换为等效值。map_address_delimiter_removal
-将资源中配置的定界字符映射到空格字符。map_address_addr_tok
-将输入地址令牌值转换为等效值。map_address_tokens_unit_type_and_number
-根据正则表达式将输入字段residence_number
解析为内部字段,即unit_type
和unit_number
。map_address_tokens_street_number_name_direction_type
-基于正则表达式将输入字段address_line1
解析为内部字段,即street_number
,street_name
,direction
和street_type
。map_address_tokens_sub_division
-基于内部字段sub_division
的正则表达式对输入字段address_line2
进行语法分析。map_address_tokens_pobox_type_and_number
-根据正则表达式将输入字段address_line3
解析为内部字段,即pobox_type
和pobox
。map_address_tokens_city
-基于正则表达式解析city
字段的输入值。map_address_tokens_province
-根据内部字段province
的正则表达式解析province_state
字段的输入值。map_address_tokens_postal_code
-基于内部字段postal_code
的正则表达式解析字段zip_postal_code
的输入值。map_address_tokens_country
-基于正则表达式解析字段country
的输入值。map_address_tokens_latitude
-根据内部字段latitude
的正则表达式解析字段latitude_degrees
的输入值。map_address_tokens_longtitude
-基于内部字段longitude
的正则表达式解析字段longitude_degrees
的输入值。
缺省情况下, Address 标准化程序使用以下 Set 资源:
set_address_postal_code
-除去zip_postal_code
的匿名输入值。
电话标准化装置
此标准化程序用于对 "电话" 属性值进行标准化。 它按顺序包含以下食谱:
Stop character
-从电话值中除去不需要的输入字符。Stop token
-除去已配置的匿名电话值。Phone
-将不同语言环境中具有不同格式的输入电话号码解析为通用格式。 此配方可配置为从电话号码中除去区域代码和国家或地区代码。 它还可以在一个标准化的电话号码中保留一定数量的数字。Parse token
-根据资源中配置的特定正则表达式,将已处理的字段值解析为相应的内部字段。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下, Phone 标准化程序使用以下地图资源:
map_phone_tokens_phone
-根据正则表达式将电话值解析为内部字段。
缺省情况下, Phone 标准化程序使用以下 Set 资源:
set_character_phone
-替换所有非字母数字字符。 使您能够指定正则表达式。set_phone_anon_phone
-除去匿名电话值。
标识标准化程序
此标准化程序用于标准化标识属性值。 它按顺序包含以下食谱:
Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Upper case
-转换输入字段值以使用其大写等价项。Stop character
-从标识值中除去不需要的输入字符。Stop token
-除去已配置的匿名输入值。Map token
-将输入令牌值转换为等效值,如 IBM Match 360 资源中所配置。Parse token
-根据资源中配置的特定正则表达式,将已处理的字段值解析为相应的内部字段。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,标识标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。map_identifier_equi_identifier
-将输入令牌值转换为等效值。map_identifier_tokens_identification_number
-根据资源中配置的特定正则表达式,将已处理的字段值解析为相应的内部字段。
缺省情况下,标识标准化程序使用以下 Set 资源:
set_character_identification_number
-从标识值中除去非字母数字输入字符。 使您能够指定正则表达式。set_identifier_anonymous
-除去匿名标识值。
电子邮件标准化程序
此标准化程序用于对电子邮件属性值进行标准化。 它按顺序包含以下食谱:
Map character
-将 UNICODE 输入字符转换为等效的英语字母字符。 (可选) 在 IBM Match 360 资源中定义映射。Upper case
-转换输入字段值以使用其大写等价项。Stop token
-除去已配置的匿名输入值。Map token
-将输入令牌值转换为等效值,如 IBM Match 360 资源中所配置。Parse token
-根据资源中配置的特定正则表达式,将已处理的字段值解析为相应的内部字段。Pick token
-选择标记的子集 (或全部) 作为标准化数据,以用于分包和比较。
缺省情况下,电子邮件标准化程序使用以下映射资源:
map_character_general
-将 UNICODE 输入字符转换为等效的英语字母字符。map_non_phone_equi_non_phone
-将输入令牌值转换为等效值。map_non_phone_tokens_non_phone
-基于内部字段email_local_part
和email_domain
的正则表达式对输入字段email_id
进行语法分析。
缺省情况下,电子邮件标准化程序使用以下 Set 资源:
set_non_phone_anon_non_phone
-除去匿名电子邮件值。
实体类型 (buc凭单)
在单个匹配算法中,每个记录类型都可以具有多个实体类型定义 (entity_type
JSON 对象)。 例如,在为人员记录类型定义的算法中,您可能需要创建多个实体类型定义,例如人员实体,家庭实体,位置实体等。
每种实体类型都可用于以不同方式匹配和链接记录。 实体类型定义在匹配过程中如何对记录进行 bucketed 和比较。
匹配算法中的每个实体类型定义 (entity_type
) 都具有多个 JSON 元素:
clerical_review_threshold
-比较分数低于文书复审阈值的记录被视为不匹配。auto_link_threshold
-比较分数高于自动链接阈值的记录被认为是足够强的匹配项,可以自动进行匹配。bucket_generators
-此部分包含为实体类型配置的存储区生成器的定义。 有两种类型的存储区生成器: 存储区和存储区组。存储区 仅涉及一个属性的存储区。 每个
bucket
定义都包含四个元素:label
-用于标识存储区生成器的标签。maximum_bucket_size
-用于定义大型存储区大小的值。 在匹配期间,不会考虑存储区大小大于此值的任何存储区散列用于候选项选择。inputs
-对于存储区,inputs
列表只有一个元素,即 JSON 对象。 该 JSON 对象具有两个元素:fields
和attributes
:fields
-要用于窃用的字段的列表。attributes
-要用于分包的属性的列表。
bucket_recipe
-存储区配方列表定义存储区生成器在分包过程中要完成的步骤。 每个bucket_recipe
列表都有多个子元素:label
-用于标识存储区配方元素的标签。method
-使用的内部方法。 此元素仅供参考,不得编辑。inputs
-inputs
列表的单个元素定义了一个更高级别的元素。fields
-要用于此存储区的字段的列表。 这通常是inputs
列表中定义的所有字段的子集,级别更高一层。min_tokens
-在配方构成存储区散列时要使用的最小令牌数。max_tokens
-在配方构成存储区散列时要一起使用的最大令牌数。count
-对从存储区生成器生成的单个记录的存储区散列数的限制。 如果记录生成大量存储区散列,那么仅选取此元素设置的散列数。bucket_group
-生成存储区散列的存储区组的序号。 不会为中间步骤或食谱分配序号。order
-指定组合多个令牌以形成存储区散列时,是否按字典顺序对令牌进行排序。maximum_bucket_size
-用于定义大存储区大小的值。 此元素与在存储区生成器级别定义的元素相同; 在存储区配方级别具有此元素也使您能够更精细地控制大型单个存储区。
存储区组 涉及对多个属性执行窃用。 每个
bucket_group
定义都包含五个元素:label
-用于标识存储区生成器的标签。maximum_bucket_size
-用于定义大型存储区大小的值。 在匹配期间,不会考虑存储区大小大于此值的任何存储区散列用于候选项选择。inputs
-对于存储区组,inputs
列表具有多个 JSON 对象元素。 JSON 对象各有两个元素:fields
和attributes
:fields
-要用于窃用的字段的列表。attributes
-要用于分包的属性的列表。
bucket_recipe
-存储区配方列表定义存储区生成器在分包过程中要完成的步骤。 每个bucket_recipe
列表都有多个子元素:label
-用于标识存储区配方元素的标签。method
-使用的内部方法。 此元素仅供参考,不得编辑。inputs
-inputs
列表的单个元素定义了一个更高级别的元素。fields
-要用于此存储区的字段的列表。 这通常是inputs
列表中定义的所有字段的子集高一级。min_tokens
-在配方构成存储区散列时要使用的最小令牌数。max_tokens
-在配方构成存储区散列时要一起使用的最大令牌数。count
-对从存储区生成器生成的单个记录的存储区散列数的限制。 如果记录生成许多存储区散列,那么只会选取此元素设置的散列数。bucket_group
-生成存储区散列的存储区组的序号。 不会为中间步骤或食谱分配序号。order
-指定组合多个令牌以形成存储区散列时,是否按字典顺序对令牌进行排序。maximum_bucket_size
-用于定义大存储区大小的值。 此元素与在存储区生成器级别定义的元素相同。 能够在存储区配方级别对其进行定义,使您能够更精细地控制大型单个存储区。set_resource
-用于存储区配方的set
类型资源的名称。map_resource
-用于存储区配方的map
类型资源的名称。output_fields
-如果此配方在对输入字段完成分包函数后生成新字段,那么此元素将包含生成的字段的名称列表。
bucket_group_recipe
-存储区组配方部分通常用于定义由多个属性组成的存储区。bucket_group_recipe
列表的每个元素都是一个 JSON 对象,用于定义单个存储区组的构造。bucket_group_recipe
中的inputs
列表具有多个元素,这意味着它是指在inputs
数组中定义的多个属性 (一个级别更高)。fields
元素是列表的列表。 每个内部字段列表都与相应的attributes
列表相关联。min_tokens
和max_tokens
列表具有多个元素,每个元素对应于各自的attributes
列表。
注:在某些获取配方定义中,有一个名为
search_only
的属性。 缺省情况下,其值为false
。 如果设置为true
,那么此属性指示存储区或存储区组仅用于概率搜索方案,而不用于实体解析 (匹配) 方案。
compare_methods
-为实体类型配置的比较方法的定义。 每个compare_methods
JSON 对象都由各种compare
方法的定义组成。 匹配算法会将每个compare
方法定义中的分数相加,以获取最终比较分数。 每个compare
方法的 JSON 对象都包含三个元素:label
-用于标识compare
方法的标签。methods
-构成比较组的比较器列表。 此数组中的每个元素都表示一个比较器,用于一种类型的匹配属性。 匹配算法将methods
列表中所有比较器中的最大分数视为此比较组中的最终分数。 每个比较器定义都包含两个元素:inputs
-对于比较器,inputs
列表只有一个元素,即 JSON 对象。 该 JSON 对象具有两个元素:fields
和attributes
:fields
-要用于比较的字段的列表。attributes
-要用于比较的属性的列表。
compare_recipe
-此列表主要用于定义比较步骤。 通常,此数组中只有一个 JSON 元素,仅表示执行比较的一个步骤。 此步骤具有五个元素:label
-用于标识比较步骤的标签。method
-使用的内部方法。 此元素仅供参考,不得编辑。inputs
-inputs
列表的单个元素定义了一个更高级别的元素。fields
-要用于此比较的字段比inputs
列表中定义的所有字段高一级。comparison_resource
-用于此比较步骤的可定制比较资源的名称。
weights
-由比较器进行的每个比较会产生从 0 到 10 的数字分数。 此数字称为距离或非相似性度量。 距离 0 指示要比较的值完全相同。 距离 10 表示它们完全不同。 对应于 11 个不同的值 (0-10) ,为每个比较器定义了 11 个权重。 计算距离后,比较方法从权重列表中确定相应的权重值,得出总比较分数。 数据工程师可以根据数据质量,分布或其他因素,根据需要定制权重。
record_filter
-记录过滤元素使匹配引擎能够根据其实体类型选择要匹配的记录。 每个记录过滤器定义都包含一个元素:criteria
-根据特定条件在匹配注意事项中包含或排除记录。 此元素包含一个具有键/值对的 JSON 对象。criteria
JSON 对象的键是属性名称。 可以是下列其中一项:record_source
系统属性。- 简单属性类型 (字符串) 的用户定义的定制属性。
criteria
JSON 对象的值是另一个包含一个元素的 JSON 对象,该元素可以是以下任一元素:allowed
-字符串值的数组。 在匹配期间将考虑包含任何这些值的记录。disallowed
-字符串值的数组。 在匹配期间将不考虑包含任何这些值的记录。
source_level_thresholds
-源级别阈值使您能够在源到源的基础上定义自动链接和文书复审阈值。 源级别阈值将覆盖缺省全局阈值。 每个源级别阈值配置都包含具有特定于源的可选缺省阈值的源的集合,或者包含使您能够为每个源定义不同阈值的源到源阈值对的集合。 有关更多信息,请参阅 高级匹配算法调整 主题中的 配置特定于源的匹配阈值 。
收购资源
缺省情况下,窃用定义使用以下映射资源:
person_map_name_nickname
-生成给定人员名称输入的昵称或备用名。org_map_name_cnick_name
-生成给定组织名称输入的昵称或备用名。
缺省情况下,蜂鸣声定义使用以下 Set 资源:
person_set_name_bkt_anon
-除去匿名人员名称值。org_set_name_acname
-除去匿名组织名称值。
比较函数
比较函数 (有时称为 比较器) 是匹配算法的关键组件之一。 匹配引擎在匹配过程中使用比较函数来比较记录数据。 本质上,记录匹配涉及在不同记录的数据之间比较不同类型的属性。
对于人员,组织和位置域中的许多常用属性类型, IBM Match 360 匹配引擎包含预配置的比较方法。
在 IBM Match 360中,比较函数使用一种称为 特征向量的比较方法。 IBM Match 360 中有不同的可定制功能定义用于不同的比较功能。 每个比较都产生一个距离度量 (向量) ,显示两个给定属性值的不同程度。
在匹配算法中,将为每个离散距离值赋予一个权重,以确定考虑该值的程度。 重量与距离结合,产生比较分数。 匹配算法将所有比较得分相加,得出整体记录到记录比较的最终比较得分。
关于功能部件
功能部件表示比较函数的精细级别详细信息。 不同类型的属性使用不同类型的相似性检查,这意味着它们的特征也各不相同。
特征定义指示用于每个比较函数的内部函数的类型。 内部函数的示例包括精确匹配,编辑距离,昵称,语音等效或初始匹配。
比较资源
每种比较方法都包含包含其内部比较操作的详细信息的资源。
每种缺省比较类型都有自己的资源。 请参阅每种比较类型以获取关联资源的详细信息。
对于具有匹配类型 generic
的定制属性类型的比较,通用比较方法包含以下资源:
compare_spec_generic
-在生成的算法中,此资源的名称格式为recordType_entityType_compare_spec_generic
。
人员姓名比较
人员名称属性中的不同字段将以不同方式进行处理。 对于诸如前缀,后缀和生成值之类的字段,将选中 "精确性" 或 "不匹配"。 其他字段 (例如,名字,姓氏和中间名) 主要使用以下功能:
- 精确匹配
- 昵称匹配
- 编辑距离
- 缩写匹配
- 语音匹配
- 令牌的错位
- 额外令牌
- 缺失值
人员名称比较方法包含以下资源:
person_compare_spec_name
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_name
。 例如:person_person_entity_compare_spec_name
。
组织名称比较
对于组织名称,存在一个包含整个业务名称的类型字段。 该字段主要使用以下功能进行比较:
- 精确匹配
- 昵称匹配
- 编辑距离
- 缩写匹配
- 语音匹配
- 令牌的错位
- 额外令牌
- 缺失值
对于组织名称,还会比较首字母缩略词和昵称的精确性。
组织名称比较方法包含以下资源:
org_compare_spec_name
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_name
。
日期比较
对于日期,通常有三个要比较的字段: 日,月和年。
将使用以下功能来比较 year
字段:
- 精确性
- 编辑距离
- 不匹配
- 缺少
使用以下功能对 day
和 month
字段进行比较:
- 精确性
- 不匹配
- 缺少
日期比较器还会检查 day
和 month
字段是否由于日期格式的语言环境差异而被转置。
日期比较方法包含以下资源:
compare_spec_date
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_date
。
性别比较
使用以下功能对性别属性进行比较:
- 精确性
- 不匹配
性别比较方法包括以下资源:
compare_spec_gender
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_gender
。
地址比较
以不同方式处理地址属性中的不同字段。
使用以下功能比较国家或地区,城市,省/直辖市/自治区和分区之类的字段:
- 精确性
- 等值
- 编辑距离
- 不匹配
- 缺少
邮政编码字段使用以下功能进行比较:
- 精确性
- 编辑距离
- 不匹配
- 缺少
使用以下功能对诸如街道编号,街道名称,街道类型,单位编号和方向之类的字段进行比较:
- 精确性
- 等值
- 缩写匹配
- 编辑距离
- 不匹配
- 令牌的错位
- 缺少
地址比较方法包括以下资源:
compare_spec_address
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_address
。
电话比较
使用以下功能比较电话号码属性:
- 精确匹配
- 编辑距离
- 不匹配
电话比较方法包括以下资源:
compare_spec_phone
-在生成的算法中,此资源的名称格式将为recordType_entityType_ compare_spec_phone
。
标识比较
使用以下功能比较标识号属性:
- 精确匹配
- 编辑距离
- 不匹配
标识比较方法包括以下资源:
compare_spec_identifier
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_identifier
。
电子邮件比较
电子邮件属性由两个部分组成: 唯一标识 (在 @ 符号之前) 和电子邮件域 (在 @ 符号之后)。 使用以下功能分别比较标识部分和域部分:
- 精确匹配
- 编辑距离
- 不匹配
两个比较的结果以加权方式进行组合,以产生总体比较得分。
电子邮件比较方法包含以下资源:
compare_spec_email
-在生成的算法中,此资源的名称格式为recordType_entityType_ compare_spec_email
。
编辑距离
IBM Match 360 匹配引擎在比较和匹配各种属性期间计算 编辑距离 作为内部函数之一。 编辑距离是对两个字符串之间的不同程度的测量。 它通过计算将一个字符串转换为另一个字符串所需的更改数来计算。
有不同的方法通过使用不同的字符串操作集来定义编辑距离。 缺省情况下, IBM Match 360 使用在文献中公开可用的标准编辑距离函数。 作为替代方法,您可以选择使用专门的 IBM Match 360 编辑距离功能。
标准编辑距离函数 提供了更好的匹配引擎性能。 因此,它是除 "电话" 属性类型以外的所有属性的缺省比较配置。
专用编辑距离函数 是为超精度用例构建的。 此选项会考虑类型或相似字符,例如 8 和 B , 0 和 O , 5 和 S 或 1 和 I。 当基于相似字符的两个比较值不匹配时,分配的非相似性度量小于标准编辑距离函数分配的度量。 因此,这些类型的不匹配不会受到专门功能的强烈惩罚。
重要信息: 专用编辑距离函数包含一些复杂计算。 因此,选择此选项会在匹配过程中影响系统性能。
有关定制匹配算法 (包括使用 API 来定制编辑距离) 的信息,请参阅 定制和加强匹配算法。
了解更多信息
父主题: 管理主数据