非结构数据的检索方法研究.docxVIP

  • 3
  • 0
  • 约2.87千字
  • 约 3页
  • 2023-08-31 发布于湖北
  • 举报
非结构数据的检索方法研究 1 非结构数据的管理 在信息爆炸的今天,大量结构性数据和非结构数据显著增加。如果采用人工处理的方式,由于非结构数据的结构化过程受限于人工处理速度,导致非结构数据的增长远远超过结构化数据。如何有效的管理每天出现大量的文本、图像和视频等非结构数据成为一个巨大的挑战。 王建民等研究了基于特征非结构数据管理建模框架。李青等研究了基于相似度矩阵的非结构化数据分类算法。文龙等研究了如何将XML应用于非结构数据的管理。杨岳等研究了非结构化数据统一访问平台及索引技术。邹波等研究了海量非结构化数据的文件组织格式等问题。 本文进行了基于R树的非结构数据的索引的研究,并且在搜狗语料数据集和SceneClass13数据集上取得了不错的效果。本文第二节是非结构数据在R树上的查找,插入和删除的实现。第三节是在搜狗语料数据集和SceneClass13数据集上进行实验的情况。最后是全文总结和对未来工作的展望。 2 面向非结构的r树的数据节点距离 R树是一种高度平衡的树。它的叶节点包含了指向直接数据记录的指针。在这种树形索引结构的帮助下,多维数据检索只需要搜索很少的节点,而不需要遍历所有数据。本文面向非结构数据的R树的索引节点(IndexNode)定义如下: NodeID,ParentID,CurCount,DataType,Accessible,Distance,Radius,Area,ChildNodes。NodeID表示本节点的编号。ParentID表示父节点的编号,根节点的ParentID为空。CurCount表示节点目前的子节点数量,在实际使用时会设置最多子节点数目Max和最少子节点数目Min。DataType表示这一棵R树是保存何种类型的非结构数据,目前支持文本数据和图像数据。Accessible表示目前这个节点是正在使用还是已经被废弃。Distance是一个Max*Max大小的矩阵,记录不同子节点之间的欧式距离。Area表示每一维数据最大值与最小值距离的平方和。Radius表示当前索引节点的覆盖范围,可以表示为。ChildNodes指向当前节点的子节点,可以表示为vectorIndexNode。本文面向非结构数据的R树的数据节点(DataNode)定义如下:NodeID,DataType,Feature。NodeID表示本节点的编号。DataType表示这一棵R树是保存何种类型的非结构数据,目前支持文本数据和图像数据。Feature表示非结构数据经过特征提取后所得到的特征值,可以表示为。本文基于R树的非结构数据的查找,插入和删除算法如下所述。 2.1 r树叶节点保护 本算法的目的是查找目标数据所在的叶节点。对文本数据而言,每一维的特征是单词:出现的次数。对于图像数据而言,本文采用边缘直方图特征作为图像特征。初始时node是R树的根节点,target是需要查找的数据。本文使用vectorIndexNode保存所有满足条件的叶节点。 1)如果node不是叶节点,判断target是否在node覆盖范围里面。如果target不在node覆盖范围里面则退出算法;否则递归的找到在node覆盖范围里面的叶节点 2)如果node已经是叶节点并且Accessible为true,则将node存入vectorIndexNode 如果是需要查找非结构数据,则顺序遍历vectorIndexNode中叶节点所指向的数据。 2.2 生成叶节点 本算法的目的是向现有的R树插入一条新的非结构数据。本算法的流程如下: 1)通过运行search_leaf算法得到候选叶节点集合vectorIndexNode 2)如果vectorIndexNode只包含一个元素,则直接插入到这个叶节点;如果vectorIndexNode包含多个元素,则选择Area最小的叶节点;如果vectorIndexNode为空,则选择插入target后Area增加最少的叶节点,如果增量相同则选择Area最小的叶节点 3)将target插入到选择的叶节点,如果叶节点的CurCount不大于Max,则结束算法 4)利用距离矩阵Distance找到距离最远的两条记录node1,node2 5)利用Prim算法和node1,node2这两个节点将子节点集合分割为两个互不相交的无向图,每个无向图集合作为一个新的叶节点集合,同时将本叶节点的Accessible置为false 6)调整父节点覆盖范围,使其包含子节点的所有数据 7)调整的curCount,如果未超过Max,则结束算法 8)利用Prim算法将父节点分割为两个互不相交的无向图,每个无向图作为一个新的叶节点 9)重复第6步,直到根节点调整完毕,结束算法 2.3 调整叶节点radius 本算法的目的是删除R树中的一条非结构数据。本算法的流程如下

文档评论(0)

1亿VIP精品文档

相关文档