文件中的流程图解析方法及装置、计算设备、存储介质与流程

文档序号:23754341发布日期:2021-01-29 15:18阅读:82来源:国知局
[0001]本发明实施例涉及流程图解析领域,尤其涉及一种文件中的流程图解析方法及装置、计算设备、存储介质。
背景技术
::[0002]临床指南是经过长时间的循证医学以及临床经验汇总而成,具有临床上的指导意义,在海外还具有医疗纠纷时的法律效应。每年发布的最新指南对于临床医生而言有很大的参考价值,指临床指南中除了文本的论述之外,还有流程图部分。流程图包含了临床路径,在临床诊疗过程中给予对于患者在哪一个阶段应该采用的治疗方案可以给予快速、直观、精准的指导。[0003]目前,临床指南通常采用pdf文件格式。而任一种疾病对应的流程图部分从十多页到几十页不等,页和页之间有前后逻辑关系,每页中的流程图都有几十个节点,最终上千个节点在逻辑上可以汇成一个大的流程图。对于临床使用者来说,通过使用pdf(临床指南的载体)查看临床指南,需要多次翻页,无法对所需的内容进行快速定位。另外,由于pdf文件中流程图呈分叉树形式,缺乏直观逻辑。[0004]现有的pdf文件解析,可以解析出流程图中的文字信息,却无法识别出流程图中各节点间的逻辑关系。技术实现要素:[0005]本发明实施例解决的技术问题是现有的文件解析,无法得到流程图中各节点间的逻辑关系。[0006]为解决上述技术问题,本发明实施例提供一种文件中的流程图解析方法,包括:对待解析文件的每个页面进行解析,获取各页面内的所有元素,以及各元素的属性信息,所述元素包括:文本、线条以及箭头图像;根据所述箭头图像的属性信息,确定各箭头图像的位置,所述箭头图像的属性信息包括箭头图像的位置信息;根据所述箭头图像的位置以及所述线条的属性信息,确定连接线的位置,所述连接线为具有箭头的线条,所述连接线用于标识各节点之间的执行顺序;根据所述文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,其中,所述起始端指所述连接线没有箭头的一端,所述指向端指所述连接线具有箭头的一端;根据所述每个连接线的起始端对应的节点以及指向端对应的节点,确定所述待解析文件中的流程图的各节点的执行顺序。[0007]可选的,所述根据所述箭头图像的位置以及所述线条的属性信息,确定连接线的位置,包括:根据所述线条的属性信息,确定线条的两端的位置;在以所述箭头图像的位置为中心的预设区域范围内,获取一端位于所述预设区域范围内且所述箭头图像相适配的线条,将所述箭头图像及与所述箭头图像适配的线条组合成所述连接线。[0008]可选的,所述根据所述文本的属性信息、每个连接线的起始端的位置,确定每个连接线的起始端对应的节点,包括:在所述连接线的起始端的位置的预设区域范围内,若所述连接线的起始端对应于文本,则根据所述连接线的起始端对应的文本,确定所述连接线的起始端对应的节点。[0009]可选的,所述根据所述连接线的起始端对应的文本,确定所述连接线的起始端对应的节点,包括:根据所述文本的属性信息,得到所述文本中的各文本流的位置及文本流之间的行间距;根据所述各文本流的位置及文本流之间的行间距,确定与所述连接线的起始端相对应的一个或多个文本流,所述与所述连接线的起始端相对应的一个或多个文本流即为所述连接线的起始端对应的节点。[0010]可选的,所述根据所述文本的属性信息、每个连接线的起始端的位置,确定每个连接线的起始端对应的节点,包括:在所述连接线的起始端的位置的预设区域范围内,若所述连接线的起始端对应于线条,则获取所述连接线的起始端对应的线条所跨越的范围内的文本,根据所述连接线的起始端对应的线条所跨越的范围内的文本,确定所述连接线的起始端对应的节点。[0011]可选的,所述获取所述连接线的起始端对应的线条所跨越的范围内的文本,根据所述连接线的起始端对应的线条所跨越的范围内的文本,确定所述连接线的起始端对应的节点,包括以下至少一种:若所述连接线的起始端对应的线条所跨越范围内对应于文本时,根据所述连接线的起始端对应的线条所跨越的范围内对应的文本,确定所述连接线的起始端对应的节点;若所述连接线的起始端对应的线条所跨越范围内对应于其他连接线时,获取所述其他连接线分别对应的节点,将所述其他连接线分别对应的节点作为所述连接线的起始端对应的节点。[0012]可选的,所述根据所述文本的属性信息、每个连接线的指向端的位置,确定每个连接线的指向端对应的节点,包括:在所述连接线的指向端的位置的预设区域范围内,若所述连接线的指向端对应于文本,则根据连接线的指向端对应的文本,确定所述连接线的指向端对应的节点。[0013]可选的,所述根据所述文本的属性信息、每个连接线的指向端的位置,确定每个连接线的指向端对应的节点,包括:在所述连接线的指向端的位置的预设区域范围内,若所述连接线的指向端对应于线条,则获取所述连接线的指向端对应的线条所跨越的范围内的文本,根据所述连接线的指向端对应的线条所跨越的范围内的文本,确定所述连接线的指向端对应的节点。[0014]可选的,所述获取所述连接线的指向端对应的线条所跨越的范围内的文本,根据所述连接线的指向端对应的线条所跨越的范围内的文本,确定所述连接线的指向端对应的节点,包括:若所述连接线的指向端对应的线条所跨越范围内对应于文本时,根据所述连接线的指向端对应的线条所跨越的范围内对应的文本,确定所述连接线的指向端对应的节点;若所述连接线的指向端对应的线条所跨越范围内对应于其他连接线时,获取所述其他连接线分别对应的节点,将所述其他连接线分别对应的节点作为所述连接线的指向端对应的节点。[0015]可选的,所述文件中的流程图解析方法还包括:确定所述待解析文件中的各节点的执行顺序之后,按照各节点之间的执行顺序,形成各节点之间的结构化信息并存储。[0016]可选的,所述文件中的流程图解析方法还包括:获取各页面内的所有元素之后,根据所述线条的属性信息,对所述流程图的边界进行定位;根据所述流程图的边界的定位结果,确定所述流程图的位置。[0017]可选的,所述文件中的流程图解析方法还包括:根据文本的属性信息,识别得到节点标题。[0018]可选的,所述文件中的流程图解析方法还包括:在识别得到节点标题之后,根据文本的属性信息确定所述节点标题的位置;根据所述节点标题的位置以及节点的位置,确定所述节点标题与节点之间的对应关系。[0019]可选的,所述文件中的流程图解析方法还包括:获取角标识别条件;根据每个节点所对应的文本的属性信息,结合所述角标识别条件,判断各节点是否具有角标;当节点对应的文本的属性信息中具有与所述角标识别条件相适配的文本时,将与所述角标识别条件相适配的文本作为角标。[0020]可选的,所述文件中的流程图解析方法还包括:获取脚注识别条件;根据文本的属性信息,结合所述脚注识别条件,确定脚注区域。[0021]可选的,所述脚注识别条件包括:脚注开头字母的字号以及位置,所述根据文本的属性信息,结合所述脚注识别条件,确定脚注区域,包括:根据所述文本的属性信息,确定各文本中的各文本流,以及各文本流的之间的行间距;判断各文本流的开头字母的字号以及开头字母的位置,是否满足所述脚注识别条件;当文本流的开头字母的字号以及开头字母的位置满足所述脚注识别条件中的脚注开头字母的字号以及位置时,根据满足所述脚注识别条件的文本流的横跨的区域以及各文本流之间的行间距,确定脚注区域。[0022]可选的,所述文件中的流程图解析方法还包括:在确定所述脚注区域之后,获取脚注,并将所述脚注与对应的角标进行关联。[0023]可选的,所述文件中的流程图解析方法还包括:获取超链接识别条件;根据所述文本的属性信息以及所述超链接识别条件,识别每个节点中是否具有超链接;当在节点识别到超链接时,获取识别到的超链接对应的属性信息,所述超链接的属性信息包括所述超链接所链接的页码。[0024]本发明实施例还提供一种文件中的流程图解析装置,包括:获取单元,用于对待解析文件的每个页面进行解析,获取各页面内的所有元素,以及各元素的属性信息,所述元素包括:文本、线条以及箭头图像;第一确定单元,用于根据所述箭头图像的属性信息,确定各箭头图像的位置,所述箭头图像的属性信息包括箭头图像的位置信息;第二确定单元,用于根据所述箭头图像的位置以及所述线条的属性信息,确定连接线的位置,所述连接线为具有箭头的线条,所述连接线用于标识各节点之间的执行顺序;第三确定单元,用于根据所述文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,其中,所述起始端指所述连接线没有箭头的一端,所述指向端指所述连接线具有箭头的一端;第四确定单元,用于根据所述每个连接线的起始端对应的节点以及指向端对应的节点,确定所述待解析文件中的流程图的各节点的执行顺序。[0025]本发明实施例还提供一种计算设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述任一种文件中的流程图解析方法的步骤。[0026]本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一种文件中的流程图解析方法的步骤。[0027]与现有技术相比,本发明实施例的技术方案具有以下有益效果:[0028]通过获取待解析文件的各个页面内的所有元素,根据箭头图像的属性信息确定各箭头图像的位置,根据所述各箭头图像的位置以及线条的属性信息,确定连接线的位置,其中,连接线是指具有箭头的线条,可以标识各节点之间的执行顺序。根据文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,进而根据每个连接线的起始端对应的节点以及指向端对应的节点,确定待解析文件中的流程图的各节点的执行顺序,也即可以得到待解析文件中的流程图中各节点之间的逻辑关系。[0029]进一步,根据线条的属性信息,对流程图的边界进行定位,从而根据流程图的边界的定位结果,确定流程图的位置,通过对流程图的位置的定位,可以快速的锁定流程图所在的位置,以提高流程图的解析效率。附图说明[0030]图1是本发明实施例中的一种文件中的流程图的解析方法的示意图;[0031]图2是本发明实施例中的一种文件中的流程图的部分示意图;[0032]图3是本发明实施例中的另一种文件中的流程图的部分示意图;[0033]图4是本发明实施例中的又一种文件中的流程图的部分示意图;[0034]图5是本发明实施了中的一种文件中的流程图的解析装置的结构示意图。具体实施方式[0035]如上所述,现有的pdf文件解析,可以解析出流程图中的文字信息,却无法识别出流程图中各节点间的逻辑关系。[0036]为解决上述问题,本发明实施例中,通过获取待解析文件的各个页面内的所有元素,根据箭头图像的属性信息确定各箭头图像的位置,根据所述各箭头图像的位置以及线条的属性信息,确定连接线的位置,其中,连接线是指具有箭头的线条,可以标识各节点之间的执行顺序。根据文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,进而根据每个连接线的起始端对应的节点以及指向端对应的节点,确定待解析文件中的流程图的各节点的执行顺序,也即可以得到待解析文件中的流程图中各节点之间的逻辑关系。[0037]为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。[0038]参照图1,给出了本发明实施例中的一种流程图解析方法的流程图,具体可以包括如下步骤:[0039]步骤11,对待解析文件的每个页面进行解析,获取各页面内的所有元素,以及各元素的属性信息。[0040]在具体实施中,对待解析文件的每个页面进行解析后,可以获取到各页面内的所有元素以及各元素的属性信息。所获取的各页面内的所有元素可以包括文本、线条以及箭头图像。相应地,各元素的属性信息可以包括文本的属性信息、线条的属性信息以及箭头图像的属性信息。[0041]在具体实施中,文本可以由多个文本流组成。文本的属性信息可以包括各文本流的属性信息。[0042]在本发明实施例中,文本的属性信息可以包括以下至少一种:文本所在的页面的页码、文本所在页面的页面名称文本的位置信息、文本的字形、文本的字号、文本的字体类型、文本的效果、文本的颜色、文本间的字符间距、文本所在行与相邻行之间的行间距、文本的效果、文本的类型等。当文本包括字母时,文本的属性信息还可以包括字母的大写或小写等信息。[0043]文本的位置信息可以为文本的坐标信息,如采用(x,y)标识文本中的某一字符的位置信息,x为文本中的字符所在的行数,y为文本中的字符所在行中的字符位置。某一字符的坐标为(5,16),则该字符为第5行第16个字符。[0044]文本的字形可以包括常规、倾斜、加粗、倾斜并加粗等。[0045]文本的字体类型可以为楷体、宋体、隶书、微软雅黑等。[0046]文本的类型可以包括:文字、字母、拉丁字母、数字、标点符号等。[0047]在本发明实施例中,线条的属性信息可以包括以下至少一种:线条类型、线条的位置信息、线条粗细、线条颜色等。其中,线条的位置信息可以通过线条的两个端点的坐标来表示。也可以采用其他能够表征线条位置的方式来表示。[0048]在具体实施中,待解析文件可以为可携带文档格式(portabledocumentformat,pdf)文件,也可以为word文件。[0049]流程图也称作输入-输出图,可以直观的描述一个工作过程的具体步骤,流程图中的一个步骤可以是作为一个节点。[0050]当待解析文件为pdf文件时,可以采用pdf文件解析工具对pdf文件中的每个页面进行解析,获取到每个页面内的元素及元素的属性信息。例如,可以采用pdfminer解析工具对pdf文件进行解析,pdfminer是一个可以从pdf文件中提取信息的python库。pdfminer注重的是获取和分析文本数据,可以获取某一页中的文本的准确位置和一些诸如字体、行数的信息等。pdfminer包括一个pdf转换器,可以把pdf文件转换成html等格式。pdfminer还包括一个扩展的pdf解析器,可以用于除文本分析以外的其他用途。[0051]pdfminer具有以下特点:完全使用python编写、解析、分析,并转换成pdf文档;支持pdf-1.7规范;支持中日韩语言和垂直书写脚本;支持各种字体类型(type1、truetype、type3,和cid);支持基本加密(rc4);可以完成pdf与html之间的转换,纲要(toc)的提取;标签内容提取,通过分组文本块重建原始的布局等。基于pdfminer的特点,可以使得获取到的元素的属性信息较为丰富,为流程图的解析打下基础。[0052]可以理解的是,也可以采用其他类型的pdf文件解析工具对pdf文件进行解析。[0053]当待解析文件为word文件时,可以采用word文档解析工具对word文件进行解析;也可以将word文件转换成pdf文件,采用pdf文件解析工具对转换的pdf文件进行解析,以得到word文件中的各元素以及元素的属性信息。[0054]步骤12,根据所述箭头图像的属性信息,确定各箭头图像的位置。[0055]在具体实施中,箭头图像的属性信息可以包括箭头图像的位置信息。可以根据箭头图像的位置信息,确定各个箭头图像的位置。流程图中的箭头用于指示工作流方向,根据工作流方向可以得到各节点的执行顺序。[0056]在本发明一实施例中,箭头图像的位置信息中可以包括箭头图像的各个顶点的坐标,可以根据箭头图像的各个顶点的坐标确定箭头图像的位置。[0057]步骤13,根据所述箭头图像的位置以及所述线条的属性信息,确定连接线的位置。[0058]在具体实施中,连接线可以为具有箭头的线条,连接线可以用于标识各节点之间的执行顺序。[0059]在具体实施中,可以采用如下方式确定连接线的位置:可以根据线条的属性信息,确定线条的两端的位置。在以箭头图像的位置为中心的预设区域范围内,获取一端位于预设区域范围内且与箭头图像相适配的线条,将箭头图像及与箭头图像适配的线条组成连接线。以箭头图像为中心的预设区域范围的大小可以根据连接线的样式等实际应用场景进行设定。[0060]在本发明实施例中,线条的属性信息可以包括线条的位置信息,线条的位置信息可以包括线条的两端的坐标,根据线条的两端的坐标可以确定线条的两端的位置。[0061]在具体实施中,箭头图像与线条的斜率相适配可以在以剪头图像为中心的预设区域范围内,与箭头图像的中心区域距离最近的端点对应的线条。[0062]在本发明实施例中,为了提高连接线确定的准确度,还可以对箭头图像进行识别,根据图像识别结果,确定箭头图像中的箭头指向。可以根据线条的属性信息,确定线条的斜率,根据箭头指向及箭头的斜率确定箭头图像及与箭头图像相适配的线条。[0063]在本发明实施例中,当线条为直线时,箭头图像与线条相适配,可以指箭头图像中的箭头指向关于该斜率下的线条的方向一致。[0064]此外,当线条为弯折的线条时,箭头图像中的箭头的指向与线条的斜率相适配指箭头的指向与线条靠近箭头的部分的方向一致。[0065]步骤14,根据所述文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点。[0066]步骤15,根据所述每个连接线的起始端对应的节点以及指向端对应的节点,确定所述待解析文件中的流程图的各节点的执行顺序。[0067]在具体实施中,连接线具有箭头的一端为指向端,连接线没有箭头的一端为起始端。节点之间的执行顺序为从连接线的起始端至指向端。[0068]在获取到每个连接线的起始端对应的节点以及指向端对应的节点之后,可以根据每个连接线的起始端对应的节点以及指向端对应的节点,确定待解析文件中的流程图的各节点之间的执行顺序。[0069]在具体实施中,对于只与连接线的起始端对应的节点,可以作为流程图的开始节点。对于只与连接线的指向端对应的节点,则可以作为流程图的结束节点。对于既与其中一个连接线的起始端对应,又与另一连接线的指向端对应的节点,则可以为流程图的中间节点。根据各连接线的起始端以及指向端分别对应的节点以及各节点与不同的连接线的起始端或者指向端之间的对应关系,可以得到流程图中各个节点之间的执行顺序。[0070]由上可知,通过获取待解析文件的各个页面内的所有元素,根据箭头的属性信息确定各箭头图像的位置,根据所述各箭头图像的位置以及线条的属性信息,确定连接线的位置,其中,连接线是指具有箭头的线条,可以标识各节点之间的执行顺序。根据文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,进而根据每个连接线的起始端对应的节点以及指向端对应的节点,确定待解析文件中的流程图的各节点的执行顺序,也即可以得到待解析文件中的流程图中各节点之间的逻辑关系。[0071]在具体实施中,步骤14中,根据文本的属性信息、每个连接线的起始端的位置,确定连接线的起始端对应的节点。由于在实际应用中,连接线的起始端可以对应于节点,也可以对应于线条,根据连接线的起始端对应的对象不同,连接线的起始端对应的节点的确定方式不同,以下进行举例说明:[0072]方式一,在连接线的起始端的位置的预设区域范围内,若所述连接线的起始端对应于文本,则根据所述连接线的起始端对应的文本,确定所述连接线的起始端对应的节点。[0073]例如,连接线的起始端对应于文本,根据所述文本的属性信息,得到所述文本中的各文本流的位置及文本流之间的行间距,根据所述各文本流的位置及文本流之间的行间距,确定与所述连接线的起始端相对应的一个或多个文本流,所述与所述连接线的起始端相对应的一个或多个文本流即为所述连接线的起始端对应的节点。通常,一个节点对应于多个文本流时,多个文本流的起始位置相同或相近,且多个文本流为相邻行,故可以根据各文本流的位置及文本流之间的行间距,确定连接线的起始端对应的节点。[0074]此外,可以根据一个或多个文本流的属性信息,可以确定节点的位置。[0075]方式二,在所述连接线的起始端的位置的预设区域范围内,若所述连接线的起始端对应于线条,则获取所述连接线的起始端对应的线条所跨越的范围内的文本,根据所述连接线的起始端对应的线条所跨越的范围内的文本,确定所述连接线的起始端对应的节点。[0076]其中,获取所述连接线的起始端对应的线条所跨越的范围内的文本,根据所述连接线的起始端对应的线条所跨越的范围内的文本,确定所述连接线的起始端对应的节点,可以包括多种方式,根据实际应用场景中的流程图的情况,以下方式可以存在其中一种,也可以同时存在多种。[0077]在本发明一实施例中,若所述连接线的起始端对应的线条所跨越范围内对应于文本时,根据所述连接线的起始端对应的线条所跨越的范围内对应的文本,确定所述连接线的起始端对应的节点若所述连接线的起始端对应的线条所跨越范围内对应于文本时,根据所述连接线的起始端对应的线条所跨越的范围内对应的文本,确定所述连接线的起始端对应的节点。[0078]具体而言,可以根据文本的属性信息,得到所述文本中的各文本流的位置及文本流之间的行间距,根据所述各文本流的位置及文本流之间的行间距,确定连接线的起始端对应的线条所跨越的范围内的文本流,根据连接线的起始端对应的线条所跨越的范围内的文本流得到连接线的起始端对应的节点。[0079]在本发明另一实施例中,若所述连接线的起始端对应的线条所跨越范围内对应于其他连接线时,获取所述其他连接线分别对应的节点,将所述其他连接线分别对应的节点作为所述连接线的起始端对应的节点。此种方式,通常适用于连接线的起始端对应于多个节点时的场景中。[0080]在具体实施中,当多个连接线的起始端对应于同一个线条时,则这多个连接线的起始端对应的节点相同。[0081]例如,参照图2,给出了本发明实施例中的一种文件中的流程图的部分示意图。连接线21的起始端对应于线条22,线条22所跨越范围内对应于连接线23、连接线24及连接线25,连接线23、连接线24及连接线25的指向端均指向线条22,连接线23的起始端对应于节点1、连接线24的起始端对应于节点2,连接线25的起始端对应于节点3,从而连接线21的起始端对应的节点包括节点1、节点2及节点3。[0082]又如,参照图3,给出了本发明实施例中的另一种文件中的流程图的部分示意图。连接线31的起始端对应于线条32,线条32的所跨越范围内对应于连接线33、节点5和节点6。连接线33的指向端指向线条32,连接线32的起始端指向节点4,则连接线31的起始端对应的节点包括节点4、节点5和节点6。[0083]再如,参照图4,给出了本发明实施例中的又一种文件中的流程图的部分示意图。连接线41、连接线42及连接线43的起始端均对应于线条44。线条44所跨越范围内对应于连接线45及连接线46。连接线45的指向端及连接线46的指向端分别对应于线条44。连接线45的起始端对应于节点7,连接线46的起始端对应于节点8,则连接线41的起始端、连接线4的起始端2及连接线43的起始端对应的节点相同,均为节点7及节点8。[0084]需要说明的是,上述举例,以流程图为横向流程图为例,在实际应用中,本发明实施例提供的文件中的流程图解析方法也适用于纵向流程图,此处不再一一举例。连接线对应的线条所跨越范围内的节点数目也不局限于2个或3个,也可以为1个、4个、5个或者其他数目。[0085]在具体实施中,步骤14中,根据所述文本的属性信息、每个连接线的指向端的位置,确定每个连接线的指向端对应的节点。由于在实际应用中,连接线的指向端可以对应于节点,也可以对应于线条,根据连接线的指向端对应的对象不同,连接线的指向端对应的节点的确定方式不同,以下进行举例说明:[0086]方式一,在连接线的指向端的位置的预设区域范围内,若连接线的指向端对应于文本,则根据连接线的指向端对应的文本,确定所述连接线的指向端对应的节点。[0087]例如,连接线的指向端对应于文本,根据所述文本的属性信息,得到所述文本中的各文本流的位置及文本流之间的行间距,根据所述各文本流的位置及文本流之间的行间距,确定与所述连接线的指向端相对应的一个或多个文本流,所述与所述连接线的指向端相对应的一个或多个文本流即为所述连接线的指向端对应的节点。通常,一个节点对应于多个文本流时,多个文本流的起始位置相同或相近,且多个文本流所在的行数相邻,故可以根据各文本流的位置及文本流之间的行间距,确定连接线的指向端对应的节点。[0088]此外,可以根据一个或多个文本流的属性信息,可以确定节点的位置。[0089]方式二,在所述连接线的指向端的位置的预设区域范围内,若所述连接线的指向端对应于线条,则获取所述连接线的指向端对应的线条所跨越的范围内的文本,根据所述连接线的指向端对应的线条所跨越的范围内的文本,确定所述连接线的指向端对应的节点。[0090]在连接线的指向端指向线条时,连接线的指向端可以指向线条的中心位置,也可以指向线条的两端中的任一端,还可以指向线条的下方的位置,还可以指向线条的上方位置等,在实际应用中,可以设定箭头图像指向的预设区域,当线条的位置满足预设区域时,可以判断连接线的指向端指向该预设区域的线条。[0091]其中,获取所述连接线的指向端对应的线条所跨越的范围内的文本,根据所述连接线的指向端对应的线条所跨越的范围内的文本,确定所述连接线的指向端对应的节点,可以包括多种方式,根据实际应用场景中的流程图的情况,以下方式可以存在其中一种,也可以同时存在多种:[0092]在本发明一实施例中,若所述连接线的指向端对应的线条所跨越范围内对应于文本时,根据所述连接线的指向端对应的线条所跨越的范围内对应的文本,确定所述连接线的指向端对应的节点。[0093]具体而言,可以根据文本的属性信息,得到所述文本中的各文本流的位置及文本流之间的行间距,根据所述各文本流的位置及文本流之间的行间距,确定连接线的指向端对应的线条所跨越的范围内的文本流,根据连接线的指向端对应的线条所跨越的范围内的文本流得到连接线的指向端对应的节点。[0094]在本发明另一实施例中,若所述连接线的指向端对应的线条所跨越范围内对应于其他连接线时,获取所述其他连接线分别对应的节点,将所述其他连接线分别对应的节点作为所述连接线的指向端对应的节点。[0095]在具体实施中,当多个连接线的指向端对应于同一个线条时,则这多个连接线的指向端对应的节点相同。[0096]例如,继续参照图4,连接线48的指向端及连接线49的指向端均对应于线条47,线条47所跨越范围内为节点7,连接线48的指向端及连接线49的指向端对应的节点相同,均为节点7。[0097]又如,继续参照图4,连接线45的指向端及连接线46的指向端均对应于线条44。线条44跨越范围内对应于连接线41、连接线42及连接线43。连接线41的起始端、连接线42的起始端及连接线43的起始端均对应于线条44,连接线41的指向端、连接线42的指向端及连接线43的指向端分别对应的节点,即为连接线45的指向端以及连接线46的指向端对应的节点。[0098]需要说明的是,上述举例仅为示意性说明,在实际应用中,由于流程图的复杂程度不同,上述连接线的起始端对应的节点确定方式以及指向端对应的节点确定方式可以同时使用采用也可以根据需求进采用其中的一种或多种。[0099]在具体实施中,流程图可以为横向流程图,也可以为纵向流程图,根据流程图的走向不同,连接线的起始端或指向端对应于线条时,线条的方向也不同。通常,在横向流程图中,连接线的起始端或指向端对应的线条为竖直方向的线条;在纵向流程图中,连接线的起始端或指向端对应的线条为水平方向的线条。[0100]例如,在医疗领域,通常采用横向流程图,当连接线的起始端或者指向端对应于线条时,线条的方向通常为竖直方向。流程图中的节点可以具有两个相对设置的竖直线条,也可以具有一个竖直线条,还可以具有两个相对设置的竖直线条和两个相对设置的水平线条,还可以没有线条。不管哪种节点类型均可以通过本发明上述实施例提供的连接线的起始端或者指向端对应的节点的确定方式进行确定。[0101]在具体实施中,在得到各节点之间的执行顺序之后,可以按照各节点之间的执行顺序,形成各节点之间的结构化信息并存储。[0102]在本发明实施例中,各节点之间的结构化信息可以包括节点间的先后执行顺序,每个节点对应的文本、每个节点的位置、每个节点所在页面的页码中的一种或多种,其中,节点间的执行顺序可以表征节点之间的逻辑关系。[0103]在具体实施中个,在进行节点的结构化信息存储时,可以以连接线为单位,分别对连接线的起始端对应的节点以及指向端对应的节点,按照节点的先后执行顺序对节点以及与节点相关的信息进行存储。当同一连接线的指向端或起始端分别对应多个节点时,则可以分开存储,例如,继续参照图4,连接线48的起始端对应节点9,连接线48的指向端对应节点7和节点8,在存储时,可以按照如下方式进行存储:节点9,节点7;节点9,节点8。[0104]在具体实施中,在获取各页面内的所有元素之后,还可以根据线条的属性信息,对流程图的边界进行定位,根据流程图的边界的定位结果,确定流程图的位置。[0105]在具体实施中,可以采用边界线来区别流程图部分及其他部分,其中其他部分可以为正文部分或者文章标题部分等。[0106]作为流程图的边界线的线条通常具有设定的格式,例如,作为流程图的边界线的线条对线条的长度、线条的位置、线型、线条粗细或者线条颜色等具有固定的要求。[0107]在具体实施中,线条的属性信息可以包括线型、线条粗细、线条颜色、线条长度、线条位置等中的一种或多种。因此,可以根据线条的属性信息,确定线条是否为流程图的边界线,进而可以对流程图的边界进行定位。[0108]具体而言,可以设定流程图的边界对应的边界条件,判断各线条的属性信息是否满足边界条件,对于满足边界条件的线条可以作为边界线,从而可以根据边界线对流程图的边界进行定位。边界条件可以包括线型、线条粗细、线条颜色、线条长度、线条位置中的一种或多种,边界条件具体所包含的内容够可以根据实际需求进行设定。[0109]例如,边界条件包括如下内容:线条长度。若线条的长度接近或等于页面的宽度或长度,则可以判定该线条为边界线。[0110]在具体实施中,边界条件中对线条的信息要求越多,对流程图的边界的定位可能越精确,若是流程图中的作为边界的线条存在多种时,可能会导致遗漏,为了避免遗漏,可以设定边界条件中的各条件的优先级,按照所设定边界条件中各条件的优先级,判断各线条是否为流程图的边界的线条。[0111]例如,边界条件包括如下内容:线条长度、线条粗细、线条位置及线条颜色,其中,线条长度的优先级高于线条粗细,线条粗细的优先级高于线条位置,线条位置的优先级高于线条颜色。若线条的属性信息无法同时满足边界条件中的所有条件时,可以按照边界条件所包含的条件的优先级顺序,当某一线条的属性信息满足边界条件中的部分优先级较高的条件时,也可以判定该线条为流程图的边界。[0112]又如,对边界条件中的某一条件设定多种子条件,例如,线条粗细可以包括4pt、3pt、2pt,在实际判断中,若某一线条的属性信息中的线条粗细需足任一个子条件,则判断该线条的粗细满足边界条件中的线条粗细要求。[0113]通过根据流程图的边界的定位结果来确定流程图的位置,可以快速从待解析文件的页面中快速定位到流程图的位置,从而可以提高流程图的解析效率。[0114]在本发明实施例中,为提高流程图的位置的定位精度,可以结合流程图的边界的定位结果以及箭头图像的位置,来确定流程图的位置。[0115]在具体实施中,对于一些具有节点标题的流程图,为了提高流程图的解析完整性,还可以根据文本的属性信息,对节点标题进行识别。[0116]经研究发现,节点标题通常采用设定的字体类型以及字号,因此,可以根据文本的属性信息中的字体类型以及字号,判断文本中的文本流是否为节点标题。[0117]经研究发现,节点标题通常与流程图的边界相邻或者处于流程图的边界的预设范围内,为了提高节点标题的确定的准确性,在本发明实施例中,可以根据文本的属性信息以及流程图的边界的定位结果,进行节点标题的识别。[0118]在具体实施中,在识别得到节点标题之后,还可以根据节点标题的位置以及节点的位置,确定节点标题与节点之间的对应关系。[0119]在本发明实施例中,节点标题在每行所处的位置通常与节点所处的位置对应,通常节点标题在对应节点的上方,可以根据节点标题在对应行的字符位置以及节点所在行的字符位置,判断各节点分别对应的节点标题。[0120]继续参照图4,节点9及节点10对应的节点标题为“节点标题1”,节点7及节点8对应的节点标题为“节点标题2”。[0121]在具体实施中,还可以获取角标识别条件,根据每个节点对应的文本的属性信息,结合节点识别条件,判断各节点是否具有角标。当任一节点对应的文本的属性信息中具有与角标识别条件相适配的文本时,可以将与角标识别条件相适配的文本作为角标。[0122]在本发明实施例中,角标识别条件可以包括文本的类型、文本的位置、文本的字号等。文本的类型可以为字母、拉丁字母或者数字等。文本的位置通常为某一字符的右上角位置,字号可以为五号、小五等。角标识别条件可以根据实际需求进行设定,此处不做限定。[0123]判断文本中的各元素的属性信息是否与角标识别条件相适配,例如,角标识别条件为文本类型为字母、右上角位置及小五号字体。某一文本e的属性信息满足角标识别条件中的字母、右上角位置及小五号字体,则判断该文本e为角标。[0124]在具体实施中,可以根据角标识别条件以及节点标题对应文本的属性信息,对节点标题进行识别,判断节点标题中是否存在角标。[0125]在本发明实施例中,当识别到角标时,在存储角标相关的信息时,将识别到的角标标示出来。为了便于区分角标与其他文本,可以在角标前后采用特殊符号进行标识,例如采用五角星“★”。例如,节点标题workupb中出现角标b,可以采用以下方式进行存储:workup★b★。可以理解的是,还可以采用其他符号对角标进行标示。[0126]在具体实施中,可以获取脚注识别条件,根据文本的属性信息,结合脚注识别条件,确定脚注区域。[0127]在本发明实施例中,脚注识别条件可以包括:脚注开头字母的字号以及位置。进一步地,脚注识别条件还可以包括文本的大小写等。[0128]在具体实施中,可以采用如下方式确定脚注区域:根据文本的属性信息,确定各文本的所形成的文本流以及形成的文本流的之间的行间距。判断文本流的开头字母的字号以及开头字母的位置是否满足脚注识别条件,当文本流的开头字母的字号以及开头字母的位置满足脚注识别条件中的脚注开头字母的字号以及位置时,可以根据满足脚注识别条件的文本流的横跨区域以及各文本之间的行间距,确定脚注区域。[0129]在确定脚注区域之后,获取脚注,并将所述脚注与对应的角标进行关联。[0130]在本发明实施中,可以对脚注区域内的脚注的脚注名称、脚注内容、脚注所在的页面的页码等中的一种或多种进行存储。[0131]在具体实施中,还可以对流程图中是否存在超链接进行识别,具体而言,可以获取超链接识别条件,根据文本的属性信息以及超链接识别条件,识别每个节点中是否具有超链接,当在任一节点识别到超链接时,可以获取识别到的超链接的属性信息。其中,超链接的属性信息可以包括超链接所链接的页码。[0132]在本发明实施例中,超链接识别条件可以包括:句式、文本与线条的位置关系,以及特殊符号等。[0133]句式与待解析文件所采用的语种相关,根据待解析文件所采用的语种不同,超链接所采用的句式不同。例如,语种为英语时,句式可以为以“see”开头的句子。又如,语种为中文时,句式可以为以“参见”或“参考”等开头的句子。[0134]文本与线条的位置关系可以为具有下划线的文本,具体而言,根据文本的属性信息以及线条的属性信息,得到文本中的某些文本流的下方预设区域范围内具有线条,则可以判断该文本流为超链接。[0135]特殊符号可以为括号等。例如,根据括号内的文本得到超链接的所链接的页码。[0136]在具体实施中,可以根据超链接识别条件对脚注区域内的文本进行识别,判断脚注区域对应的文本中是否存在超链接。[0137]在识别到超链接时,可以根据超链接所属的对象,对超链接的属性信息进行存储。当超链接存在于节点时,在存储各节点之间的结构化信息时,可以对节点中出现的超链接的属性信息进行存储,至少存储超链接所链接的页码。在具体实施中,可以分别对节点之间的结构化的信息、与角标相关信息、与脚注相关的信息以及超链接相关的信息进行单独的存储,也可以根据角标的出现位置、脚注的出现位置,对节点之间的结构化的信息、与角标相关信息、与脚注相关的信息以及超链接相关的信息进行综合存储。[0138]例如,当角标出现在节点标题或者节点中时,在对节点之间的结构化的信息进行存储时,可以设置角标相关的字段,对角标出现的节点或节点标题的对应位置处,对角标相关的信息进行标示。还可以设置有超链接相关的字段,对于出现超链接的节点所链接的页码以及页码名称等信息进行标识。[0139]可以理解的是,关于节点之间的结构化的信息、与角标相关信息、与脚注相关的信息以及超链接相关的信息等的存储格式以及存储内容等可以根据需求进行设定。[0140]为了便于本领域技术人员更好的理解和实现本发明实施例。本发明实施例还提供一种流程图解析装置。[0141]参照图5,给出了本发明实施例中的一种文件中的流程图解析装置的结构示意图。文件中的流程图解析装置50可以包括:[0142]获取单元51,用于对待解析文件的每个页面进行解析,获取各页面内的所有元素,以及各元素的属性信息,所述元素包括:文本、线条以及箭头图像;[0143]第一确定单元52,用于根据所述箭头图像的属性信息,确定各箭头图像的位置,所述箭头图像的属性信息包括箭头图像的位置信息;[0144]第二确定单元53,用于根据所述箭头图像的位置以及所述线条的属性信息,确定连接线的位置,所述连接线为具有箭头的线条,所述连接线用于标识各节点之间的执行顺序;[0145]第三确定单元54,用于根据所述文本的属性信息、每个连接线的起始端的位置以及指向端的位置,确定每个连接线的起始端对应的节点以及指向端对应的节点,其中,所述起始端指所述连接线没有箭头的一端,所述指向端指所述连接线具有箭头的一端;[0146]第四确定单元55,用于根据所述每个连接线的起始端对应的节点以及指向端对应的节点,确定所述待解析文件中的流程图的各节点的执行顺序。[0147]在具体实施中,文件中的流程图解析装置50的具体工作原理及工作流程,可以参考本发明上述实施例中提供的文件中的流程图解析方法中的描述,此处不再赘述。[0148]本发明实施例还提供一种计算设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本发明上述任一实施例提供的文件中的流程图的解析方法中的步骤。[0149]本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行本发明上述任一实施例提供的文件中的流程图的解析方法中的步骤。[0150]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。[0151]虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1