1.一种云计算模式下JSON数据可视化优化方法,其特征在于,所述方法包括以下步骤:
第一步、目标领域语料库的构建:把网络语料内容作为构建知识图谱的基础,使用网络语料词条信息作为原始语料内容,为构建知识图谱而对原始网络语料内容进行筛选,比较分析网络词条的网页内容,原始语料内容中除了标题和正文信息外,还包含了HTML标签,词条本身的编辑信息,网页链接信息与词条本身无关的冗余信息;对网络词条的内容进行过滤清洗,抽取标题与有效的正文内容,过滤内容包括:对词条的网页内容执行HTML标签/文本样式符号过滤、词条模板符号及非英文字符过滤、词条编辑信息过滤、图片信息过滤、链接信息过滤、页面专有标题属性名过滤以及数值过滤;
第二步、面向语料库的实体抽取:知识图谱是由实体与关系构成图结构的数据信息网,以“实体-关系-实体”的三元组来表示知识图谱的基础结构;三元组中包括了两个有现实语义关系的实体和两个实体间的关系,可以用G=(head,relation,tail)的形式来表示,其中G表示三元组,head表示头实体,tail表示尾实体,relation表示头实体和尾实体间的关系;
每个实体本身还包含了属性及属性值,将实体的属性也转化为与该实体相连的尾实体,并在两者间建立relation关系,实体抽取分为命名实体抽取、属性实体抽取及名词实体抽取三个阶段;
第三步:结合Word2vec,对语料库进行指导性二次预分组,使用DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法构建知识图谱:三元组G的结构为(head,relation,tail),随着head和tail的不同,relation也有多种关系,relation实际上是知识图谱中的关系集合,用以表示多种实体间的复杂联系,其目的在于判断两个属性间是否存在语义关联,即两个实体间是否存在关系,而不关注存在何种关系,通过计算语料库词汇的词向量,将语料库进行二次分组及其对应的词向量集进行二次分簇,使用DBSCAN聚类算法来抽取实体关系;
第四步、构建可视化模型树(VisualModel Tree,简称VT):对可视化框架各种可视化图形进行分类,归纳总结各类图形的属性和结构特征,通过创建一种可视化模型树(VT),来形式化地表达各类图形信息;
第五步,定义元数据树MDT与MST元结构树,并将REST服务返回的JSON数据转化为MDT;
然后,通过剪枝操作对MDT进行批量数据去重,生成MDT’;在MDT’的基础上,进行降维调整进一步抽取基本数据结构生成多个MST;最后,使用基于子图同构匹配算法,将每个元结构树MST与可视化模型树VT中每个的StructModel进行匹配,返回结果是以
第六步、基于网络语料知识图谱的数据可视化优化匹配方法:第五步中对MDT的剪枝操作、降维调整以及原结构树MST与可视化模型树(VT)中的StructModeli的匹配过程中都是以结构匹配为基础,在此基础上,通过第三步中构建的知识图谱中查询匹配出来的数据片段是否存在实际语义关联,根据查询结果优化第五步中的匹配算法,选取有效的维度组合,以提升自动化生成图形的精确率。
2.如权利要求1所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述第二步的过程为:
2.1、实体抽取:实体抽取又称为命名实体识别,是从文本数据集中自动识别出命名实体,这通常指的是人名、地名、机构名词以及其它所有名称为标识的实体,该流程通过使用一些主流的命名实体识别系统来完成,其步骤包括:一、通过工具对语料库内容进行命名实体识别;二、将识别出的命名实体标注它的类型属性;三、根据类型属性对命名实体进行过滤,删除不合适的命名实体,保留其它命名实体的标注,同时将词条名称默认定义为命名实体;
2.2、属性实体抽取:以词条网络语料的信息框为属性的来源,从信息框中提取属性,然后在语料库中截取每个词条的信息框信息,按照信息框结构,提取属性名称,作为所属词条的名称所对应的命名实体的尾实体,不保留属性值,若某词条不存在信息框,则不必为该词条对应的命名实体创建尾实体;
2.3、名词实体抽取,包括四个步骤:单词拆分(Split)、词性标注(POS Tagging)、停用词过滤(Stop Word Filtering)和词干提取(Stemming),命名实体抽取步骤中已经标注了识别出的命名实体,因此接下来的操作仅对标注的实体外的语料内容进行抽取。
3.如权利要求1或2所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述第三步的流程如下:其中,DBSCAN算法是一种基于密度的噪声应用空间聚类算法,该算法根据样本的密度分布来考查样本间的可连接性,并基于可连接的样本来扩展聚类簇,以获得最终的聚类结果;
3.1、使用Word2vec将语料库W训练成词向量簇Cube:Word2vec是一种词向量工具,它将词表示成词的特征向量,Word2vec将词转换成数值形式,使用一个N维向量来表示,将语料库W嵌入一个向量空间后得到词向量簇Cube,每一个词向量离散地分布于其中,根据词向量相互关联程度的疏密,分布状态也呈现出不同的聚集情况,通过分析词向量的聚集状态可以获得词的关联性分布状态,按照不同的亲疏关系对词向量进行分组,以获取词之间的关系,即实体间关系;
3.2、对语料库进行两次指导性预先分组:由于DBSCAN聚类算法的分簇易受数据集本身分布情况影响,为保证核心概念,即目标领域的主要分类对象或关键词为聚类中心,需要对语料库进行两次指导性预先分组;
3.3、在指导性分组的基础上,通过DBSCAN聚类算法对Cube中的每一个词向量簇cubez进行分簇并计算cubez的聚类中心Centroidz,对每一个新生成的词向量簇Ck计算簇心Centroidk,根据词向量对象与实体对象间的映射关系,查找出Centroidz与Centroidk所对应的实体Entityz与Entityk,以Entityz为头实体,Entityk为尾实体,默认实体关联为R,构建三元组(Entityz,R,Entityk),并加入三元组集合中,通过DBSACN聚类算法对每个语料集合自动查找聚类中心,进行分簇,同时构建三元组。
4.如权利要求3所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述
3.2的步骤如下:
3.2.1、对语料库W及其对应的词向量簇Cube进行一次分组,步骤如下:
3.2.1.1、提取语料库W中根语料标签,形成核心实体;通过爬虫获取网络语料并提取语料库中根语料标签的第一层子分类标签,并生成第一层子分类标签集合Tag={t1,t2...ti...tn},其中(1<=i<=n),共包含了n个子分类标签,每个标签都有一个对应的实体和词向量,并且将这些实体都与核心实体组合,构成若n个三元组,并加入三元组集合TP;
3.2.1.2、将分类标签集合Tag中的每个标签ti对应的词向量作为簇心,计算词向量簇Cube中各个数据点到各个质心的欧式距离,然后根据就近原则,将数据点分配至每个簇心所对应的簇中,此时语料库W被分为了n个语料集wi(1<=i<=n),语料集合wi对应的词向量簇为cubei;
3.2.2、对每个语料集合wi二次分组及其对应的词向量簇cubei进行二次分簇,按照第一次分组的步骤,其流程如下:
3.2.2.1、对于每个语料集合wi及其对应的簇心标签ti,提取簇心标签ti为二级核心实体,通过爬虫获取网络语料并提取簇心标签的第一层子分类标签,并生成分类标签集合其中(1<=j<=mi,1<=i<=n),表示当前标签ti共包含了mi个子分类标签,每个标签都有一个对应的实体和词向量,并且将这些实体都与二级核心实体组合,构成mi个三元组并加入三元组集合TP;
3.2.2.2、将步骤3.2.2.1中的Tagi中的每个标签对应的词向量作为簇心,计算当前词向量簇cubei中各个数据点到各个质心的欧式距离,然后根据就近原则,将数据点分配至每个簇心所对应的簇中,此时每个语料集合wi被再次分为了mi个语料集合wij,其中(1<=j<=mi,1<=i<=n),既原始语料集合W被分为了 个语料集合wij,wij对应的词向量簇为cubeij;
其中,步骤3.2.1.2中欧式距离(Euclidean Distance)是判断数据点所属类别的重要依据,假设有给定的样本 与 其中i,j=1,
2,…,m,表示样本数,n表示特征数,欧式距离的计算方式为:
3.2.3、结合TF-IDF算法,查找出每个语料集合wij中的关键词,利用关键词对语料集合wij进行再次分组;
上述指导性的预先分组过程中所构建的三元组均加入三元组集合TP中,所获得的每一个词向量簇记为cubez,其对应的语料集合记为wz,其中z为自然数,表示Cube集合中簇的数量及语料集W中语料集合的数量;cubez的簇心记为Centroidz,其对应的实体对象为Entityz。
5.如权利要求3所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述
3.3的流程如下:
3.3.1、通过DBSCAN聚类算法对Cube中的每一个词向量簇cubez进行分簇并计算cubez的聚类中心Centroidz;
其中,步骤3.3.1中的DBSCAN聚类算法的执行流程如下:
3.3.1.1、在cubez中选取任意未访问过的样本p(即数据点p)为圆心,划出半径为ε的圆形邻域(即ε-邻域);
3.3.1.2、若ε-邻域中的样本数不小于minPts(邻域内最小样本数),则为p创建一个新的簇C,并将领域内的样本加入集合N;
3.3.1.3、对集合N内的样本p’重复步骤3.3.1.1和3.3.1.2,每次划分ε-邻域前都对p’的从属进行判断,若p’不属于任何簇,就将p’加入簇C;
3.3.1.4、当N中所有样本都被访问完毕,在cubez中选取另一未访问过的样本,并重复步骤3.3.1.1,直至cubez中的样本均被访问;
3.3.1.5、获得的聚类结果:簇集合;
3.3.2、对每一个新生成的词向量簇Ck计算簇心Centroidk,根据词向量对象与实体对象间的映射关系,查找出Centroidz与Centroidk所对应的实体Entityz与Entityk,以Entityz为头实体,Entityk为尾实体,默认实体关联为R,构建三元组(Entityz,R,Entityk),并加入三元组集合TP;
3.3.3、若聚类结果中最小簇的样本数量大于阈值Z时,将已获得的簇集合ClusDS作为输入,调整并减小(ε,minPts)值后,再次对每个簇进行聚类,执行步骤3.3.1与3.3.2;若聚类结果中最小簇的样本数量不大于阈值Z时,则查询出每个簇中各个样本所对应的实体Entityq,将其与所在簇的簇心所对应的实体EntityQ组合为多个三元组(EntityQ,R,Entityq);
其中,在DBSCAN聚类算法中,ε-邻域和minPts的大小是由cubez中的样本数量决定的,cubez样本数量越大,(ε,minPts)值越大,前期使用较大的邻域范围与邻域内最小样本数能够限制分簇数量,若使用较小的值,产生的大量细分组会导致信息过度分散,提取的簇心对应实体作为上层实体无法展现核心内容,递归调用DBSCAN算法时,按梯度递减调整(ε,minPts)值,减小邻域范围及最小样本数,依次对上一次聚类得到的簇再次进行分簇,缩小每个簇中的样本数量;
至此语料库W中所有的实体都与其他实体建立了关系,它们对应构成的三元组相互组合,从而构成了知识图谱,由于自动聚类所查找出的簇心与分簇情况,有可能会产生相关性较弱的实体关系,因此知识图谱构建完成后需要人工校对筛查,去除相关性低的实体关联,以提高知识图谱的质量。
6.如权利要求1或2所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述第四步的过程为:
4.1、定义VT包括基础属性(BASICATTRIBUTE)和可视结构(DVSCHEMA)两个部分,形式化定义如(1),其中BASICATTRIBUTE保存了图形标题、副标题及其他文本样式的通用信息;
(1)、VT::=
4.2、BASICATTRIBUTE包括三个属性:标题(title)、子标题(subtitle)、属性(attributes),形式化定义如(2),title用于保存最终生成的可视化图形的标题,subtitle用于保存最终生成的可视化图形的子标题,attributes用于保存最终生成的可视化图形的位置、颜色组合、字体、字号设置参数;
(2)、BASICATTRIBUTE::=
4.3、BASICATTRIBUTE根据图形所需的数据类型、图形数据结构、图形维度将常见的可视化图形归纳为四种基础类别:一般图形(General)、拓扑图(Topology)、地图(Map)、文本图形(Text),形式化定义如(3);
(3)、DVSCHEMA::=
4.4、步骤4.3中的四种基础类别下属均分别包含两个属性:图形类型(VType)和图形结构(StructModel),VType保存了该类别所属图形种类,StructModel保存了该类别所属图形的基本可视化结构,形式化定义如(4),“A::B”表示“A包含了属性B”;
(4)、DVSCHEMA::=
4.5、步骤4.4中四种基础类别均有各自的映射关系(Mapping),描述了各类图形的数据结构、数据维度、图形结构关系、数据映射位置信息;根据Mapping信息并结合图形的数据结构,可以抽象出各类图形的基本可视化结构StructModel。
7.如权利要求6所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述
4.4中,四种基础类别的VType属性的所属图形如下:
4.4.1、General包括柱状图(BarChart)、折线图(LineChart)、饼图(PieChart)、雷达图(RadarChart)、散点图(ScatterChart);
4.4.2、Topology包括网络图(NetworkChart)、树图(TreeMap)、面积树图(TreeMapChart);
4.4.3、Map包括地区地图(AreaMapChart)、国家地图(CountryMapChart)、世界地图(WorldMapChart);
4.4.4、Text包括词云(WorldCloudChart)。
8.如权利要求6所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述
4.5中,各类图形的映射关系Mapping及基本可视化结构StructModel定义如下:
4.5.1、General类型中的图形通常用于表示二维数据或三维数据,可用二元组(XAxis,YAxis)或三元组(XAxis,YAxis,ZAxis)来表示信息,此类图形的Mapping结构如(5),其中LegendName表示图例名称,以ARRAY类型来存储各分组信息;根据Mapping结构可抽象出基础StructModel的结构如(6),StructModel的子节点为临时根节点Root,Root包含两个子节点:键值对K_V与图例节点LegendNode;
(5)、Mapping::=
4.5.2、Topology类型中的图形通常用于表示拓扑关系数据,树图与面积树图可用嵌套的键值对{key:value,children:{key:value}}来表示属性结构,Mapping结构如(7);网络图可用节点集合(Nodes)和边集合(Links)来表示图结构,Mapping结构如(8),其中source表示一条边link的起始节点,target表示该条边link的指向节点;根据Mapping结构可抽象出基础StructModel的结构如(9),StructModel有两个子结构,Root1和Root2分别为两个子结构的临时根节点,Root1包含两个子节点:键值对K_V和孩子节点children,children的子结构为键值对K_V;Root2包含两个子节点:节点集合Nodes和边集合Links,节点集合的子节点为关键字key和值value,其中value可以为空,边集合的子节点为起点source和目标target;
(7)、Mapping::=
(8)、Mapping::=
4.5.3、Map类型中的图形通常用于表示地图信息,用键值对数组[{PlaceName:value}]或三元组数组[{lng,lat,value}]来表示地图信息,此类图形的Mapping结构如(10),其中PlaceName表示地名,lng表示纬度,lat表示经度;根据Mapping结构可抽象出基础StructModel的结构如(11),StructModel有两个子结构,Root1和Root2分别为两个子结构的临时根节点,Root1包含子子节点键值对K_V;Root2包含了三个子节点:经度lat,纬度lng,数值value;
(10)、Mapping::=
4.5.4、Text类型中的图形常用二元组(Keyword,frequency)来表示关键字频率,此类图形的Mapping结构如(12),其中Keyword为文本中提取出的词汇,frequency表示该词汇在文本中的出现频率;根据Mapping结构可抽象出基础StructModel的结构如(13),StructModel的子节点为临时根节点Root,Root包含了键值对K_V;
(12)、Mapping::=
(13)、StructModel::=
9.如权利要求1或2所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述第五步的过程为:
5.1、定义元数据树MDT,包括根节点TRoot、索引节点INode、数据节点DNode,同时用深度level来表示节点在树结构中的层数,根节点默认为第一层,即level=1;
5.1.1、根节点TRoot,MDT的根节点,即MDT的起始节点,根节点内部包含以下信息:
5.1.1.1、星标isMark:记录JSON数据中最外层结构是否为数组类型,若是用1标记,若否用0标记;isMark形式化定义表述如(14)(15),isMark的数据类型为数字NUMBER,若JSON数据中“键-值”对中的值VALUE为数组ARRAY,则isMark=1,否则isMark=0;“#”为数据类型定义符,“::=”为赋值符,[A→condition⊕:
(14)、“isMark”#
(15)、“isMark”::=〖“VALUE”→ARRAY⊕<1>:<0>〗
5.1.1.2、元素数量arrayNum:若当前节点的isMark为1,则记录数组元素个数,若当前节点的isMark为0,则用0标记;arrayNum形式化定义表述如(16)(17),arrayNum属性值为数字NUMBER类型,若JSON数据中“键-值”对中的值VALUE为ARRAY,则arrayNum等于VALUE数组的长度,否则arrayNum=0;
(16)、“arrayNum”#
(17)、“arrayNum”::=〖“VALUE”→ARRAY⊕
5.1.2、索引节点INode:代表JSON数据中每一个关键字KEY,但不包括JSON数据中最内层的“键-值”对的关键字,索引节点为非根节点、非叶子节点,索引节点内部包含以下信息:
5.1.2.1、节点名称name:name的数据类型为字符串STRING,name属性值为JSON数据中“键-值”对中的关键字KEY;name形式化定义表述如(18)(19);
(18)、“name”#
(19)、“name”::=
5.1.2.2、节点值类型vType:vType是JSON数据中“键-值”对中的值VALUE的数据类型,属性值为对象OBJECT、数组ARRAY、字符串STRING、数字NUMBER、TRUE、FALSE之一;vType形式化定义表述如(20);
(20)、“vType”::=[OBJECT|ARRAY|STRING|NUMBER|TRUE|FALSE]
5.1.2.3、星标(isMark):记录JSON数据中,以当前节点名称name作为关键字的“键-值”对中的值VALUE是否为数组类型,若是用1标记,若否用0标记;isMark形式化定义表述同步骤5.1.1.1中的(14)(15);
5.1.2.4、元素数量arrayNum:若当前节点的isMark为1,则记录“键-值”对中的值VALUE的数组元素个数,若当前节点的isMark为0,则用0标记;arrayNum形式化定义表述同步骤
5.1.1.2中的(16)(17);
5.1.3、数据节点DNode:代表JSON数据中最内层的“键-值”对,存储为叶子节点,数据节点的内部包括以下信息:
5.1.3.1、节点名称name:保存JSON数据中“键-值”对中的关键字KEY,数据类型为字符串STRING;name形式化定义表述同步骤5.1.2.1中的(18)(19);
5.1.3.2、节点值nValue:nValue的数据类型为STRING,属性值为JSON数据中“键-值”对中的值VALUE;nValue形式化定义表述如(21)(22);
(21)、“nValue”#
(22)、“nValue”::=
5.1.3.3、节点类型type:保存JSON数据中“键-值”对中的值VALUE的数据类型,为“str”、“num”或NULL,其中“str”代表type的数据类型为STRING,“num”代表type的数据类型为NUMBER,NULL表示type的属性值为空;type形式化定义表述如(23);
(23)、“type”::=[“str”|“num”|NULL];
5.2、按照步骤5.1元结构树MDT的定义,把REST服务所返回的JSON数据,转化成元数据树MDT;
5.3、对MDT进行剪枝操作批量数据去重生成MDT’,保留Web服务返回JSON数据的基本的数据结构信息,缩小模型体量:
5.3.1、将MDT的根节点TRoot存入队列Queue;
5.3.2、队列Queue中的第一个节点出队列,记录为V,读取节点V的isMark属性;
5.3.2.1、若节点V的isMark属性值为1,则保留V的第一个子节点,剪除其余的子节点及其子节点的子树结构,跳转至步骤5.3.2.4;
5.3.2.2、若V节点的isMark属性值为0,则不进行任何操作,跳转至步骤5.3.2.4;
5.3.2.3、若V节点为DNode,则不进行任何操作,跳转至步骤5.3.3;
5.3.2.4、将V节点的子节点加入队列Queue,跳转至步骤5.3.3;
5.3.3、队列Queue为空时,停止当前遍历;当队列Queue不为空时,跳转到步骤5.3.2;
5.3.4、输出MDT剪枝后生成的MDT’;
5.4、对减枝生成的MDT’进降维调整,生成原结构树MST:由多层嵌套结构的JSON数据转换为元数据树,经过剪枝后,其中仍然包含许多对于JSON可视化的冗余索引关系,其中,越接近于DNode的INode,其节点关键字信息与DNode中保存的数据信息的相关度越高,因此,需要使用降维操作来减少冗余的索引信息,降维调整的流程如下所示:
5.4.1、定义元结构树MST(MetaStructure_Tree)为元数据数MDT’降维调整后的结果,包括有子树根节点STRoot(Subtree_Root),子结构(Substruct),形式化表达如式(24);其中子结构Substruct由引导节点(Guide_Node,简称GNode)和数据节点(Leaf_Node,简称LNode)两部分构成如式(25);根节点STRoot内包含的属性同MDT的TRoot;引导节点GNode内包含的属性同MDT的INode;叶子节点LNode内包含的属性同MDT的DNode;同时也用深度(level)来表示节点在树结构中的层数,STRoot默认为第一层,即level=1;
(24)、MST::=
(25)、Substruct::=
5.4.2、使用降维调整算法,对MDT’进行降维操作生成MST:首先根据宽度优先搜索策略在MDT’中查找星标节点,对批量数据进行定位并将其存入集合,然后按照存入集合的顺序倒序开始查找包含Dnode节点的子树结构,对MDT'进行降维,截取基础数据创建MST,其流程如下所示:
5.4.2.1、将MDT'作为降维调整算法的输入数据;
5.4.2.2、对MDT'进行宽度优先搜索,查找星标节点N,并按序将它们存入集合
5.4.2.3、按照节点的存入顺序,在集合S中按倒序遍历节点(集合S中的节点用n表示),查找是否有其它节点与节点n有相同的父节点;
5.4.2.3.1、若不存在这样的节点,则在MDT中,将该节点n及其子结构存储为一颗子树,如式(26),将n作为子树的根节点,将n的子结构作为根节点的子结构,再创建一个只有STRoot的MST,将子树作为STRoot的子结构存入MST,如式(27),并将对应的子树从MDT'中剪除;
(26)、Subtree(n)::=
5.4.2.3.2、若存在这样的节点,则将这些拥有同一父节点的星标节点(node*)存入集合Q,在集合Q中查找是否存在两个星标节点(node*)符合VT中NetworkChart的结构要求,
5.4.2.3.2.1、若存在,则将这两个节点的父节点及其父节点的子结构一并存储为一个子树,如式(28),并将子树存入一个空的MST,以子树的根节点为MST的STRoot,如式(29),再将对应的子树从MDT'中剪除;
(28)、Subtree(n)::=
5.4.2.3.2.2、若不存在,则Q中的每个星标节点(node*),按照步骤5.4.2.3.1行操作;
5.4.2.4、对生成的MST进行遍历,将isMark=1且只有一个子节点的INode判断为冗余节点,定义如式(30),将这个冗余节点从MST中移除并由其子结构替代它在MST中的位置;
(30)、RNode::=(RNode∈INode)∧(INode::isMark==0)∧(INode::subArray.length==1)
5.4.2.5、输出所有生成的元结构树MST
5.5、基于子图同构的匹配(Match)算法,把步骤5.4中生成的每个MST与可视化模型树(VT)中的StructModeli进行依次比较,查询匹配的数据片段,在匹配过程中,预设了判断条件来判定两个节点的一致性:Fattr用于判断两个节点的isMark、type、arrayNum属性是否一致;Frela用于判断两个节点与各自的父子节点的结构是否一致,基于子图同构匹配(Match)方法的流程如下所示:
5.5.1、初始化第一个匹配目标节点s为StructModeli的根节点;
5.5.2、在当前MST中查找与s符合Fattr条件的节点,将存入集合P;
5.5.3、将集合P中的节点依次与s进行Frela条件判断;若节点p与s的结构一致,将p加入集合M;若结构不一致,则继续在P中查找比较,直至P遍历完;
5.5.4、比较集合M构成的数据结构片段与StructModeli的结构是否一致;若两者结构不一致,则将s的子节点设为下一个匹配目标节点,清空集合P,并重复步骤5.5.2)至步骤
5.5.4);若两者结构一致则输出集合M与StructModeli所对应的VTypei;
其中,当MST与VT中StructModeli中成功匹配时,将会返回m个匹配结果<M,VTypei>,每个匹配结果包含当前MST中与图形模型StructModeli匹配的数据结构片段集合M与该图形模型StructModeli对应可生成的图形类型的集合VTypei。
10.如权利要求1或2所述的一种云计算模式下JSON数据可视化优化方法,其特征在于,所述第六步的步骤为:
6.1、当MST与VT中的图形模型成功匹配时,每个匹配成功的结果为<M,VTypei>,其中集合M中包含m个符合要求的数据片段(子树结构),每个数据片段中有两个节点分别对应于StructModel子结构中的LegendNode节点和K_V节点,即对应于可视化图形中的一组候选坐标轴/图例的属性组合结果;
6.2、结合构建的网络语料知识图谱吗,根据m个符合条件的数据片段中的属性组合,对匹配结果优化,过程如下:
6.2.1、步骤6.1中每个匹配数据片段中的属性组合以二元组的形式表示:P=(L::
name,A::name),将每个匹配结果Pi=(Li::name,Ai::name),转化为三元组形式Gi=(Li::name,R,Ai::name)放入集合S={G1,G2,…,Gm};
6.2.2、依次将集合S里Gi的三个参数与知识图谱的三元组结构进行如下映射F(Li::
name→head,R→relation,Ai::name→tail)映射成三元组(head,relation,tail),在构建语料知识图谱中匹配是否存在当前三元组(head,relation,tail),result为匹配结果为True或False,分别表示为1和0,首先在语料知识图谱中匹配头实体节点head和尾实体节点tail,然后匹配头实体节点和尾实体节点之间的关系relation,当且仅当头实体head,尾实体tail及关系relation都匹配成功,result为1;
6.2.3、集合S中的对象查询完成后,返回集合Q={(Gi,resulti)},并将Q用于判断当前符合条件的二元组是否存在语义关联,作为候选坐标轴/图例的属性组合匹配结果的判定,因此,只有结构匹配并且resulti为1时,才判定匹配成功,由此提高数据属性匹配的准确率,减少无实际意义图像的生成率。