CN110955714A - 一种将非结构化文本转化为结构化文本的方法及装置 - Google Patents
一种将非结构化文本转化为结构化文本的方法及装置 Download PDFInfo
- Publication number
- CN110955714A CN110955714A CN201911218187.1A CN201911218187A CN110955714A CN 110955714 A CN110955714 A CN 110955714A CN 201911218187 A CN201911218187 A CN 201911218187A CN 110955714 A CN110955714 A CN 110955714A
- Authority
- CN
- China
- Prior art keywords
- label
- text
- chain
- unstructured
- structured text
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施方式公开了一种将非结构化文本转化为结构化文本的方法及装置。所述方法包括:获取非结构化文本;所述非结构化文本包含不同层级的标签;根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系;根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成;根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据;根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。本说明书实施例提供的方法可以适用于不同的非结构化文本,提高了复用性。
Description
技术领域
本申请涉及数据处理领域,特别涉及一种将非结构化文本转化为结构化文本的方法及装置。
背景技术
在使用关系型数据库的开发项目中,往往涉及到铺底数据或者码表的导入,需要将非结构化数据,比如XML、JSON格式的文件转换成结构化数据,以便导入到关系型数据库中。
目前,通常的做法是写一个转换程序进行转换,但是该转换程序需要先获取非结构化文本的结构才能对该非结构化数据进行转换,因此,需要将该非结构化文本的标签名以及标签和结构化文本的关联关系硬编码到转换程序的代码中,这就使得转换程序和非结构化文本的结构具有强耦合性,当非结构化文本不同时,就需要重写或者修改转换程序,导致灵活性和可复用性较差。因此,如何提供一种将非结构化文本转化为结构化文本的方法,以适用于不同的非结构化文本,成为一个亟待解决的问题。
发明内容
本申请实施例的目的是提供一种将非结构化文本转化为结构化文本的方法及装置,以适用于不同的非结构化文本,从而提高非结构化文本转化为结构化文本的可复用性。
为达到上述目的,本申请实施例提供一种将非结构化文本转化为结构化文本的方法,包括:
获取非结构化文本;所述非结构化文本包含不同层级的标签;
根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系;
根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成;
根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据;
根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。
在一个实施例中,所述配置文件通过以下方式创建:
从所述非结构化文本中依次提取互不相同的标签;
从所述互不相同的标签中选取指定标签,并在所述指定标签中添加所述结构化文本的文本标识。
在一个实施例中,所述根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本,包括:
解析所述配置文件;
将解析出的所述结构化文本的文本标识,以及与所述结构化文本关联的标签链对应进行存储,得到第一记录;
根据所述第一记录,确定与所述指定标签所在的标签链相关联的结构化文本。
在一个实施例中,所述根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据,包括:
解析所述非结构化文本,并对解析出的标签链进行编号;将所述标签链以及所述标签链的出现频次对应进行存储,得到第二记录;将所述标签链、所述标签链的编号,以及与所述标签链对应的数据对应进行存储,得到第三记录;
根据所述第二记录及第三记录,确定所述标签链的出现频次以及所述标签链对应的数据。
在一个实施例中,所述根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本,包括:
根据所述标签链的出现频次,确定与所述结构化文本相关联的各个标签链中,标签链的出现频次的最大值;
将所述标签链的出现频次的最大值作为所述结构化文本的行数,并根据所述标签链的编号以及与所述结构化文本相关联的标签链的顺序,依次将所述标签链对应的数据写入所述结构化文本。
在一个实施例中,所述方法还包括:
在缺少指定编号的标签链,或缺少所述指定编号的标签链对应的数据的情况下,将所述指定编号的标签链对应的数据设置为空,并写入所述结构化文本。
在一个实施例中,所述结构化文本中的每个字段为固定长度;或每个字段为非固定长度,每个字段之间用分隔符进行划分。
本申请实施例还提供一种将非结构化文本转化为结构化文本的装置,包括:
非结构化文本获取模块,用于获取非结构化文本;非结构化文本包含不同层级的标签;
配置文件创建模块,用于根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系;
配置文件解析模块,用于根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成;
非结构化文本解析模块,用于根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据;
数据写入模块,用于根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述将非结构化文本转化为结构化文本的方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述将非结构化文本转化为结构化文本的方法的步骤。
由以上本说明书实施例提供的技术方案可见,本说明书实施例提供的方法,通过预先根据不同的非结构化文本创建配置文件,并对配置文件和非结构化文本进行解析,确定与结构化文本相关联的标签链以及标签链对应的数据,即可将所述标签链对应的数据写入相关联的结构化文本。本说明书实施例提供的方法,不会在转换程序中出现标签名,也不会出现结构化文件和标签的关联关系,对于不同的非结构化数据,只需要通过配置文件进行配置,从而实现了将转换程序与非结构化数据的结构进行解耦,提高了非结构化文本转化为结构化文本的可复用性,能够适用于不同的非结构化文本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种将非结构化文本转化为结构化文本方法的流程图;
图2是本说明书实施例提供的一个具体的将非结构化文本转化为结构化文本的示意图;
图3是本申请实施例提供的一种将非结构化文本转化为结构化文本装置的模块结构图;
图4是本申请实施例提供的计算机设备的示意图。
具体实施方式
本申请实施例提供一种将非结构化文本转化为结构化文本的方法及装置。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
参考图1所示,本说明书一实施方式提供了一种将非结构化文本转化为结构化文本的方法,可以包括如下步骤:
S101:获取非结构化文本;所述非结构化文本包含不同层级的标签。
S102:根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系。
S103:根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成。
S104:根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据。
S105:根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。
在上述实施方式中,获取非结构化文本后,先创建配置文件,然后解析该配置文件,确定与标签链相关联的结构化文本,再通过解析非结构化文本,确定各个标签链出现的频次以及各个标签链所对应的数据,从而将标签链对应的数据写入相关联的结构化文本。该方案与非结构化文本的结构低耦合,对不同的非结构化文本进行转化时,只需要建立该非结构化文本的配置文件即可,提高了非结构化文本转化为结构化文本的可复用性,能够适用于不同的非结构化文本。
对于S101步骤,在上述实施方式中,非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,并且无法用数据库二维逻辑表来表现的数据,包括XML、JSON等格式的文本。在这些非结构化文本中,通常包括不同层级的标签,这些标签嵌套在一起,其中,最低层级的标签通常具有对应的数据。
对于S102步骤,在上述实施方式中,在得到待转化的非结构化文本后,需要创建配置文件,以建立将要写入的结构化文本与标签之间的映射关系。具体的,配置文件可以通过以下方法建立:
首先,需要提取非结构化文本中的各个标签,并且为了体现各个标签在非结构化文本中出现的顺序,以便后续对该配置文件进行解析时,确定标签链以及向结构化文本写入数据时,按照各个数据在非结构化文本中的顺序写入,使得在提取标签时,要按照各个标签在非结构化文本中出现的次序,依次提取各个标签,此外,由于非结构化文本中的部分标签可能会循环多次,在创建配置文件时,只需提取出互不相同的标签即可。在提取出标签后,再选取一个或多个预设标签,并在预设标签中添加所述结构化文本的文本标识。文本标识可以包括文本名称或文本编号等标识。
例如,一个非结构化文本如下:
根据该非结构化文本,创建的配置文件如下:
在上面的配置文件中可以看出,通过在<FC>以及<AP>标签中添加结构化文本的文本名“HEADFILE”,表明需要将<FC>以及<AP>标签下面的子标签的数据写入到结构化文本“HEADFILE”中,具体可参见图2。
对于S103步骤,在上述实施方式中,在对配置文件进行解析后,可以将解析出的所述结构化文本的文本标识,以及与所述结构化文本关联的标签链对应进行存储,得到第一记录;根据第一记录,确定与所述不同层级的标签构成的标签链相关联的结构化文本。标签链中的各个标签,按照标签的层级由高到低依次排列。
在本说明书的一些优选实施方式中,第一记录可以利用Hashmap进行存储,Hashmap由key和value组成,key是键值,value是这个键值对应的值,具体的,key值可以为结构化文本的文本名,value键为该结构化文本关联的标签链。
例如,解析上面得到的配置文件,得到的Hashmap为:
HEADFILE:RM-FC-FC01,RM-FC-FC02,RM-AP-AP01,RM-AP-AP02,RM-AP-AP03,RM-AP-AP04。
对于S104步骤,在上述实施方式中,由于非结构化文本中的部分标签可能会循环多次,使得包含该标签的标签链出现多次,写入结构化文本时就为多行记录,但是有些非结构化文本存在不规范的情况,例如,在标签没有对应的数据时,该标签就不出现在非结构化文本中,造成标签的缺失,因此,需要知道与该结构化文本相关联的标签链中,各个标签链的出现频次。具体包括如下步骤:
首先,解析非结构化文本,并为解析出的标签链建立编号;其中,对解析出的不同标签链可以均从1开始建立编号;并对解析出的相同标签链,按照在所述非结构化文本中出现的次序,编号的值从1开始依次增加;将所述标签链以及所述标签链的出现频次对应进行存储,得到第二记录;将所述标签链、所述标签链的编号,以及与所述标签链对应的数据对应进行存储,得到第三记录;根据所述第二记录及第三记录,确定所述标签链的出现频次以及标签链对应的数据。
在本说明书的一些优选实施方式中,第二记录和第三记录可以采用Hashmap进行存储,在第二记录中key值为标签链,value键为该标签链的出现频次;在第三记录中key值为标签链和对应的编号,value键为该标签链对应的数据。
对于S105步骤,在上述实施方式中,根据上面得到的第一记录、第二记录和第三记录后,即可生成结构化文本。具体的,先根据第一记录,确定与结构化文本相关联的标签链,再从第二记录中,确定与结构化文本相关联的各个标签链中,标签链的出现频次的最大值,可以记为M,随后从第三记录中,获取与结构化文本相关联且编号为1的标签链对应的数据;按照与所述结构化文本相关联的标签链的顺序,依次将所述标签链对应的数据写入所述结构化文本,在将所有编号为1的标签链对应的数据写入结构化文本后,可以在结构化文本的下一行,继续将所有编号为2的标签链对应的数据按照上面的步骤写入结构化文本,直至将所有编号为M的标签链对应的数据按照上面的步骤写入结构化文本,也就是说,标签链的出现频次的最大值可以和结构化文本的行数一致。
在一些实施方式中,如果与结构化文本相关联的标签链不含对应的数据,或者某个编号的标签链缺失,则用空格或空来填充缺少的数据,最终得到的结构化文本中的每个字段为固定长度;或每个字段为非固定长度,每个字段之间用分隔符进行划分。
下面介绍本说明书一示例性实施方式。一段XML文本如下所示:
根据上面的XML文本,依次提取出互不相同的标签,并在标签<message>上添加结构化文本的文本名“MSGHEAD”、在标签<result>上添加结构化文本的文本名“CUSTINFO”、在标签<badinfos>上添加结构化文本的文本名“RESULTINFO”,得到配置文件如下:
对上面得到的配置文件进行解析,得到第一记录,并以Hashmap进行存储,Hashmap由key和value组成,key是键值,value是这个键值对应的值,具体的,key值为结构化文本的文本名,value键为该结构化文本关联的标签链,其中,标签链按照在XML文本中出现的次序进行排列。具体的,解析得到的第一记录如下:
MSGHEAD:data--messag--msgid,data--message--status,data--message--value
CUSTINFO:data--results--result--idcode,data--results--result--name,
data--results--result--mobile,data--results--result--email
RESULTINFO:data--results--result--badinfos--badinfo--match,
data--results--result--badinfos--badinfo--reason,
data--results--result--badinfos--badinfo--reason_description,
data--results--result--badinfos--badinfo--create_date_type,
data--results--result--badinfos--badinfo--amount_type,
data--results--result--badinfos--badinfo--over_due_type,
data--results--result--badinfos--badinfo--legal_status
上面得到的Hashmap中,与key值“MSGHEAD”对应的value值为“data—messag--msgid,data--message—status,data--message--value”;与key值“CUSTINFO”对应的value值为“data--results--result—idcode,data--results--result—name,data--results--result—mobile,data--results--result--email”;与key值“RESULTINFO”对应的value值同理可得。
此外,还需要对XML文本进行解析,得到第二记录和第三记录,并同样采用Hashmap进行存储,得到的第二记录如下:
data--message--status:1
data--results--result--badinfos--badinfo--reason:3
data--results--result--badinfos--badinfo--amount_type:3
data--message--value:1
data--results--result--badinfos--badinfo--over_due_type:3
data--results--result--email:1
data--results--result--badinfos--badinfo--create_date_type:3
data--results--result--badinfos--badinfo--legal_status:4
data--results--result--badinfos--badinfo--match:4
data--results--result--badinfos--badinfo--reason_description:3
data--results--result--name:1
data--results--result--idcode:1
data--results--result--mobile:1
data--message--msgid:1
可以看出,第二记录中存储有各个标签链及对应的出现频次,例如,标签链“data--results--result--badinfos--badinfo--reason”的出现频次为3。
对XML文本进行解析得到的第三记录如下:
data--results--result--badinfos--badinfo--create_date_type--3:toonew
data--message--value--1:处理成功
data--results--result--idcode--1:32XX0219X10XX5916
data--results--result--badinfos--badinfo--create_date_type--2:new
data--results--result--badinfos--badinfo--over_due_type--2:未知
data--results--result--badinfos--badinfo--over_due_type--3:超期
data--results--result--email--1:[email protected]
data--results--result--badinfos--badinfo--over_due_type--1:未知
data--results--result--badinfos--badinfo--amount_type--1:未知
data--message--status--1:0
data--results--result--badinfos--badinfo--amount_type--2:大于等于10000元
data--results--result--badinfos--badinfo--amount_type--3:经济罚款1万元
data--results--result--badinfos--badinfo--match--3:["national_id3"]
data--results--result--badinfos--badinfo--match--4:["national_id4"]
data--results--result--badinfos--badinfo--match--1:["national_id1"]
data--results--result--badinfos--badinfo--match--2:["national_id2"]
data--results--result--badinfos--badinfo--reason--1:0
data--message--msgid--1:2019062412345678
data--results--result--badinfos--badinfo--reason--3:1
data--results--result--badinfos--badinfo--reason--2:1
data--results--result--badinfos--badinfo--legal_status--4:复核
data--results--result--badinfos--badinfo--legal_status--2:已结案
data--results--result--badinfos--badinfo--legal_status--3:未结案
data--results--result--badinfos--badinfo--legal_status--1:无
data--results--result--badinfos--badinfo--create_date_type--1:old
data--results--result--badinfos--badinfo--reason_description--3:司法原因
data--results--result--name--1:张三
data--results--result--badinfos--badinfo--reason_description--1:借款违约
data--results--result--mobile--1:15912890989
data--results--result--badinfos--badinfo--reason_description--2:法律原因
根据上面的第一记录、第二记录和第三记录,将XML文本写入了三个结构化文本。具体的,由于与结构化文本“MSGHEAD”相关联的标签链为:data--messag--msgid,data--message--status,data--message--value,且由第二记录可知,这三个标签链的出现频次都为1,因此,按照该标签链的顺序,从第三记录中获取这三个标签链对应的数据,并写入结构化文本“MSGHEAD”中。
再者,由于与结构化文本“RESULTINFO”相关联的标签链中,标签链的出现频次的最大值为4,例如,data--results--result--badinfos--badinfo--legal_status,因此,该结构化文本中会写入4行文本,并且从编号为1的标签链开始,依次写入结构化文本中,直至将编号为4的标签链对应的数据全部写入结构化文本中。但是,由第二记录中可以看出,标签链存在缺失的情况,例如,data--results--result--badinfos--badinfo--reason仅仅出现三次,通过第三记录可知,该标签链在第四次循环时缺失,即该标签链不存在编号为4的数据,因此,需要将该标签链的数据设置为空或空格,并写入结构化文本中。
下面为按照上述步骤,写入结构化文本后的形式,每个字段之间用分隔符进行划分。
文本名为“MSGHEAD”的文本内容为:
2019062412345678|0|处理成功|
文本名为“CUSTINFO”的文本内容为:
32XX0219X10XX5916|张三|15912890989|[email protected]|
文本名为“RESULTINFO”的文本内容为:
["national_id1"]|0|借款违约|old|未知|未知|无|
["national_id2"]|1|法律原因|new|大于等于10000元|未知|已结案|
["national_id3"]|1|司法原因|toonew|经济罚款1万元|超期|未结案|
["national_id4"]| | | | | |复核|
在本说明书提供的一些实施例中,对不同的非结构化文本进行转化时,只需要建立该非结构化的配置文件即可,提高了非结构化文本转化为结构化文本的可复用性,能够适用于不同的非结构化文本。
在本说明书提供的一些实施例中,在非结构化文本含有循环多次的标签,以及存在部分标签缺失的情况下,仍能将非结构化文本转化为结构化文本。
参考图3所示,本说明书实施例还提供一种将非结构化文本转化为结构化文本的装置,该装置具体可以包括以下的结构模块。
非结构化文本获取模块10,用于获取非结构化文本;非结构化文本包含不同层级的标签;
配置文件创建模块20,用于根据所述非结构化文本,创建配置文件,以在预设标签中添加结构化文本的文本标识;
配置文件解析模块30,用于根据所述配置文件,确定与所述不同层级的标签构成的标签链关联的结构化文本;
非结构化文本解析模块40,用于根据所述非结构化文本,确定所述标签链的出现频次,以及所述标签链对应的数据;
数据写入模块50,用于根据所述标签链的出现频次,将所述标签链对应的数据,写入关联的结构化文本。
参考图4所示,本说明书实施例还提供了一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述将非结构化文本转化为结构化文本方法的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述将非结构化文本转化为结构化文本方法的步骤。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (10)
1.一种将非结构化文本转化为结构化文本的方法,其特征在于,包括:
获取非结构化文本;所述非结构化文本包含不同层级的标签;
根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系;
根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成;
根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据;
根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。
2.根据权利要求1所述的方法,其特征在于,所述配置文件通过以下方式创建:
从所述非结构化文本中依次提取互不相同的标签;
从所述互不相同的标签中选取指定标签,并在所述指定标签中添加所述结构化文本的文本标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本,包括:
解析所述配置文件;
将解析出的所述结构化文本的文本标识,以及与所述结构化文本关联的标签链对应进行存储,得到第一记录;
根据所述第一记录,确定与所述指定标签所在的标签链相关联的结构化文本。
4.根据权利要求1所述的方法,其特征在于,所述根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据,包括:
解析所述非结构化文本,并对解析出的标签链进行编号;将所述标签链以及所述标签链的出现频次对应进行存储,得到第二记录;将所述标签链、所述标签链的编号,以及与所述标签链对应的数据对应进行存储,得到第三记录;
根据所述第二记录及第三记录,确定所述标签链的出现频次以及所述标签链对应的数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本,包括:
根据所述标签链的出现频次,确定与所述结构化文本相关联的各个标签链中,标签链的出现频次的最大值;
将所述标签链的出现频次的最大值作为所述结构化文本的行数,并根据所述标签链的编号以及与所述结构化文本相关联的标签链的顺序,依次将所述标签链对应的数据写入所述结构化文本。
6.根据权利要求5所述的方法,其特征在于,还包括:
在缺少指定编号的标签链,或缺少所述指定编号的标签链对应的数据的情况下,将所述指定编号的标签链对应的数据设置为空,并写入所述结构化文本。
7.根据权利要求5所述的方法,其特征在于,所述结构化文本中的每个字段为固定长度;或每个字段为非固定长度,每个字段之间用分隔符进行划分。
8.一种将非结构化文本转化为结构化文本的装置,其特征在于,包括:
非结构化文本获取模块,用于获取非结构化文本;非结构化文本包含不同层级的标签;
配置文件创建模块,用于根据所述非结构化文本创建配置文件,所述配置文件包含所述非结构化文本中的指定标签与结构化文本的关联关系;
配置文件解析模块,用于根据所述配置文件,确定与所述指定标签所在的标签链相关联的结构化文本;所述标签链由所述不同层级的标签构成;
非结构化文本解析模块,用于根据所述非结构化文本,确定所述标签链的出现频次以及所述标签链对应的数据;
数据写入模块,用于根据所述标签链的出现频次,将所述标签链对应的数据,写入与所述标签链相关联的结构化文本。
9.一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,其特征在于,所述处理器执行所述指令时实现权利要求1-7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1-7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911218187.1A CN110955714B (zh) | 2019-12-03 | 2019-12-03 | 一种将非结构化文本转化为结构化文本的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911218187.1A CN110955714B (zh) | 2019-12-03 | 2019-12-03 | 一种将非结构化文本转化为结构化文本的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955714A true CN110955714A (zh) | 2020-04-03 |
CN110955714B CN110955714B (zh) | 2023-05-02 |
Family
ID=69979442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911218187.1A Active CN110955714B (zh) | 2019-12-03 | 2019-12-03 | 一种将非结构化文本转化为结构化文本的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955714B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN111723177A (zh) * | 2020-05-06 | 2020-09-29 | 第四范式(北京)技术有限公司 | 信息提取模型的建模方法、装置及电子设备 |
CN111859863A (zh) * | 2020-06-03 | 2020-10-30 | 远光软件股份有限公司 | 一种文档的结构转换方法、装置、存储介质及电子设备 |
CN112131291A (zh) * | 2020-09-11 | 2020-12-25 | 重庆誉存大数据科技有限公司 | 基于json数据的结构化解析方法、装置、设备及存储介质 |
CN113779937A (zh) * | 2021-09-27 | 2021-12-10 | 平安资产管理有限责任公司 | 基于人工智能的文本内容转换方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4086253B1 (ja) * | 2006-12-27 | 2008-05-14 | 清 高木 | Xml文書の処理方法および処理プログラム |
CN102456053A (zh) * | 2010-11-02 | 2012-05-16 | 江苏大学 | 一种xml文档到数据库的映射方法 |
CN102662997A (zh) * | 2012-03-15 | 2012-09-12 | 北京播思软件技术有限公司 | 一种存储xml数据到关系数据库的方法 |
CN108369598A (zh) * | 2015-10-23 | 2018-08-03 | 甲骨文国际公司 | 对于半结构化数据的列状数据布置 |
CN109495392A (zh) * | 2018-10-31 | 2019-03-19 | 泰康保险集团股份有限公司 | 报文转换处理方法及装置、电子设备、存储介质 |
CN109885569A (zh) * | 2018-12-29 | 2019-06-14 | 天津南大通用数据技术股份有限公司 | 基于配置文件对xml数据进行字段提取及结构化方法 |
-
2019
- 2019-12-03 CN CN201911218187.1A patent/CN110955714B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4086253B1 (ja) * | 2006-12-27 | 2008-05-14 | 清 高木 | Xml文書の処理方法および処理プログラム |
CN102456053A (zh) * | 2010-11-02 | 2012-05-16 | 江苏大学 | 一种xml文档到数据库的映射方法 |
CN102662997A (zh) * | 2012-03-15 | 2012-09-12 | 北京播思软件技术有限公司 | 一种存储xml数据到关系数据库的方法 |
CN108369598A (zh) * | 2015-10-23 | 2018-08-03 | 甲骨文国际公司 | 对于半结构化数据的列状数据布置 |
CN109495392A (zh) * | 2018-10-31 | 2019-03-19 | 泰康保险集团股份有限公司 | 报文转换处理方法及装置、电子设备、存储介质 |
CN109885569A (zh) * | 2018-12-29 | 2019-06-14 | 天津南大通用数据技术股份有限公司 | 基于配置文件对xml数据进行字段提取及结构化方法 |
Non-Patent Citations (1)
Title |
---|
杨晶,周双娥: "一种基于XML的非结构化数据转换方法", 《计算机科学》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN111506608B (zh) * | 2020-04-16 | 2023-06-16 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN111723177A (zh) * | 2020-05-06 | 2020-09-29 | 第四范式(北京)技术有限公司 | 信息提取模型的建模方法、装置及电子设备 |
CN111723177B (zh) * | 2020-05-06 | 2023-09-15 | 北京数据项素智能科技有限公司 | 信息提取模型的建模方法、装置及电子设备 |
CN111859863A (zh) * | 2020-06-03 | 2020-10-30 | 远光软件股份有限公司 | 一种文档的结构转换方法、装置、存储介质及电子设备 |
CN112131291A (zh) * | 2020-09-11 | 2020-12-25 | 重庆誉存大数据科技有限公司 | 基于json数据的结构化解析方法、装置、设备及存储介质 |
CN112131291B (zh) * | 2020-09-11 | 2023-12-15 | 重庆誉存大数据科技有限公司 | 基于json数据的结构化解析方法、装置、设备及存储介质 |
CN113779937A (zh) * | 2021-09-27 | 2021-12-10 | 平安资产管理有限责任公司 | 基于人工智能的文本内容转换方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110955714B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
CN107622080B (zh) | 一种数据处理方法及设备 | |
JP2005521159A (ja) | データ記述言語に対するスキーマ情報の動的生成 | |
CN106980619B (zh) | 数据查询方法及装置 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN103095726A (zh) | 一种协议解析器的处理方法和装置 | |
CN103226488A (zh) | 一种形式化代码生成中的效率控制方法及装置 | |
CN112861501A (zh) | 报表的生成方法、装置、电子设备及计算机可读存储介质 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN112559606A (zh) | 用于json格式数据的转换方法及转换装置 | |
CN107391529B (zh) | 一种实现对象关系映射orm的方法及装置 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN111258564A (zh) | 一种基于qt自动生成代码的方法及装置 | |
CN112181924A (zh) | 文件转换方法、装置、设备及介质 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
US20190026081A1 (en) | Method and device for generating code assistance information | |
CN108959330B (zh) | 一种数据库的处理、数据查询方法及设备 | |
CN110941655A (zh) | 一种数据格式转换方法及装置 | |
CN112883088B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111767406B (zh) | Plc工程的知识表示方法及装置 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
US8719693B2 (en) | Method for storing localized XML document values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |