CN105677740A - 基于实体的文本数据与xml文档的匹配方法 - Google Patents

基于实体的文本数据与xml文档的匹配方法 Download PDF

Info

Publication number
CN105677740A
CN105677740A CN201511017999.1A CN201511017999A CN105677740A CN 105677740 A CN105677740 A CN 105677740A CN 201511017999 A CN201511017999 A CN 201511017999A CN 105677740 A CN105677740 A CN 105677740A
Authority
CN
China
Prior art keywords
node
entity
xml
text data
ecsf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201511017999.1A
Other languages
English (en)
Inventor
蔡喁
杨卫东
刘木强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Civil Aviation Shanghai Aircraft Airworthiness Certification Center
Original Assignee
China Civil Aviation Shanghai Aircraft Airworthiness Certification Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Civil Aviation Shanghai Aircraft Airworthiness Certification Center filed Critical China Civil Aviation Shanghai Aircraft Airworthiness Certification Center
Priority to CN201511017999.1A priority Critical patent/CN105677740A/zh
Publication of CN105677740A publication Critical patent/CN105677740A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

一种基于实体的文本数据与XML文档的匹配方法,包括:将文本数据的模式定义为实体及实例集合,将文本数据与XML文档模式匹配的语义定义为在XML文档中检索包含所有实体、实例对集合的最小连通子树,将查询结果定义为基于实体的最近语义片段;基于实体的最近语义片段定义为XML树上覆盖所有实体及实例信息的最小连通子树;模式匹配过程首先使用基于条件随机场的实体抽取算法提取文本文档的实体及实例信息,然后在XML文档树中查询覆盖所有实体及实例的最近语义片段作为匹配对象。本发明能够有效支持文本数据和XML文档等异构数据间的集成,召回率、准确率高,匹配效果好,可应用于企业异构数据集中管理分析、大数据技术实施前的数据集成等领域。

Description

