交互式书法字k近邻查询方法

文档序号:6556645阅读:178来源:国知局
专利名称:交互式书法字k近邻查询方法
技术领域
本发明涉及数据库与多媒体领域,尤其涉及一种交互式书法字k近邻查询方法。
背景技术
中国历代的书法作品,积淀了中华民族传统的审美情趣、哲学思考和文化心理特质,是中华民族传统文化中的瑰宝。书法作品的保存介质通常是石、骨、金属、竹、纸等,不方便携带,容易破损,不易于资源的共享,不利于人们对文化资源的再利用。将这些书法作品进行数字化,对其进行描述、管理,并通过数字图书馆门户为用户提供中国书法字的检索服务,达到资源共享,以帮助艺术爱好者欣赏不同朝代不同作者不同风格的艺术美,研究书法家不同年代书法风格的变化,帮助历史爱好者学习历史文化和历史文化,使得艺术和历史重生。这对宣传和弘扬中国的文明与历史,展现中国的优秀文化,使人们更加便捷地学习、欣赏中国书法艺术具有重要的社会意义和学术意义,产生巨大的社会效益和经济效益。
中国几千年来的变迁,使得同一个汉字的不同书法体形态各异。书法字具有如下特性(1)笔划变形横笔不平,竖笔不直,折笔拐角变圆弧。有时甚至是为美感而故意扭曲,如枯笔字。
(2)复杂性风格各异,该连接的笔画没连接上,而不该连接的却连接在一起。据统计,一个汉字平均有12.71个笔画[1],每一个笔画的大小取决于该字总笔画数,而每一笔段的大小取决于该笔画总笔段数。
(3)模糊性由于作品饱经历史沧桑,受自然因素的影响,部分笔画可能模糊不清。
本质上说,书法字是一种手写体。关于手写体的识别有过很多研究,文献[3]回顾了在线和离线手写体识别的主流技术.目前已出现一些较为成功的关于手写体识别的研究,如文献[4]对华盛顿手稿进行识别,文献[5]对希伯来语的书写体进行分类.然而较少有文献介绍中文书法字的检索和索引方面的研究工作.在文献[2]里,施伯乐等人提出了一种古籍内容检索方法,该方法通过多级计算古籍书中汉字质心的方式,成功地对书写规范的古籍汉字进行检索,然而对于书写不规范且来自不同朝代的书法作品,该方法难以凑效。
高维索引技术经历了20多年的研究[7],采用的技术主要分为三类第一类是基于数据和空间分片的树形索引,如R-tree[8]及其变种[9,10]等。但是这些树形索引方法只适合维数较低的情况,随着维数的增加,其索引的性能往往劣于顺序检索,并且维数一旦增加,其查询覆盖区域增长很快,导致查询速度的急剧下降,产生“维数灾难″;第二类是采用近似的方法来表示原始向量,如VA-file[11]和IQ-tree[12]等.该类方法的基本思想是通过对高维点数据进行压缩和近似存储来加速顺序查找速度。然而数据压缩和量化带来的信息丢失使得其首次过滤后的查询精度并不令人满意。同时尽管减少了磁盘的IO次数,但由于需要对位串解码同时计算对查询点距离的上界和下界,导致很高的CPU运算代价;最后一类是通过将高维数据转化为一维数据来进行高维查询,包括NB-Tree[13]和iDistance[14]等。NB-Tree通过计算高维空间的每个点与原点O(0,0...0)的尺度距离,将高维数据点映射到一维空间,然后将这些距离值用B+树建立索引,从而将高维查询转变为一维空间的范围查询。尽管它能够快速得到结果,但是由于它不能有效的缩减查询空间,特别是当维数很高时,范围查询效率急剧恶化。NB-Tree是一种基于单参考点的方法,iDistance是基于多参考点的方法,通过引入多参考点并结合聚类的方法有效地缩减了高维数据空间的搜索范围,提高了查询精度,然而其查询效率很大程度上取决于参考点的选取并且依赖数据聚类和分片。同时由于iDistance在对高维数据映射到一维距离时不可避免存在信息丢失,导致查询精度不是非常理想。最坏的情况下,查询空间几乎会覆盖整个高维空间。
1吴佑寿,丁晓青,《汉字识别-原理、方法与实现》.北京高等教育出版社,19922施伯乐,张亮,王勇,陈智锋,基于视觉相似性的计算机古籍内容检索方法.软件学报.12(9),2001,pp.1336-13423R.Palmondon and S.N.Srihari,On-Line and Off-Line Handwriting RecognitionAComprehensive Survey,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.22,No.1,January 2000,pp.63-84.
4T.M.Rath,S.Kane,A.Lehman,E.Partridge and R.Manmatha,Indexing for a Digital Libraryof George Washington’s ManuscriptsA Study of Word Matching Techniques,Technical Report,Center for Intelligent Information Retrieval,University of Massachusetts,2002.
5Itay Bar Yosef,Klara Kedem,etc,Classification of Hebrew Calligraphic Handwriting StylesPreliminary Results.In Proc.of the First International Workshop on Document Image Analysisfor Libraries(DIAL’04),Palo Alto,California,2004,pp.299-305.
6Yueting Zhuang,Xiafeng Zhang,et al,Retrieval of Chinese Calligraphic Character Image.InProc.of PCM 2004
7Christian Bhm,Stefan Berchtold,Daniel KeimSearching in High-dimensional SpacesIndexStructurcs for Improving the Performance of Multimedia Databases.ACM Computing Surveys33(3),2001.
8A.Guttman.R-treeA dynamic index structure for spatial searching.In Proc.of the ACMSIGMOD Int.Conf.on Management of Data.1984.pp.47-54.
9N.Beckmann,H.-P.Kriegel,R.Schneider,B.Seeger.The R*-treeAn Efficient and RobustAccess Method for Points and Rectangles.In Proc.ACM SIGMOD Int.Conf.on Managementof Data.1990,pp.322-331.
10S.Berchtold,D.A.Keim and H.P.Kriegel.The X-treeAn index structure for high-dimensionaldata.In Proc.22th Int.Conf.on Very Large Data Bases,1996,pp.28-37.
11R.Weber,H.Schek and S.Blott.A quantitative analysis and performance study forsimilarity-search methods in high-dimensional spaces.In Proc.24th Iht.Conf.on Very LargeData Bases,1998,pp.194-205.
12S.Berchtold,C.Bohm,H.P.Kriegel,J.Sander and H.V.Jagadish.Independent quantizationAn index compression technique for high-dimensional data spaces.In Proc.16th Int.Conf.onData Engineering,2000,pp.577-588.
13M J.Fonseca and J A.Jorge.NB-TreeAn Indexing Structure for Content-Based Retrieval inLarge Databases.In Proc.of the 8th International Conference on Database Systems forAdvanced Applications,Kyoto,Japan,Mar 2003,pp.267-274.
14H.V.Jagadish,B.C.Ooi,K.L.Tan,C.Yu,R.ZhangiDistanceAn Adaptive B+-tree BasedIndexing Method for Nearest Neighbor Search.ACM Transactions on Data Base Systems,30,2,364-397,June 2005.

