XML关键词检索的摘要生成方法转让专利

申请号 : CN201010614955.8

文献号 : CN102004802B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓志鸿江家健

申请人 : 北京大学

摘要 :

本发明提供了一种XML关键词检索的摘要生成方法以及一种评判摘要重要程度的模型。该模型包含三个评价要素:区分性,明确性,关联性。区分性用于衡量属性a的区分性强弱,明确性用于衡量属性a对于查询Q的明确性,关联性用于衡量属性a与实体e间的关联性。本发明提供的方法利用该模型对XML关键词检索的摘要的重要性进行定量分析,计算公式为W(e,a)=(Dist(a)·Expl(a,Q))Corr(e,a),然后选取最重要的top-K个属性作为描述实体的摘要,解决了传统XML关键词检索缺少对信息重要性的定量衡量的问题。

权利要求 :

1.一种XML关键词检索的摘要生成方法,包括如下步骤:1)输入查询Q;2)找到与Q相关的XML文档;3)提取文档中的属性a;4)计算属性a的权重;5)选取权重值最大的K个属性,加入到摘要中;

其特征在于,

所述步骤4)中属性a的权重W(e,a)的计算方法如下:Corr(e,a)

W(e,a)=(Dist(a)·Expl(a,Q)) ,其中,

●Dist(a)用于衡量属性a的区分性强弱,其中,pa指属性a在该类实体中出现的比例,H(a)是属性a的信息熵,ai是属性a的第i种取值,n为属性a的不同种取值的个数;

●Expl(a,Q)用于衡量属性a对于查询Q的明确性,其中,Q={q1,q2,……qn},|qi|表示关键词qi的长度,|a|表示属性a的值节点的长度,n为查询Q中所包含关键词的个数;

●Corr(e,a)用于衡量属性a与实体e间的关联性;

其中,ei是路径中第i个实体,Num(ei)表示路径中第i个实体同层的该类实体的个数,length(e,a)为属性a和实体e之间的路径长度,n为从a到e的路径中实体的个数,k=

0.5。

2.如权利要求1所述的XML关键词检索的摘要生成方法,其特征在于,所述K的取值为

5~7。

3.如权利要求1所述的XML关键词检索的摘要生成方法,其特征在于,在步骤1)之前进一步包括:对XML文档进行预处理,把XML文档中的元素归并为三类:关系、实体和属性。

4.如权利要求3所述的XML关键词检索的摘要生成方法,其特征在于,在XML数据集预处理时把下列信息存储在索引文件中:所有属性节点的长度,所有属性的区分性强弱,所有实体节点的子节点中同名实体节点的数量。

说明书 :

XML关键词检索的摘要生成方法

技术领域

[0001] 本发明涉及XML检索技术,尤其是一种XML关键词检索的摘要生成方法,可以应用在XML关键词搜索引擎以及其他结构化或者半结构化数据的关键词搜索引擎中。

背景技术

