-
本体作为一种结构化数据存储、表示、计算的模型,越来越受到广大研究者的重视[1-4].首先,作为结构化模型,在本体中数据的存放不是单纯的记录形式,而是图的形式结构化存储数据,图中的边表示数据之间的内在联系.其次,事实证明通过图模型并利用统计和图论的知识,对处理本体中的数据信息有一定的优势.
最近,针对本体的特殊框架和应用背景,涌现了诸多本体学习算法[5-14],其中稀疏向量学习算法被广泛关注并应用于本体学习中.基于稀疏向量学习的本体算法通过本体稀疏向量对高维本体顶点向量进行有效信息提取,获取最有价值的信息,并将每个本体顶点映射成实数.
本文提出一种扩展的本体稀疏向量计算方法,并将该算法应用于两个特殊的工程领域来验证算法的有效性.
全文HTML
-
在本体图建模后,需要将每个顶点对应概念的信息用一个统一维度的向量来表示.设v=(v1,…,vp)是顶点对应的p维向量.
本体函数通过本体稀疏向量可表示为
其中:β=(β1,…,βp)表示本体稀疏向量,其大部分分量均为0;β0是一个表示误差的项.经典本体稀疏向量β学习模型为:
其中:l(β)为亏损项,Q(β)为控制本体稀疏向量β稀疏度的项.
设{(vi,yi)}i=1n⊂ℝp×ℝ为本体训练样本,其中vi和yi分别表示输入和输出.设关系矩阵W∈ℝn×n,其系数[W]i,j=rij≥0表示本体概念(vi,yi)和(vj,yj)之间的语义关系,且有W=WT和r11=r22=…=rnn=0(对角线上元素均为0)成立.本文考虑由扩展的稀疏向量来得到本体函数的计算模型如下:
其中:βi=(βi1,…,βip)∈ℝp,偏移量ei∈ℝ服从N(0,σ2)分布.对于每个vi,计算其对应的yi,式(3)和式(1)的差别在于以下两点:
1) 式(1)中对于所有vi,所求内积都是用同一个稀疏向量β,而式(3)中不同的vi对应不同的稀疏向量βi;
2) 式(1)中对于所有vi,其误差项都是相同的,而在式(3)中,不同的vi对应不同的误差ei.由此可知,计算模型(3)是计算模型(1)的推广,当β1=β2=…=βn=β且e1=e2=…=en=β0时,式(3)退化为式(1).
通过计算式(3),我们要学习的不止是单个稀疏向量β,而是一组稀疏向量:β1,β2,…,βn.将这组稀疏向量进行合并得到稀疏矩阵Ω=[β1T,β2T,…,βnT]∈ℝn×p,进而学习的目标从本体稀疏向量学习转化为本体稀疏矩阵的学习.本文考虑的本体学习算法可以表示为:
其中:
$\sum\limits_{i = 1}^n {{{\left( {{y_i} - {\mathit{\boldsymbol{v}}_i}\mathit{\boldsymbol{\beta }}_i^{\rm{T}}} \right)}^2}} $ 用来表示误差项,Λ(Ω,W,λ1,λ2)用来控制本体稀疏矩阵Ω的稀疏程度.在本体工程中,一种常见的Λ(Ω,W,λ1,λ2)设置方法如下:其中λ1和λ2为平衡调节参数.当‖βi-βj‖2的值比较小时,可以认为vi和vj属于本体图的同一个团,或者从数据的角度看属于同一个聚类中.此时,rij>0.此外,易知(5)式是凸的且存在全局最优解.
设V=[v1T,…,vnT]=[u1,…,up]T为本体信息矩阵,其中ui∈ℝn,(5)式可写成
其中:Ξ=[diag(u1)|diag(u2)|…|diag(up)]∈ℝn×(pn),diag(ui)表示对角线元素为ui中对应元素的对角矩阵,i∈{1,…,p};向量化算子
设Ip∈ℝp×p为单位矩阵,⊗表示克罗内克乘积,Ii,l∈{0,1}定义如下:如果vec(Ω)的第l个元素[vec(Ω)]l属于βi中的元素,则Ii,l=1;否则Ii,l=0.矩阵C定义为:
对角矩阵Fe对角线上的元素为
令Fg=Ip⊗C,通过计算J(Ω)关于vec(Ω)的导数,可得
由于(4)式为凸优化问题,Ω成为问题的全局最优解当且仅当其满足条件(7).然而矩阵Fg和Fe依赖于Ω,在Ω未知的情况下,这两个矩阵无法计算.因此,通过优化如下目标函数来解本体问题(4):
其中Fg(t)=Ip⊗C(t)是块对角矩阵,Fg(t)∈ℝpn×pn.
Fe(t)∈ℝpn×pn是对角矩阵,定义为
用迭代平方最小策略可以得到最小化(8)式的逼近最优解:给定Fg(t)和Fe(t),Ω的最优解可通过解
得到.设
可知
得到Ω(t+1)后,再更新Fg(t+1)和Fe(t+1).
整个本体学习算法概括起来描述如下.
算法A 基于本体稀疏矩阵学习的本体相似度计算和本体映射算法
步骤1:输入本体图(对于本体映射,则输入多本体图),将每个本体概念对应顶点的所有语义信息用一个p维矩阵表示.
步骤2:确定本体样本集合{(vi,yi)}i=1n,从而得到本体信息矩阵V,Ξ,目标向量y,关系矩阵W以及两个平衡参数λ1和λ2.
步骤3:初始化计数变量t=0,并设置Fg(0)和Fe(0)的值;
步骤4:重复以下迭代直到收敛:
计算vec(Ω(t+1))=(H(t))-1ΞT(In+Ξ(H(t))-1ΞT)-1y;
更新Fg(t+1)=Ip⊗C(t+1)以及[Fe(t+1)]l,l=
${\left[ {\mathit{\boldsymbol{F}}_e^{(t + 1)}} \right]_{l, l}} = \sum\limits_{i = 1}^n {\frac{{{I_{i.l}}{{\left\| {\mathit{\boldsymbol{\beta }}_i^{(t + 1)}} \right\|}_1}}}{{{{\left[ {{\rm{vec}}\left( {\left| {{\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}^{(t + 1)}}} \right|} \right)} \right]}_l}}}} $ ;t=t+1.
步骤5:输出本体稀疏矩阵Ω,并根据(3)式计算本体图中每个顶点对应的实数.
步骤6:通过两个顶点对应实数的一维距离来判断顶点对应本体概念之间的相似程度:距离越短则相似度越高,距离越远则相似度越小.对于本体映射,只计算不同本体概念之间的相似度.
步骤7:选择合理的策略,给每个本体概念一个高相似度概念列表,并返回给用户.
-
通过下面两个实验,将上述算法分别应用到PO植物学本体和仿生机器人本体,进而分别验证新本体稀疏矩阵学习算法对特定应用领域本体相似度计算和本体映射构建的效率.得到最优本体稀疏矩阵Ω后,忽略噪声项e1,e2,…,en,通过
${\mathit{\boldsymbol{y}}_i} = \sum\limits_{j = 1}^p {v_i^j} \mathit{\boldsymbol{\beta }}_i^j$ 来计算每个顶点对应的实数,最后通过实数之间的差值大小来判定本体概念之间的相似度. -
首先验证本文本体稀疏矩阵学习算法是否可应用于植物学PO本体O1(其基本结构见图 1),该本体相关数据来自http://www.plantontology.org,其本质是一个给植物学领域专家使用的字典,也可以看成一个有查找和分析功能的数据库.最后数据的效率使用传统的P@N[15]平均准确率来衡量,同时在N=3,5,10时对这4类准确率进行对比.将本体多重分割框架下的无穷推进算法[16]、本体多重分割框架下基于特殊亏损函数的本体学习算法[17]和基于梯度计算的本体稀疏向量学习算法[18]作用于植物学PO本体,实验结果见表 1.
由表 1可知,本文本体稀疏矩阵学习算法准确率要明显高于其他3类本体学习算法.
-
第二个实验是将本文中新本体稀疏矩阵学习算法应用于仿生学领域的两个“仿生机器人”本体O2和O3(图 2,3),通过在两个仿生学本体顶点之间的相似度计算来得到本体映射,但实验数据只关注于两个本体之间的相似度计算.两个本体由文献[19]构造,用于表示机器人的各个部件的关联.将本体多重分割框架下的无穷推进算法[16]、本体多重分割框架下基于特殊亏损函数的本体学习算法[17]和基于梯度计算的本体稀疏向量学习算法[18]也应用于“仿生机器人”本体O2和O3.实验数据结果同样采用P@N准确率的形式来对比,表 2给出当N的取值为1,3,5时部分对比结果.
由表 2中数据对比可知,本文所提出的本体稀疏矩阵学习算法在“仿生机器人”本体O2和O3间进行相似度计算的效率要明显高于其他3类本体学习算法,且随着N的增大,这种优势明显增加.
2.1. 本体相似度计算实验
2.2. 本体映射实验
-
本文主要研究本体稀疏向量学习在本体相似度计算和本体映射中的应用.与以往文章的差别在于,考虑给每个概念一个特定的本体稀疏向量,进而整个算法归结于学习一个本体稀疏矩阵.从矩阵的导数计算出发,得到一个迭代策略来计算优化模型的逼近解.