对非结构化内容进行高效索引存储的方法和装置制造方法及图纸

技术编号:2914610 阅读:196 留言:0更新日期:2012-04-11 18:40
公开了用于对非结构化内容进行高效索引存储的方法和装置。

【技术实现步骤摘要】
【国外来华专利技术】相关申请本专利申请要求2005年2月24日提交的名称为“用于对非结构化内容进行高效索引存储的方法和装置”的美国临时申请序列号为60/656521的申请的优先权,其被包含在此以做参考。本专利申请要求2006年2月23日提交的名称为“用于对非结构化内容进行高效索引存储的方法和装置”的未被分配美国申请序列号的申请的优先权,其被包含在此以做参考。
本专利技术涉及存储。本专利技术尤其涉及用于对非结构化内容(unstructuredcontent)进行高效索引存储(efficient indexed storage)的方法和装置。
技术介绍
非结构化内容,例如多媒体,不完全符合传统的数据库。传统的数据库对结构化内容执行极好,但对非结构化内容它们缺乏通过高效索引插入和查询的能力。这就提出了问题。其中非结构化内容包括文本、多媒体和最先进技术的数据类型例如基因序列。文本包括文档、电子邮件、博客(blog)等等。多媒体包括图像、音乐、声音、视频等等。没有坚实的可升级的索引技术将非结构化内容和结构化内容区别开来。然而结构化内容强烈地依赖于以散列表和基于树的技术为基础的索引,以使在储存库内快速搜索符合指定标准的项成为可能。非结构化内容统一缺乏相同类型的索引。这就提出了问题。一个权宜之计(stop gap)的解决方案将非结构化内容的某些特性指定为“特征”。接下来对那些综合产生的特征应用传统的索引技术。例如,-->对于数字图像的储存库,添加主要由图像被拍的时间、所使用的摄像机、拍照片的人、地点和附加的描述性文字组成的特征。增加“特征”花费精力。这就提出了问题。首先,当项的数量很大时,手工应用一般称为“手动标记”的特征通常是不切实际的。其次,内容可能被手动标记一次,但由于另外的原因重新检查它们以标记它们可能是不切实际的。例如,我们可能设想用鼻子、眼睛或嘴唇的形状来标记脸的图像的集合。然而,当新的查询出现时,重新扫描整个图像的集合以给鼻子附近的痣或前额上的疤痕作标注可能是不切实际的。这就提出了问题。附图说明在附图中本专利技术作为例子而不是被限制地说明,其中:图1示出可实现本专利技术的方法和装置的网络环境;图2是可用于实现本专利技术的一些实施例的计算机系统的结构图;图3示出作为一系列标记且然后被表示为概率转换矩阵的文本;图4示出本专利技术的一个实施例,其显示向量的集合以及界定超平面的偏差值的中值,该超平面将向量分成两个不同的半空间;图5示出显示三级GiST的本专利技术的一个实施例,其中数据元素驻留在叶节点,且内部节点包含分割器对象,该分割器对象或指向相同节点内的其它分割器,或向外指向其它节点;图6示出本专利技术的一个实施例,其显示分割技术的流程图;图7示出本专利技术的一个实施例,其显示小邻域搜索的流程图;以及图8示出本专利技术的一个实施例,其显示搜索有限的邻域的流程图。具体实施方式本专利技术是用于对非结构化内容进行高效索引存储的方法和装置。本发明在一个实施例中使用非结构化内容类数据元素,正如内积空间中的矢量所表示的。在本专利技术的一个实施例中,基于内积空间的技术用于建立、维-->持并查询索引存储结构(indexed storage structure)。所公开的技术尤其允许非结构化内容受益于高效的基于相似性的索引存储结构。本专利技术在一个实施例中示出如何有效地为非结构化内容编索引。例如,给定N项x.i的集合,存储结构被设计成以给定的查询项x*开始,我们可有效地得到集合中最相似的项。“有效地”意味着插入和查询时间都与log(N)成比例。“最相似的”意味着在用数值距离或度量的意义上接近。通过分两个阶段——建模和编索引来考虑设计存储系统的方法,以便为特定类型的非结构化内容编索引,会更容易地解释本专利技术技术。在建模阶段,使用将非结构化内容项与在抽象的内积空间中的向量联系的方案。公开了一种高效索引方案,其中以这种方式表示每个非结构化内容项。为数据元素编索引的方法依赖于将相似的元素一起分组的能力。典型的B树索引结构根据一些方案以固定大小的数据“页”对键值(key)分组,以分割大空间。例如,如果我们有雇员标识符集合{0,1,2,...199本文档来自技高网...

【技术保护点】
一种方法,包括: (a)输入n个向量x.i的集合; (b)计算平均值x.avg=(1/n)*sum(i,x.i); (c)如果x.avg不为零,则: (c1)对每个i计算偏差d.i=〈x.i-x.avg,x.avg〉 ; (d)如果x.avg为零,则 (d1)选择不为零的特定x.i,并将其表示为x.pvg; (d2)对每个i计算偏差d.i=〈x.i-x.pvg,x.pvg〉; (e)将D初始化为所述值d.i的集合;以及 (f )如果D包含多于两个元素且D的最小项和最大项不同,则: (f1)从所述集合D中除去所述最小值和最大值; (f2)重复(f)-(f1); (g)如果D包含一个元素,则: (g1)将所述D的一个元素作为分割值输出;   (h)如果D包含两个元素,则: (h1)计算相应于所述D的两个元素的偏差的平均值; (h2)将相应于所述D的两个元素的偏差的所述平均值作为分割值输出。

【技术特征摘要】
【国外来华专利技术】US 2005-2-24 60/656,521;US 2006-2-23 11/361,1661.一种方法,包括:
(a)输入n个向量x.i的集合;
(b)计算平均值x.avg=(1/n)*sum(i,x.i);
(c)如果x.avg不为零,则:
(c1)对每个i计算偏差d.i=<x.i-x.avg,x.avg>;
(d)如果x.avg为零,则
(d1)选择不为零的特定x.i,并将其表示为x.pvg;
(d2)对每个i计算偏差d.i=<x.i-x.pvg,x.pvg>;
(e)将D初始化为所述值d.i的集合;以及
(f)如果D包含多于两个元素且D的最小项和最大项不同,则:
(f1)从所述集合D中除去所述最小值和最大值;
(f2)重复(f)-(f1);
(g)如果D包含一个元素,则:
(g1)将所述D的一个元素作为分割值输出;
(h)如果D包含两个元素,则:
(h1)计算相应于所述D的两个元素的偏差的平均值;
(h2)将相应于所述D的两个元素的偏差的所述平均值作为分割
值输出。
2.如权利要求1所述的方法,其中所述x.i没有完全相同的。
3.如权利要求1所述的方法,进一步包括:
确定x.pvg是否产生合适的分割值;以及
如果没有,则:
丢弃所述x.pvg值;且
重复(d)-(d2)。
4.如权利要求1所述的方法,进一步包括:
对任何任意的向量y,计算值d=<y-x.avg,x.avg>;以及
如果d>0,则:
将所述向量y分配到“上层”组;
否则:
将所述向量y分配到“下层”组。
5.一种其上储存指令的机器可读介质,当所述指令被执行时执行权
利要求1所述的方法。
6.一种包括耦合到存储器的处理器的系统,当所述系统执行一组指
令时执行权利要求1所述的方法。
7.一种装置,包括:
(a)用于输入n个向量x.i的集合的装置;
(b)用于计算平均值x.avg=(1/n)*sum(i,x.i)的装置;
(c)如果x.avg不为零,则:
(c1)用于对每个i计算偏差d.i=<x.i-x.avg,x.avg>的装置;
(d)如果x.avg为零,则
(d1)用于选择不为零的特定x.i并将其表示为x.pvg的装置;
(d2)用于对每个i计算偏差d.i=<x.i-x.pvg,x.pvg>的装置;
(e)用于将D初始化为所述值d.i的集合的装置;以及
(f)如果D包含多于两个元素且D的最小项和最大项不同,则:
(f1)用于从所述集合D中除去最小值和最大值的装置;
(f2)用于重复(f)-(f1)的装置;
(g)如果D包含一个元素,则:
(g1)用于将所述D的一个元素作为分割值输出的装置;
(h)如果D包含两个元素,则:
(h1)用于计算相应于所述D的两个元素的所述偏差的平均值的
装置;
(h2)用于将相应于所述D的两个元素的所述偏差的所述平均值
作为分割值输出的装置。
8.一种方法,包括:
(a)输入节点N;
(b)输入查询向量q;
(c)如果N为叶节点,则:
(c1)对包含在节点N中的每个向量x.i计算距离e.i=‖q-x.i‖;以

(c2)返回具有最小距离e.i的元素;
(d)否则;
(d1)从节点N获得分割器S;
(d2)计算d=<q-S.avg,S.avg>;
(e)如果d>S.split,则:
(e1)返回(N.upper,q);
(g)否则:
(e2)返回(N.lower,q)。
9.如权利要求8所述的方法,其中所述(e)包括:
如果d>=S.split,则:。
10.一种其上储存指令的机器可读介质,当所述指令被执行时执行权
利要求8所述的方法。
11.一种系...

【专利技术属性】
技术研发人员:中野利夫
申请(专利权)人:那哈瓦有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1