[0002] 自1998年诞生以来,由于开放性,自描述性以及简洁性等特点,XML文档现广泛应用于互联网,数据库等领域,已经成为互联网上数据交换和集成的语言标准。随着XML文档的大量涌现,如何快速地从大规模XML文档中寻找出满足用户需求的信息成为信息检索以及数据库领域的一个研究热点。一个具体的XML文件如图1所示,图2是图1所示XML文档对应的树形结构。
[0003] XML信息检索可分为两大类:关键词检索和“关键词+结构”检索。由W3C(the WorldWide Web Consortium)颁布的XML检索标准XPath和XQuery是“关键词+结构”检索的代表,“关键词+结构”检索在为用户准确表达其查询需求方面提供了有效的描述手段,从而能获得高质量的查询结果。但是“关键词+结构”检索要求用户掌握相关的查询语言,并且对XML文档的结构信息有所了解,从而限制了这种检索方式在实际中的应用范围。关键词检索是一种经过实践证明且取得巨大成功的检索方式,是在传统搜索引擎中被广泛采用的检索手段。在传统搜索引擎的影响下,普通互联网用户现在已经习惯于关键词检索方式,因为关键词检索简单易用,能迅速被普通用户所掌握。因此,XML关键词检索比“关键词+结构”检索更具有现实应用意义。XML关键词检索也因此成为了XML信息检索领域的研究重点。
[0004] XML关键词检索即用户以关键词作为表达查询的手段对XML文档(集)进行检索的模式。由于XML文档是包含层次结构信息的,而关键词检索只能模糊地表达用户的查询语义,如何通过关键词检索,充分利用XML文档内部的结构信息,来为用户提供精确的检索服务就是一件非常有现实意义且具有极大挑战性的事情。
[0005] 目前,关于XML关键词检索已有相当多的研究,但对于XML检索结果的摘要提取的技术研究仍然比较欠缺。传统的搜索引擎(如谷歌、百度等)在对给出关键词找出相应的网页作为结果后,把每个网页中出现关键词的一段文字作为摘要返回给用户,如附图3所示。与传统的搜索引擎不同,基于XML的关键词检索提供了更丰富的结构信息,大量标签的引入以及树形结构的组织使得每个XML文档中各信息之间的结构关系更加清晰,这使得对每个XML文档进行摘要提取时也能按照树形结构组织,从而给用户提供更加形象化的信息。
[0006] 文献[1][2][3]针对XML关键词检索的摘要提取提出了XSeek模型,并根据此模型实现了自动生成摘要的系统eXtract,系统实现的实例见附图4。XSeek模型提出了一个好的摘要(snippet)所应满足的几个条件:完整性(self-contained)、可区分性(distinguishable)和代表性(representative)。完整性是指摘要应包含相关的“主语”,也就是要包含必要的实体信息,即文档描述的对象是什么;区分性是指不同的文档的摘要应互不相同,用户能通过摘要就区分出不同文档之间的差异性;代表性是指摘要应该把对应文档的最突出的一些特征反映出来,能反映文档的主要信息。在满足以上三个条件的基础上,一个好的摘要还应尽量简短,[1]中还给出了在有长度限定(不能超过LimitSize)的情况下生成符合上述三个条件的算法,[3]对相应的eXtract系统进行了展示。
[0007] XSeek模型提出了评价一个摘要好坏的几条标准,并实现了在长度限定的情况下生成比较符合完整性、可区分性和代表性三个条件的摘要的算法。但是XSeek模型没有对每个评价标准给出定量的计算公式,从而不能对摘要满足各个标准的程度进行一个准确的评估。
[0008] [1]中将XML文档内树中的节点分成了四类:实体节点(entity),联接节点(connection),属性节点(attribute)和值节点(value)。其中值节点都是XML树中的叶节点,其内容反映的是一些具体的取值;属性节点是只包含一个值节点作为其子节点的非叶节点,它给出了对应值节点的类型和名称。一个属性节点和其相应的值节点一起构成了一个完整的属性信息:属性名称+属性值,如“姓名”+“张三”一起构成了某一个人的“姓名”这一属性。实体节点就是包含多个属性节点作为子节点的非叶节点(其子节点当中也可以包含实体节点),反映的是一个具体的描述对象,比如一个人、一个公司或一个国家等。联接节点是子节点中只包含实体节点(通常是同名节点)的非叶节点,反映的是实体节点之间的关系。如附图2中,paper节点(0.0)、Institution(0.0.1)节点是实体节点,分别指代论文和发表论文的单位;title节点(0.0.0,0.1.0)、Introduction节点(0.0.2,0.1.2)、Name节点(0.0.1.1.0,0.0.1.1.1,0.1.1.0,0.1.1.1)是属性节点,分别指代论文(0.0)的标题、介绍和作者等属性的名称;上述属性节点的子节点(所有叶节点)都为值节点,指代对应属性的具体取值,可以认为值节点0.0.1.0对应的属性节点(0.0.1的单位名称)被省略;proceedings节点是联接节点,表明的是这些论文(paper节点)都是在同一个会刊里的,authors节点也是联接节点,可以认为name节点的父节点author节点(实体节点)被省略。
[0009] 参考文献:
[0010] [1]Z.Liu,Y.Chen:Identifying meaningful return information for XML keyword search.In SIGMOD 2007,pages329-340.
[0011] [2]Z.Liu,J.Walker,Y.Chen:XSeek:A Semantic XML Searcn Engine Using Keywords.In VLDB 2007:1330-1333.
[0012] [3]Yu Huang,Ziyang Liu,Yi Chen.eXtract:A Snippet Generation System for XML Search.In VLDB 2008,Pages1392-1395.
[0013] [4]Y.Xu,Y.Papakonstantinou.Efficient keyword search for smallest LCAs in XML databases.In SIGMOD 2005,pages537-538.

发明内容