基于实体的文本数据与XML文档的匹配方法
技术领域
本发明涉及数据集成技术领域,特别涉及一种利用实体抽取技术,针对文本数据与可扩展标记语言(XML,EXtensibleMarkupLanguage)文档进行匹配以实现数据集成的方法。
背景技术
在大数据的时代,很多企业采用大数据技术对各类数据进行集中统一分析,然而大数据技术的前提是高效的数据集成。要为企业提供全面的数据共享,就需要把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中。
数据集成为各种异构数据提供统一的表示、存储和管理。数据集成屏蔽了异构数据之间的差异,通过异构数据集成系统统一操作。现有的异构数据集成的体系结构有三种:联邦数据库、中间件结构和数据仓库结构。其中联邦数据库结构和中间件结构需要预处理数据构建虚拟视图,因此属于虚拟视图(Virtualview)方法。数据仓库结构则直接将所有数据集中在一起,形成新的统一的数据源,称为物化的(Materialized)方法。
数据集成中基础的操作之一是模式集成,而大多数基于模式匹配的需求来源于模式集成。模式匹配的任务是利用一些相关信息寻找分布在给定的两个模式中的元素之间的某种映射关系(语义对应关系)。由于模式匹配的复杂性,模式匹配需要使用各种技术来弥补信息的不足,如利用字典、名称相似性、公共模式结构、公共值分布、重用映射结果、约束、常识推理。迄今,各研究团体或组织已提出了许多匹配方法和原型系统。例如Cupid[1],SimilarityFlooding[2],COMA[3],LSD[4],Clio[5]等。
异构数据的集成已经得到广泛的研究,不仅包括关系数据库间的模式匹配[1,2,3,4,5,6,7],还包括非结构化和结构化数据的匹配,例如XML数据间的匹配[8,9,10]和文本与关系数据库间的匹配[11,12,13]等。
XML数据之间的匹配,主要应用在对大量的XML文档进行聚类、对异构数据源进行基于XML的匹配等方面。由于半结构化、可扩展的特殊性质,XML可以灵活表示各种类型数据。其实许多关系数据库模式的匹配算法,其模式也是采用XML作为中间表示。文献[9]采用一种基于模式匹配的方法进行XML模式的聚类。该文的XML模式之间的相似度计算使用了语法匹配器和结构匹配器。文献[10]则提出了一种XML模式匹配工具Hermes,匹配引擎使用了元素和结构匹配器,其采用RDF库保存匹配过程的信息。
而文本与关系数据库间的匹配方面,文献[11]提出的SCORE系统,通过把和用户语境相关的附加文件和查询结果相关联以改善结构化数据检索效果。文献[12]提出的EROCS系统,将数据库视为一系列实体,识别出与给定文档最匹配的实体,其支持文档分段匹配不同实体。文献[13]提出的LIPTUS系统与EROCS解决的问题类似,EROCS是面向一般匹配情景的,LIPTUS则紧密结合实际需求,针对银行领域客户交流情景,通过客户ID或账号ID来建立文本和关系数据库间的关联关系。LIPTUS分析文本信息自动抽取ID标识,然后与客户信息绑定,实现用户行为分析和银行业务规划等需求。
目前,尚无文献研究文本数据与XML文档间的匹配方法。实现非结构化的文本与半结构化的XML数据匹配有两个关键点:文本数据的信息抽取,及抽取出的信息与XML文档的匹配。文本的预处理我们采用命名实体抽取方式,文本数据的实体抽取是自然语言处理的一项重要技术,且应用的范围广泛,例如社交网络事件识别[14]等。目前大多数命名实体抽取研究都基本集中在人名、组织名等几类上。实体抽取技术主要分为两类:基于规则和词典的方法[15]和基于统计的方法[16,17]。单独使用某种方法往往存在不足,因此一般都使用混合方法[18,19]。实体信息与XML数据的匹配近似XML上的关键字检索。对大XML文档的检索,用户只需要最小结果片段,即包含关键字的最低公共祖先(LCA,LowestCommonAncestors)节点。在LCA问题上,基于Dewey编码的求解方法是XML关键字检索的常用方法,如XKSearch[20]。文献[20]针对最小结果片段提出了SLCA(SmallestLowestCommonAncestor)的定义,即对XML树的查询,返回结果应为包含这些关键字的节点集,且节点集中的任两个节点间不存在祖孙关系。文献[21]提出了XML关键字查询中“最紧凑片段”的概念,返回结果与其它文献的SLCA子树不同,其还要求仅包含感兴趣的节点。
参考文献如下:
[1]MadhavanJ,BernsteinPA,RahmE.GenericSchemaMatchingwithCupid.VLDBConference.2001:49-58.
[2]MelnikS,Molina-GarciaH,RahmE.Similarityflooding:Aversatilegraphmatchingalgorithm.ICDEConference.2002.
[3]DoHH,RahmE.COMA:ASystemforFlexibleCombinationofSchemaMatchingApproaches[C].ProceedingsofVLDB,2002,610-621.
[4]DoanAH,DomingosP,LevyA.Learningsourcedescriptionsfordataintegration.Proc.oftheWorkshopontheWebandDatabase.2000.
[5]MillerRJ,HernandezMA,HaasLM,YanL.TheClioProject:ManagingHeterogeneity.SIGMODRecord.2001:30(1).
[6]RahmE,BernsteinPA.ASurveyofApproachestoAutomaticSchemaMatching[J].TheVLDBJournal,2001,10(4):334-350.
[7]DuXiao-kun.ResearchonSchemamatchingAlgorithmofDatabase[D].HuazhongUniversityofScience&Technology,2010.
[8]CaoLan-ying,YanYi,etal.AutomatingXMLdocumenttransformationsbasedonschemamatching[J].ComputerEngineeringandApplications,2012,48(25):72-76.
[9]AlsayedA,EikeS,GunterS.Aschemamatching-basedapproachtoXMLschemaclustering[C].ProceedingsofiiWAS,2008,131-136.
[10]CheciuL,IonescuD.AnewalgorithmformappingXMLSchematoXMLSchema[C].ProceedingsofIEEEICCC-CONTI,2010,625-630.
[11]RoyP,MohaniaM,BambaBandRamanS.Towardsautomaticassociationofrelevantunstructuredcontentwithstructuredqueryresults[C].ProceedingsofACMCIKM,2005,405-412.
[12]ChakaravarthyV,GuptaH,etal.EfficientlyLinkingTextDocumentswithRelevantStructuredInformation[C].ProceedingsofVLDB,2006,667-678.
[13]BhideM,GuptaA,etal.LIPTUS:AssociatingStructuredandUnstructuredInformationinaBankingEnvironment[C].ProceedingsofSIGMOD,2007,915-923.
[14]HansuG,MikeG,LiangZ,etal.AnchorMF:towardseffectiveeventcontextidentification[C].ProceedingsofCIKM,2013,629-638.
[15]LiuXian-min,LiJian-zhong.Key-BasedMethodforExtractingEntitiesfromXMLData[J].JournalofComputerResearchandDevelopment,2014,51(1):64-75.
[16]PengF,McCallumA.Informationextractionfromresearchpapersusingconditionalrandomfields[J].InformationProcessingandManagementJournal,2006,42(4):963-979.
[17]LiuKai,ZhouXue-zhong,etal.NamedEntityExtractionofTraditionalChineseMedicineMedicalRecordsBasedonConditionalRandomField[J].ComputerEngineering,2014,40(9):312-316.
[18]SpeciaL,MottaE.AHybridApproachforExtractingSemanticRelationsfromTexts[C].ProceedingsofOLP,2006,57-64.
[19]JiangRen-hui,WangTing,etal.NamedEntityRecognitionforMicro-blog[J].Computer&DigitalEngineering,2014,42(4):647-651.
[20]XuY,PapakonstantinouY.EfficientkeywordsearchforsmallestLCAsinXMLdatabases[C].ProceedingsofACMSIGMOD,2005,527-538.
[21]KongL,GilleronR,LemayA.RetrievingMeaningfulRelaxedTightestFragmentsforXMLKeywordSearch[C].ProceedingsofACMEDBT,2009,815-826.
发明内容
本发明要解决的问题是现有技术难以有效支持文本数据与XML文档间的匹配以实现数据集成。
为解决上述问题,本发明技术方案的目的在于提出一种利用实体抽取技术,针对文本数据与可扩展标记语言(XML)文档进行匹配以实现数据集成的方法,能够自动化完成文本数据在XML文档中的匹配映射。
本发明技术方案提出的文本数据与XML文档集成的方法是结合实体抽取技术和XML关键字查询的方法,可以记为ECSF算法。
本发明技术方案提供的基于实体的文本数据与XML文档的匹配方法的具体步骤如下:
将文本数据的模式定义为实体及实例集合(即采用实体、实例对集合表示文本数据的模式),将文本数据与XML文档模式匹配的语义定义为在XML文档中检索包含所有实体、实例对集合的最小连通子树,将查询结果定义为基于实体的最近语义片段(ECSF);
将XML文档构造为一棵有序的带标记树,节点采用带类型的Dewey编码(eDewey)标注;
通过基于条件随机场的实体抽取算法提取文本文档的实体及实例信息,结合XML树,找出所有可能组合的基于实体的近似语义片段节点集,然后通过筛选保留最近语义片段候选集;
对所有候选片段进行评分,得分最高的片段定义为最终匹配结果。
可选的,所述文本数据的模式为通过实体抽取过程得到的实例集合K(k1,k2,k3,...,kn)及实体集合C(c1,c2,c3,...,cn),每个实例ki对应一个命名实体ci
可选的,所述文本数据与XML文档模式匹配的语义定义包括:
对实例集合K={k1,k2,k3,…,kn}中的每个实例ki在XML树上都存在一个节点集合Ki,其中的每个节点都直接包含实例ki且表示实体ci的节点为ki的祖先节点;
对每一种可能的节点组合{e1,e2,e3,…,en},其中ei∈Ci,都会有一个相应的基于实体的近似语义片段(表示为ESF)节点v,即v=esf(e1,e2,e3,…,en);
使用esf(K1,K2,K3,…,Kn)来表示所有可能组合的基于实体的近似语义片段节点集;
对esf(K1,K2,K3,…,Kn)集合中的节点v来说,如果集合中没有其它节点u满足v<u,则v是K1,K2,K3,…,Kn的一个ECSF节点,记为v=ecsf(K1,K2,K3,…,Kn),其中v<u表示v是u的祖先,v≮u表示v不是u的祖先;
所有这样的v节点组成集合记为R=ECSF(K1,K2,K3,…,Kn);
令rj表示R中的一个元素,其中1≤j≤|R|,则由rj及其对应的实例集合K|j确定的XML子树的节点集合记为I(rj)。
可选的,基于实体的最近语义片段的筛选包括:
通过对所有I(rj)集合进行评分,拥有最高得分的集合I(rj)即为XML树上与文本数据匹配的片段;当从给定文本数据D抽取出实例集合K及其对应实体集合C后,I是该实例集合K在给定XML文档中匹配的查询片段,需要满足下列条件:
∀ c i ∈ C ( 1 ≤ i ≤ n ) , c i ∈ d e s c e n d e n t ( r i ) ;
∀ leaf i ∈ I ( 1 ≤ i ≤ | I | ) , leaf i ∈ K ;
I=max1≤j≤|R|{score(I(rj),D)}。
可选的,构造节点采用带类型的Dewey编码标注的XML树包括:
对XML树节点的编码在Dewey编码的基础上,添加节点类型标志位,格式为“[类型,Dewey编码]”,形成带节点类型的Dewey编码;若节点A是节点B的祖先,则记为A<B,否则记为A≮B;节点A的前序遍历序号记为pre(A)。
可选的,所述XML树的节点索引构建包括针对XML树构建倒排索引过程,所述构建倒排索引过程包括:
将XML树节点分析成词条标记;
使用hash散列映射所有词条,相同的词条的多个位置采用链表进行链接,并按照编码大小按从小到大排序;
对词条生成倒排列表,倒排列表储存的是XML树节点的带类型的Dewey编码。
可选的,所述的近似语义片段候选集的检索过程如下:
计算所有候选近似语义片段的根节点;针对实例集合(K1,K2,...,Kn),将所含实例数量最少的实例集合放在首位;设置容量为P的缓冲区,首先计算K1的前P节点与实例集合K2的近似语义片段根节点集X2=ecsf(P,K2),然后依次迭代计算与其它各集合的ecsf节点集Xn=ecsf(...ecsf(P,K2)...Kn),Xn中除最后一个节点外的所有结点均为ecsf节点,而在每一轮迭代的最后一个节点是否为ecsf节点也都需要验证;验证方法为检查上一轮最后一个节点与当前第一个节点的祖孙节点关系,如果不存在祖孙节点则均为ecsf节点,相反则保留祖先节点作为ecsf节点;
校验候选近似语义片段对应的子树是否覆盖所有实体和实例对集合信息;从表示实例信息的叶子节点向上遍历到子树根节点,检查实例对应的实体节点是否在这条路径上。
可选的,所述对所有候选片段进行评分包括:
令t表示XML树中满足要求的片段,t’表示t去除实例结点后的子树片段,则该片段与文本文档的实例集K的匹配评分为:
s c o r e ( t , K ) = ( &Pi; 1 &le; i &le; | K | 1 l c i , k i ) &CenterDot; t f ( v c , t &prime; ) ;
其中tf(vc,t’)表示实体集对应的节点在子树t’中出现的频率,lci,ki表示实体ci沿着边到实例ki的距离,ki是ci的第几代子孙节点。
发明内容小结
本发明技术方案提出一种新方法(利用实体抽取技术进行文本数据与XML文档的匹配方法),可以应用于企业异构数据集中管理分析、大数据技术实施前的数据集成等领域,具有下面独特的特性:
1、定义实体及实例对集合来表示文本文档的模式,“基于实体的最近语义片段ECSF”来表示与文本数据匹配的XML片段;
2、扩展了Dewey编码,提出带节点类型的Dewey编码(eDewey),对由XML文档构造成的有序带标记树进行标注;
3、提出高效的XML树节点索引,辅助ECSF算法检索所有基于实体的近似语义片段候选集。提出的两阶段匹配算法有效地解决了文本数据模式与XML树间语义匹配问题;
4、提出充分考虑文本数据实体及实例信息和XML文档结构信息的评分模型,相对于简单的文本相似度比较算法可能更加有效和准确地建立文本文档与XML树中相关片段的映射关系。
与现有技术相比,本发明的技术方案至少具有以下优点:
通过结合实体抽取技术和XML关键字查询,针对文本数据与可扩展标记语言(XML)文档进行数据集成,自动化完成文本数据在XML文档中的匹配映射,能够有效支持文本数据和XML文档等异构数据间的集成,召回率、准确率高,匹配效果好,可应用于企业异构数据集中管理分析、大数据技术实施前的数据集成等领域。
附图说明
图1是本发明技术方案提供的基于实体的文本数据与XML文档的匹配方法的流程示意图;
图2为本发明实施例的XML文档树结构的示意图;
图3为本发明实施例的倒排索引构建过程的示意图;
图4为根据图3构建出来的XML树节点倒排索引结构示意图;
图5为本发明实施例的无人工判别的召回率和准确率的示意图;
图6为本发明实施例的人工判别后的召回率和准确率的示意图;
图7为本发明实施例的抽取的实例数量分布情况的示意图;
图8为本发明实施例的实例数量与匹配结果之间关系的示意图。
具体实施方式
本发明技术方案属于数据集成技术领域,具体为一种利用实体抽取技术,针对文本数据与可扩展标记语言(XML)文档进行匹配以实现数据集成的方法。
如图1所示,本发明技术方案提供的基于实体的文本数据与XML文档的匹配方法包括:
步骤S101,将文本数据的模式定义为实体及实例集合,将文本数据与XML文档模式匹配的语义定义为在XML文档中检索包含所有实体、实例对集合的最小连通子树,将查询结果定义为基于实体的最近语义片段;
步骤S102,将XML文档构造为一棵有序的带标记树,构造成的XML树的节点采用带类型的Dewey编码标注;
步骤S103,通过基于条件随机场的实体抽取算法提取文本数据的实体及实例信息,结合XML树,找出所有可能组合的基于实体的近似语义片段节点集,然后通过筛选保留最近语义片段候选集;
步骤S104,对所有候选的最近语义片段进行评分,以得分最高的最近语义片段作为最终匹配结果。
本发明技术方案中首次提出采用两阶段的算法实现文本数据与XML文档的模式匹配,包括:将文本数据的模式定义为实体及实例集合,将文本数据与XML文档模式匹配的语义定义为在XML文档中检索包含所有实体、实例对集合的最小连通子树,将查询结果定义为基于实体的最近语义片段(ECSF);基于实体的最近语义片段(ECSF)定义为XML树上覆盖所有实体及实例信息的最小连通子树,且实例所对应的实体必须是该实例的祖先节点;模式匹配过程首先使用基于条件随机场的实体抽取算法提取文本文档的实体及实例信息,然后通过ECSF检索算法在XML文档树中查询覆盖所有实体及实例的最近语义片段作为匹配对象。
本发明技术方案能够有效支持文本数据和XML文档等异构数据间的集成,召回率、准确率高,匹配效果好,可应用于企业异构数据集中管理分析、大数据技术实施前的数据集成等领域。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细的说明。
首先对本实施例中涉及的一些概念进行详细说明:
1.定义模式匹配语义和返回结果
异构数据的集成首先要进行模式的匹配,文本数据一般是自然语言,因此首先需要对文本数据进行自然语言处理,形成一定的模式结构。命名实体抽取(NamedEntityExtraction,NEE)是自然语言处理的一项重要技术,它的任务就是通过分析文本并从中抽取出专有名词或有意义的短语。目前大多数命名实体抽取研究主要集中在人名、地名、组织名等几类上,然而有一些研究已经致力于识别一些复杂的命名实体,如书名、歌曲名、电影名等。
因此文本数据与XML文档的匹配转换成实体及实例与XML文档的匹配。XML关键字搜索问题已被广泛深入的研究过了,通常将XML关键字搜索问题归结为最小最低公共祖先(SLCA)的查找,将包含关键字的结点的最小连通树作为对用户有意义的返回结果。本发明实施例的ECSF算法是以它们为基础的,下面首先形式化地定义相关基本概念:
定义1.文本文档的模式,定义为通过实体抽取过程得到的实例集合K(k1,k2,k3,...,kn)及实体集合C(c1,c2,c3,...,cn),每个实例ki对应一个命名实体ci
定义2.文本数据与XML文档模式匹配。对实例集合K={k1,k2,k3,…,kn}中的每个实例ki在XML树上都存在一个节点集合Ki,其中的每个节点都直接包含实例ki且表示实体ci的节点为ki的祖先节点。对每一种可能的节点组合{e1,e2,e3,…,en},其中ei∈Ci,都会有一个相应的基于实体的近似语义片段(表示为ESF)节点v,即v=esf(e1,e2,e3,…,en)。在此使用esf(K1,K2,K3,…,Kn)来表示所有可能组合的基于实体的近似语义片段节点集。对esf(K1,K2,K3,…,Kn)集合中的节点v来说,如果集合中没有其它节点u满足v<u,则v是K1,K2,K3,…,Kn的一个ECSF节点,记为v=ecsf(K1,K2,K3,…,Kn),其中v<u表示v是u的祖先,v≮u表示v不是u的祖先。所有这样的v节点组成集合记为R=ECSF(K1,K2,K3,…,Kn)。令rj表示R中的一个元素,其中1≤j≤|R|,则由rj及其对应的实例集合K|j确定的XML子树的节点集合记为I(rj)。
定义3.基于实体的最近语义片段(ECSF)。通过对定义2中的所有I(rj)集合进行评分,拥有最高得分的集合I(rj)即为XML树上与文本文档匹配的片段。即当从给定文本文档D抽取出实例集合K及其对应实体集合C后,I是该实例集合K在给定XML文档中匹配的查询片段,需要满足下列条件:
( 1 ) . - - - &ForAll; c i &Element; C ( 1 &le; i &le; n ) , c i &Element; d e s c e n d e n t ( r i ) ;
( 2 ) . - - - &ForAll; leaf i &Element; I ( 1 &le; i &le; | I | ) , leaf i &Element; K ;
(3).I=max1≤j≤|R|{score(I(rj),D)}。
2.构造XML文档树
通常,一个XML文档D被建模成有序的带标记树T(V,E)。其中树节点集V包含文档中的所有元素、属性或值,而边即E表示元素之间的包含关系。
Dewey编码是基于XML树状模型的一种前缀编码。其编码的规则为:根节点编码为“0”;非根节点的编码前缀是其父节点的Dewey编码,中间用“.”分割;非根节点的最后一部分编码由该节点在其父节点所有孩子中的顺序确定。通过比较Dewey编码,可以轻松地判断节点出现在XML文档中的相对位置。而本发明技术方案提出的带节点类型的Dewey编码(eDewey),是在Dewey编码的基础上添加了节点类型标识位。
定义4.对XML树节点的编码在Dewey编码的基础上,添加节点类型标志位,格式为“[类型,Dewey编码]”,这种编码称为带节点类型的Dewey编码,简称eDewey。
若节点A是节点B的祖先,则记为A<B,否则记为A≮B。节点A的前序遍历序号记为pre(A)。
如图2给定三个节点[0,0.1]、[0,0.1.0]和[0,0.1.1],则有[0,0.1]<[0,0.1.0],表示节点[0,0.1]是节点[0,0.1.0]的祖先;同理[0,0.1.0]≮[0,0.1.1],表示节点[0,0.1.0]不是节点[0,0.1.1]的祖先。再有pre([0,0.1])<pre([0,0.1.0]),表示节点[0,0.1]的前序遍历序号小于节点[0,0.1.0]的前序遍历序号;同理pre([0,0.1.1])>pre([0,0.1.0]),表示节点[0,0.1.1]的前序遍历序号大于节点[0,0.1.0]的前序遍历序号。
3.检索候选近似语义片段
在XML树上检索满足要求的基于实体的候选近似语义片段,首先需要针对XML文档树构建倒排索引,过程如下所示,具体如图3所示:
(1)将XML树节点分析成词条标记;
(2)使用hash散列映射所有词条,相同的词条的多个位置采用链表进行链接,并按照编码大小按从小到大排序;
(3)对词条生成倒排列表,倒排列表储存的是XML树节点的eDewey编码。
本发明的XML文档树节点倒排索引如图4所示。
基于实体的近似语义片段候选集的具体检索过程如下所示:
(1)计算所有候选近似语义片段的根节点。针对实例集合(K1,K2,...,Kn),将所含实例数量最少的实例集合放在首位。设置容量为P的缓冲区,首先计算K1的前P节点与实例集合K2的近似语义片段根节点集X2=ecsf(P,K2),然后依次迭代计算与其它各集合的ecsf节点集Xn=ecsf(...ecsf(P,K2)...Kn),Xn中除最后一个节点外的所有结点均为ecsf节点,而在每一轮迭代的最后一个节点是否为ecsf节点也都需要验证。验证方法为检查上一轮最后一个节点与当前第一个节点的祖孙节点关系,如果不存在祖孙节点则均为ecsf节点,相反则保留祖先节点作为ecsf节点。
(2)校验候选近似语义片段对应的子树是否覆盖所有实体和实例对集合信息。从表示实例信息的叶子节点向上遍历到子树根节点,检查实例对应的实体节点是否在这条路径上。
4.最近语义片段评分模型
获取基于实体的近似语义片段候选集后,还需要通过定义的评分模型获取评分最高的片段作为匹配结果。
定义5.令t表示XML树中满足要求的片段,t’表示t去除实例结点后的子树片段,则该片段与文本文档的实例集K的匹配评分为:
s c o r e ( t , K ) = ( &Pi; 1 &le; i &le; | K | 1 l c i , k i ) &CenterDot; t f ( v c , t &prime; ) ;
其中:tf(vc,t’)表示实体集对应的节点在子树t’中出现的频率,lci,ki表示实体ci沿着边到实例ki的距离,即ki是ci的第几代子孙节点。
本文定义了与文本匹配的XML片断是满足条件的最小连通子树片段,明显地,小而紧凑的片段所反映的语义越精确。近似程度由子树中目标实例对应的实体所占的比例表示,即无关的节点越少,子树片段越近似目标实体。在评分模型定义中,还考虑了实体与实例关系的紧凑性,实例对应的实体节点离实例节点越近,表明该实体是实例的更具体概念,如“iPad”是一种“平板电脑”,也是一种“数码设备”,相比“数码设备”而言“平板电脑”可以更具象地描述“iPad”实例。因此在XML树中搜索实体与实例最近的片段,则该片段所表达的语义与实例越匹配。
由于只需获得评分相对较大的片段,所以无需按上述公式计算出得分。针对该评分公式进行等价变换,便于程序计算,转换过程如下所示。
score 2 = t f ( v c , t &prime; ) 2 &Pi; 1 &le; i &le; | K | l c i , k i
代入 t f ( v c , t &prime; ) = | v c | | t &prime; | , 结果为:
score 2 = | v c | 2 &Pi; 1 &le; i &le; | K | l c i , k i * | t &prime; | 2
在实际应用中,为了进一步提高精确度,可以设置一个阈值,将与最大评分差值在此阈值以内的子树均返回给用户,然后采用人工判断的方式匹配这些关联关系。
下面详细说明具体实施过程:
系统实现所用的编程环境是Eclipse,Java虚拟机的版本是1.7。在具体实施时,所述基于实体的文本数据与XML文档的匹配方法由一系列步骤组成:
(1)文本文档的实体抽取。采用Stanford的基于条件随机场的算法从文本文档抽取实体信息,实体对应XML树中定义的实体结点。
(2)获取实例在XML树上的位置。通过倒排索引辅助快速定位,在定位实例节点时,需要满足该实例对应的实体节点为其祖先节点的条件。此外实例对应的节点集合按照节点的eDewey编码从小到大排序。
getKeywordNodes伪代码如下所示,输入是XML树T,实体实例信息E,输出是实体实例的位置信息集合Ki
getKeywordNodes
输入:XML树T,实体实例信息E;
输出:实体实例位置信息集合Ki
1For(eachentityeinE)
2eNodes←searchtheentityeonT;
3For(eachkeywordkine)
4kNodes←searchthekeywordkonT;
5For(eachnodeoinkNodes)
6If(haseNodeeoineNodes,eo.eDeweyisprefixofo.eDewey)
7AddointoKi;//同时记录实例对应的实体节点位置信息
(3)获取候选近似语义片段。针对实例集合(K1,K2,...,Kn),将所含实例数量最少的实例集合放在首位。设置容量为P的缓冲区,首先计算K1的前P节点与实例集合K2的近似语义片段根节点集X2=ecsf(P,K2),然后依次迭代计算与其它各集合的ecsf节点集Xn=ecsf(...ecsf(P,K2)...Kn),Xn中除最后一个节点外的所有结点均为ecsf节点,而在每一轮迭代的最后一个节点是否为ecsf节点也都需要验证。验证方法为检查上一轮最后一个节点与当前第一个节点的祖孙节点关系,如果不存在祖孙节点则均为ecsf节点,相反则保留祖先节点作为ecsf节点。
getCandidates伪代码如下所示,输入是XML树T,实例集合列表(K1~Kn),输出是候选近似语义片段集合。
getCandidates
输入:XML树T,实例集合列表(K1~Kn);
输出:候选近似语义片段集合Frags;
1v=null;
2R={};
3while(K1!=NULL){
4loadPnodesofK1intoB
5for(i=2ton)
6B=get_ecsf(B,Ki);
7if(v≠null&&)
8removeFirstNode(B);
9if(v≠null&&)
10R=;
11v=removeLastNode(B);
12R=;
13B={};
14}
15return;
16subroutineget_ecsf(S1,S2){
17R={};
18u=0;
19For(eachnodev){
20x=;
21if(pre(u)≤pre(x))
22if(||u=v)
23R=;
24u=x;
25}
26return
27}
(4)候选近似语义片段评分。通过计算上一步得到的每棵XML候选子树的近似语义评分,将评分相对较高的子树作为匹配对象返回,如果存在几个评分最高的子树则全部返回,让用户进行人工判别。
maxScore伪代码如下所示,输入是符合要求的候选近似语义片段集合Frags,输出是匹配对象集合ECSF。
maxScore
输入:候选近似语义片段集合Frags;
输出:匹配对象集合ECSF;
1max=0;
2result={};
3For(eachfragmentfinFrages)
4kwNodes←getkeywordNodesrootedatf;
5entitynum←getnumberofdifferententities;
6totalnum←thenumberofnon-leafnodesofsubtreewhoserootisf;
7product=1;
8for(eachkeywordkinkwNodes)
9product=product*(k.Dewey.length–f.Dewey.length)
10score=(entitynum*entitynum)/(totalnum*totalnum*product);
11if(score>max)
12max=score;
13result=f;
最后通过实验数据验证本发明技术方案的积极效果:
为了证明本发明的效果,实现了相应的原型系统,进行了一系列实验。系统实现所用的编程环境是Eclipse,Java虚拟机的版本是1.7。实验的运行环境为Corei5CPU3.10MHz,8GB内存,Windows7Enterprisex64操作系统。实验的数据集来自InternetMovieDatabase(IMDB.http://www.imdb.com/,2014.9)的真实电影数据的子集和THEGREATESTFILMS(THEGREATESTFILMS.http://www.filmsite.org/,2014.9)的电影影评。
在召回率及准确率实验中,实验数据分为3组,每组100篇影评,分别对3组影评进行匹配测试,得到结果如图5所示。由实验结果可知,召回率达到了95%以上,且准确率达到93%以上。经过对实验结果的分析,未召回的影评主要由于影评抽取的实例中包含名字缩写(即Ed,Le,Bo,De等),使得获取最高得分的近似语义片段横跨几个电影单元,从而无法与目标电影匹配;错配的影评主要由于XML文档中描述另一电影的片段也覆盖所有抽取的实体,且近似程度相同或更高,即另一电影的演职员与目标影片的演职员相似。对于错配的片段评分与目标片段评分相同的情况,我们采取一轮人工判别的方式进行校正,从而可以获得更好的匹配效果,准确率都有一定的提升,达到了95%以上,测试结果如图6所示。进一步分析,错配的影评通过实体抽取工具抽取的实体数量一般较少,且与实体相关的实例在电影数据库中词频都较高。
在实体数量对准确率影响的实验中,通过对所有测试影评抽取的实例数量进行统计,如图7所示;同时对不同实例数量和匹配结果之间的关系进行了统计,如图8所示。由统计结果可以发现,大部分的测试影评在经过实体抽取后得到的实例数量分布在6到14个之间(为总数的70%)。同时对比图8中可以发现,6个实例是召回的影评是否完全准确的临界值,当抽取的实例数量小于6个时,就会出现错配情况,且随着数量越少,错配概率越大。
通过对未召回的影评进行分析,其中许多影评抽取出的实例集合中包含名称缩写,如“E.”、“L.”、“De”等,这类的缩写词可以通过使用缩略表或别名表来辅助匹配的执行,改善未召回的影评的情况。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (8)

1.一种基于实体的文本数据与XML文档的匹配方法,其特征在于,包括:
将文本数据的模式定义为实体及实例集合,将文本数据与XML文档模式匹配的语义定义为在XML文档中检索包含所有实体、实例对集合的最小连通子树,将查询结果定义为基于实体的最近语义片段;
将XML文档构造为一棵有序的带标记树,构造成的XML树的节点采用带类型的Dewey编码标注;
通过基于条件随机场的实体抽取算法提取文本数据的实体及实例信息,结合XML树,找出所有可能组合的基于实体的近似语义片段节点集,然后通过筛选保留最近语义片段候选集;
对所有候选的最近语义片段进行评分,以得分最高的最近语义片段作为最终匹配结果。
2.根据权利要求1所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,所述文本数据的模式为通过实体抽取过程得到的实例集合K(k1,k2,k3,...,kn)及实体集合C(c1,c2,c3,...,cn),每个实例ki对应一个命名实体ci
3.根据权利要求2所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,所述文本数据与XML文档模式匹配的语义定义包括:
对实例集合K={k1,k2,k3,…,kn}中的每个实例ki在XML树上都存在一个节点集合Ki,其中的每个节点都直接包含实例ki且表示实体ci的节点为ki的祖先节点;
对每一种可能的节点组合{e1,e2,e3,…,en},其中ei∈Ci,都会有一个相应的基于实体的近似语义片段(表示为ESF)节点v,即v=esf(e1,e2,e3,…,en);
使用esf(K1,K2,K3,…,Kn)来表示所有可能组合的基于实体的近似语义片段节点集;
对esf(K1,K2,K3,…,Kn)集合中的节点v来说,如果集合中没有其它节点u满足v<u,则v是K1,K2,K3,…,Kn的一个ECSF节点,记为v=ecsf(K1,K2,K3,…,Kn),其中v<u表示v是u的祖先,v≮u表示v不是u的祖先;
所有这样的v节点组成集合记为R=ECSF(K1,K2,K3,…,Kn);
令rj表示R中的一个元素,其中1≤j≤|R|,则由rj及其对应的实例集合K|j确定的XML子树的节点集合记为I(rj)。
4.根据权利要求3所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,基于实体的最近语义片段的筛选包括:
通过对所有I(rj)集合进行评分,拥有最高得分的集合I(rj)即为XML树上与文本数据匹配的片段;当从给定文本数据D抽取出实例集合K及其对应实体集合C后,I是该实例集合K在给定XML文档中匹配的查询片段,需要满足下列条件:
&ForAll; c i &Element; C ( 1 &le; i &le; n ) , c i &Element; d e s c e n d e n t ( r i ) ;
&ForAll; leaf i &Element; I ( 1 &le; i &le; | I | ) , leaf i &Element; K ;
I=max1≤j≤R{score(I(rj),D)}。
5.根据权利要求1所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,构造节点采用带类型的Dewey编码标注的XML树包括:
对XML树节点的编码在Dewey编码的基础上,添加节点类型标志位,格式为“[类型,Dewey编码]”,形成带节点类型的Dewey编码;若节点A是节点B的祖先,则记为A<B,否则记为A≮B;节点A的前序遍历序号记为pre(A)。
6.根据权利要求1所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,所述XML树的节点索引构建包括针对XML树构建倒排索引过程,所述构建倒排索引过程包括:
将XML树节点分析成词条标记;
使用hash散列映射所有词条,相同的词条的多个位置采用链表进行链接,并按照编码大小按从小到大排序;
对词条生成倒排列表,倒排列表储存的是XML树节点的带类型的Dewey编码。
7.根据权利要求2所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,所述的近似语义片段候选集的检索过程如下:
计算所有候选近似语义片段的根节点;针对实例集合(K1,K2,...,Kn),将所含实例数量最少的实例集合放在首位;设置容量为P的缓冲区,首先计算K1的前P节点与实例集合K2的近似语义片段根节点集X2=ecsf(P,K2),然后依次迭代计算与其它各集合的ecsf节点集Xn=ecsf(...ecsf(P,K2)...Kn),Xn中除最后一个节点外的所有结点均为ecsf节点,而在每一轮迭代的最后一个节点是否为ecsf节点也都需要验证;验证方法为检查上一轮最后一个节点与当前第一个节点的祖孙节点关系,如果不存在祖孙节点则均为ecsf节点,相反则保留祖先节点作为ecsf节点;
校验候选近似语义片段对应的子树是否覆盖所有实体和实例对集合信息;从表示实例信息的叶子节点向上遍历到子树根节点,检查实例对应的实体节点是否在这条路径上。
8.根据权利要求1所述的基于实体的文本数据与XML文档的匹配方法,其特征在于,所述对所有候选片段进行评分包括:
令t表示XML树中满足要求的片段,t’表示t去除实例结点后的子树片段,则该片段与文本文档的实例集K的匹配评分为:
s c o r e ( t , K ) = ( &Pi; 1 &le; i &le; | K | 1 l c i , k i ) &CenterDot; t f ( v c , t &prime; ) ;
其中tf(vc,t’)表示实体集对应的节点在子树t’中出现的频率,lci,ki表示实体ci沿着边到实例ki的距离,ki是ci的第几代子孙节点。
CN201511017999.1A 2015-12-29 2015-12-29 基于实体的文本数据与xml文档的匹配方法 Pending CN105677740A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511017999.1A CN105677740A (zh) 2015-12-29 2015-12-29 基于实体的文本数据与xml文档的匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511017999.1A CN105677740A (zh) 2015-12-29 2015-12-29 基于实体的文本数据与xml文档的匹配方法

Publications (1)

Publication Number Publication Date
CN105677740A true CN105677740A (zh) 2016-06-15

Family

ID=56297916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511017999.1A Pending CN105677740A (zh) 2015-12-29 2015-12-29 基于实体的文本数据与xml文档的匹配方法

Country Status (1)

Country Link
CN (1) CN105677740A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062569A (zh) * 2018-08-08 2018-12-21 中国民用航空飞行学院 虚拟事件模拟条件下多元化驱动引擎构建方法
CN109299472A (zh) * 2018-11-09 2019-02-01 天津开心生活科技有限公司 文本数据处理方法、装置、电子设备及计算机可读介质
CN110245248A (zh) * 2019-05-31 2019-09-17 河南大学 一种遥感影像关键字查询方法
CN112084322A (zh) * 2020-07-30 2020-12-15 中国民用航空上海航空器适航审定中心 基于符合性向量的适航案例推荐方法
CN113656438A (zh) * 2021-08-06 2021-11-16 北京数码大方科技股份有限公司 数据树的数据查询方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325161A (zh) * 2011-07-18 2012-01-18 北京航空航天大学 一种基于查询工作量估算的xml分片方法
US8407245B2 (en) * 2010-11-24 2013-03-26 Microsoft Corporation Efficient string pattern matching for large pattern sets
CN103488639A (zh) * 2012-06-11 2014-01-01 北京大学 一种xml数据的查询方法
CN104166672A (zh) * 2014-06-23 2014-11-26 河海大学 一种xml关键字查询方法
CN105005606A (zh) * 2015-07-03 2015-10-28 华南理工大学 基于MapReduce的XML数据查询方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407245B2 (en) * 2010-11-24 2013-03-26 Microsoft Corporation Efficient string pattern matching for large pattern sets
CN102325161A (zh) * 2011-07-18 2012-01-18 北京航空航天大学 一种基于查询工作量估算的xml分片方法
CN103488639A (zh) * 2012-06-11 2014-01-01 北京大学 一种xml数据的查询方法
CN104166672A (zh) * 2014-06-23 2014-11-26 河海大学 一种xml关键字查询方法
CN105005606A (zh) * 2015-07-03 2015-10-28 华南理工大学 基于MapReduce的XML数据查询方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘木强等: ""基于实体的文本数据与XML文档的匹配技术研究"", 《小型微型计算机系统》 *
胡昊等: ""XML数据上支持查询扩展的关键词检索系统"", 《计算机研究与发展》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062569A (zh) * 2018-08-08 2018-12-21 中国民用航空飞行学院 虚拟事件模拟条件下多元化驱动引擎构建方法
CN109299472A (zh) * 2018-11-09 2019-02-01 天津开心生活科技有限公司 文本数据处理方法、装置、电子设备及计算机可读介质
CN110245248A (zh) * 2019-05-31 2019-09-17 河南大学 一种遥感影像关键字查询方法
CN110245248B (zh) * 2019-05-31 2022-10-21 河南大学 一种遥感影像关键字查询方法
CN112084322A (zh) * 2020-07-30 2020-12-15 中国民用航空上海航空器适航审定中心 基于符合性向量的适航案例推荐方法
CN113656438A (zh) * 2021-08-06 2021-11-16 北京数码大方科技股份有限公司 数据树的数据查询方法及装置
CN113656438B (zh) * 2021-08-06 2023-12-12 北京数码大方科技股份有限公司 数据树的数据查询方法及装置

Similar Documents

Publication Publication Date Title
Kaushik et al. Exploiting local similarity for indexing paths in graph-structured data
US8375029B2 (en) Data processing
Muñoz et al. Using linked data to mine RDF from wikipedia's tables
US20040111388A1 (en) Evaluating relevance of results in a semi-structured data-base system
CN105677740A (zh) 基于实体的文本数据与xml文档的匹配方法
Abdulhayoglu et al. Use of ResearchGate and Google CSE for author name disambiguation
US20210350125A1 (en) System for searching natural language documents
Wei et al. Table extraction for answer retrieval
Alghamdi et al. Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories
Wu et al. SQL-like interpretable interactive video search
Wen et al. KAT: Keywords-to-SPARQL translation over RDF graphs
Nghiem et al. Which one is better: presentation-based or content-based math search?
Li et al. A framework for ontology-based top-k global schema generation
Dweib et al. Schemaless approach of mapping XML document into Relational Database
Tang et al. Ontology-based semantic retrieval for education management systems
Ribeiro et al. Entity Identification in XML Documents.
Hovy Data and knowledge integration for e-government
Marks et al. Optimizing Queries for Web Generated Sensor Data.
Šestáková et al. Tree string path subsequences automaton and its use for indexing xml documents
Thangarasu et al. Extracting knowledge from XML document using tree-based association rules
Viswanathan Text based similarity metrics and delta for semantic web graphs
Marks A node partitioning strategy for optimising the performance of XML queries
Berkovich et al. Improving approximate matching capabilities for meta map transfer applications
Ezeife et al. Scholarship at UWindsor
Achichi et al. Doing Web Data: from Dataset Recommendation to Data Linking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615

RJ01 Rejection of invention patent application after publication