一种文本数据二次结构化的方法及装置制造方法

文档序号:6513531阅读:222来源:国知局
一种文本数据二次结构化的方法及装置制造方法
【专利摘要】本发明公开了一种文本数据二次结构化的方法及装置,用以解决现有技术中二次结构化的效率和准确性较低的问题。该方法XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配,并根据预设的规则,对匹配出的数据所在的节点中的数据进行二次结构化。通过上述方法,可直接根据预设的各正则表达式识别XML数据中需要进行二次结构化的节点,从而无需人工识别,因此可有效提高二次结构化的效率,并且由于无需人工识别需要进行二次结构化的节点,因此可避免引入人为主观错误,从而也可有效提高二次结构化的准确性。
【专利说明】一种文本数据二次结构化的方法及装置

【技术领域】
[0001]本发明涉及数据处理领域,尤其涉及一种文本数据二次结构化的方法及装置。

【背景技术】
[0002]可扩展标记语言(Extensible Markup Language, XML)已经成为世界上发展最快的技术之一,主要用于将文本数据进行结构化,提供文本数据的结构化视图等。在很多应用领域中对文本数据的结构化都有着很高的要求,特别是在出版领域与教育领域,这就需要对已经使用XML进行了简单结构化的文本数据再进行二次结构化。
[0003]现有技术中,对文本数据进行二次结构化的方法为,人工识别XML数据中的每个节点是否需要进行二次结构化,对于需要进行二次结构化的节点,采用预先编写的程序对该节点中的数据进行二次结构化。
[0004]现有技术中的二次结构化方法会使程序员的工作量非常大,导致二次结构化的效率较低,并且由于人工识别的方式识别XML数据中的每个节点是否需要进行二次结构化,因此在二次结构化的过程中可能会因人为主观错误而降低二次结构化的准确性。


【发明内容】

[0005]有鉴于此,本发明实施例提供一种文本数据二次结构化的方法及装置,用以解决现有技术中二次结构化的效率和准确性较低的问题。
[0006]本发明实施例提供的一种文本数据二次结构化的方法,包括:
[0007]可扩展标记语言XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配;并
[0008]将匹配出的数据所在的节点确定为待处理节点,所述待处理节点为需要进行二次结构化的节点;以及
[0009]根据预设的规则对所述待处理节点中的数据进行二次结构化。
[0010]本发明实施例提供的一种文本数据二次结构化的装置,包括:
[0011]匹配模块,用于采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配;
[0012]确定模块,用于将匹配出的数据所在的节点确定为待处理节点,所述待处理节点为需要进行二次结构化的节点;
[0013]结构化模块,用于根据预设的规则对所述待处理节点中的数据进行二次结构化。
[0014]本发明实施例提供一种文本数据二次结构化的方法及装置,该方法XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配,并根据预设的规则,对匹配出的数据所在的节点中的数据进行二次结构化。通过上述方法,可直接根据预设的各正则表达式识别XML数据中需要进行二次结构化的节点,从而无需人工识别,因此可有效提高二次结构化的效率,并且由于无需人工识别需要进行二次结构化的节点,因此可避免引入人为主观错误,从而也可有效提高二次结构化的准确性。

【专利附图】

【附图说明】
[0015]图1为本发明实施例提供的文本数据二次结构化的过程;
[0016]图2为本发明实施例提供的文本数据的二次结构化装置结构示意图。