[0014] 为解决传统XML关键词检索缺少对信息重要性的定量衡量的问题,本发明重新定义了评价一个摘要好坏的三个标准:关联性(correlativeness)、明确性(explicitness)和区分性(distinctiveness),并给出了相应的计算公式,同时通过提出MRepA模型对这三个属性进行综合得到XML文档中各属性的重要程度。
[0015] 本发明的详细技术方案如下:
[0016] 方案1:一种XML关键词检索的摘要生成方法,包括如下步骤:1)输入查询Q;2)找到与Q相关的XML文档;3)提取文档中的属性a;4)计算属性a的权重;5)选取权重值最大的K个属性,加入到摘要中;
[0017] 其特征在于,
[0018] 所述步骤4)中属性a的权重W(e,a)的计算方法如下:
[0019] W(e,a)=(Dist(a)·Expl(a,Q))Corr(e,a),
[0020] 其中,
[0021] ●Dist(a)用于衡量属性a的区分性强弱,
[0022] Dist(a)=exp(pa)·H(a)
[0023]
[0024] 其中,pa指属性a在该类实体中出现的比例,H(a)是属性a的信息熵,ai为属性a的第i种取值;
[0025] ●Expl(a,Q)用于衡量属性a对于查询Q的明确性,
[0026]
[0027] 其中,Q={q1,q2,……qn},|qi|表示关键词qi的长度,|a|表示属性a的值节点的长度;
[0028] ●Corr(e,a)用于衡量属性a与实体e间的关联性;
[0029]
[0030] 其中,ei是路径中第i个实体,Num(ei)表示路径中第i个实体同层的该类实体的个数,length(e,a)为属性a和实体e之间的路径长度。
[0031] 方案2:作为方案1的一种优选实现,其特征在于,所述K的取值为5~7,这样能既减少信息冗余又兼顾信息的完整。
[0032] 方案3:作为方案1的一种优选实现,其特征在于,在步骤1)之前进一步包括:对XML文档进行预处理,把XML文档中的元素归并为三类:关系、实体和属性。
[0033] 方案4:作为方案3的一种优选实现,其特征在于,在XML数据集预处理时把下列信息存储在索引文件中:所有属性节点的长度,所有属性的区分性强弱,所有实体节点的子节点中同名实体节点的数量。
[0034] 方案5:作为方案4的一种优选实现,其特征在于,所述属性的区分性强弱是通过计算属性的熵得到的。
[0035] 本发明同时提出了一种新的衡量XML关键词检索的摘要的重要性程度的模型,记作MRepA模型,描述如下:
[0036] 方案6:一种衡量XML关键词检索的摘要的重要性程度的模型,记作MRepA模型,其特征在于,所述模型包含如下三个评价要素:区分性,明确性,关联性;该模型衡量XML关Corr(e,a)键词检索的摘要的重要性程度的计算公式为W(e,a)=(Dist(a)·Expl(a,Q)) ,其中[0037] - Dist(a)用于衡量属性a的区分性强弱,
[0038] Dist(a)=exp(pa)·H(a)
[0039]
[0040] 其中,pa指属性a在该类实体中出现的比例,H(a)是属性a的信息熵;
[0041] - Expl(a,Q)用于衡量属性a对于查询Q的明确性,
[0042]
[0043] 其中,Q={q1,q2,……qn},|qi|表示关键词qi的长度,|a|表示属性a的值节点的长度;
[0044] - Corr(e,a)用于衡量属性a与实体e间的关联性;
[0045]
[0046] 其中,Num(ei)表示路径中第i个实体同层的该类实体的个数。
[0047] 本发明的有益效果:
[0048] 本发明给出了衡量一个XML文档属性在描述其对应实体时的重要程度的模型和方法,并根据重要程度进行排名,把最重要的top-K个属性挑选出来作为描述实体的摘要,解决了传统XML关键词检索缺少对信息重要性的定量衡量的问题。

附图说明

[0049] 图1:XML文档示例。
[0050] 图2:图1所示XML文档对应的树形结构。
[0051] 图3:谷歌搜索引擎检索实例。
[0052] 图4:eXtract系统实例。
[0053] 图5:用MRepA模型实现本发明方法的流程。
[0054] 图6:XML树文档实例。

具体实施方式