发明内容
本发明目的是为了提高k近邻查询的性能,提高查询精度,提供一种交互式书法字k近邻查询方法。
本发明解决技术问题所采用的技术方案是1)首先将高维空间中的每个字都当作参考字,分别在对应虚拟距离阙值条件下计算并且得到与该字相似的候选字,通过循环,生成一张局部距离图,并对该图建立基于B+树的索引;之后通过用户的每次查询,通过相关反馈动态调整该局部距离图;2)采用基于层次聚类和统一化始点距离的超球心重定位,找到查询Vq的最近邻字Vp;3)通过最近邻字Vp和相关反馈完成伪k近邻查询Pk-NN,返回查询结果。
所述的采用基于层次聚类和统一化始点距离USD的超球心重定位通过对书法字进行层次聚类,将其聚成T个类,聚类后的每个字可以表示为字(Vi)∷=<编号(i),所属类的编号(CID)> (3)然后将其对应的USD与该字所在类的编号结合得到该字的索引键值,如式(4)所示
key(Vi)=CID+USD(Vi)MAX_USD---(4)]]>其中CID表示字Vq所属的类的编号,MAX_USD为一常数,设置足够大使得每个字的最大查询范围为[CID,CID+1],最后将n个键值建立基于B+树索引;对于查询字Vq,令找到其最近邻字所需要的最小半径值为ε,该值的大小通过对书法字库里的每个书法字的最近邻距离Δ的统计分布情况来估计得到;当用户提交一个查询字Vq,首先以ε为半径通过T次循环计算判断与查询超球Θ(Vq,ε)相交的类超球;然后在这些类超球中求得查询字的最近邻字Vp作为候选的新超球心;同理,当两个超球相交时,先得到与Vq最近邻的字,然后和上一次循环得到的候选最近邻字作比较,求得距离Vq最近的字;最后,当两个超球都不相交时,继续循环,最终得到字Vq的最近邻字Vp。
通过最近邻字Vp和相关反馈完成伪k近邻查询Pk-NN引入了相关反馈,当k取较大时,对Vq的伪k-NN查询只返回小于k个最近邻字;当k取较小时,对Vq的伪k-NN查询返回k个最近邻字。
本发明的有益效果能够显著提高书法字查询效率同时索引的查询精度也随着用户的相关反馈持续提高,使得用户能快速得到基于相同语义的书法字。


