公务员期刊网 论文中心 正文

论异构数据库语义聚类

论异构数据库语义聚类

定义人工鱼个体的状态为X=(x1,x2,…,xn),其中xi(i=1,…,n)为第i条人工鱼的状态,即欲寻优的变量;人工鱼当前所在位置的食物浓度为Yi=f(xi),其中Yi为目标函数;dij=‖Xi-Xj‖表示人工鱼个体之间的距离;visual表示人工鱼的视野范围;step表示人工鱼移动的步长;try_number表示最大尝试次数;δ表示拥挤度因子。1)觅食行为设人工鱼当前状态为Xi,在其视野范围内随机选择一个状态Xj(dij<‖Xi-Xj‖),如果Yj>Yi,则Xi向Xj前进一步;反之重新选择状态Xj,判断是否满足前进条件。试探try_number次后,如果仍然不满足前进条件,则执行随机行为。2)聚群行为设人工鱼当前状态为Xi,搜索其视野范围内(dij<vis-ual)的同伴的个数Nf以及中心位置Xc,若Yc/Nf>δYi,说明同伴中心食物浓度较高而且周围不太拥挤,则Xi向同伴中心方向前进一步;否则执行觅食行为。3)追尾行为设人工鱼当前状态为Xi,搜索其视野范围内(dij<vis-ual)的同伴中Yj为最大的Xj,若Yj/Nf>δYi,说明同伴Xj的状态具有浓度较高的食物而且周围不太拥挤,则Xi向Xj方向前进一步;否则执行觅食行为。4)随机行为设人工鱼当前状态为Xi,在其感知范围内随机选择一个状态Xj进行移动。

异构数据库语义聚类

由于硬件平台、操作系统等的不同,来自不同数据库的数据对相同属性的描述存在不一致性。语义聚类就是解决上述问题的一种方法。语义聚类是根据文字自动识别所表达的语义,然后对不同的信息源的数据进行正确的聚类。这是将异构数据库的数据整合在一起所要克服的最大的困难之一。在进行聚类之前,首先需要对数据库的属性信息作预处理,例如文献[10]针对异构数据,将预处理阶段分为文本数据预处理和数值数据预处理。通过删除与数据聚类无关的数据,并将保留下的数据转化为统一的格式,实现数据的清洗。因此本文中的异构数据库语义聚类过程分为预处理和数据聚类两个阶段[11]。如图1所示。通过对异构数据库语义的聚类,可以在异构数据库的整合中提供依据。预处理阶段的任务:首先将关系型数据库中数据表各列的属性信息存放到文件中,使用简单的语法规则对其进行规范化,将规范化后的属性信息使用空间向量进行表示。随后对属性信息进行矢量化,这使得从异构数据库中提取的属性信息的正确性和完整性得到了保证,也为随之的数据聚类作了准备。聚类阶段是使用人工鱼群算法对各个属性进行语义聚类。

基于鱼群算法的语义聚类算法描述

步骤1:语义信息预处理;步骤2:算法初始化。设定人工鱼的视野范围visual,拥挤度因子δ,试探的最大次数try_number,最大化迭代次数Number;步骤3:计算各条人工鱼当期状态下的食物浓度,并登记在公告板上;步骤4:每条人工鱼分别进行群居行为和追尾行为,选择食物浓度高且不拥挤的方向前进,如果优于公告板的状态,则用该状态替换原有状态;步骤5:执行步骤3和步骤4,直到满足终止条件或满足最大迭代次数;步骤6:对上述步骤得到的聚类结果应用模糊C-均值聚类算法,对结果作进一步的局部优化,从而产生精度较高的最终聚类结果。

仿真实验及分析

首先以一个简单的例子来说明该算法的可行性。假设现有一个关系数据库中的七个属性:Oracle数据库学生基本信息表中有四个属性,SQL Sever数据库图书借阅信息表中有三个属性,如表1所示。 将表1中的属性信息向量化,降至三维数据后进行聚类,结果如图2所示。可以看出输入数据聚集为两类,其中与用户相关的信息聚集为一类,与图书相关的信息聚集为一类。因此基于鱼群算法的语义聚类算法可以很好地将输入的数据对象按照语义进行分类。为了验证算法的有效性,采用聚类准确率对聚类结果进行分析。聚类准确率是指各个聚类中所有被正确聚类的样本数的总和与样本集样本总数的比值[12]。聚类准确率越大表明聚类准确度高,聚类效果好,反之聚类效果越差。该实验所采用的实验数据样本集是根据某单位四个信息管理系统所使用的数据库的属性信息组成,如表2所示。样本集Ⅰ由70个数据对象组成,包含3类4维的数据对象,其中3类数据对象的数目分别为:25,22,23;样本集Ⅱ由113个数据对象组成,包含6类16维的数据对象,其中6类数据对象的数目分别为:25,20,17,10,22,19;样本集Ⅲ由199个数据对象组成,包含4类7维的数据对象,其中4类数据对象的数目分别为:43,58,47,51。 表3是上述三个样本集的聚类结果以及聚类准确率;表4是该算法与其他算法在样本集Ⅲ上的比较。这说明算法具有比较好的聚类效果,对于异构数据库语义聚类比较理想。

通过对人工鱼群算法的局部搜索和全局搜索能力的研究,将鱼群算法应用在异构数据库语义聚类方面。通过模仿鱼群的社会行为来对异构数据库相似语义进行合理的聚类。实验证明该方法达到了较好的聚类结果,在正确率方面取得了较好的结果,具有一定的实用价值。(本文作者:朱新宁、冯辉 单位:东北石油大学计算机与信息技术学院、东北石油大学经济管理学)