基于时态本体的时态数据表示研究
2019-12-11陈世祺
陈世祺,张 俊,曾 敏,马 硕
(大连海事大学 信息科学技术学院,辽宁 大连 116000)
0 引 言
大数据时代下,从海量数据中获取隐含信息成为各领域的研究热点。其中,时间是海量数据的一个重要维度,对时态数据的处理和分析已经成为许多领域获取信息的重要手段,特别是在人力资源领域。人力资源领域存在着大量的员工时态数据,但是这些数据并没有被充分利用。另外,本体规则推理作为获取隐含信息的一种重要方式,从语义上提供了概念之间规范化的描述。但是传统的静态人力资源本体对时间处理得不够细致,并且无法表达隐式时间。
随着研究的不断深入,为了充分利用时态数据,并且满足对时间关系的细致描述,研究人员提出了时间本体。由于本体规则推理在智能查询[1-2]、决策制定[3]、智能推荐[4]、智能预测[5-6]中有很多成功应用,这使得时间本体应用于人力资源预测成为可能。因此,文中从语义角度出发,针对员工时态数据,构建人力资源时态本体模型和SWRL(the semantic web rule language)规则,提出基于时态本体的人力资源时态数据表示方法,以解决人力资源预测问题,实现对员工信息语义上的挖掘。
文中以人力资源预测中的职称晋升预测和薪资预算为研究对象,说明该时态表示方法的有效性。首先,总结了人力资源领域时态数据特征,据此扩展人力资源本体的时态维度,构建人力资源时态本体模型;其次,将职称晋升规则和薪酬预算规则用SWRL进行定义和表示;最后,利用推理引擎进行推理,得到预测结果。决策时,利用预测结果,与实际岗位情况进行对比,协调岗位数量与人员数量之间的不平衡关系[7],为决策者制定合理的编制规划提供参考。
1 研究现状
1.1 人力资源本体相关研究
2010年,Ramli R等[9]基于本体实现了决策支持过程。构建的人力资源本体充当人力资源发展建模系统和异构数据资源之间的中介,并作为决策支持系统的输入。该本体把人口、教育等子本体整合在一起,作为支持人力资源发展系统供需预测和预测动态的知识库。
2013年,Maniu I等[10]把构建的人力资源本体用于招聘领域。该本体提供了职位发布和职位申请的语义标准。
2016年,SEON(The Software Engineering Ontology Network)重用了企业本体中的人力资源本体,把该本体作为SEON的子本体,用于处理人员与组织方面的关系[11]。
综上所述,构建人力资源本体有多种方法,而且每个本体有不同侧重,大部分集中在人员招聘、空缺职位、能力需求的描述,忽略了人力资源中的预测问题;并且大多数人力资源本体以传统的静态本体为核心,缺乏对数据中时间信息的细致描述,使得推理结果不准确。
1.2 人力资源管理需求预测的方法
现代企业采取的预测技术可分为定性和定量两类。定性方面,主要方法有经验预测法、现状规划法和菲德尔法;定量方面,主要方法有劳动生产率法、趋势分析法、多元回归分析法和劳动定额法[12]。
文中结合了现状规划法和趋势分析法。假定企业当前条件能够适应预测规划期内人力资源的需要,同时利用企业的历史数据,根据某些因素的变化趋势,构建相应规则,预测出规划期内的薪资涨幅和晋升情况。
2 人力资源时态本体的构建
2.1 人力资源时态数据特征
下面对员工数据的时态特征进行分析,并举例说明。
从内容上划分,员工数据主要有两种时间类型:
(1)有效时间:指事件或对象在现实中发生或存在的时间。如某员工于2017年入职,2018年离职,则有关该员工的数据只在2017-2018年之间有效。
(2)事务时间:指事件或对象在数据中被记录、更新、删除的时间。
另外,员工数据还具有其他时间特征,包括时间的绝对性/相对性、凹凸性、多粒度性、周期性等。
(1)时间的绝对性/相对性。
时间的绝对性指用数字表示的时间,如员工的入职时间为“2018年9月18日”。相对性指无精确的时间表示,如筛选出2018年前入职的员工,2018年前即为相对时间。
(2)时间的凹凸性。
指时间的连续性和离散性。从薪资角度,由于员工的年薪每年都会发生变化,所以薪资变化具有连续性。从职称角度,职称晋升没有明显规律,时间上不确定,只有满足晋升条件才有晋升资格。并且员工在任职期间,可能晋升一次或两次,甚至不晋升。所以员工职称晋升具有离散性。
(3)时间的多粒度性。
指数据所表示的时间有不同长短。人力资源领域的时间周期有短期、中期、长期等,相应的时间粒度可分为日、月、年等。
(4)时间的周期性。
指数据所表示的时间有规律的波动。比如,每年6月企业都会出现大批员工流动的情况。
2.2 人力资源时态本体模型的构建
2.2.1 时态本体模型的构建
从员工数据的内容和时态特征综合分析,结合时间本体建模元语,以BFO(basic formal ontology,基本形式化本体)和时间本体(OWL-time)为基础,以时间关系为支撑,以时间形式化表达为核心,扩充相关类和属性,建立包括时间属性和约束在内的人力资源时态本体,表示事物动态变化的过程,突出变化过程中的时态性。
BFO是上层本体[13],将其中的概念赋予人力资源领域含义:用BFO表示薪资、职称变化过程的概念及其关系。BFO将所有实体划分成两大类:Continuant类和Occurrent类。Continuant类的子类:Generically Dependent Continuant类作为变化过程中受到影响因素影响的集合,如员工薪资、职称等;Independent Continuant类作为影响因素的集合,如绩效等。Occurrent的子类:Process类表示变化过程,如薪资变化、职称变化等;Temporal Region类表示变化过程的开始/结束时间(Zero-dimensional Temporal Region)和持续时间(One-dimensional Temporal Region)。
虽然BFO可以让用户用类似的理解方式和相同的概念建立不同的领域本体,使这些本体可以兼容,但是BFO只提供了总体概念之间的关系,缺少实体间具体的时间关系。所以利用OWL-Time作为实体间时间关系的补充。
OWL-Time的核心是Allen区间关系。Allen区间关系表示时间区间之间的13种关系,分别是Before,After,Meets,Met By,Overlaps,Overlapped By,Starts,Started By,During,Contains,Equals,Finishes,Finished By。但是OWL-Time无法表示时间的周期性[14]。
除了区间之间的关系,还有两种类型的关系:时间点和时间区间的关系以及时间点之间的关系[15]。针对时间点和时间区间,存在着三种关系:点在区间前、点在区间后、点在区间之间,分别用time:before,time:after,time:inside属性表示;针对时间点之间,存在着三种关系:之前、之后、相等,分别用time:before,time:after,time:equal属性表示。补充time:equal属性表示时间点之间的相等关系。
两本体集成时,需解决本体间的异构问题。若异构类型为同义词,则直接在两者间建立映射关系。由文献[16]可知,BFO中Zero-dimensional Temporal Region类的同义词为时间点,One-dimensional Temporal Region类的同义词为时间区间。而OWL-Time中的instant和interval分别表示时间点和时间区间。所以把bfo:Zero-dimensionalTemporal Region映射到time:instant;把bfo:One-dimensionalTemporal Region映射到time:interval。变化过程需要时间描述,所以把bfo:Process和time:TemporalEntity通过属性bfo:occupi- esTemporalRegion进行映射。两本体的集成见图1。
图1 基本形式化本体和时间本体的集成
2.2.2 其他领域本体的构建
人力资源时态本体是以时态本体为核心的完整本体,所以需要对除时间信息以外的内容进行补充扩展。
人力资源领域涉及到员工其他方面的信息,如自身属性、所在部门、驾照信息、教育水平、语言能力、技能水平。这些信息分别对应以下领域本体:DBpedia本体、组织本体、驾照本体(Driving License Ontology)、教育本体(Education Ontology)、语言本体(Language Ontology)、技能本体(Skill Ontology)。下面分别进行说明。
DBpedia本体:前缀为dbo。人力资源管理中最主要的是员工信息的管理,员工信息具有范围广、内容多而复杂的特点。利用DBpedia本体可以综合员工的所有信息,比较全面地对员工信息进行表示。本文用到的类为dbo:Person,主要描述员工入职前的自身属性。
组织本体:前缀为org。文中对组织本体进行了三处改进:(1)保留原本体中的组织结构部分,舍弃领导层变动、企业合并等概念;(2)foaf:Person类表示员工及自身属性;(3)Organization Unit类表示企业所有部门。改进后的本体更注重员工及其与部门的关系。该本体结构如图2所示。
图2 改进后的组织本体结构
由文献[8]可知,其他四个本体主要根据欧盟和ISO相应标准构建。
时态本体和其他领域本体构建完成后,补充其他类和属性,以便制定规则和推理。新增属性toSeniorEngineer,toSeniorStaff,toTechniqueLeader等用于预测职称晋升;新增属性salaryUp等用于计算薪资涨幅。
HRTO中各个模块化本体之间的关系见图3。
图3 模块化本体之间的关系
该人力资源时态本体具有以下三个优点:
(1)以时态本体为核心,能够表示动态的变化过程及变化过程中的时间关系,清晰地表示了员工薪资、职位的变化信息,完善了人力资源时态本体的构建,突出了其时态性;
(2)模块化的本体使本体结构清晰合理,更利于推理;
(3)将时态本体与人力资源本体相结合,扩展了人力资源本体,充分利用人力资源领域中的时态信息,从而强化人力资源管理,同时也使人力资源本体的研究更为全面。
3 SWRL规则的构建及推理
现实生活中,人力资源领域的员工晋升和薪资计算规则有强烈的时态性,而SWRL表现形式直观,符合人们的思维习惯,又能提高本体的推理能力。文中利用SWRL表示员工晋升和薪资计算规则,并说明推理过程。
3.1 人力资源领域规则中的时态性
员工晋升和薪资上涨规则有强烈的时态性,并且规则中的时态性主要表现为时态约束。从时态约束角度对规则的时态性进行分析。以薪资上涨为例进行说明。
薪资上涨规则在2017年表达如下:
R1:工作年限为5-10年,担任Senior Engineer的时间至少为7年6个月,2002年薪资上涨300元。
R2:工作年限为5-10年,连续三年绩效在70分以上,2002年薪资上涨500元。
总结起来,上述规则的时态性包括:
(1)有效时间约束。
时态规则受到有效时间的约束,不同的规则适用于不同时期。例如,R1的有效期为2017年,而其他年份的薪资上涨规则可能是其他形式,R1不一定适用于其他年份。
(2)先决条件中的时态约束。
时态规则中的条件具有时态性,其匹配内容受到时间的约束,因而同一条件在不同时间需要匹配的内容可能是不同的。例如,R2的条件连续三年绩效在70分以上,其匹配内容“绩效在70分以上”受到“连续三年”的时态约束,在2017年,该条件匹配的是2017年,2016年和2015年;若该规则在2018年仍适用,则在2018年,该条件匹配的是2018年,2017年和2016年。
(3)规则间的时序约束。
时态规则可能存在着时序约束,即只有Ri执行完后才能执行Rj这一类的时序约束。
(4)时态规则中的计算。
规则中除了时态约束,还存在着对时态属性的计算。比如R1、R2中,工作年限需要根据入职时间计算。
3.2 SWRL规则的构建及推理过程
利用SWRL对规则中的时态性进行表示,同时对薪资上涨规则和职称晋升规则进行说明。规则根据互联网公司的员工手册制定。
(1)薪资上涨规则:薪资上涨根据工作年限、绩效、任职时间长度、职称晋升等因素制定。
(2)职称晋升规则:职称晋升根据取得职称时间、任职时间、证书和论文等因素制定。将职称晋升看作动态变化的事件,在表示连任时简化了表示过程,无需匹配每年的职称是否符合条件,只看其任职时间长度。若期间有职称晋升,就在BFO中增加相应实例,简化了推理的复杂程度。
利用推理引擎,对时态本体模型和SWRL规则进行推理。通过SWRLDroolsTab将本体知识库中的时态本体实例和SWRL规则传输到Drools中,然后启动Drools推理引擎进行推理,得到新知识,最后将新知识传递回OWL原本体中,作为原本体的实例或实例属性。推理机制见图4。
图4 基于本体规则的推理机制框架
4 基于时态本体的人力资源时态表示方法
人力资源时态本体和相应SWRL规则共同构成基于时态本体的人力资源时态数据表示方法,文中利用该方法表示人力资源领域中的时态数据和时态知识。
4.1 基于时态本体的时态数据表达
利用构建的人力资源时态本体对时态数据进行表示,即本体实例化。以员工薪资变化部分为例,对人力资源时态本体做出说明,说明如下:
如编号为10006的员工在2017-2018年的薪资变化如图5所示。薪资每变化一次,就产生一个bfo:Process的实例,该实例由三部分组成:(1)产生变化的时间(Temporal Region),该部分对时间进行具体描述,包括年、月、日、持续时间及时间关系。若本次变化后,员工薪资保持稳定,不再发生变化,并持续到当前时间,则加入time:hasEnd属性;(2)变化后的薪资(Independent Continuant)用bfo:Salary表示;(3)变化的影响因素(Generically Dependent Continuant),包括论文(Paper)、职称晋升(Promote)、工作年限(workYear)、任职时间(Tenure)、绩效(Performance)等,这些因素影响下一年的薪资变化。
图5 人力资源时态本体实例
4.2 基于SWRL的规则表达
SWRL规则的构建结合时态本体中的概念,补充了时态本体中缺少的关系,弥补了时态本体推理能力的不足。
如Rule3:工作年限在w1-w2年,担任Senior Engineer至少y年m个月,薪资上涨s元。工作年限根据入职时间计算,利用swrlb:greaterThan对工作年限进行限定,即workYear(?pers-on,?w)^ swrlb:greaterThan(w2,?w)^swrlb:greaterThanOrEqual (?w,w1);职称为Senior Engineer,利用bfo: participatesInAt-SomeTime(?person,?q)^bfo:hasOccurrentPart(?q,?stage)^title(?stage,"Senior Engineer")表示;任职时间利用bfo:occupies-TemporalRegion(?stage,?interval)^time:hasTemporalDuration(?interval,?dur)^time:years(?dur,?y)^time:months(?dur,?m)^swrlb:greaterThan(?y,y)^swrlb:greaterThan(?m,m)表示;薪资上涨s元,用salaryUp(?person,s)表示。
其他主要规则见表1。其中职称晋升规则见Rule1-Rule2,薪资上涨规则见Rule3-Rule5。
5 实验验证与结果分析
5.1 实验设计与结果
问题定义:某企业根据往年数据在2002年末对新一年的员工薪资涨幅和职称晋升情况进行预测,将薪资上涨比例和职称晋升比例分别为控制在30%和20%以内,根据预测结果进行决策,制定合理的薪资计算方法和编制规划。
结合应用背景,通过实验验证构建的人力资源时态本体的有效性和准确性。实验运行环境为Inter(R) Core(TM) i5-3230M 2.60 GHz CPU,4 GB内存,64位Win7操作系统。
实验数据采用MySQL数据库的示例数据,该数据的时间跨度为1985年-2002年,包括每个员工历年薪资和职称变化。在此基础上,采用模拟数据,补充员工绩效、年终奖等相关数据,用于预测员工薪资和职称晋升情况。
利用构建的时态表示方法对实验数据进行推理,以10006号员工的推理结果为例,解释推理结果。
表1 主要的SWRL规则
2002年编号为10006的员工工作年限(workYear)为12年,今年晋升为TechniqueLeader,并且工资上涨300元。可以发现,按照该规则,薪资上涨人数占总人数的13%,职称晋升人数占总人数的13.3%。
5.2 对比实验与分析
实验通过人力资源时态本体表示方法与静态人力资源本体表示方法进行对比,来分析基于时态本体的表示方法的效果。以Rule3为例,由于规则中先决条件的限制,比较了两种表示方法推理结果的准确率。准确率见图6。
由图6可以看出,随着人数的不断增加,时态表示方法的准确率逐步趋于稳定,并且比静态表示方法的准确率提高了8.8%。当规则中出现较为细致的时间限制时,如月、一年中的天数、当月的周期数,时态表示方法比静态表示方法在时间刻画上更为细致,推理结果更加精确。
图6 准确率比较
为了进一步说明基于时态本体的表示方法的性能,文中定性比较了两种方法,结果见表2。时态表示方法的核心本体是时间本体和BFO,可以清晰、细致地表示时间变化过程;并且,核心本体是通用本体,适用于具有时间变化的多个领域,不限于人力资源领域,所以模型复用性较高。
表2 时态表示方法和静态表示方法的比较
方法特性核心本体时间精细程度适用领域模型复用程度时态表示方法OWL-Time+BFO高多领域高静态表示方法DBpedia较低特定领域较低
6 结束语
文中构建了通用的时态本体模型,并提出了基于时态本体的人力资源时态数据表示方法,将其应用在预测过程中。该时态数据表示方法能够更加细致地表示数据中存在的时间信息,结合SWRL规则使推理结果的准确度更高。由于在时态本体模型的构建方面,只考虑了连续的时间间隔,下一步可以考虑扩充时态本体,使时态本体模型能够表示有间隙的时间间隔;文中提出的时态数据表示方法可考虑用于其他领域时态数据建模。