卢 明,侯小刚,韩晓彤,赵海英,4
1.甘肃读者动漫科技有限公司,兰州 730030
2.北京邮电大学 人工智能学院,北京 100876
3.北京邮电大学 数字媒体与设计艺术学院,北京 100876
4.北京邮电大学 世纪学院 移动媒体与文化计算北京市重点实验室,北京 102101
传统纹饰是中华优秀文化的重要载体,对传统纹饰的挖掘与理解是进行中华优秀传统文化传承的重要途径之一[1-2]。现今对传统纹饰相关解读大多由领域专家对数据进行整理以传统媒介的方式呈现,任务量大且呈现内容有限。如何利用计算机手段辅助实现传统纹样的演化分析研究,具有重要的现实意义[3-4]。本文提出一种基于知识推理技术开展对传统纹饰挖掘与解读的新方法,首先对从新石器时代到清朝结束各个时期不同地域纹饰的相关知识与特定形态进行分析,然后基于其基本信息构建传统纹饰语义网,最后使用知识推理相关技术开展对传统纹饰演化过程的挖掘与解读。
目前,关于演化关系发现方法的研究主要集中在如下三个方面的研究:基于逻辑规则的关系推理、基于表示学习的关系推理和基于深度学习的关系推理。下面从这三个方面分别对该领域相关研究工作进行简要总结。
逻辑规则模型的典型工作主要包括基于马尔科夫网络的马尔科夫逻辑网络模型[5]和基于贝叶斯网络的概率关系模型[6]。逻辑规则模型的工作原理是通过将概率模型与人工定义的一阶谓词逻辑规则相结合以实现必要的逻辑推理。该模型虽然在小规模知识库上具有较好的优越性,但也存在两方面的不足:首先是算法模型复杂度较高,难以很好地适应于大规模知识图谱;其次是过于依赖领域专家知识,难以规模化应用。
为解决上述问题,不同学者提出了不同的解决方案。如Schoenmackers等提出了基于统计机器学习的FOIL算法[7],该算法在小规模数据集上取得了较高的准确率,但由于大规模知识图谱中的实体和关系复杂多样,难以穷举出所有推理模式且计算复杂度过高,推理效率较低,因此FOIL算法同样难以适应数据规模较大的关系推理任务。为提升以上逻辑规则模型在知识图谱中的推理效率,Lao等[8]提出了路径排序算法(path ranking algorithm,PRA),该算法是逻辑规则模型的典型代表性,在一定程度上缓解了传统逻辑推理算法依赖专家定制逻辑规则以及模型计算复杂度过高的问题。Gardner等发现关系路径的稀疏性是影响PRA算法推理能力的主要因素,为降低在稀疏图中时间复杂度,Gardner等提出了SFE算法[9],该算法在推理准确率和计算效率上都优于PRA算法。Wang等[10]通过挖掘知识图谱中的频繁模板来生成规则。Galárrage等[11]基于开放世界假设(open world assumption)的规则提出一种用于模拟负例的新方法,但该方法难以适应大型知识图谱挖掘。随后该团队又提出了修剪策略及查询重写技术[12],以适应对大型知识图谱规则挖掘的有效性。
基于表示学习方法的主要原理是首先对知识图谱中的实体及其关系降维,然后在低维空间计算三元组事实成立的概率。2013年Mikolov等提出的word2vector语言学习模型[13-14]使表示学习方法受到普遍关注,发现实体之间的关系向量可以通过两个词向量的偏移量表示。TransE算法[15]是知识表示学习模型的代表之一,该模型实现了将实体及关系在同一空间中进行表示,用r表示关系向量,h表示头实体向量,t表示尾实体向量,则关系r可以表现为向量h与相邻t的平移,即h+r=t。但该算法在处理自反关系或对应关系时,会出现不同的实体可能具有相同或相似的向量。为解决这一不足,不同学者提出了不同解决方案。如Wang等提出了TransH模型[16]。Xiao等利用表示学习建模思路提出了TransG模型[17],该模型采用贝叶斯非参数无线混合模型对关系进行建模。
基于深度学习的关系推理模型的本质是模仿人类大脑进行感知和认知,通过对输入数据进行逐层非线性变换,可将数据在原始空间的特征分布转换到另一个特征空间,从而自动学习提取层次化的特征表示,因此适用于抽象关系推理。
Scoher等[18]最早将神经网络应用到关系推理领域,利用实体对在特定关系下的语义关联进行建模,设计了单层感知机模型,但是该模型无法充分挖掘实体与关系之间的语义相关性,且模型的表达能力较弱,计算效率较低。
随着深度学习的兴起,Xie等[19]提出了一种基于描述的知识表示学习方法DKRL,该模型利用知识图谱中已有实体的描述信息降低数据稀疏性对推理模型性能的影响,提高模型对实体和关系的区分力。Neelakantan等[20]基于PRA算法与RNN提出了组合模型Path-RNN,首先利用PRA算法得到知识图谱中的关系路径特征模式,然后根据路径模式中关系出现的先后顺序依次将关系向量作为RNN的输入,并经过训练得到实体对之间的潜在关系预测模型。
传统纹饰种类多样、形态各异、变化过程复杂,具有丰富的文化底蕴。但目前对纹饰的演化关系的研究工作主要依靠领域专家的先验知识进行知识发现与推理,任务繁重且艰巨。为了辅助领域专家对传统纹饰演化过程的挖掘与解读的效率,本文在前期工作的基础上[21],通过构建传统纹饰语义网,结合知识推理和关系发现方法,提出了一种基于知识推理的演化关系发现算法,其流程框架图如图1所示。关系构建是将传统纹饰的图像信息和标签信息按照某种规则构建传统纹饰语义网。知识推理是根据数据的属性和数据之间的关系使用适当的规则或算法预测纹饰的演化路径,图1(c)绿色线表示该过程挖掘出的演化路径。关系发现是选择对可能的演化路径追踪纹饰的演化过程。
传统纹饰的图像信息用于计算纹饰之间的视觉相似度。由于传统纹饰的形状复杂多变,再加上本文使用的数据多来源于书籍致使图像中噪声过多,使用传统的特征提取算法效果不佳。为了使得本文算法在工程上应用使用体验更为良好,本文通过调用目前较为成熟的百度相似度图片检索接口来计算纹饰视觉之间的相似度,通过将视觉相似度和文本相似度融合,构建了多特征相似度度量函数,如式(1)所示,以计算视觉P和文本Q之间的相似性。
图1 传统纹饰演化关系发现流程图Fig.1 Flow chart of traditional ornamentation evolution relationship discovery
其中,α、β和λ分别表示图像相似度、本相似度和图像相似度的权重。通过在传统纹样数据集上进行仿真实验得出,α、β和λ的取值范围分别为[0.124 1,0.701 554]、[0.394 286,0.867 919]和[0.30,0.40],对应的相似度度量函数的取值范围为[0.255 493,0.988 492]。以相似度度量值为权重,以传统纹饰为节点,绘制如图2所示的视觉关系网。
文本信息用于构建传统纹饰知识网,对传统纹饰的文本描述主要包括纹饰名称、纹饰类型、载体名称、载体类型、出土城市、出土省份、制造时期等属性。纹饰类型包括动物纹、植物纹、几何纹和人物纹四种。出土城市表示该文物出土的地点,如贵南市。出土省份表示该文物出土地所在的省份,如青海省。制造时期表示该文物的制造时间,如新石器时代。根据以上描述,由七星纹相关信息形成的纹饰知识结构如图3所示。多个纹饰之间通过出土地点、制造时期、纹饰类型等共有的属性建立联系从而构成传统纹饰知识网。
用G=(Ei,Ri)表示所构建的传统纹饰知识网,其中Ei用来表示某个纹饰i或某个纹饰i所具有的相关属性,Ri表示纹饰i与之相邻的纹饰间的相关关系,长度为k的路径L的关系序列表示为{R1,R2,…,Rk}或者。例如,三元组数据{(云雷纹,时期,商周),(商周,发展,春秋战国)}表示的路径关系是云雷纹时→期商周发→展春秋战国。依据关系网G=(Ei,Ri),在PRA算法的基础上设计基于知识推理的演化关系发现算法。因为PRA算法是基于随机游走模型的知识推理算法,在基于两个节点之间的偏序关系这一假设条件,在忽略节点间的偏序关系的情况下,可以最大程度地实现本文纹饰节点间的关系发现。本文基于知识推理的演化关系发现算法的主要步骤如下:
步骤1查找已知推理关系下目标节点对之间所有的连通路径。遍历关系网G=(Ei,Ri)的所有点,构建以每个初始点s i为起点在有限步数k之内到达的所有集合Π。
图2 传统纹饰视觉关系网Fig.2 Traditional ornamentation visual network
图3 七星纹知识结构图Fig.3 Seven-star pattern knowledge structure diagram
步骤2对连通路径进行特征量化。对Π中的所有路径π=(E1,E2,…,Ek,Ek+1),其中E1称作起始点s,Ek+1称作终端点e,转化为关系路径R=R1,R2,…,Rk,并计算每条关系路径的权重。从节点s沿着关系路径R到达节点e的概率p(s,e;π)是以起始点s沿着关系路径π到达终端点e的概率,p(s,e;π)的计算方式如式(2)所示:
其中,π′表示一条新路径,是指在关系路径π中删除终端关系rl后形成的路径,range(π′)表示以初始节点s为起点,在关系路径π′上所有节点形成的集合。如果节点s无法通过路径π到达节点e,则p(s,e;π)的值为0。
本文采用式(3)计算从节点e′出发沿着关系rl到达节点e的概率P(e|e′;rl)。
其中,rl(e′,e)代表节点e′和节点e之间的关系,1表示节点e′和节点e之间存在关系,0表示节点e′和节点e之间不存在关系。 |rl(e′,·)|表示节点e′的出度。
步骤3计算路径特征权重。对关系路径进行排序,从而建立关系推理模型以进行知识推理,在进行知识推理时通过设定两个纹饰视觉相似度的大小,并进一步提高推理结果的准确性与可靠性。
为验证本文提出的算法在传统纹饰数据集上的效果,本节在传统纹饰数据进行了实验。首先对《中国纹样全集》四册书进行扫描,然后通过图文分离、关键词提取、标签分类等方法构建传统纹饰知识库,该库中主要包含的标签有图片信息、载体、出土城市、省份、时期、发展和相似,部分数据还具有寓意、结构、别名、装饰位置等属性,最后根据这些属性及其关系构建传统纹饰语义网。本文整理的不同时期不同地域的纹饰共有1 500个,纹饰之间形成的关系有13 600个。本文在Windows环境下进行实验,实验设备配置:操作系统Win7,处理器i5,内存16 GB,开发环境IDEA2017,JDK1.7。
使用基于节点之间具有双向关系假设的路径排序算法对其进行实验,因为两个纹饰之间的相连的最长路径为6,所以本实验计算从一个节点出发能够在6步内到达的所有路径。k(取值为2~6)步到达的路径个数如图4所示,横坐标代表k的取值,纵坐标代表k步所到达的路径数量。实验表明,路径特征的权重值越高,说明两个节点之间利用该条路径作为推理规则的影响力越大,推理出“演化”这个关系的可能性越大。在传统纹饰演化关系发现的过程中,纹饰的视觉特征也起着一定的作用,所以选择能够计算纹饰的相似度的路径进行推理。
图4 k步到达的路径数量Fig.4 Number of paths taken in k steps
基于以上推理规则来挖掘纹饰的演化过程,为了更直观地展示纹饰的演化过程,本文使用Echarts对忍冬纹的演化过程进行呈现,如图5所示,绿色带箭头的曲线表示纹饰的变化过程。根据挖掘的结果,可以得到以下信息:忍冬纹起源于汉代时期的卷云纹,象征着高升如意;然后发展成北朝的忍冬纹,形成了波状、二方连续和四方连续的结构形式。随后,唐代时期忍冬纹演化为缠枝卷草,多出现于织绣中,呈波状弯曲状,表达了幸福温情、生命常驻等美好寓意。最后演化为明代时期的香草纹,又称为“缠枝花”,这一时期的结构基本稳定,处于成熟期,是益寿与吉祥的象征。而对于一些在演变过程中形状发生变化太大造成本文算法效果不太效果的纹饰,未来可以考虑依靠领域专家的先验知识实现。
图5 卷云纹演化过程Fig.5 Evolution of moire
我国传统纹饰历史悠久、内容丰富、结构多样,受时间、地域、历史环境等诸多因素的影响使纹饰之间具有一定的内在联系,手动构建纹饰之间的关系任务繁重。本文首先对从新石器时代到清朝结束各个时期不同地域纹饰的相关知识与特定形态进行分析,然后基于其基本信息构建传统纹饰语义网,最后使用知识推理相关技术开展对传统纹饰演化过程的挖掘与解读,从而提出了一种基于知识推理相关技术开展对传统纹饰的挖掘与解读的新方法,实现了传统纹样演化路径的发现。最后本文通过可视化呈现的方式验证了所提方法的可行性。目前本文算法仅在小型知识图谱上运行效果较好,未来还需进一步进行算法优化以适用于大型知识图谱。