图1是交互式书法字k近邻查询系统体系结构示意图;图2是交互式书法字k近邻查询方法的流程框图;图3(a)是满足VDT(Vp)≥Δ+r条件的“之”字对应的虚拟查询半径示意图;图3(b)是满足VDT(Vp)<Δ+r条件的“之”字对应的虚拟查询半径示意图;图4是Δ的高斯分布例子示意图;图5是超球心重定位示意图;图6是近似最小包围超球示意图;图7未经过反馈的检索例子示意图;图8经过反馈的检索例子示意图。
具体实施方法交互式书法字k近邻查询方法的具体实施步骤如下(一)局部距离图索引为支持高效精确的基于内容的书法字相似查询,提出一种针对书法字检索特点的交互式高维索引结构——局部距离图(PDM)。通过结合用户的相关反馈信息,能更有效缩小查询空间,提高查询效率的同时保证了较高的查准率。PDM索引的基本思想是对于一个查询字Vq,借助其最近邻(最相似)字Vp和预生成的局部距离图来完成查询。
根据对书法字检索结果的观察,对于一个任意给定的书法字Vi,与该字距离值小于150(下面定义为MAX_VDT)的字都很有可能与其相似,换而言之,两个距离大于150的字就完全不可能相似,因此只需考虑对与该字距离小于150的字作为候选索引键值即可。同时对于任意字Vi来说,与它相似且离它最远的距离值(下面定义为VDT(Vi))都可能不完全一样,可借助用户的相关反馈来设定。因此,在PDM中,分别将每个书法字作为参考字,将与其距离值小于某一阙值的邻近的字作为索引的键值。
定义1(虚拟距离阙值).给定两个书法字Vi和Vj,Vi的虚拟距离阙值(记为VDT(Vi))是指Vi与Vj的距离,其中Vj是通过用户相关反馈指定为与Vi相似且距离最长的字,形式化表示为VDT(Vi)=d(Vi,Vj),其中Vj与Vi的距离最远并且与Vi相似且Vi,Vj∈Ω。
举例,如图3所示,给定一个查询书法字Vq且VqΩ,Vp为Vq的最邻近书法字。必定存在一个字VR,使得它与VP语义相同且距离最长,那么将VR与VP的距离表示为VDT(VP)。不同的书法字Vi存在不同的VDT。虚拟距离阙值表(VDTT)用来记录每个字的VDT,同时通过用户的相关反馈更新VDTT并且修正PDM从而能够持续地保证一个高的查准率。
定义2(局部距离图).局部距离图(记为PDM)表示为一个邻接表,其中dij∈PDM且Dij表示第i个字与它邻近的第j个字的距离.
虚拟距离阙值表(记为VDTT)是一个记录每个字对应的VDT的序列,表示为VDTT=<<1,VDT(V1)>,<2,VDT(V2)>,…,<n,VDT(Vn)>>,其中VDT(Vi)表示第i个字的虚拟距离阙值.
定义3(最大虚拟距离阙值).最大虚拟距离阙值(记为MAX_VDT)指每个字的初始虚拟距离阙值,都要大于其本身的VDT,即MAX_VDT≥max{VDT(V1),VDT(V2),...,VDT(Vn)}.
对于书法字来说,根据经验将MAX VDT设为150,表示VDTT中每个字的初始VDT值为150。根据用户的相关反馈信息,逐步调整每个字的VDT值。以下为VDTT的增量式维护,它是一个持续和动态的过程。首先通过用户的每次伪k近邻查询(记为PkNNQuery)的相关反馈信息,分成两种情况动态更新VDTT。需要注意的是,对于VDTT的更新,MIN_K为用户设定的在书法字库中所有与查询字相似的字的最小个数,一般设定为40。只有当k大于MIN_K时,返回的候选字才能包括书法字库中与Vq相似的全部字,没有遗漏(即查全率为100%),否则不授权用户进行相关反馈。另外Vq的最近邻字Vp已在算法第2步通过Vq的超球心重定位得到。flag[Vp]=TRUE表示对Vp已经过相关反馈。
输入a VDTT,PDM索引RI,Vq;输出更新后的VDTT和PDM索引(1)进入循环(2)S←PkNNQuery(Vq,k);(3)当k>MIN_K并且flag[Vp]=FALSE则(4)通过用户相关反馈,得到距Vp最远且相似的字Vr;(5)计算Vp与Vr距离并更新VDTT;(6)否则当k<MIN_K并且flag[Vp]=TRUE则(7)通过用户相关反馈,得到距Vp最远且相似的字Vr;(8)如果VDT(Vp)<d(Vp,Vr)则(9)将Vr添加到PDM索引并且更新VDTT;(10)返回更新后的VDTT和PDM索引;(11)结束循环;与其它基于距离的索引方法不同的是,在局部距离图中,高维空间中的每个字都被当作参考字,分别以各自的VDT为半径(距离)上限计算在其半径(距离)范围内的每个候选字的相似距离。这样高维空间的n个字就转变为一维空间的O(n×k)个距离值,其中k<<n。为了对这些距离值进行快速查询,需要对其建立高效索引。同时由于任意两个书法字的相似距离值远远大于1,需要对其进行规一化处理,使得处理后的任意两个书法字距离小于或等于1,这样对于书法字Vi来说,其索引关键字可表示为key(Vi)=i+d(Vi,Vj)MAX_VDT---(5)]]>对于这些一维的键值采用B+树进行索引.从式(4)可以看出单个字的最大查询范围为[i,i+1]。下面是局部距离图索引的生成算法,包括VDTT和PDM索引的初始化(第1-3行)和对PDM建立索引(第4-12行)两部分,其中函数TransValue()表示距离值的转换.
输入书法字库Ω输出PDM索引RI(1)对于书法字库Ω中的每个字Vi来说(2)VDTT初始化;(3)创建B+树索引RI;
(4)通过两重循环,当d(Vi,Vj)小于VDT(Vi)则(5)对距离值d(Vi,Vj)进行转换得到键值并将其插入B+树;(6)返回PDM索引RI;(二)基于聚类与统一化始点距离的超球心重定位超球心重定位是找到距查询字Vq最近的那个字Vp。本发明采用基于聚类与统一化始点距离索引方法来加速最近邻字(1-NN)的查询,通过预先对书法字进行层次聚类,将其聚成T个类,聚类后的每个字可以表示为字(Vi)∷=<编号(i),所属类的编号(CID)> (6)然后将其对应的统一化试点距离与该字所在类的编号结合得到其索引键值,如式(7)所示key(Vi)=CID+USD(Vi)MAX_USD---(7)]]>其中CID表示字Vq所属的类的编号,MAX_USD为一常数,设置足够大使得每个字的最大查询范围为[CID,CID+1]。最后将n个键值建立基于B+树索引。
对于查询字Vq,令找到其最近邻字所需要的最小半径值为ε。该值的大小可以通过对书法字库里的每个书法字的最近邻距离Δ的统计分布情况来估计,如图4所示,每个字对应的Δ值落在不同范围的频率满足高斯分布(红线表示高斯拟合的结果),因此可以得到对应σ的最大似然估计值。又根据“3σ原则”,任意随机变量X满足P(μ-3σ<X≤μ+3σ)=0.9974,也就是说,当X的范围值为3σ时,取到最近邻字的概率为99.74%,接近100%。故令ε=3σ。
当用户提交一个查询字Vq后,如图5所示,首先以ε为半径通过T次(聚类个数)循环计算判断超球Θ(Vq,ε)与这些类超球的位置关系(第2行).当满足某个类超球包含Θ(Vq,ε)时(第3行),借助索引进行子范围查询,对本次查询得到的候选字计算与Vq的距离,取距离值最小的那个字Vp作为候选的新超球心(第4行),最后退出循环(第5行);同理,当两个超球相交时(第6行),先得到与Vq最近邻的字(第7行),然后和上一次循环得到的候选最近邻字作比较(第8行),为了比较与其它类超球是否相交,不需要结束循环;最后,当两个超球都不相交时(第9行),继续循环(第10行)。以下为超球心重定位算法输入书法字Ω及查询例子书法字Vq输出Vq的最近邻字Vp(1)初始化;(2)对于每个类超球Θ(Oj,CRj)来说
(3)当Θ(Oj,CRj)包含Θ(Vq,ε)则(4)在第j个类超球中返回距Vq最近的字Vp且退出循环;(5)当Θ(Oj,CRj)与Θ(Vq,ε)相交则(7)在第j个类超球中返回距Vq最近的字Vp;(8)与上次得到的候选最近邻字作比较,返回最近邻字;(9)否则继续循环直到结束;(10)返回最近邻字Vp;(三)伪k近邻查询算法针对基于PDM的书法字索引特点,本发明提出一种k-NN查询的改进——伪k近邻查询(记为Pk-NN)。由于引入了相关反馈,使得当k取较大时,对Vq的近似k-NN查询不一定保证能够返回k个最近邻字。因为书法库中与Vq相似的字的数量是有限的,可能会小于用户设定的k,所以称为伪k-NN查询。需要说明的是如果没有加入相关反馈,Pk-NN查询就变成了普通的k-NN查询。
基于PDM的伪k-NN查询的搜索范围如图6中的虚线圆(近似最小包围超球)所示,其中阴影部分表示真实的查询范围;它共分两个阶段,如图2所示,首先通过超球心重定位找到查询字Vq的最近邻字Vp,最后是执行基于Vp的伪k-NN查询,其本质是通过嵌套地调用范围查询算法来得到k个最近邻书法字。具体步骤如下所示给定一个Vq和k,首先通过对Vq的超球心重定位(第1行)找到其最近邻字Vp,然后初始化并计算Vq与Vp的距离(第2行),最后进入循环,开始是用一个较小的半径去进行范围查询(第4-5行),当得到的候选字个数大于k时,则通过循环(第8行)找到在该候选字集S中距离查询字Vq最远的(‖S‖-k-1)个字并且将它们删除(第6-7行)。这样恰好得到k个最近邻字。最后跳出While循环(第9行)。否则,当查询半径r大于Vp的虚拟查询半径时,停止查询(第10行)。需要说明的是,在这种情况下,返回的候选字个数会小于k。输入查询字Vq,k输出查询结果s(1)对Vq的超球心重定位得到Vp;(2)初始化;(3)当候选字个数‖S‖不大于k且(bStop=FALSE),继续循环;(4)增加半径r;(5)对Vp进行半径为r的范围查询,得到查询结果S;
(6)当返回候选字个数‖S‖大于k则(7)在候选字中删除距Vq最远的‖S‖-k-1个字且跳出循环;(8)否则当r>VQR(Vp)则(9)没有k个与查询字相似的字,退出循环;(10)结束循环返回结果S;如附图7所示,当用户提交一个“天”字,通过PDM索引从书法字库中检索出与该字形状相似的候选字,然后用户可以根据相关反馈判断在这些候选字中哪些字是与“天”语义相同的,哪些是不同的。通过这种方式,动态更新局部距离图,使得该检索系统的保持一个较高的查准率。图7为未经反馈的交互式书法字检索的结果。
类似地,如附图8所示,当用户提交一个“题”字,通过PDM索引检索出与“题”相似的候选字。通过这种方式,动态更新局部距离图,使得该检索系统的保持一个较高的查准率。图8为经过反馈的交互式书法字检索的结果。
权利要求
1.一种交互式书法字k近邻查询方法,其特征在于1)首先将高维空间中的每个字都当作参考字,分别在对应虚拟距离阙值条件下计算并且得到与该字相似的候选字,通过循环,生成一张局部距离图,并对该图建立基于B+树的索引;之后通过用户的每次查询,通过相关反馈动态调整该局部距离图;2)采用基于层次聚类和统一化始点距离的超球心重定位,找到查询Vq的最近邻字Vp;3)通过最近邻字Vp和相关反馈完成伪k近邻查询Pk-NN,返回查询结果。
2.根据权利要求1所述的一种交互式书法字k近邻查询方法,其特征在于,所述的采用基于层次聚类和统一化始点距离USD的超球心重定位通过对书法字进行层次聚类,将其聚成T个类,聚类后的每个字可以表示为字(Vi)::=<编号(i),所属类的编号(CID)>(1)然后将其对应的USD与该字所在类的编号结合得到该字的索引键值,如式(2)所示key(Vi)=CID+USD(Vi)MAX_USD...(2)]]>其中CID表示字Vq所属的类的编号,MAX_USD为一常数,设置足够大使得每个字的最大查询范围为[CID,CID+1],最后将n个键值建立基于B+树索引;对于查询字Vq,令找到其最近邻字所需要的最小半径值为ε,该值的大小通过对书法字库里的每个书法字的最近邻距离Δ的统计分布情况来估计得到;当用户提交一个查询字Vq,首先以ε为半径通过T次循环计算判断与查询超球Θ(Vq,ε)相交的类超球;然后在这些类超球中求得查询字的最近邻字Vp作为候选的新超球心;同理,当两个超球相交时,先得到与Vq最近邻的字,然后和上一次循环得到的候选最近邻字作比较,求得距离Vq最近的字;最后,当两个超球都不相交时,继续循环,最终得到字Vq的最近邻字Vp。
3.根据权利要求1所述的一种交互式书法字k近邻查询方法,其特征在于,所述的通过最近邻字Vp和相关反馈完成伪k近邻查询Pk-NN引入了相关反馈,当k取较大时,对Vq的伪k-NN查询只返回小于k个最近邻字;当k取较小时,对Vq的伪k-NN查询返回k个最近邻字。
全文摘要
本发明公开了一种交互式书法字k近邻查询方法。利用该方法可以实现书法字的基于语义的交互式索引和检索,即用户可以参与调整索引的过程,使查询精度进一步提高。在实施本方法的过程中,首先对书法字库中的每对书法字在一定阙值条件下求得距离,生成一个局部距离图,并对该图建立基于B+树的索引。当用户提交一个例子书法字后,系统根据要求检索出与该字相似的字,然后用户可以根据相关反馈动态选择与该字语义相同的字。这样系统会根据用户的反馈信息动态调整局部距离图,排除不相关的字,使得保持较高的查询精度。
文档编号G06F17/30GK1920822SQ200610053409
公开日2007年2月28日 申请日期2006年9月14日 优先权日2006年9月14日
发明者庄越挺, 吴飞, 庄毅 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1