CN107729526B - 一种文本结构化的方法 - Google Patents
一种文本结构化的方法 Download PDFInfo
- Publication number
- CN107729526B CN107729526B CN201711036517.6A CN201711036517A CN107729526B CN 107729526 B CN107729526 B CN 107729526B CN 201711036517 A CN201711036517 A CN 201711036517A CN 107729526 B CN107729526 B CN 107729526B
- Authority
- CN
- China
- Prior art keywords
- segmentation
- segment
- extraction
- text
- type
- 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.)
- Active
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种文本结构化的方法,包括:S1,根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;S2,遍历切分配置文件中的第一切分规则,根据每一第一切分规则中的起点类型、终点类型、起点位置和终点位置,从待结构化文本中获取对应第一切分规则的切分片段;S3,遍历抽取配置文件中的每一切分片段的第一抽取规则,将每一第一抽取规则中的正则表达式与切分片段进行匹配,根据匹配结果从切分片段中抽取待获取的信息,得到结构化的文本。本发明通过设计一套通用的文本结构化的方法,根据不同文本的文本类型调用相应的配置文件,快速实现不同类型的文本的结构化。
Description
技术领域
本发明涉及数据处理领域,更具体地,涉及一种文本结构化的方法。
背景技术
随着信息技术的不断发展和普及,各行各业已经广泛利用信息技术来提高效率和生产力,由此产生了海量的文本数据。这些文本数据往往含有大量有用的信息,有效利用这些文本数据资源挖掘出有用的信息已经成为一个很迫切的需求。统计分析是一种有效的方法,但是统计分析不能发掘一些隐藏的信息,大数据技术被广泛地用来进行数据处理和数据挖掘。无论是统计分析,还是大数据技术,所处理的对象往往是结构化的数据,而生产生活中产生的海量文本数据中,大多是非结构化的数据,需要将其处理成结构化数据才能更好的采用统计分析和大数据技术进行处理。
将非结构化文本进行结构化处理,需要从非结构化文本中抽取出结构化数据信息。不同类型的文本由于格式的不同,从其中要获取的结构化数据信息往往也是不同的,现有技术中针对不同类型的文本需要定义不同的方法和不同的程序,但是这种做法比较费时,程序也没有通用性,不能依靠同一套方法来实现不同类型文本的结构化。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的文本结构化的方法。
第一方面,本发明提供一种文本结构化的方法,包括:
S1,根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;
S2,遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;
S3,遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;
其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
优选地,遍历所述切分配置文件中的第一切分规则,若第一切分规则中的起点类型为段号,根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号;
若所述终点类型为段号,根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号。
优选地,若所述起点类型为正则表达式,则所述第一切分规则中还包括起点正则表达式;将所述起点正则表达式与所述待结构化文本进行匹配,获得第一匹配段;
根据与所述起点类型对应的起点位置判断所述第一匹配段是否包含在所述切分片段中,获得所述切分片段的起始段号;
若所述终点类型为正则表达式,则所述第一切分规则中还包括终点正则表达式;将所述终点正则表达式与所述待结构化文本进行匹配,获得第二匹配段;
根据与所述终点类型对应的终点位置判断所述第二匹配段是否包含在所述切分片段中,获得所述切分片段的终止段号;
根据切分片段的起始段号和终止段号,从所述待结构化文本中获得对应所述第一切分规则的所述切分片段。
优选地,所述根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号的步骤,包括:
若所述起点位置为正数,则将所述起点位置作为所述切分片段的起始段号;
若所述起点位置为负数,则所述起始段号通过下式获取:
N=P+S+1
其中,N为起始段号,P为待获取文本中自然段的总个数,S为起点位置;
所述根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号的步骤,包括:
若所述终点位置为正数,则将所述终点位置作为所述切分片段的终止段号;
若所述终点位置为负数,则所述终止段号通过下式获取:
M=P+E+1
其中,M为终止段号,P为待获取文本中自然段的总个数,E为终点位置。
优选地,步骤S2中所述从所述待结构化文本中获取对应所述第一切分规则的切分片段进一步包括:
从所述待结构化文本中复制对应所述起点段号至终止段号的信息,获得所述切分片段,保持所述待结构化文本的内容不变;
从所述待结构化文本中剪切对应所述起点段号至终止段号的信息,获得所述切分片段,删除所述待结构化文本中的所述切分片段。
优选地,若所述第一抽取规则的抽取类型为正则表达式抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的第一个匹配段作为正则匹配结果,从所述正则匹配结果中抽取所述待获取的信息;若所述第一抽取规则的抽取类型为每段抽取,则所述第一抽取规则中还包括第二抽取规则,对所述切分片段中的每一自然段,遍历所述第二抽取规则,根据所述第二抽取规则的抽取类型抽取所述待获取的信息,
其中,所述第二抽取规则的抽取类型均为所述正则表达式抽取;
若所述第一抽取规则的抽取类型为多段抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的所有匹配段分别作为正则匹配结果,从各所述正则匹配结果中抽取所述待获取的信息;
若所述第一抽取规则的抽取类型为先切分再抽取,则所述第一抽取规则中还包括第二切分规则与第三抽取规则,根据所述第二切分规则将所述切分片段再切分成多个分段,遍历每一分段,根据所述第三抽取规则的抽取类型抽取所述待获取的信息,
其中,所述第三抽取规则的抽取类型为所述正则表达式抽取、所述每段抽取和所述多段抽取中的一种。
优选地,所述正则表达式中包括至少一个捕获组,任一捕获组具有唯一的组号且包含一个子表达式,所述第一抽取规则、第二抽取规则和第三抽取规则中均还包括一个目标组号,所述抽取待获取的信息的步骤具体包括:
根据每个所述捕获组包含的子表达式,从所述正则匹配结果中捕获与该子表达式相匹配的信息;
将所述目标组号对应的捕获组在所述正则匹配结果中捕获到的信息,作为所述待获取的信息。
第二方面,本发明提供一种文本结构化的系统,包括:
配置文件获取模块,用于根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;
信息切分模块,用于遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;
信息抽取模块,用于遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;
其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
第三方面,本发明还提供了一种计算机程序,包括程序代码,所述程序代码用于执行如下操作:
根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;
遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;
遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本。
第四方面,本发明还提供了一种存储介质,用于存储如前所述的计算机程序。
本申请提供的一种文本结构化的方法,通过设计一套通用的文本结构化的方法,根据待结构化文本的文本类型调用相应的切分配置文件与抽取配置文件,根据切分配置文件对文本进行切分,再根据抽取配置文件从切分出来的各片段中抽取所需信息,快速实现不同类型的文本的结构化。
附图说明
图1为本发明一个实施例的文本结构化的方法的流程图;
图2为本发明一个实施例的文本结构化的系统的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1,为本发明一个实施例的文本结构化的流程图,包括:S1,根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;S2,遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;S3,遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
具体地,本发明先定义出与各文本类型相对应的切分配置文件和抽取配置文件,分别保存在切分配置文件库与抽取配置文件库中。在对某个非结构化的文本进行结构化的操作时,根据待结构化文本的文本类型,分别从切分配置文件库与抽取配置文件库中获取与该文本类型相对应的切分配置文件和抽取配置文件。其中,切分配置文件中包含有一或多条第一切分规则,遍历执行切分配置文件中的各第一切分规则,根据每条第一切分规则中包含的待获取的切分片段的起点类型、终点类型、起点位置和终点位置,从待结构化文本中获取相应的切分片段,每个切分片段可能为空,此时切分片段中没有自然段,也可能包含一或多个自然段。其中,起点位置的类型由起点类型决定,终点位置的类型由终点类型决定。
根据切分配置文件中所有的第一切分规则,从待结构化文本获取多条与第一切分规则相对应的切分片段,对于每个切分片段,抽取配置文件中都存在一或多条相应的第一抽取规则,遍历执行与每个切分片段相对应的第一抽取规则,通过将第一抽取规则中的正则表达式与该切分片段相匹配,在切分片段中得到与该正则表达式相匹配文本数据,从该文本数据中抽取待获取的信息,每个切分片段按照与之对应的第一抽取规则完成所有的待获取信息的抽取,从待结构化文本中抽取出结构化数据信息,完成非结构化文本的结构化。所谓结构化数据信息是指可以用数据或统一的结构加以表示,即能用二维表结构来逻辑表达实现的数据信息,可以更方便统计分析和大数据技术的处理。所谓的非结构化文本的结构化则是指从包含大量有用信息的文本中,将有用的数据信息抽取出来,方便直接对有用的数据信息进行处理。
本发明实施例通过设计一套通用的文本结构化的方法,根据待结构化文本的文本类型调用相应的切分配置文件与抽取配置文件,根据切分配置文件对文本进行切分,再根据抽取配置文件从切分出来的各片段中抽取所需信息,能够通过统一的方法快速实现不同类型的文本的结构化。
基于上述实施例,作为一种可选的实施例,步骤S2包括:遍历所述切分配置文件中的第一切分规则,若第一切分规则中的起点类型为段号,根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号;若所述终点类型为段号,根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号。
具体地,对于每条第一切分规则,都需要知道与该第一切分规则相对应的切分片段在待结构化文本中的首尾位置,以便从文本中获取该切分片段。当第一切分规则中的起点类型为段号时,此时起点位置是指该切分片段从文本中的哪一段开始进行切分,因此可获得该切分片段在文本中的起始段号,同理,当第一切分规则中的终点类型为段号时,可以根据终点位置知道该切分片段切到文本中的哪一段为止,能获取该切分片段在文本中的终止段号。因此,当第一切分规则中的起点类型与终点类型均为段号时,可以得到切分片段在待结构化文本中的起始段号和终止段号,便于从文本中获取与第一切分规则对应的切分片段。
需要说明的是,这里的段号指的是待结构化文本中自然段的顺序编号,起始段号与终止段号分别是指切分片段在待结构化文本中的起始自然段与终止自然段的编号,计算机通过读取输入文本的字符流中的换行符,划分出文本的各自然段,且对各自然段进行顺序编号,并能根据段号查找到文本中的相应自然段,此为现有技术中的常用手段,此处便不再多做赘述。
基于上述实施例,作为一种可选的实施例,步骤S2还包括:
若所述起点类型为正则表达式,则所述第一切分规则中还包括起点正则表达式;将所述起点正则表达式与所述待结构化文本进行匹配,获得第一匹配段;根据与所述起点类型对应的起点位置判断所述第一匹配段是否包含在所述切分片段中,获得所述切分片段的起始段号;若所述终点类型为正则表达式,则所述第一切分规则中还包括终点正则表达式;将所述终点正则表达式与所述待结构化文本进行匹配,获得第二匹配段;根据与所述终点类型对应的终点位置判断所述第二匹配段是否包含在所述切分片段中,获得所述切分片段的终止段号;根据切分片段的起始段号和终止段号,从所述待结构化文本中获得对应所述第一切分规则的所述切分片段。
具体地,当第一切分规则中的起点类型为正则表达式时,该第一切分规则中还包括起点正则表达式,通过将该起点正则表达式与待结构化文本进行从前往后进行匹配,直至在文本中找到相应的匹配段,将该匹配段作为第一匹配段,此时起点位置用于表示第一匹段是否包含在待获取的切分片段中。若是,则将该第一匹配段所在的自然段在文本中的段号作为起始段号,反之,则将第一匹配段所在的自然段的下一段在文本中的段号作为起始段号。
同理,当第一切分规则中的终点类型为正则表达式时,该第一切分规则中还包括终点正则表达式,通过将该终点正则表达式与待结构化文本进行从前往后进行匹配,直至在文本中找到相应的匹配段,将该匹配段作为第二匹配段,此时终点位置用于表示第二匹段是否包含在待获取的切分片段中。若是,则将该第二匹配段所在的自然段在文本中的段号作为终止段号,反之,则将第二匹配段所在的自然段的上一段在文本中的段号作为终止段号。
因此,当第一切分规则中的起点类型与终点类型均为正则表达式时,可以通过分别将起点正则表达式与终点正则表达式与待获取的文本进行匹配,分别找到第一匹配段与第二匹配段,并通过起点位置与终点位置得到切分片段在待结构化文本中的起始段号和终止段号,根据切分片段在待结构化文本中的起始段号和终止段号,从待结构化文本中获得对应第一切分规则的切分片段。
需要说明的是,第一切分规则中的起点类型与终点类型可以不一致,即还存在起点类型为段号,终点类型为正则表达式,或者起点类型为正则表达式,终点类型为段号的情况,可通过上述方法,分别按照第一切分规则中的起点类型、终点类型、起点位置和终点位置得到待获取的切分片段在待结构化文本中的起始段号和终止段号,进而获得对应第一切分规则的切分片段,此处不再赘述。
基于上述实施例,作为一种可选的实施例,所述根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号的步骤,包括:若所述起点位置为正数,则将所述起点位置作为所述切分片段的起始段号;若所述起点位置为负数,则所述起始段号通过下式获取:
N=P+S+1
其中,N为起始段号,P为待获取文本中自然段的总个数,S为起点位置;
根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号的步骤,包括:若所述终点位置为正数,则将所述终点位置作为所述切分片段的终止段号;若所述终点位置为负数,则所述终止段号通过下式获取:
M=P+E+1
其中,M为终止段号,P为待获取文本中自然段的总个数,E为终点位置。
具体地,当第一切分规则中的起点类型为段号时,此时起点位置若为正数,则表示从待结构化文本中的正数第几个自然段开始切分,则可直接将起点位置作为切分片段在待结构化文本中的起始段号;反之,起点位置若为负数,则表示从待结构化文本中的倒数第几个自然段开始切分,则切分片段在待结构化文本中的起始段号等于文本中自然段的总个数与起点位置的和值加1。需要说明的是,起点位置的绝对值小于待获取的文本中自然段的总个数,即切分片段的起始段号一定对应待获取的文本中的某一段。
同理,当第一切分规则中的终点类型为段号时,此时终点位置若为正数,则表示从待结构化文本中的正数第几个自然段结束切分,则可直接将终点位置作为切分片段在待结构化文本中的终止段号;反之,终点位置若为负数,则表示从待结构化文本中的倒数第几个自然段结束切分,则切分片段在待结构化文本中的终止段号等于文本中自然段的总个数与起点位置的和值加1。需要说明的是,终点位置的绝对值也小于待获取的文本中自然段的总个数,即切分片段的终止段号一定对应待获取的文本中的某一段。
举例来说,若待结构化文本共有20个自然段,此时执行的第一切分规则中的起点类型与终点类型均为段号,且起点位置为4,终点位置为-5,可知该第一切分规则对应的切分片段是文本中的第四自然段到倒数第5自然段,则切分片段在文本中起始段号为4,终止段号为16。
还需要说明的是,根据切分配置文件中的定义,切分片段在待结构化文本中的起始段号一定小于终止段号,即永远按照起始段号到终止段号的顺序形式从待结构化文本中获取切分片段。
基于上述实施例,作为一种可选的实施例,步骤S2中所述从所述待结构化文本中获取对应所述第一切分规则的切分片段进一步包括:从所述待结构化文本中复制对应所述起点段号至终止段号的信息,获得所述切分片段,保持所述待结构化文本的内容不变;从所述待结构化文本中剪切对应所述起点段号至终止段号的信息,获得所述切分片段,删除所述待结构化文本中的所述切分片段。
具体地,获取与第一切分规则相对应的切分片段在待结构化文本中的起点段号与终止段号后,通过对文本中的起点段号到终止段号中的信息进行复制或剪切操作,来获取该切分片段。当对待获取的信息进行复制操作时,保持待结构化文本的内容不变,文本中的段号也相对保持不变;当对待获取的信息进行剪切操作时,待结构化文本中删除了待获取的信息,需要对剪切后的文本的段号重新排序,对剪切后的文本中的各自然段进行顺序递增编号。
需要说明的是,通过剪切操作获取切分片段时,待结构化文本的总段数减少,当后续的切分操作需要通过起点正则表达式或终点正则表达式与文本相匹配来确定该切分片段的起始段号与终止段号时,剪切掉前面的段落,可以有效减少匹配的次数,减少匹配的时间,加快后续的切分操作。
而通过复制操作来获取切分片段,有利于通过冗余提高切分片段的准确度,即此时后续的切分片段可以包含更多的文本段,此时切分片段中可能包含更多待抽取的信息,有利于对文本进行结构化时,从中文本中抽取的信息的完整性。
基于上述实施例,作为一种可选的实施例,步骤S3包括:
若所述第一抽取规则的抽取类型为正则表达式抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的第一个匹配段作为正则匹配结果,从所述目标段中抽取所述待获取的信息;
若所述第一抽取规则的抽取类型为每段抽取,则所述第一抽取规则中还包括第二抽取规则,对所述切分片段中的每一自然段,遍历所述第二抽取规则,根据所述第二抽取规则的抽取类型抽取所述待获取的信息,其中,所述第二抽取规则的抽取类型均为所述正则表达式抽取;
若所述第一抽取规则的抽取类型为多段抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的所有匹配段分别作为正则匹配结果,从各所述正则匹配结果中抽取所述待获取的信息;
若所述第一抽取规则的抽取类型为先切分再抽取,则所述第一抽取规则中还包括第二切分规则与第三抽取规则,根据所述第二切分规则将所述切分片段再切分成多个分段,遍历每一分段,根据所述第三抽取规则的抽取类型抽取所述待获取的信息,其中,所述第三抽取规则的抽取类型为所述正则表达式抽取、所述每段抽取和所述多段抽取中的一种。
具体地,从待结构化文本中切取的每一个切分片段,都可以通过抽取配置文件中相对应的第一抽取规则从中提取待获取的信息,每一个切分片段都对应一或多条第一抽取规则,对于每条第一抽取规则,都包括正则表达式抽取、每段抽取、多段抽取和先切分再抽取这四种抽取类型,其中:
若第一抽取规则的抽取类型是正则表达式抽取,则整个切分片段中与第一抽取规则对应的待获取的信息只有一条,将第一抽取规则中的正则表达式与该切分片段进行正则匹配,其中,切分片段是从待获取的文本中,切分出来的通过换行符将各自然段连接起来的字符串,将该字符串与正则表达式相匹配,可直接将获取到的第一个匹配段作为正则匹配结果,从该正则匹配结果中抽取待获取的信息。需要说明的是,匹配段是指从切分片段中匹配到的一个连贯的字符串,在该字符串中可能包括一个或多个换行符,即匹配段中可能包含一个或者多个自然段中的文本信息。
举例来说,对于证监会处罚文书而言,每个处罚文书只有一个文书编号,通过正则表达式抽取证监会处罚文书中的文书编号信息,获取到第一个匹配段后就无需再匹配剩下的切分片段了,直接从第一个匹配段中抽取对应的文书编号信息。
若第一抽取规则的抽取类型是每段抽取,则第一抽取规则中还包括一或多条第二抽取规则,根据第二抽取规则,对于切分片段中的每一自然段,都遍历第二抽取规则,由于每条第二抽取规则的抽取类型都是正则表达式抽取,可知每条第二抽取规则中的正则表达式对应该切分片段的每一自然段进行匹配,将每一自然段中获取到的第一个匹配段作为正则匹配结果从每个目标段中抽取待获取的信息。
举例来说,对于证监会处罚文书而言,每个处罚文书可能有多个当事人,每个当事人的信息各占一个自然段,且都具有姓名、性别、出生日期等信息。此时已经通过第一切分规则切分得到所有当事人的信息,第一抽取规则为每段抽取,且第一抽取规则中包含三条第二抽取规则,分别对应抽取每个当事人姓名、性别与出生日期的信息。对于每一个自然段,依次遍历这三条第二抽取规则,分别从每段中获取每个当事人的姓名、性别与出生日期。
若第一抽取规则的抽取类型是多段抽取,则整个切分片段中具有多条与第一抽取规则相对应的待获取的信息,这些信息散布在切分片段的不同自然段中,且相互间并无关联。将第一抽取规则中的正则表达式与该切分片段进行正则全匹配,从该切分片段中获取所有与该正则表达式对应的匹配段作为正则匹配结果,从所有的正则匹配结果中抽取待获取的信息。
举例来说,对于司法文书而言,每个司法文书中可能存在多个审判员,每个审判员的名称分布在司法文书的不同段中,通过多段抽取将查找审判员的名称的正则表达式与司法文书相匹配,找到所有包含审判员的名称的信息。
若第一抽取规则的抽取类型是先切分再抽取,则第一抽取规则中还包括第二切分规则与第三抽取规则,且第二切分规则与第三抽取规则都可能有一条或多条。遍历第二切分规则,将与该第一抽取规则相对应的切分片段进行再次切分,得到多个分段,遍历每一分段,根据与每一分段相对应的第三抽取规则,从每一分段中抽取待获取的信息。需要说明的是,第三抽取规则的抽取类型为正则表达式抽取、每段抽取和多段抽取中的一种,每个分段通过第三抽取规则的抽取类型,获取相应的匹配段,将每个匹配段都作为正则匹配结果,从中抽取待获取的信息。
举例来说,对于司法文书而言,每个司法文书中都可能包含多个当事人的信息,每个当事人的姓名、性别、住址、辩护人等信息可能在不同段中,且每个当事人都可能具有多个辩护人,每个辩护人的姓名、律师事务所等信息位于同一段中,通过先切分再抽取的方法,先根据第二切分规则切分出包含各当事人所有信息的分段,再根据第三抽取规则从各当事人的信息中抽取得到各辩护人的信息。
基于上述实施例,作为一种可选的实施例,所述正则表达式中包括至少一个捕获组,任一捕获组具有唯一的组号且包含一个子表达式,所述第一抽取规则、第二抽取规则和第三抽取规则中均还包括一个目标组号,所述抽取待获取的信息的步骤具体包括:
根据每个所述捕获组包含的子表达式,从所述正则匹配结果中捕获与该子表达式相匹配的信息;
将所述目标组号对应的捕获组在所述正则匹配结果中捕获到的信息,作为所述待获取的信息。
具体地,每个正则表达式中都可以包括若干捕获组,每个捕获组都具有一个唯一的组号,且整个正则表达式的捕获组号是0。一般在正则表达式中从左向右,按照捕获组的左括号的出现顺序从1开始给各捕获组递增编号。每个捕获组中都包含一个子表达式,子表达式由该正则表达式中多个连续的字符组成。捕获组可从与正则表达式相匹配的结果字符串中,捕获与捕获组中的子表达式相匹配的信息。因此,在第一抽取规则、第二抽取规则和第三抽取规则中,均还包括有一个目标组号,当正则表达式中所有的捕获组从正则匹配结果中都捕获到与其子表达式相对应的信息时,可根据该目标组号,在正则表达式中找到与该目标组号相对应的捕获组,获取该捕获组从正则匹配结果中捕获到的信息,即是文本结构化的过程中待获取的信息。从待结构化文本中抽取所有待获取的信息,即可完成文本的结构化。
参见图2,为本发明一个实施例的文本结构化的系统,所述系统包括:配置文件获取模块,用于根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;信息切分模块,用于遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;信息抽取模块,用于遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
具体地,本发明实施例中,向计算机中输入待结构化文本与相应的文本类型后,配置文件获取模块根据文本类型,分别从切分配置文件库和抽取配置文件库中获取相应的切分配置文件和抽取配置文件,信息切分模块遍历执行切分配置文件中的第一切分规则,根据每条第一切分规则中包含的待获取的切分片段的起点类型、终点类型、起点位置和终点位置,对输入的待结构化文本执行相应的切分操作,直至所有的第一切分规则都执行结束,信息抽取模块再从第一块切分片段开始,顺序对每一切分片段执行抽取配置文件中的第一抽取规则,根据每一抽取规则的类型,将各第一抽取规则中的正则表达式与切分片段进行匹配,在切分片段中得到与该正则表达式相匹配文本数据,从该文本数据中抽取待获取的信息,实现文本的结构化。需要说明的是,实现文本结构化的具体的方法步骤上述方法实施例中已做具体阐述,因此此处不再赘述。
本发明实施例通过设计一套通用的文本结构化的系统,配置文件获取模块根据待结构化文本的文本类型调用相应的切分配置文件与抽取配置文件,信息切分模块根据切分配置文件对文本进行切分,信息抽取模块再根据抽取配置文件从切分出来的各片段中抽取所需信息,能够通过统一的方法快速实现不同类型的文本的结构化。
下面结合具体的实施例,将本发明所提出的文本结构化的方法应用写入程序中,对本方案进行进一步的分析说明。
首先向计算机中输入待结构化文本与相应的文本类型,通过程序中的读取切分配置文件函数从切分配置文件库中读取相应的切分配置文件;通过读取抽取配置文件函数从抽取配置文件库中读取相应的抽取配置文件;
通过读取切分配置文件,调用文本切分函数,文本切分函数遍历执行第一切分规则:
当第一切分规则的起点或终点类型是段号时,根据起点位置或终点位置直接获取待切分的切分片段的起始或终止段号;
当起点或终点类型是正则表达式时,调用获取切分起始段号函数或获取切分终止段号函数获取待切分的切分片段的起始或终止段号;
文本切分函数通过复制或剪切操作,根据待切分的切分片段的起始或终止段号得到与该第一切分规则对应的切分片段。
所有的第一切分规则都执行完毕,获取待结构化文本全部的切分片段;
读取抽取配置文件,调用文本信息抽取函数,文本信息抽取函数从第一个切分片段开始,遍历每一个切分片段对应的第一抽取规则;
根据每个第一抽取规则的抽取类型,分别调用每段抽取函数、正则表达式抽取函数、多段抽取函数和先切分再抽取函数进行待获取信息的抽取操作;
所有切分片段对应的第一抽取规则执行完毕,获取待结构化文本中所有的待抽取的信息,完成文本的结构化。
本发明实施例通过设计一套通用的文本结构化的方法,根据不同文本的文本类型定义不同的切分配置文件和抽取配置文件,再根据待结构化文本的文本类型,调用相应的切分配置文件和抽取配置文件,根据切分配置文件使用文本切分函数对文本进行切分,再根据抽取配置文件使用文本信息抽取函数从切分出来的各片段中抽取所需信息,获取待结构化文本中所有待获取的重要信息,快速实现不同类型的文本的结构化。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种文本结构化的方法,其特征在于,包括:
S1,根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;
S2,遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;
S3,遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;
其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
2.根据权利要求1所述的文本结构化的方法,其特征在于,步骤S2包括:
遍历所述切分配置文件中的第一切分规则,若第一切分规则中的起点类型为段号,根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号;
若所述终点类型为段号,根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号。
3.根据权利要求1或2所述的文本结构化的方法,其特征在于,所述步骤S2还包括:
若所述起点类型为正则表达式,则所述第一切分规则中还包括起点正则表达式;将所述起点正则表达式与所述待结构化文本进行匹配,获得第一匹配段;
根据与所述起点类型对应的起点位置判断所述第一匹配段是否包含在所述切分片段中,获得所述切分片段的起始段号;
若所述终点类型为正则表达式,则所述第一切分规则中还包括终点正则表达式;将所述终点正则表达式与所述待结构化文本进行匹配,获得第二匹配段;
根据与所述终点类型对应的终点位置判断所述第二匹配段是否包含在所述切分片段中,获得所述切分片段的终止段号;
根据切分片段的起始段号和终止段号,从所述待结构化文本中获得对应所述第一切分规则的所述切分片段。
4.根据权利要求2所述的文本结构化的方法,其特征在于,所述根据与所述起点类型对应的所述起点位置获得所述切分片段的起始段号的步骤,包括:
若所述起点位置为正数,则将所述起点位置作为所述切分片段的起始段号;
若所述起点位置为负数,则所述起始段号通过下式获取:
N=P+S+1
其中,N为起始段号,P为待获取文本中自然段的总个数,S为起点位置;
所述根据与所述终点类型对应的所述终点位置获得所述切分片段的终止段号的步骤,包括:
若所述终点位置为正数,则将所述终点位置作为所述切分片段的终止段号;
若所述终点位置为负数,则所述终止段号通过下式获取:
M=P+E+1
其中,M为终止段号,P为待获取文本中自然段的总个数,E为终点位置。
5.根据权利要求3所述的文本结构化的方法,其特征在于,步骤S2中所述从所述待结构化文本中获取对应所述第一切分规则的切分片段进一步包括:
从所述待结构化文本中复制对应所述起点段号至终止段号的信息,获得所述切分片段,保持所述待结构化文本的内容不变;
从所述待结构化文本中剪切对应所述起点段号至终止段号的信息,获得所述切分片段,删除所述待结构化文本中的所述切分片段。
6.根据权利要求1所述的文本结构化的方法,其特征在于,步骤S3包括:
若所述第一抽取规则的抽取类型为正则表达式抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的第一个匹配段作为正则匹配结果,从所述正则匹配结果中抽取所述待获取的信息;
若所述第一抽取规则的抽取类型为每段抽取,则所述第一抽取规则中还包括第二抽取规则,对所述切分片段中的每一自然段,遍历所述第二抽取规则,根据所述第二抽取规则的抽取类型抽取所述待获取的信息,
其中,所述第二抽取规则的抽取类型均为所述正则表达式抽取;
若所述第一抽取规则的抽取类型为多段抽取,则将所述正则表达式与所述切分片段进行匹配,将获得的所有匹配段分别作为正则匹配结果,从各所述正则匹配结果中抽取所述待获取的信息;
所述第一抽取规则的抽取类型为先切分再抽取,则所述第一抽取规则中还包括第二切分规则与第三抽取规则,根据所述第二切分规则将所述切分片段再切分成多个分段,遍历每一分段,根据所述第三抽取规则的抽取类型抽取所述待获取的信息,
其中,所述第三抽取规则的抽取类型为所述正则表达式抽取、所述每段抽取和所述多段抽取中的一种。
7.根据权利要求6所述的文本结构化的方法,其特征在于,所述正则表达式中包括至少一个捕获组,任一捕获组具有唯一的组号且包含一个子表达式,所述第一抽取规则、第二抽取规则和第三抽取规则中均还包括一个目标组号,所述抽取待获取的信息的步骤具体包括:
根据每个所述捕获组包含的子表达式,从所述正则匹配结果中捕获与该子表达式相匹配的信息;
将所述目标组号对应的捕获组在所述正则匹配结果中捕获到的信息,作为所述待获取的信息。
8.一种文本结构化的系统,其特征在于,包括:
配置文件获取模块,用于根据待结构化文本的文本类型,获取相应的切分配置文件和抽取配置文件;
信息切分模块,用于遍历所述切分配置文件中的第一切分规则,根据每一所述第一切分规则中的起点类型、终点类型、起点位置和终点位置,从所述待结构化文本中获取对应所述第一切分规则的切分片段;
信息抽取模块,用于遍历所述抽取配置文件中的每一所述切分片段的第一抽取规则,将每一所述第一抽取规则中的正则表达式与所述切分片段进行匹配,根据匹配结果从所述切分片段中抽取待获取的信息,得到结构化的文本;
其中,所述起点位置的类型与所述起点类型对应,所述终点位置的类型与所述终点类型对应。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711036517.6A CN107729526B (zh) | 2017-10-30 | 2017-10-30 | 一种文本结构化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711036517.6A CN107729526B (zh) | 2017-10-30 | 2017-10-30 | 一种文本结构化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107729526A CN107729526A (zh) | 2018-02-23 |
CN107729526B true CN107729526B (zh) | 2020-04-07 |
Family
ID=61201963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711036517.6A Active CN107729526B (zh) | 2017-10-30 | 2017-10-30 | 一种文本结构化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729526B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210506B (zh) * | 2018-04-04 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 基于大数据的特征处理方法、装置和计算机设备 |
CN109033249B (zh) * | 2018-07-05 | 2021-06-18 | 鼎富智能科技有限公司 | 公检法领域结构化文书的信息提取方法、装置及存储介质 |
CN109446389A (zh) * | 2018-09-20 | 2019-03-08 | 卓望数码技术(深圳)有限公司 | 一种数据可视化处理方法和系统 |
CN109271479A (zh) * | 2018-09-29 | 2019-01-25 | 广东润弘科技有限公司 | 一种简历结构化处理方法 |
CN109684457A (zh) * | 2018-12-27 | 2019-04-26 | 清华大学 | 一种个股公告数据提取的方法及系统 |
CN110162786B (zh) * | 2019-04-23 | 2024-02-27 | 百度在线网络技术(北京)有限公司 | 构建配置文件以及抽取结构化信息的方法、装置 |
CN110781276B (zh) * | 2019-09-18 | 2023-09-19 | 平安科技(深圳)有限公司 | 文本抽取方法、装置、设备及存储介质 |
CN110825739B (zh) * | 2019-10-30 | 2021-07-16 | 京东数字科技控股有限公司 | 建表语句生成方法、装置、设备及存储介质 |
CN111273903B (zh) * | 2020-01-10 | 2023-08-04 | 深圳市大富网络技术有限公司 | 网页制作方法、装置、计算机设备及计算机存储介质 |
CN111723177B (zh) * | 2020-05-06 | 2023-09-15 | 北京数据项素智能科技有限公司 | 信息提取模型的建模方法、装置及电子设备 |
CN112560460B (zh) * | 2020-12-08 | 2022-02-25 | 北京百度网讯科技有限公司 | 抽取结构化信息的方法、装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541483C (zh) * | 2002-09-30 | 2009-09-16 | 西门子公司 | 用于使文本结构化的方法和装置 |
WO2015003245A1 (en) * | 2013-07-09 | 2015-01-15 | Blueprint Sofware Systems Inc. | Computing device and method for converting unstructured data to structured data |
CN104899260A (zh) * | 2015-05-20 | 2015-09-09 | 东华大学 | 一种中文病理文本结构化处理方法 |
CN106502982A (zh) * | 2016-10-13 | 2017-03-15 | 东华大学 | 非结构化中文乳腺超声文本的结构化处理方法 |
-
2017
- 2017-10-30 CN CN201711036517.6A patent/CN107729526B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541483C (zh) * | 2002-09-30 | 2009-09-16 | 西门子公司 | 用于使文本结构化的方法和装置 |
WO2015003245A1 (en) * | 2013-07-09 | 2015-01-15 | Blueprint Sofware Systems Inc. | Computing device and method for converting unstructured data to structured data |
CN104899260A (zh) * | 2015-05-20 | 2015-09-09 | 东华大学 | 一种中文病理文本结构化处理方法 |
CN106502982A (zh) * | 2016-10-13 | 2017-03-15 | 东华大学 | 非结构化中文乳腺超声文本的结构化处理方法 |
Non-Patent Citations (2)
Title |
---|
Converting unstructured and semi-structured data into knowledge;Octavian;《IEEE》;20130502;全文 * |
基于本体的WEB信息抽取系统;王志华;《计算机工程与设计》;20120731;第33卷(第7期);2634-2639 * |
Also Published As
Publication number | Publication date |
---|---|
CN107729526A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729526B (zh) | 一种文本结构化的方法 | |
CN107766328B (zh) | 结构化文本的文本信息提取方法、存储介质和服务器 | |
CN111291572B (zh) | 一种文字排版方法、装置及计算机可读存储介质 | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
US20170293604A1 (en) | Methods and apparatus for spell checking | |
CN105589894B (zh) | 文档索引建立方法和装置、文档检索方法和装置 | |
US9330075B2 (en) | Method and apparatus for identifying garbage template article | |
CN112347142B (zh) | 数据处理方法及装置 | |
CN115630343B (zh) | 一种电子文档信息的处理方法、装置及设备 | |
CN111159497A (zh) | 正则表达式的生成方法及基于正则表达式的数据提取方法 | |
CN107168966B (zh) | 一种搜索引擎索引构建方法及装置 | |
CN111581638A (zh) | 一种开源软件的安全分析方法及装置 | |
US20140225899A1 (en) | Method of animating sms-messages | |
CN107493370B (zh) | 流量模板确定方法、流量信息识别方法及装置 | |
CN105488471A (zh) | 一种字形识别方法及装置 | |
CN111611788B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
WO2018208412A1 (en) | Detection of caption elements in documents | |
CN111026604B (zh) | 一种日志文件解析方法及装置 | |
CN107145947B (zh) | 一种信息处理方法、装置及电子设备 | |
CN115796146A (zh) | 一种文件对比方法及装置 | |
CN111159996B (zh) | 基于文本指纹算法的短文本集合相似度比较方法及系统 | |
CN111492364A (zh) | 数据标注方法、装置及存储介质 | |
CN110263303B (zh) | 文本修改历史的追溯方法及装置 | |
CN113656659A (zh) | 一种数据提取方法、装置、系统及计算机可读存储介质 | |
JP2017091024A (ja) | 入力支援装置 |
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 |