1企业知识图谱
企业知识图谱用于描述企业的实体以及实体之间的关系.企业内的各种信息系统以企业知识图谱为公共语言进行信息互交换,实现这些信息系统之间的语义互操作.各种信息系统通过统一的接口获取信息,而不必了解信息来自哪里以及采用什么格式.1.1基于语义模型的企业知识图谱与关系模型、层次模型相比,语义模型以一种更自然和更接近现实的方式组织信息.例如一家企业拥有多个生产厂区,每个生产厂区包含多个生产车间,每个生产车间包含多个生产单元,每个生产单元具有多个监控系统,而监控系统可以监控生产单元的各类信息.利用语义模型对上述信息进行组织后,允许用户或程序以比较自然的方式查询各类信息.例如,生产单元1中泵2的振动值是多少,而不必知道该信息具体是由哪个控制系统、哪个传感器产生的.语义模型利用“主语-谓词-宾语”三元组的形式来组织信息.例如,“泵l-<hasVibration>-振动值2”,“泵2-<isPartOf>-生产单元1”,“生产单元1-<isPartOf>-生产车间1”.大量语义三元组构成企业的知识图谱,并存储于语义数据库中.因此,可以利用特定的查询语言(例如SPARQL)方便地进行查询.类似“生产单元1中的泵2的振动值是多少?”这样的问题,如果没有采用语义模型,用户则需要了解具体的信息存储位置、存储的标签以及存储的格式.而语义模型屏蔽了这些细节,并通过统一的查询语言SPARQL,以与现实比较一致的方式来查询这些信息.与关系模型、层次模型相比,语义模型更易于维护.关系模型通过主键、外键对实体建立关联.改变实体之间的关系需要修改表结构,因此修改实体间的关系就比较困难.同样地,在查询关系模型构建的信息时需要比较复杂的where子句和多表联合查询.而查询和维护基于图形的语义模型要方便得多.假设需要添加一个在模型设计时没有预期的关系,只需要在已有模型基础上增加一个三元组即可,而不必修改模型的结构.因此,构建基于语义模型的企业知识图谱,可以方便地对企业信息进行查找,解决信息获取过程中的主要困难.1.2企业知识图谱的构建构造基于语义模型的企业知识图谱,需要构建领域知识的本体模型,而本体模型的构建需要领域专家和本体工程师的相互协作才能完成.构建企业知识图谱的主要步骤如下[3-4]:①确定范围.开发领域本体的目的是让其他应用能够使用该本体.在该阶段需要确定本体模型覆盖的企业知识范围.本文以钢铁企业的运营和维护作为研究范围,构建企业运营和设备维护的本体模型.②考虑复用.数据交换中存在术语模糊性的问题.在定义本体时,可以从第三方获得可用的本体或相关术语,以此作为构建本体的起点.本文复用的本体包括根据ISA-95.00.01-2010标准[5]建立的本体[6-7]以及Pabadis’Promise项目建立的制造本体[8].以这些标准和本体为起点,构建钢铁企业运营和维护本体,可最大程度地消除术语的模糊性,降低本体构建的复杂度,加快本体的开发进程.③枚举术语.收集和记录企业相关领域的术语和概念,它们可以从相关领域的标准、本体中获得,也可以来自领域专家.本文涉及的抽象概念有Enterprise,Site,WokEquipment,hasMeasurement,belongTo等.一般来说,类名来自名词,属性名来自动词或动词短语.④定义分类.在确定了相关术语之后,这些术语需要被组织成层次结构.本文采用ISA-95.00.01-2010标准[8],它定义了企业层次结构,包括企业组织结构和企业物理结构.用知识图谱对这些层次结构进行描述.利用分类概念来描述企业的实体概念,并且结合概念间的属性来描述企业的层次结构.⑤定义属性.定义属性和定义分类交叉进行.根据子类关系的语义,如果类F是类G的子类,则对于任何类G的实例具有的属性,类F的实例也都具有.鉴于这种继承性,将属性加在适当的超类上.本文利用isComposedOf(OrganizationalEntity)和isMemberOf(OrganizationalEntity)属性构造企业组织的层级结构.利用contains(PhysicalEntity)和containedBy(PhysicalEntity)属性构造物理结构之间的包含关系.组织结构和物理结构通过manages-AspectOf(PhysicalEntity)和managedBy(Organiza-tionalEntity)属性来建立责任和权力关系.利用hasMeasurement和associatedTo(physicalEntity)建立组织结构、物理结构和Measurement之间的关系.采用Measurement评估组织和物理设备的性能.⑥定义侧面.步骤④和⑤只需使用RDFS提供的表达能力,而不需要使用OWL增加的原语.这里主要对属性进行约束,从而使属性定义更加完整.例如定义isMemberOf(OrganizationalEntity)和isComposedOf(OrganizationalEntity)为互逆属性.⑦定义实例.实例的数量比类的数量高出很多.由于实例数量巨大,很多情况下通常不能手工将它们置入本体,而是从已有数据源导入或者构建虚拟实例库.⑧持续改进.企业会随着时间的推移而加入和移除设备、系统,并进行组织和人员的变动.因此,需要动态更新企业知识图谱.
2基于企业知识图谱的信息集成架构
利用企业知识图谱来对企业信息进行结构化处理,为数据和信息创造一个语境,可以建立企业信息的整体视图,便于信息的查找、定位、解释和流动.因此,基于企业知识图谱的信息交换平台,可以被看作是企业信息交换和互操作的中枢系统.基于语义模型的企业知识图谱可以被看作是企业信息系统语义互操作的公共语言.2.1信息集成架构如图1所示,基于语义知识图谱的信息集成系统一般由3个部分组成:①企业知识图谱;②数据源和企业知识图谱之间的语义映射;③分散在企业各处的数据源.图1基于企业知识图谱的信息集成系统架构信息集成系统可以形式化为三元组,即O=〈T,M,S〉式中,T为知识图谱(描述逻辑中称为TBox),即概念和关系描述,采用OWL2-QL语言来描述.2.2本体描述语言由于企业信息集成的数据规模较大,在使用本体对信息进行集成时,需要对本体描述语言进行选择.本体描述语言需要具备足够的表达能力来构建企业知识图谱,同时计算复杂度不能太高.OWL是国际万维网联盟(worldwidewebconsortium,W3C)推荐的本体描述语言,包括OWL1和OWL2两个版本.在OWL1中定义了3个子语言,即OWL-Lite,OWL-DL和OWL-Full.这3个子语言的计算复杂度都比较高,不适合大规模数据集成.OWL2包括RL,QL,EL等子语言,其中QL是在DL-LiteR的基础上扩展而来的,是专门为大规模数据实例的高效查询而设计的.因此,本文采用OWL2-QL作为本体描述语言.DL-LiteR的概念和角色的形式化定义为[9]B→AR,R→PP-C→BB,E→RR式中,A表示原子概念;P表示原子角色;B表示基本概念,其形式可以是原子概念A或复杂概念R;R表示基本角色,形式为P或P-;P-表示原子角色的逆;C和E分别表示一般概念和一般角色,形式分别为B或B和R或R.DL-LiteR本体O=〈T,A〉由TBoxT(等价于知识图谱)和ABoxA组成.TBox为概念和角色包含公理的集合,形如BC,RE.ABox为关于原子概念和原子角色的断言集合,形如A(a),P(a,b),其中a,b为概念的实例.若包含公理的形式为B1B2或R1R2,则称为正包含;若包含公理的形式为B1B2,R1R2,则称为负包含.因此一般概念和角色只允许出现在包含公理的右边,不允许出现在ABox中.针对DL-LiteR的本体O的查询q是多个合取查询的并集(unionofconjunctivequeries,UCQ).其形式为q(x)→y1conj1(x,y1)∨…∨ynconjn(x,yn)式中,x和y1,…,yn分别表示特征变量向量和非特征变量向量.conji(x,yi)由形为A(z)或P(z1,z2)原子的合取而成.其中,z,z1,z2为本体O中的个体常量或变量.变量x的大小表示查询q中的参数个数.对于一个UCQ,如果参数个数为0,则认为此UCQ是一个布尔查询.令q为本体上的n元非布尔UCQ,t为具有n个个体常量的向量.如果存在O蕴含q(t),q(t)通过替换q中的特征变量x而来,说明t是q对本体O的确定答集.用cert(q,O)表示q的确定答集的集合.如果q是本体O上的一个布尔UCQ,且对于O的所有模型都蕴含q,则记作O蕴含q.OWL2-QL在DL-LiteR的基础上增加了下列描述算子:对类和值域进行存在量词约束的算子ObjectSomeValuesFrom和DataSomeValuesFrom、对称和非对称属性公理SymmetricObjectPropert和AsymmetricObjectProperty、自反和非自反属性公理reflexiveObjectProperty和irreflexiveObjectProperty.前面4个扩展可以获得已有DL-LiteR推理引擎的支持,最后2个扩展需要增强已有DL-LiteR推理引擎才能处理.2.3语义映射方法数据库和本体的语义映射是通过本体访问数据库的桥梁,它描述了数据库中的数据和本体实例之间的关联,对于UCQ的查询重写和应答有直接影响.语义映射主要解决数据库和本体之间数据建模不匹配的问题.数据库中数据元组存储的是数据值,而本体中实例以对象和值的形式来建模数据,且以对象为主,值则以对象属性的形式出现.因此,在语义映射时需要利用数据库中的值来填充本体中的实例.在进行语义映射时,需要用SQL语句对数据库进行查询,然后利用函数形式将查询结果生成本体概念的实例.将数据表中的数据关联到本体实例的步骤如下:①引入函数集合Λ,每个函数带有相关的参数个数,表示该函数能接受的参数个数;②使用来自集合Γ的值来产生对象的属性值,其中Γ为数据库值的集合;③使用函数f(d1,d2,…,dn)∈Λ来表示对象,其中f∈Λ,di∈Γ.例如,一个person可以通过其序列号来标识.例如,引入函数符号pers/1和序列号VRD56B25,则pers(VRD56B25)表示一个person实例.一个person也可以通过name和dateOfBirth来辨识.如果引入函数符号pers/2,则可以用pers(Jame,25/2/81)来表示一个person实例.语义映射M可以用如下公式进行形式化描述:φ(u)|→ψ(f(w),v)式中,φ为针对数据源S的任意参数个数为n>0的SQL查询;ψ为针对本体TBoxT的参数个数n'>0且不包含非特征变量的合取查询;u,v,w为变量,且vu,wu,f(w)∈Λ.2.4查询处理基于知识图谱的信息集成系统的一个重要任务是查询应答.即对于给定的CQ(或UCQ),q和O=〈T,M,S〉,找到确定答集cert(q,O).可以用SPARQL或EQL等本体查询语言来构建CQ(或UCQ);然后通过查询处理组件,对查询进行处理,给出确定答集cert(q,O).查询处理包括自下而上和自上而下2种不同方式.自下而上的方式先将数据源S中的数据通过M来生成物化的ABox,在数据规模很大时效率低下.因此,本文采用自上而下的方式来对查询进行处理,这种方式构建了一个虚拟的ABox,数据查询的结果是从数据源实时获取的.查询应答过程如下[9]:①根据TBox中的包含公理对q进行重写,qpr=PerfectRew(q,T),使得重写后的查询qpr与TBox中的所有公理无关.②根据M,将qpr展开为qunf,使得qpr中的每个与ψ一致的原子都可以由φ中相应的SQL查询所替代,即查询评估Eval(qunf,S)=Eval(qpr,AM,S).其中AM,S是根据语义映射M和数据源S生成的虚拟ABox.③根据上一步生成的qunf,将查询评估Eval(qunf)的任务委托给数据库管理系统.
3企业知识图谱在钢铁企业信息集成中的应用
万点受控管理工程是以可靠性理论、预知维修理论和寿命周期理论为基础,通过对关键生产设备状态的掌握和控制,提高设备运行质量和可控水平,最终实现设备寿命周期费用的最优化目标.即在寿命周期内满足安全、可靠、经济、环保、高效运行的要求.万点受控项目是以关键设备为控制对象,对数以万计的关键部位控制点的振动、温度、压力、流量、间隙等重要参数进行定期点检或在线测量,并对这些参数进行定性、定量分析和诊断,掌握设备的运动规律和劣化趋势,从而最大限度地降低设备事故和故障,提高设备运行质量和可控水平.这些参数有些来自现有系统,有些来自人工输入,有些需要安装新仪器测量得到.对这些数据的有效管理变得十分重要.因此,万点受控项目也是企业的一个重要的信息集成项目.3.1实施难点随着产量、品种压力的不断增加,企业对生产设备的运行提出了更高的要求.判断企业生产设备的运行质量,需要监控生产设备的实时运行数据.实施万点受控项目时的主要困难包括:①全面推进困难.在特大型企业实施局部范围内的设备运行状态监测与控制容易,而要实施全方位、多层次整体推进则难度较大.②普及应用困难.设备诊断及分析技术应用在一线维护操作者中普及推广难度较大.③技术实施困难.大型企业需要同时管理大量设备,并对这些设备进行巡点检,现有技术无法对测点及设备检查结果实现准时、有效的回送.其振动、温度、速度等多种类型的测量结果,往往没有被科学利用,尤其是点检的真实性得不到保证.④数据建模困难.大量原始数据的保存、积累、挖掘、建模困难.3.2实施步骤企业知识图谱的构建包含以下2个主要步骤:①分析设备关键程度.对内部设备进行RCM分析[10],确定设备的关键程度.然后,根据关键程度确定需要监控的设备,根据故障模式确定需要监控的参数,并把相应的状态控制点分为Ⅰ,Ⅱ,Ⅲ三类测点.Ⅰ类测点为在线监测系统测量参数,Ⅱ类测点为离线监测、精密诊断仪器测量参数,Ⅲ类测点为随机仪表测量参数.其中Ⅰ类控制点共计1314个,Ⅱ类控制点共计4469个,Ⅲ类控制点共计8597个,控制点总数为14380个.②建立企业知识图谱.将控制点置于企业的知识图谱中,以方便定位、查询和使用.建立的钢铁企业部分知识图谱如图2所示,图中的英文标识为实例所属的类别.例如,高炉布料器1是一个设备名称,其类别是ProductionUnit.3.3异构数据源处理企业知识图谱是异构数据源集成的逻辑基础,异构数据源的处理方法如图3所示.为了集成异构数据源,实现它们之间的语义互操作,还需要以下图2钢铁企业万点受控项目的部分知识图谱模块:①数据获取接口.为了满足各类应用系统的需求,需要提供各类数据获取接口,包括SOAP服务接口、面向Web2.0的RESTful接口、工业界常用的OPC接口以及方便语义信息查询的SPARQL接口等.②企业知识图谱管理模块.该管理模块以统一的方式对企业知识图谱进行管理,可以对企业知识图谱进行构建、修改、删除、查询和浏览.数据接口模块通过管理模块进行数据获取和查询.③企业知识图谱存储库.与数据库类似,企业知识图谱存储库专门用来存储语义数据.④企业知识图谱和数据适配器绑定库.数据源需要绑定到企业知识图谱的相应概念或属性上,绑定通过2.3节的语义映射实现.⑤数据源获取管理模块.该模块根据企业知识图谱和绑定信息,分发来自各应用系统的数据请求至各数据适配器获取数据源,管理数据的发布/订阅需求,合并多个数据适配器返回的数据,并对数据进行预处理,以满足应用系统的数据需求.⑥数据适配器.根据各类不同的数据,建立相应的数据适配器.数据适配器需要和企业知识图谱中的相应概念进行绑定.3.4项目分析基于知识图谱的信息集成的关键在于知识图谱本身以及知识图谱和数据源之间的语义映射.在实践中,这两者的构建需要花费较多的时间.对于信息需求的描述,本文采用SPARQL语言构建,对于没有接触过语义网技术的工程人员,需要一段时间的学习.通过对万点受控项目中部分工程人员进行培训,使其了解和熟悉语义网技术,可以明显节约工程人员获取信息的时间,并且提高工程信息的查准率和查全率.通过平均计算得出,工程人员可以节约20%~30%的信息查找时间,查准率和查全率提高了10%~15%.为了进一步改进基于知识图谱的信息集成方法,可以利用数据库模型自动生成本体,然后利用本体映射技术与现有的领域本体进行融合,加快知识图谱的构建.此外,可以建立简单易用的图形界面来协助工程人员描述信息需求,避免学习新的语言.
4结语
本文针对企业信息集成中的异构数据源语义互操作问题,基于知识图谱和语义网技术,提出了企业知识图谱,并将其应用于钢铁企业的信息集成系统中.首先,介绍了企业知识图谱的信息集成架构及其构造方法,给出了各模块的主要功能和相互联系.然后,基于万点受控项目,构建了钢铁企业中以设备监控为主的知识图谱.结果表明,本文提出的基于企业知识图谱和语义网技术的企业信息集成架构和方法是可行的.在未来的研究工作中,需要不断扩大企业知识图谱的范围(如生产管理、经营管理、技术设计等),实现各种企业信息系统的无缝集成.同时,应加强对信息集成中可视化模块的研究,使得决策者能够对海量信息进行可视化查询,从而实现智能辅助决策.
作者:金贵阳 吕福在 项占琴 单位:浙江大学现代制造工程研究所