Page 202 - 《软件学报》2021年第9期
P. 202
2826 Journal of Software 软件学报 Vol.32, No.9, September 2021
(2) 多真值属性
对于多真值属性,如人物的描述信息,如人物简介、成就等,没有标准的正确描述,人物的职业、官职等信息
由于时间的推移,会存在多个不同的真值.因此我们认为:如果同一实体属性 ea 的事实的内容是相互补充的,则
它们合并后具有更高的准确性.为了保证最终融合结果的全面性,采用合并原则,将多数据源的不同描述信息整
合后生成一个更为完整的信息:
L
∪ (, )ea f ⇒ IsAccurate ( )f (5)
i
i= 1
2.5.3 家谱数据属性融合
通过对大量家谱数据的研究与分析,我们发现,家谱人物属性中主要存在以下两种特殊情况.
a) 属性名称不同、含义相同.随着时间的推移,古代人物的一些属性可能逐渐演变为具有现代特色的属
性,存在“属性演变”的情况.例如,古代人物的“官职”属性与现代人物的“职务”属性名称不同却具有相
同的含义;
b) 属性名称相同、含义不同.例如时间属性,时间属性有农历和公历之分:我国古代传统历法为农历,1912
年后开始渐渐使用公历.因此,家谱记载此年之前的时间通常为农历,而后的时间通常为公历.
对于上述情况,现有的单纯依靠计算机的属性融合方法均难以解决.考虑到家谱数据的特殊性,为了保证融
合结果的正确性,根据 OI 提供的家谱数据格式标准,HI 即领域专家们针对家谱领域内对数据的特性及家谱人物
属性的需求,人工构建属性语义知识库,使用一种基于启发式的方法进行家谱人物属性融合,具体过程见算法 1.
算法 1. 属性融合算法.
输入:属性集合 PRO,属性拆分规则库 split_rules,等价属性知识库 equal_rules,人物属性集合 PER_PRO;
输出:融合后的属性集合 PRO.
1: 初始化属性集合 PRO={name,gender,…}
2: for each per_pro∈PER_PRO do
3: if per_pro 满足属性拆分规则库 split_rules 中的规则 then
4: 拆分属性 per_pro
5: end if
6: if per_pro 满足等价属性知识库 equal_rules 中的规则 then
7: 标准化属性 per_pro
8: end if
9: if per_pro∉PER_PRO then
10: PRO=PRO∪{per_pro}
11: end if
12: end for
本文构建的家谱属性语义知识库包括:
(1) 属性拆分规则库:主要针对属性名称相同却含义不同的属性.例如:时间属性有公历和农历之分,若属
性值中包含表 2 和表 3 中“年号”或“古代纪年”中的值,则该时间属性为农历时间,在属性名字前添加
“农历”二字后进行存储;反之,则为公历时间并添加“公历”二字.在数据规范层中,我们已经对农历时
间进行星号标记,因此可以直接为带有(*)标记属性值的属性名称添加“农历”二字;
(2) 等价属性知识库:主要针对属性名称不同却含义相同的属性.根据专家(HI)提供的领域知识,考虑到
“属性演变”情况,对等价的属性进行整理并记录,并为其规定一个标准属性名称.例如“官职”⇔“职务
(⋅)”,“职务”为标准属性名称,其等价属性最终均映射为“职务”属性.