[0055] 一般的XML文档都是对一个实体(entity,如人、公司或国家等)的相关介绍,介绍信息一般是该实体的各种属性信息,比如对于一个国家而言,它的属性信息包括国家名称、地理位置、人口等。衡量一个属性的重要程度也是针对某一具体的实体而言的,比如对于一个人来说,他会有很多属性:姓名、出生年月、住址、年龄、国籍等,这些属性对于描述一个人的贡献程度是有差异的,一般可以通过姓名去确定一个人,其他几个属性则做不到。在本发明的MRepA模型中,用W(e,a)表示属性a(包含了属性名称和相应取值,即属性节点+值节点)对于描述实体e(实体节点)的权重:Corr(e,a)
[0056] W(e,a)=(Dist(a)·Expl(a,Q))
[0057] 其中,Dist(a)用于衡量属性a的区分性(distinctiveness)强弱,Expl(a,Q)用于衡量属性a对于查询Q的明确性(explicitness),Corr(e,a)用于衡量属性a与实体e间的关联性(correlativeness)。
[0058] 区分性
[0059] 属性的区分性是指通过该属性将某一实体与其他实体区分开的强弱程度,比如,对于一个人来说,他可能有姓名、年龄、驾驶证号、国籍等属性信息,显然,姓名比其他三个属性更能将不同的人区分开,具有同样年龄和国籍的人往往会很多,而驾驶证号只被一部分人拥有。所以,决定一个属性的区分性强弱主要有两个方面:(1)是否所有该类实体都具有该属性;(2)不同实体的该属性取值是否不相同。在这里,给出属性a的区分性强弱计算公式如下:
[0060] Dist(a)=exp(pa)·H(a)
[0061]
[0062] 其中,pa指属性a在该类实体中出现的比例,H(a)是属性a的信息熵。
[0063] 明确性
[0064] 属性的明确性用来衡量该属性的取值是否完全描述给定实体的相关信息,如附图2中,title属性节点对应的值节点都是明确的描述paper这个实体的标题,而Introduction属性节点对应的值节点中则可能包含非描述相应paper实体的信息,比如包含该paper的引文或相关工作的信息。一般地,一个属性的明确性和他取值的长度成反比,如果该属性值的长度越长,该属性中往往更可能含有非本实体的描述信息。在XML关键词检索中,都会提供一个关键词查询Q,在计算一个属性a的明确性时,可以通过属性a对应的值节点中关键词出现的比例进行估计,计算公式如下:
[0065]
[0066] 其中,Q={q1,q2,……qn},|qi|表示关键词qi的长度,|a|表示属性a的值节点的长度。
[0067] 关联性
[0068] 属性和实体间的关联性表明该属性是否直接描述相应实体。比如,附图2中,title属性直接描述paper实体的标题信息;name属性直接描述author实体(假设添加上author节点)的姓名信息,同时name属性也可以看作是间接描述paper实体的信息,因为name属性描述paper实体下的author实体的信息。本发明中,通过属性节点和实体节点间的层次信息计算它们之间的关联性,在这里,定义length(e,a)为属性a和实体e之间的路径长度,其取值为从实体节点e到属性节点a之间的路径上的实体节点的个数(包括e自身),例如附图-2中,从paper节点(0.0)到title节点(0.0.0)之间只有paper节点一个实体节点,而从paper节点(0.0)到name节点(0.0.1.1.0)之间有paper节点和author节点两个节点,从而length(paper,title)=1,length(paper,name)=2。除了路径长度外,路径上的实体的数量也影响着属性与实体间的关联性,比如A是paper 1的第三作者,却是paper 2的唯一作者,那么A在paper 1和paper 2中的重要程度就有所区别。下面给出计算实体e和属性a之间的关联性的计算公式:
[0069]
[0070] 其中,Num(ei)表示路径中第i个实体同层的该类实体的个数。
[0071] 下面通过实例对本发明做进一步的说明。
[0072] 如图6所示,该XML文档的描述对象是一个“person”实体,其中的“name”、“birth_date”、“biography”、“title”、“year”和“character”是描述“person”以及从属于“person”的“movie”实体的一些属性,这些节点的子节点(全是叶节点)是相应属性的取值。在本实施例中,要实现的目标是衡量“name”、“birth_date”等这些属性对于描述“person”这一实体的重要程度。下面取“name”、“biography”和“title”三个属性为例子分别进行计算:
[0073] 1.在XML数据集预处理时就已经得到并存储在索引文件中的数据有:所有这些属性节点的长度,所有属性的区分性强弱(通过熵计算求得),所有实体节点的子节点中同名实体节点的数量:
[0074] |name|=2,|biography|=600,|title|=2
[0075] Dist(name)=36.7,Dist(biography)=31.2,Dist(title)=38.3
[0076] Num(person)=1,Num(movie)=20
[0077] 2.给出查询Q={Forrest Gump},在定位包含关键词“Forrest Gump”的属性“biography”和“title”节点后,得到实体节点“person”到各属性节点的路径长度:
[0078] “person”与“name”之间只有一个实体节点“person”,所以length(person,name)=1“person”与“biography”之间只有一个实体节点“person”,所以length(person,biography)=1“person”与“title”之间有两个实体节点“person”和“movie”,所以length(person,name)=2
[0079] 3.按照本发明提供的方案计算各属性对于描述实体“person”的权重(当属性节点中未出现关键词时,可以令Expl(a,Q)=k在这里取k=0.5):
[0080] W(person,name)=(36.7*0.5)1*1=18.35
[0081] W(person,biography)=(31.2*(2/600))1*1=0.104
[0082] W(person,title)=(38.3*(2/2))2*1/20=1.44
[0083] 对于描述一个“person”实体而言,“name”属性显然具有相当重要的作用;而“biography”虽然包含了关键词,但是不能保证其内容全部都是描述该“person”的特征的,正如之前所解释的;而“title”的内容虽然完全为关键词,但是“title”是描述“person”所“act”的“movie”,而不是直接描述“person”本身的,所以,以上计算结果还是符合实际情况的。