【具体实施方式】
[0017]本发明实施例提供一种文本数据二次结构化的方法及装置,该方法XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配,并根据预设的规则,对匹配出的数据所在的节点中的数据进行二次结构化。通过上述方法,可直接根据预设的各正则表达式识别XML数据中需要进行二次结构化的节点,从而无需人工识别,因此可有效提高二次结构化的效率,并且由于无需人工识别需要进行二次结构化的节点,因此可避免引入人为主观错误,从而也可有效提高二次结构化的准确性。
[0018]下面结合说明书附图,对本发明实施例进行详细描述。
[0019]图1为本发明实施例提供的文本数据二次结构化的过程,具体包括以下步骤:
[0020]S101:XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配。
[0021]在本发明实施例中,可预先根据要进行二次结构化的数据的关键字符预设各正则表达式,正则表达式用于匹配XML数据中的关键字符。由于XML数据是以XML文档对象模型(Document Object Model, DOM)树的形式组织的,XML DOM树中的每个节点都包含了一部分XML数据,因此,在使用XML解析器解析XML数据时,可采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配。
[0022]进一步的,考虑到XML数据中的编码可能并不统一,因此为了提高后续二次结构化的准确性,本发明实施例中XML解析器在采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配之前,还可将该XML数据中的编码转换为预设格式的编码。其中,该预设格式的编码包括但不限于统一码(Unicode)。
[0023]S102:将匹配出的数据所在的节点确定为待处理节点。
[0024]其中,该待处理节点即为需要进行二次结构化的节点。
[0025]由于正则表达式是预先根据需要进行二次结构化的数据的关键字符预设的,因此,如果通过上述正则表达式匹配到某个节点中的数据,则说明该节点需要进行二次结构化,将该节点作为待处理节点进行后续的二次结构化处理。
[0026]S103:根据预设的规则对该待处理节点中的数据进行二次结构化。
[0027]在本发明实施例中,可预先针对预设的每个正则表达式,预设与该正则表达式相对应的拆分规则,则步骤S103中对待处理节点中的数据进行二次结构化的方法可以为:根据匹配出该待处理节点中数据的正则表达式,以及预设的与匹配出该待处理节点中数据的正则表达式相对应的拆分规则,对该待处理节点中的数据进行拆分,得到各子数据,根据得到的子数据的数量,创建相应数量(该相应数量与得到的子数据的数量相同)的节点,以在创建的一个节点中添加一个子数据的方式,将拆分得到的各子数据添加到创建的各节点中。
[0028]进一步的,在创建相应数量的节点时,可在该待处理节点下,创建相应数量的、以该待处理节点为父节点的节点。也即,创建的节点是该待处理节点的子节点。
[0029]另外,在将得到的各子数据添加到创建的各节点中后,还要将该待处理节点中的数据删除。
[0030]例如,假设X见数据如下:
[0031]〈彻七〉
[0032]〈1:6^1:?1、这是解析11。2、这是解析12。3、这是解析13。〈/七一叉七〉
[0033]〈1:6^1:?八、这是选项3。8、这是选项13。0、这是选项0。〈八6叉七?
[0034]〈八00七?
[0035]在上述XI[数据中,1-001:是一个节点,1-001:下有两个子节点1:6x1:,第一个子节点1^6x1:中的数据为“1、这是解析11。2、这是解析12。3、这是解析13。”,第二个子节点1^6x1:中的数据为“八、这是选项3。8、这是选项匕 ?:、这是选项0。”。
[0036]如果要对上述数据“1、这是解析11。2、这是解析12。3、这是解析13。”和“八、这是选项3。8、这是选项匕匕这是选项匕”进行二次结构化,则可预先设定两个正则表达式,第一个正则表达式的关键字符为“解析”,第二个正则表达式的关键字符为“选项当然,上述关键字符实际上是转换为此1⑶如之后的编码),针对这两个正则表达式预设的拆分规则可以是:将关键字符所在的句子拆分出来,作为一个子数据。
[0037]从而,采用如图1所示的方法对上述乂祖^数据进行二次结构化时,在步骤3101和8102中,通过第一个正则表达式可确定上述X祖^数据中的第一个七6x1节点为待处理节点,通过第二个正则表达式可确定上述X祖^数据中的第二个仏#节点为待处理节点。
[0038]在步骤3103中,针对第一个仏#节点,则可将每个包含关键字符“解析”的句子拆分为一个子数据,共得到3个子数据:“ 1、这是解析11。”、“ 2、这是解析12。”、“ 3、这是解析13。”。从而,在第一个〖6x1:节点下创建3个节点,即创建3个以第一个〖6x1:节点为父节点的子节点,将创建的这3个节点记为110(16,则将得到的3个子数据分别添加到3个节点110(16中,并将第一个〖6X1:节点中的数据删除。
[0039]类似的,针对第二个节点,可将每个包含关键字符“选项”的句子拆分为一个子数据,共得到3个子数据:“八、这是选项^”、“^、这是选项匕”^‘匕这是选项。。”。从而,在第二个〖6X1:节点下创建3个节点,即创建3个以第二个〖6X1:节点为父节点的子节点,将创建的这3个节点记为如如,则将得到的3个子数据分别添加到3个节点如如中,并将第二个丨以丨节点中的数据删除。
[0040]经上述二次结构化处理后,XII数据就变成了:
[0041]〈1*00 七〉
[0042]“6x0
[0043]〈仙如〉这是解析11。〈/仙如〉
[0044]〈仙如〉这是解析12。〈/仙如〉
[0045]〈仙如〉这是解析13。〈/仙如〉
[0046]〈八 6x1〉
[0047]“6x0
[0048]〈仙如〉这是选项3。〈/仙如〉
[0049]〈仙如〉这是选项6。〈/仙如〉
[0050]〈如如〉这是选项0。^/110(16)
[0051]〈八6叉七?
[0052]〈八00七?
[0053]可见,通过上述方法,X祖^解析器可直接根据预设的各正则表达式识别X祖^数据中需要进行二次结构化的节点,无需人工识别,因此可有效提高二次结构化的效率,并且由于无需人工识别需要进行二次结构化的节点,因此可避免引入人为主观错误,从而也可有效提高二次结构化的准确性。
[0054]以上为本发明实施例提供的文本数据的二次结构化方法,基于同样的发明思路,本发明实施例还提供一种文本数据的二次结构化装置,如图2所示。
[0055]图2为本发明实施例提供的文本数据的二次结构化装置结构示意图,具体包括:
[0056]匹配模块201,用于采用预设的各正则表达式对XII数据中每个节点中的数据进行匹配;
[0057]确定模块202,用于将匹配出的数据所在的节点确定为待处理节点,所述待处理节点为需要进行二次结构化的节点;
[0058]结构化模块203,用于根据预设的规则对所述待处理节点中的数据进行二次结构化。
[0059]所述装置还包括:
[0060]转换模块204,用于在所述匹配模块201采用预设的各正则表达式对X祖^数据中每个节点中的数据进行匹配之前,将所述XII数据的编码转换为预设格式的编码,所述预设格式的编码包括统一码此丨⑶如。
[0061〕 所述结构化模块203具体包括:
[0062]拆分单元2031,用于根据匹配出所述待处理节点中数据的正则表达式,以及预设的与匹配出所述待处理节点中数据的正则表达式相对应的拆分规则,对所述待处理节点中的数据进行拆分,得到各子数据;
[0063]创建单元2032,用于根据得到的子数据的数量,创建相应数量的节点;
[0064]添加单元2033,用于以在创建的一个节点中添加一个子数据的方式,将拆分得到的各子数据添加到创建的各节点中。
[0065]所述创建单元2032具体用于,在所述待处理节点下,仓II建相应数量的、以所述待处理节点为父节点的节点。
[0066]所述结构化模块203还包括:
[0067]删除单元2034,用于删除所述待处理节点中的数据。
[0068]具体的上述文本数据二次结构化的装置可以位于XIII解析器中。
[0069]本发明实施例提供一种文本数据二次结构化的方法及装置,该方法XII解析器采用预设的各正则表达式对XII数据中每个节点中的数据进行匹配,并根据预设的规则,对匹配出的数据所在的节点中的数据进行二次结构化。通过上述方法,可直接根据预设的各正则表达式识别XII数据中需要进行二次结构化的节点,从而无需人工识别,因此可有效提高二次结构化的效率,并且由于无需人工识别需要进行二次结构化的节点,因此可避免引入人为主观错误,从而也可有效提高二次结构化的准确性。
[0070]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0071]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0072]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0073]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0074]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0075]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0076]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0077]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0078]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种文本数据二次结构化的方法,其特征在于,包括: 可扩展标记语言XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配;并 将匹配出的数据所在的节点确定为待处理节点,所述待处理节点为需要进行二次结构化的节点;以及 根据预设的规则对所述待处理节点中的数据进行二次结构化。
2.如权利要求1所述的方法,其特征在于,XML解析器采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配之前,所述方法还包括: 将所述XML数据的编码转换为预设格式的编码,所述预设格式的编码包括统一码Unicode。
3.如权利要求1所述的方法,其特征在于,根据预设的规则对所述待处理节点中的数据进行二次结构化,具体包括: 根据匹配出所述待处理节点中数据的正则表达式,以及预设的与匹配出所述待处理节点中数据的正则表达式相对应的拆分规则,对所述待处理节点中的数据进行拆分,得到各子数据; 根据得到的子数据的数量,创建相应数量的节点; 以在创建的一个节点中添加一个子数据的方式,将拆分得到的各子数据添加到创建的各节点中。
4.如权利要求3所述的方法,其特征在于,创建相应数量的节点,具体包括: 在所述待处理节点下,创建相应数量的、以所述待处理节点为父节点的节点。
5.如权利要求3所述的方法,其特征在于,所述方法还包括: 删除所述待处理节点中的数据。
6.一种文本数据二次结构化的装置,其特征在于,包括: 匹配模块,用于采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配; 确定模块,用于将匹配出的数据所在的节点确定为待处理节点,所述待处理节点为需要进行二次结构化的节点; 结构化模块,用于根据预设的规则对所述待处理节点中的数据进行二次结构化。
7.如权利要求6所述的装置,其特征在于,所述装置还包括: 转换模块,用于在所述匹配模块采用预设的各正则表达式对XML数据中每个节点中的数据进行匹配之前,将所述XML数据的编码转换为预设格式的编码,所述预设格式的编码包括统一码Unicode。
8.如权利要求6所述的装置,其特征在于,所述结构化模块具体包括: 拆分单元,用于根据匹配出所述待处理节点中数据的正则表达式,以及预设的与匹配出所述待处理节点中数据的正则表达式相对应的拆分规则,对所述待处理节点中的数据进行拆分,得到各子数据; 创建单元,用于根据得到的子数据的数量,创建相应数量的节点; 添加单元,用于以在创建的一个节点中添加一个子数据的方式,将拆分得到的各子数据添加到创建的各节点中。
9.如权利要求8所述的装置,其特征在于,所述创建单元具体用于,在所述待处理节点下,创建相应数量的、以所述待处理节点为父节点的节点。
10.如权利要求8所述的装置,其特征在于,所述结构化模块还包括: 删除单元,用于删除所述待处理节点中的数据。
【文档编号】G06F17/30GK104462157SQ201310449600
【公开日】2015年3月25日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】朱学武, 吴显丽 申请人:北大方正集团有限公司, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1