一种基于贝叶斯网络的结构化文档检索模型及其检索方法与流程

文档序号:13804851阅读:258来源:国知局
本发明属于结构化文档检索领域,尤其涉及一种基于贝叶斯网络的结构化文档检索模型及其检索方法。
背景技术
::随着互联网上新的文档表示方法html、xml和sgml的发展,一些类似教科书、科技文献和技术手册等结构规整的文档在互联网上越来越普遍。这类可以通过文档表示方法同时表示出内容和结构的文档被称之为结构化文档,它们的大量出现就需要设计和实现新的模型和工具来根据给定的结构索引、检索和呈现文档。而传统的信息检索系统往往是把每篇文档作为一个整体来考虑,这样的检索就没有利用到结构化文档的结构信息,容易产生大量的多余信息。因此如何使用结构信息从结构化文档中有效地检索出满足用户信息需求的精确简单的内容,这一问题得到了越来越多地关注。另外,以往的信息检索模型中往往假设索引术语之间是相互独立的,实际上索引术语不是相互独立的而是可能存在着某种关系。造成信息检索效果低下的主要原因是在信息检索中检索过程常常只是关键词(索引术语)的简单匹配过程,使得当查询中所使用的术语与文档的索引术语不匹配时就会导致与查询相关的文档不能被检索出来,所以采用现有技术的检索模型,检索得到的结果往往不精确,且检索的时间周期比较长。技术实现要素:本发明所要解决的技术问题是:①现有技术中的检索过程采用的关键词匹配简单,导致检索不精确,检索时间周期较长。②传统的信息检索系统往往是把每篇文档作为一个整体来考虑,这样的检索就没有利用到结构化文档的结构信息,容易产生大量的多余信息。为解决上面的技术问题,本发明提供了一种基于贝叶斯网络的结构化文档检索模型,该模型包括:结构化文档子网和术语子网;所述术语子网,用于表示术语层之间的关系,并计算所述术语层中的术语节点之间的相关性系数和所述术语层中的任一术语节点与预检索术语节点的第一条件概率,并根据所述相关性系数和所述第一条件概率检索出与预设目标术语相联系的多个衍生术语;所述结构化文档子网,用于表示各结构化文档层的结构层次关系,并计算所述多个衍生术语在所述各结构化文档层中的结构单元节点的第二条件概率,并根据所述第二条件概率确定与预设目标文档最相近的文档。本发明的有益效果:通过上述的结构化文档检索模型中的术语子网,可以提高检索术语之间的相关度,有利于后续的术语计算更加精确,通过采用不同的计算条件概率公式,提高了术语之间的匹配度,提高了检索的精度,同时子网之间的各结构层的关系,可以加快检索的速度,缩短检索时间。进一步地,所述术语层包括:第一术语层t′和第二术语层t,其中所述第二术语层t为原始术语层,所述第一术语层t′的术语节点是通过完全复制所述第二术语层t的术语节点得到的,每个术语节点用于表示一个术语,t′={t′1,t′2,...,t′k},t={t1,...,tk}。进一步地,各结构化文档层的结构层次关系包括:下一结构化文档层j中的任一结构单元节点为上一结构化文档层j-1中的多个结构单元节点的父节点,其中j表示结构化文档层,j的取值j=2,...,l,l为结构化文档层的总数,l取值范围是大于或者等于2的自然数。进一步地,所述第二术语层t中的任一术语节点为所述第一术语层t′中的多个术语节点的父节点。进一步地,计算所述术语节点与预检索术语节点的第一条件概率包括:根据以下公式计算第一术语层t′中的术语节点的第一条件概率其中,第一条件概率也是边缘条件概率k为索引术语的总数,t′i表示第i术语节点,i取值大于等于1的自然数。进一步地,计算所述术语节点与预检索术语节点的第一条件概率包括:根据以下公式计算第二术语层t中的术语节点的第一条件概率其中pa(tj)表示术语节点tj作为父节点集合pa(tj)的值的任意组合,权重wij表示术语节点t′i对术语节点tj的影响程度,且满足wij≥0,所述权重wij的计算方法如下:其中,α是参数,满足0<α<1,用来表示术语节点之间的相关关系对tj的相关条件概率的影响程度,tj表示第j层的节点。上述进一步地有益效果:解决了由于用于结构化文档检索的贝叶斯网络中存在的节点数目非常庞大,估计和存储这些条件概率需要耗费大量的时间和空间的问题,通过上述的方法可以大大地缩短检索的时间,同时也减少了存储的概率的空间。进一步地,计算所述多个相关术语在所述各结构化文档层中的结构单元节点的第二条件概率包括:根据以下公式计算第j=l层结构化文档层中的结构单元节点的条件概率其中,pa(uil)表示结构单元节点uil作为父节点集合pa(uil)的值的任意组合,w(tk,uil)表示术语tk对结构单元uil的影响程度,且满足w(tk,uil)≥0,uij表示第j层的第i个结构单元节点。进一步地,计算所述多个衍生术语在所述各结构化文档层中的结构单元节点的第二条件概率包括:根据以下公式计算第j≠l层结构化文档层中的结构单元节点的条件概率其中,pa(uij)表示结构单元节点uij作为父节点集合pa(uij)的值的任意组合,w(uh,j+1,uij)表示结构单元节点uh,j+1对于其包含的结构单元节点uij的影响程度,且满足w(uh,j+1,uij)≥0,a(uij)表示结构单元节点uij包含的所有的术语集合。本发明还涉及一种结构化文档检索模型的检索方法,该方法包括:s1,获取需要查询的目标术语;s2,所述结构化文档检索模型根据所述目标术语在预存文档库中进行检索,确定所述目标术语在预存文档库中的文档结构单元的条件概率;s3,判断所述条件概率是否大于预设条件概率阈值,若大于,则将大于所述条件概率阈值的文档结构单元提取出来;s4,将提取出来的文档结构单元按照所述条件概率的大小顺序进行降序排列,并将排列好的文档结构单元反馈存储或者显示,以便提供给用户使用。本发明的有益效果:在查询相关的衍生术语的情况下,对于每个直接或间接包含查询术语的文档结构单元计算得到它的相关条件概率,最终文档结构单元按照概率降序排列呈现给用户,不但提高了检索的精度,也大大提高了检索的文档的精度,更加能够满足用户的需求度。进一步地,所述s3中还包括:若小于,则返回步骤s1。附图说明图1为本发明的一种基于贝叶斯网络的结构化文档检索模型的拓扑结构示意图;图2为本发明的一种结构化文档检索模型的检索方法的流程图;图3为本发明的文档u11的结构示意图。具体实施方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。如图1所示,为本发明的基于贝叶斯网络的结构化文档检索模型的拓扑架构示意图。如图1所示,本实施例提供了一种基于贝叶斯网络的结构化文档检索模型,该模型包括:结构化文档子网和术语子网;所述术语子网,用于表示术语层之间的关系,并计算所述术语层中的术语节点之间的相关性系数和所述术语层中的任一术语节点与预检索术语节点的第一条件概率,并根据所述相关性系数和所述第一条件概率检索出与预设目标术语相联系的多个衍生术语;所述结构化文档子网,用于表示各结构化文档层的结构层次关系,并计算所述多个衍生术语在所述各结构化文档层中的结构单元节点的第二条件概率,并根据所述第二条件概率确定与预设目标文档最相近的文档。可选地,所述术语层包括:第一术语层t′和第二术语层t,其中所述第二术语层t为原始术语层,所述第一术语层t′的术语节点是通过完全复制所述第二术语层t的术语节点得到的,每个术语节点用于表示一个术语,t′={t′1,t′2,...,t′k},t={t1,...,tk}。需要说明的是,在本实施例中模型中是假定一个结构化文档集合d由s个文档组成,d={d1,...,ds};一个索引这些文档的术语集合t由k个术语组成,t={t1,...,tk}。本实施例中提出的模型包含术语子网和结构化文档子网两部分,如图1中给出了一个该结构化文档检索模型的拓扑结构图,术语子网用于表示术语之间的关系,文档子网用于表示结构化文档的结构层次关系。本实施例中采用两个术语层表示术语子网,两个术语层采用二分图的拓扑结构(这种拓扑结构在术语子网中将支持一种快速的传播算法):完全复制术语节点得到另一个术语节点集合t′,t′={t′1,t′2,...,t′k},这个术语节点集合表示第一个术语层,原术语节点集合表示第二个术语层,其中术语节点ti与术语节点t′i指的是同一个术语。其次,还需要说明的是,如图1中的该结构化文档检索模型中包含三种节点:结构单元节点uij、术语节点tj和术语节点t′j。在模型中每一个节点代表一个二元随机变量:uij取值范围是其中表示结构单元uij在给定查询下是相关的,即该结构单元满足用户的查询需求,表示uij在给定查询下是不相关的;tj(t′j)取值范围是分别表示术语tj(t′j)相关和不相关,即该术语能否表达用户的信息需求。再其次,为了建立术语子网,必须对每个术语节点tj确定集合rn(tj),也就是和tj最相关的术语集合。基本上这可以被称作是一个聚类过程,在该过程中可以得到一组非常相关的术语。本实施例中采用了共现分析的方法来确定集合rn(tj)。由于处理的是结构化文档集合,检索结果不再是整篇文档,因此本实施例对传统的共现分析方法进行了重新定义以适用于结构化文档检索。对于结构化文档检索希望得到的检索结果是满足用户需求的文档结构单元,因此在挖掘术语之间关系时就不应该再以文档为单位进行计算,而应该以结构单元为单位,也就是说术语tj和ti的相关系数计算公式应为:上述公式中dij,kh为术语ti和tj在结构单元ukh中的联合权重,计算公式为dij,kh=tfij,kh×idfij,其中tfij,kh为术语ti和tj在结构单元ukh中同时出现的频率,idfij为术语ti和tj的倒排文档频率,通过logn/nij计算(nij是同时出现术语ti和tj的文档数)。weightfactor(ti)同样用作权重策略来去除通用词汇,idfi小的术语权重因子也就小,相应地相关系数就小,可计算如下:weightfactor(ti)=idfi/logn在上述计算术语tj和ti的相关系数的公式中需要计算术语在结构化文档集合包含的所有结构单元中的权重,这个计算量是非常大的,但根据本文提出模型的拓扑结构以及术语权重的计算方法,可以证明在共现分析计算时只需计算在第l层结构单元中的术语权重,得到的结果和该公式得到的结果是相同的,下面给出了证明过程。证明:根据tf值定义的计算方法,其他层次的结构单元包含的术语频率是包含的第l层结构单元的术语频率之和,又因为对于一个术语倒排文档频率是相同的,这样可以得到同理可得又因为usl只属于其余每一层的唯一一个结构单元ukh,所以可以得到(假设文档有l层,nl为第l层的结构单元总数):因此可以得到结论。这样最终得到计算术语tj与ti相关系数的公式为(从tj的角度):对术语集合中的每个术语tj都计算出它与其它术语的相关系数后,相关系数在前n位的n个术语存入集合rn(tj),该集合即为与术语tj最相关的术语集合。可选地,在另一实施例中各结构化文档层的结构层次关系包括:下一结构化文档层j中的任一结构单元节点为上一结构化文档层j-1中的多个结构单元节点的父节点,其中j表示结构化文档层,j的取值j=2,...,l,l为结构化文档层的总数,l取值范围是大于或者等于2的自然数。需要说明的是,如图1所示,该模型中的弧分别为:从第一层术语节点指向第二层术语节点的弧,就是从t′i∈rn(tj)(rn(tj)是在一定衡量方法下与tj最接近的n个术语的集合)指向tj,其中总是有弧从t′j指向tj(术语自身总是相关的);从第二层术语节点指向相应的第l层结构单元节点的弧;由第j层的结构单元节点指向相应的第j-1层结构单元节点的弧,j=2,...,l。因此网络中各种类型的节点的父节点集合分别为:可选地,在另一实施例中,所述第二术语层t中的任一术语节点为所述第一术语层t′中的多个术语节点的父节点。需要说明的是,在本实施例中,第一层节点的弧指向第二层的节点,那么第二层的节点是第一层空节点,比如:t1节点是t′1、t′2、t′3的父节点。由于第一层的节点没有其他的节点指向它,所以第一层术语节点,它的父节点为空集。可选地,在另一实施例中计算所述术语节点与预检索术语节点的第一条件概率包括:根据以下公式计算第一术语层t′中的术语节点的第一条件概率其中,第一条件概率也是边缘条件概率k为索引术语的总数,t′i表示第i术语节点,i取值大于等于1的自然数。需要说明的是,在本实施例中对于第一层术语节点t′i,因为它的父节点集合为空,需要估计的概率为边缘概率一般利用公式(k为文档集合中索引术语的总数)计算,至于可以通过对偶性得到可选地,在另一实施例中计算所述术语节点与预检索术语节点的第一条件概率包括:根据以下公式计算第二术语层t中的术语节点的第一条件概率其中pa(tj)表示术语节点tj作为父节点集合pa(tj)的值的任意组合,权重wij表示术语节点t′i对术语节点tj的影响程度,且满足wij≥0,所述权重wij的计算方法如下:其中,α是参数,满足0<α<1,用来表示术语节点之间的相关关系对tj的相关条件概率的影响程度,tj表示第j层的节点。需要说明的是,在本实施例中对于第二层术语节点tj,需要估计条件概率pa(tj)为节点tj父节点集合pa(tj)的值的任意组合。由于用于结构化文档检索的贝叶斯网络中存在的节点数目非常庞大,估计和存储这些条件概率需要耗费大量的时间和空间,因此对于这些概率的估计通常需要设计专门的概率函数,每次只根据概率函数计算在推理过程中需要的那些条件概率。可选地,在另一实施例中计算所述多个相关术语在所述各结构化文档层中的结构单元节点的第二条件概率包括:根据以下公式计算第j=l层结构化文档层中的结构单元节点的条件概率其中,pa(uil)表示结构单元节点uil作为父节点集合pa(uil)的值的任意组合,w(tk,uil)表示术语tk对结构单元uil的影响程度,且满足w(tk,uil)≥0,uij表示第j层的第i个结构单元节点。可选地,在另一实施例中计算所述多个衍生术语在所述各结构化文档层中的结构单元节点的第二条件概率包括:根据以下公式计算第j≠l层结构化文档层中的结构单元节点的条件概率其中,pa(uij)表示结构单元节点uij作为父节点集合pa(uij)的值的任意组合,w(uh,j+1,uij)表示结构单元节点uh,j+1对于其包含的结构单元节点uij的影响程度,且满足w(uh,j+1,uij)≥0,a(uij)表示结构单元节点uij包含的所有的术语集合。如图2所示,本发明还涉及一种结构化文档检索模型的检索方法,其特征在于,该方法包括:s1,获取需要查询的目标术语;s2,所述结构化文档检索模型根据所述目标术语在预存文档库中进行检索,确定所述目标术语在预存文档库中的文档结构单元的条件概率;s3,判断所述条件概率是否大于预设条件概率阈值,若大于,则将大于所述条件概率阈值的文档结构单元提取出来;s4,将提取出来的文档结构单元按照所述条件概率的大小顺序进行降序排列,并将排列好的文档结构单元反馈存储或者显示,以便提供给用户使用。需要说明的是,在本实施例中是当一个用户查询q提交时,把它作为证据放在术语子网中就可以开始检索过程:每个属于q的术语t′iq的取值固定为(相关),接下来推理过程在整个网络中进行。在查询术语相关的情况下,对于每个直接或间接包含查询术语的文档结构单元uij计算得到它的相关条件概率最终文档结构单元按照概率降序排列呈现给用户。其中计算该相关条件概率具体为:(1)计算第二层术语的后验条件概率如下:其中,当t′i∈q时,否则(因为t′层的术语是独立的,因此不在查询中的术语的后验概率应与它们的先验概率一致,即而在查询中的术语的后验概率为1)。这样公式上述的可以改写为:(2)利用上一步得到的结果,计算第l层的结构单元的后验条件概率如下:(3)计算第j层(j≠l)的结构单元的后验条件概率如下:这样,可以从第l层到第1层逐层得到需要的条件概率。下面是使用本发明中的结构化文档检索模型进行检索的效果的分析过程。第一:数据收集为了验证本文提出的结构化文档检索模型,将从中国优秀博硕学位论文全文数据库中下载了10篇博硕论文作为用于测试的文档实例集合,该集合包含术语264个,结构单元共计237个。选择博硕论文用于测试是因为它结构规整,而且篇幅都比较长,在检索过程中确实需要能够找出最能符合用户信息需求的结构单元。使用共现分析方法挖掘术语之间的相关关系通常文档集合越大效果越好[33],但由于条件限制,本文使用的文档集合较小,因此为了避免术语之间关系松散,下载的10篇论文只包含了数据挖掘和信息检索两个方向的内容,论文题目如表一所示:文档编号文档名u11基于数据仓库技术的决策支持系统模型的研究u21基于数据仓库技术的电力营销决策支持系统研究u31基于数据挖掘的决策支持系统及应用研究u41时间序列的数据挖掘在证券预测分析中的应用研究u51基于向量空间模型的数据挖掘技术的研究u61依存语言模型在信息检索中的应用研究u71基于粗糙集理论的智能信息检索方法的研究u81基于智能答疑系统的研究与实现u91ontology自动生成技术及应用u101中文结构化信息检索系统的研究与实现第二数据处理:结构处理:对每篇论文(以下称为文档)结构进行预处理,本发明只保留每篇文档的核心部分,即去掉题目、作者、摘要以及第一章绪论和最后一章结论,剩余部分最小的结构单元划分到小节,这样每篇文档可以表示成三层的树型结构。文档u11的表示方法如图3所示,其中结构单元u12表示该论文中的第二章,u22表示第三章,u13表示第二章的第一小节即2.1节,u63表示第三章第二小节即3.2节,依此类推。其余9篇文档类似表示。(2)术语抽取:根据本文提出的模型,只有第三层结构单元直接包含术语,因此首先抽取了各个小节标题中的术语,同时为了防止对内容的遗漏,对文档内容中的关键术语也进行了抽取,由于中文没有分隔符,本文使用了海量智能计算技术研究中心开发的海量智能分词软件对在网络中直接和术语相连的每个结构单元的内容进行了分词处理,并利用该软件计算关键词的功能,人工抽取了权重大的前5个术语和标题中的术语一同作为索引该结构单元的术语,并统计了词频。索引过程数据存储在数据处理过程中涉及到的数据有文档结构单元、术语、术语在结构单元中出现的频率以及结构单元之间的关系等,这些数据在索引过程中应存储到数据库表中。本发明中设计了4个表用于存储这些数据分别为:术语表termtable包括:术语id(termid),术语名(termname),以及术语的倒排文档频率(idf)。主键为termid。结构单元表unittable包括:结构单元id(unitid),结构单元的标题(unitname)。主键为unitid。术语—结构单元表termunit包括:术语id(termid),结构单元id(unitid),术语在该结构单元中的词频(tf),术语在结构单元中的权重(weight)。主键为(termid,unitid)。结构单元关系表unitunit包括:结构单元id(unitid),包含该结构单元的唯一结构单元id(childunitid),结构单元之间的权重(weight)。主键为unitid。学习术语之间的关系这个是索引过程的重要工作,必须对每个术语计算出与其最相关的n个术语,本文在测试时没有固定n的数目,而是根据计算得到的相关系数strength值,对每个术语取strength值在前三位的术语,在这种情况下,与每个术语相关的术语个数并不固定,但相关程度都是和该术语相关的前三位。计算得到的这些信息存入术语关系表termrelation,该表包含术语id(termid),与该术语相关的术语id(parenttermid),相关系数(strength),以及术语之间的权重(weight),主键为(termid,parenttermid)。权值计算为了加快检索速度,即加快在给定查询下相关结构单元的条件概率的计算,本文在索引过程中对权值wij、w(tk,uil)和w(uh,j+1,uij)分别根据公式和进行了计算并分别存入表termrelation、表termunit和表unitunit中。推理过程推理过程也就是给定查询q后,计算和查询相关的结构单元在查询下的条件概率的过程,这需要从第一个术语层开始依次推理得到。计算公式给出了计算方法,在进行实验时只需要对第二层中那些父节点属于查询的术语tj(也就是说)计算该概率值。为了加速计算,令由于最终公式可改写为(第二层中的其余节点不需要计算,它们的后验概率和先验概率相同为):计算公式给出了计算方法,同样为了加速计算,令其中tj为uil的父节点,并且tj的父节点属于q,令tj的含义同上,同时由于公式改写为:计算公式给出了计算方法,同样为了加速计算,令其中同时由于公式改写为:结果修正在计算后验条件概率过程中发现只使用相关条件概率排序存在一定的不足:对于给定的查询q,特别是当q中包含几个术语时,往往一些包含较少术语的结构单元计算得到的相关条件概率大于那些大的包含较多术语的结构单元的相关条件概率。这是由于模型中的结构单元uis的相关概率是根据uis和q中包含的相同术语的数目定义的,而且在公式中使用的权重是根据uis中的术语数目来标准化的,相关概率的计算没有考虑属于查询q而不属于uis的术语数目。在这种情况下,计算结果表明一个带有很少的术语但其中大部分出现在q中结构单元,比那些和q有更多相同术语但也有不相同术语的结构单元更相关,这显然不是十分合理。为了使检索结果更加合理,本发明中对公式和进行了修正,在对结构单元的相关条件概率的计算时考虑了结构单元对查询术语的覆盖程度,也就是一个结构单元中包含的查询术语越全它应该越相关,根据这样的思想,公式(和修改如下:其中nq表示查询q中出现的术语个数,nuil和nuij分别表示在结构单元uil和uij中出现的查询中的术语的个数,满足nuil≤nq,nuil≤nq。nuil=0和nuij=0出现的情况是结构单元uil和uij中包含和查询术语相关的术语,而并不包含查询术语本身。β为参数,用于控制修正程度,满足测试结果及分析本文设计了三个查询分别为:q1=潜在语义模型,q2=数据仓库设计,q3=实验结果分析。在进行测试前经人工分析分别找出了对应这三个查询的相关结构单元集合为:{u1603,u1133},{u253,u113,u72},{u1653,u1713,u1053}。为了测试模型的性能,本文将模型的检索结果和bnr-sd模型的检索结果进行了比较,表二,三,四分别给出了对应三个查询的检索结果,方法一为bnr-sd模型的检索方法,方法二为本文提出的检索模型的检索方法(α=0.6),方法三为对方法二进行结果修正的检索方法(α=0.6,),每种方法后给出的是使用该方法检索出全部相关结构单元时实际检索出的结果,以及相关结构单元在这个结果集中的排序。表二查询q1相关结构单元表表三查询q2相关结构单元表表四查询q3相关结构单元表表五针对查询q3的查全率-查准率表查全率方法一查准率方法二查准率方法三查准率0.330.25110.670.250.2911.000.30.330.75表5-5为对于查询q3的方法一、方法二和方法三的查全率-查准率表。该表显示出方法三检索性能明显优于方法一,在相同查全率情况下查准率明显提高。方法二的性能也优于方法一但没有方法三的性能好。通过以上结果可以看出本文模型的检索性能要优于没有使用术语之间相关关系的bnr-sd模型,特别是考虑查询术语对检索结果的影响后,检索性能更是有所提高,可见在结构化文档检索中引入术语之间的关系可以提高检索性能,另外结构单元覆盖查询术语的程度因素对结构化文档检索性能的改善也有一定影响在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1