一种文本信息自动提取方法与流程

文档序号:24528693发布日期:2021-04-02 10:06阅读:来源:国知局

技术特征:

1.一种文本信息自动提取方法,其特征在于,包括以下步骤:

步骤1:对输入文本进行批量预处理,将输入文本转成pdf格式文本;

步骤2:对pdf格式文本进行结构化处理;

步骤2的具体实现包括以下子步骤:

步骤2.1:输入批量pdf格式文本;

步骤2.2:利用pypdf2提取pdf格式文本中的书签信息,构建规则对书签名进行正则匹配,得到匹配出的章节书签,保存书签的名称以及页面位置信息;

其中,根据书签名提取章节书签的规则为:pattern=“(第.*章|第.*部分)”;

步骤2.3:基于步骤2.2中取出的章节书签信息对pdf格式文本进行划分,分别得到文件中的各章节文本;

步骤2.4:基于步骤2.3中获得的各章节文本,构建特定的正则规则对该章节文本进行划分,获取章节中各小节的名称以及位置;

其中,提取小节的正则规则为:pattern=“.*第.节.”;

步骤3:对指定标的物的相关信息进行定位识别及抽取;

步骤4:利用上述步骤的中间信息建立抽取报告,生成抽取结果。

2.根据权利要求1所述的文本信息自动提取方法,其特征在于:步骤1中,利用winapi对输入文本进行批量预处理,利用pythonwin32库,调用word底层vba,将word格式文本转成pdf格式文本。

3.根据权利要求1所述的文本信息自动提取方法,其特征在于,步骤2.3的具体实现包括以下子步骤:

步骤2.3.1:根据书签中的书签名构建正则规则定位各章节,利用其对应的页面位置信息截取原pdf文件;

步骤2.3.2:利用pdfplumber识别截取后的章节文本;

步骤2.3.3:利用自然语言处理技术对文本进行清洗,清理文本中的无效干扰文本;

步骤2.3.4:将清洗后的各章节文本存储至txt文件。

4.根据权利要求1所述的文本信息自动提取方法,其特征在于,步骤3的具体实现包括以下子步骤:

步骤3.1:构建正则规则定位相关信息所在的章节;其中,相关信息中的技术参数内容所在章节的正则表达式为:pattern=“.*(技术|参数|要求).*”;其他信息正则表达式构建原理与技术参数正则表达式构建原理相同;

步骤3.2:基于步骤3.1得到的章节,利用步骤2.4得到的小节信息,构建规则匹配到具体的技术参数小节;其中,匹配技术参数小节的正则表达式为:pattern=“(.*(技术|参数).*要求)|(.*技术.*参数.*)”;

步骤3.3:利用正则匹配精准定位到具体的参数文本在小节中的位置;其中,定位具体的参数文本的正则表达式为:pattern=“\w?\d+\w*[\u4e00-\u9fa5]*(技术|参数|要求)[\u4e00-\u9fa5]*(:|:)?”;

步骤3.4:从步骤3.3定位的内容开始,逐行进行参数识别,提取出相应的参数类型、参数名和参数值;

步骤3.5:将步骤3.4提取出的参数名和参数值,连同标的物类型,提取文件名以键值对的格式一起存入python字典类型中;

步骤3.8:将上述批量文件提取出的参数存入json文件中。

5.根据权利要求4所述的文本信息自动提取方法,其特征在于:步骤3.2中,针对招投标行业中的标书,若一个标书中包含多个标包的参数信息,则在步骤3.2提取的技术参数小节中再次构建规则划分各个标包,分别得到各个标包的技术参数小节内容;其中,划分各个标包的技术参数小节的正则表达式为:pattern=“.*第.*(包|项).*”;基于划分出的各个标包的技术参数小节内容,筛选得到指定的标的物所属的技术参数小节。

6.根据权利要求5所述的文本信息自动提取方法,其特征在于:所述筛选得到指定的标的物所属的技术参数小节,是通过检测各标包技术参数小节内容开头是否包含指定标的物的名称来判断当前技术参数小节是否属于指定标的物。

7.根据权利要求4所述的文本信息自动提取方法,其特征在于,步骤3.4的具体实现包括以下子步骤:

步骤3.6.1:构建特定的规则,依次判断该行文本是否为一级标题;若是,则该标题表明参数类型,则修改当前参数类型为清洗掉标题后的文本内容,本流程结束;若否,转向步骤3.6.2;

其中,判断文本是否为一级标题的正则表达式为:pattern=“\w?\d+\w*[\u4e00-\u9fa5]+(:|:)?”;

步骤3.6.2:判断该行文本是否为二级标题且包含“参数名:参数值”的格式文本;若是,则该行文本是标的物参数的格式化描述,利用正则提取出参数名和参数值,连同当前参数类型作为一条参数项一起保存至字典中,本流程结束;若否,转向步骤3.6.3;

其中,判断文本是否为二级标题且包含“参数名:参数值”的正则表达式为:pattern=“\w?\d+\w+\d+\w*[\u4e00-\u9fa5]+(:|:).+”;

步骤3.6.3:判断该行文本是否为二级标题;若是,则该行文本为参数的具体文本描述,直接将整行文本当作参数名,将参数值置空,执行保存当前参数项操作,本流程结束;若否,转向步骤3.6.4;

其中,判断文本是否为二级标题的正则表达式为:pattern=“\w?\d+\w+\d+\w*[\u4e00-\u9fa5]+(:|:).+”;

步骤3.6.4:判断该行文本是否为三级标题;若是,该行文本为上一条参数信息的子项,则将该行文本清洗掉标题后加入上一条参数项的参数值中,本流程结束;若否,转向步骤3.6.5;

其中,判断文本是否为三级标题的正则表达式为:pattern=“\w?\d+(\w+\d+){2}\w*”;

步骤3.6.5:以上条件都不满足,则表明该行文本为上一条参数项后续文本,则直接将该行文本加入到上一条参数项的参数值中;

步骤3.6.6:循环执行上述步骤3.6.1-步骤3.6.5,至该标包文本内容结束。

8.根据权利要求1-7任意一项所述的文本信息自动提取方法,其特征在于:步骤4中,通过利用上述过程中的中间信息来生成提取报告,包括文件数量、文件中识别出的标包总数、筛选得到的指定标的物的标包数量、是否成功定位到参数内容、以及提取的参数项总数。


技术总结
本发明公开了一种文本信息自动提取方法,现有招标文件标的物的参数信息提取均靠人工抽取,需要花费大量人工及时间,耗时耗力。本发明使用自然语言处理技术对招标文本进行自动化的参数信息抽取,设计了标书文本结构化,标的物参数信息提取,提取报告体系,标书文本结构化包括利用利用pypdf2提取书签信息,利用pdfplumber识别pdf标书文本,利用正则对文本进行清洗,随后利用规则匹配对文本进行结构化分析处理。标的物参数信息提取通过利用正则技术对结构化后的标书文本中标的物的技术参数信息进行精准识别和提取。最后利用前述过程中的信息建立抽取报告,直观反映整个抽取情况。

技术研发人员:刘金硕;王晨阳;邓娟;黄朔;刘宁;唐浩洲
受保护的技术使用者:武汉大学
技术研发日:2020.12.18
技术公布日:2021.04.02
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1