本发明属于数据处理技术领域,具体涉及一种基于目标检测的研报解析方法、装置、设备和存储介质。
背景技术:
随着互联网的快速发展,为方便更多投资者进行投资,许多券商或投资机构对于上市公司都会定期做一个专业的研究报告,研究报告通常都是以pdf文件发布的,但不同券商或投资机构研究报告的版面结构都是不同的,而且文件结构都比较复杂。
解析这些pdf格式的研报文件,从中得到结构化数据,是一个常见的需求,这就不可避免的要对文件的内容进行解析与提取,但由于pdf格式文档结构的封闭性,并没有对文件中的文字、表格和图片等信息进行很好的结构化,现有技术直接抽取到的信息是离散的、不完整的、没有逻辑关系的字符片段。虽然目前解析pdf文件的工具有很多,但解析准确率普遍不高,特别是对研报文件的解析,基本上不能满足使用需求。
现有的pdf文件解析的方法主要有以下两种:
1)使用格式转换工具将pdf文件先转换为一种中间格式的文档,如xml或doc等,然后从中间格式的文件中解析文件中的数据。通过将pdf文件转换为中间格式文件再进行解析的方法,虽然解析方法比较简单,且能够得到半结构化的数据,但是中间文件不能完全保持数据在原始文件中的结构和位置信息,甚至在转换过程中会丢失重要数据,这就对后续结构化提取会造成不好的影响,而且提取出来的信息,只是简单的区分为本文及图表,并没有进一步的结构化,如标题、正文、页眉、页脚等。
2)获取pdf文件每一页信息,将每一页信息生成树形结构,通过复杂的手写规则将字符片段合并为段落,同时基于统计或直线检测的方法解析出文件中的表格信息,从而实现pdf文件的解析。通过手写规则直接解析pdf文件的方法,虽然能够保证不丢失文件数据,但是针对不同版面格式的文件,就需要不断的添加规则,解析方法会变得越来越复杂,而且规则之间会相互影响,使用范围比较局限,尤其是在文件结构比较复杂的情况下,准确率会显著降低。同样提取出来的信息,只是简单的区分为本文及图表,并没有进一步的结构化,如标题、正文、页眉、页脚等。
中国专利“cn201710067220一种pdf文件的信息抽取方法及装置”在上述方法2)的基础上提供了一种对研报文件精细解析并有效抽取图表信息的方法。该方法首先获取pdf文件的每页信息,然后生成每页的树形结构,基于树形结构每个节点的信息,通过统计和预设规则的方法获取到每页的标题、正文、图表和配对的图标标题和图标结尾,最后汇总pdf文件每一页的结果,生成pdf文件的半结构化数据,而且获取了比上述方法更多的信息。该方法虽然一定程度上简化了研报文件后续结构化提取的流程,并且对提取到的数据进行了进一步的结构化,但是该方法本身存在一定的问题,首先,该方法只是简单的将每页中的数据分为正文、标题、图标等类别,但是研报的版面结构是复杂多变的,尤其是研报首页的版面,存在很多不是正文,且不是标题,但比较重要的文本块,该方法中并没有对这部分数据的处理进行介绍。其次,该方法是基于统计与手写规则的,这样方法就有很大的局限性,不能很好的解析具有复杂版面的研报。
技术实现要素:
本发明针对现有技术中缺少对以pdf发布的研究报告进行准确解析的技术问题,目的在于提供一种既能简化研报文件解析流程,提高解析准确率,又能对研报数据进行充分结构化的基于目标检测的研报解析方法、装置、设备和存储介质。
一种基于目标检测的研报解析方法,包括:
获取研报文件,通过预设的目标检测模型对所述研报文件进行目标检测,得到目标检测结果;
解析所述研报文件,获取所述研报文件内每一页中的字符信息,根据所述目标检测结果,将位于同一个目标内的字符进行合并,得到结构化信息;
汇总所述研报文件内每一页的结构化信息,生成所述研报文件的结构化数据。
可选的,所述获取研报文件,通过预设的目标检测模型对所述研报文件进行目标检测,得到目标检测结果之前,包括对所述目标检测模型进行训练,训练过程包括:
获取多份研报文件,根据所述研报文件的版面结构,将所述研报文件中的数据块划分为不同的类别;
将所述研报文件内每一页的页面均转换为图片,得到多份图片文件;
根据所述类别标注所述图片文件内的图片,生成用来训练所述目标检测模型的训练数据;
根据标注好的所述训练数据,利用目标检测算法训练所述目标检测模型,通过选定不同的特征提取网络,训练出适用于研报文件的目标检测模型。
可选的,所述类别包括研报标题、特殊结构、统计图、结构图、表格、图表标题、图表注释、页眉、页脚、正文或正文标题中的至少一种或组合。
可选的,所述目标检测算法包括ssd目标检测算法、yolo目标检测算法或faster-rcnn目标检测算法中的一种。
可选的,对所述目标检测模型进行训练,还包括:
获取新的多份研报文件,将新的所述研报文件内每一页的页面均转换为图片,得到多份图片文件;
根据所述类别标注所述图片文件内的图片,生成用来训练所述目标检测模型的新的训练数据;
根据标注好的新的所述训练数据,利用目标检测算法重新训练所述目标检测模型,得到重新训练后的目标检测模型。
可选的,所述获取研报文件,通过预设的目标检测模型对所述研报文件进行目标检测,得到目标检测结果,包括:
获取所述研报文件,将所述研报文件内每一页的页面转换为图片,得到图片文件,调用所述目标检测模型,将所述图片文件输入所述目标检测模型,得到所述目标检测结果。
可选的,所述目标检测结果包括目标、所述目标在所述图片中的坐标位置和目标类别;
所述结构化信息为具有目标类别的结构化信息。
可选的,所述汇总所述研报文件内每一页的结构化信息,生成所述研报文件的结构化数据,包括:
汇总所述研报文件内每一页的结构化信息,对所述结构化信息按照预设的排序规则进行排序,生成所述研报文件的结构化数据。
可选的,所述预设的排序规则为按照所述结构化信息在所述研报文件出现顺序。
一种基于目标检测的研报解析装置,包括:
确定目标检测结果模块,用于获取研报文件,通过预设的目标检测模型对所述研报文件进行目标检测,得到目标检测结果;
解析模块,用于解析所述研报文件,获取所述研报文件内每一页中的字符信息,根据所述目标检测结果,将位于同一个目标内的字符进行合并,得到结构化信息;
生成数据模块,用于汇总所述研报文件内每一页的结构化信息,生成所述研报文件的结构化数据。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于目标检测的研报解析方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于目标检测的研报解析方法的步骤。
本发明的积极进步效果在于:本发明采用基于目标检测的研报解析方法、装置、设备和存储介质,通过训练以研报版面分析为基础的目标检测模型,极大的简化了研报文件解析的流程,在不需要复杂规则的条件下,就可以充分的结构化研报内容,而且如果有新的、复杂的券商研报需要解析的时候,只需要标注新的研报图片数据,训练目标检测模型就可以了,不会增加文件解析流程的复杂度。
附图说明
图1为本发明方法的一种流程示意图;
图2为本发明的一种研报文件解析流程图。
图3为本发明目标检测模型的一种训练流程图;
图4为本发明的一种标注示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示进一步阐述本发明。
参照图1,一种基于目标检测的研报解析方法,包括:
s1,确定目标检测结果:获取研报文件,通过预设的目标检测模型对研报文件进行目标检测,得到目标检测结果。
本步骤的研报文件是一种券商发布的研究报告,多以pdf文件公开,针对一篇研报pdf文件,在进行解析时,需要首先对其进行格式转换,再通过目标检测模型进行目标检测,得到目标检测结果。
在一个实施例中,步骤s1,包括:
获取研报文件,将研报文件内每一页的页面转换为图片,得到图片文件,调用目标检测模型,将图片文件输入目标检测模型,得到目标检测结果。
本实施例中的目标检测结果是研报文件中每一页页面的目标检测结果,该目标检测结果包括目标、目标在图片中的坐标位置和目标类别。采用目标检测模型,对研报pdf文件从视觉上进行了版面分析,不仅定位出每个数据块,即目标的位置,而且给出了该数据块相对应的类别。
s2,解析研报文件:解析研报文件,获取研报文件内每一页中的字符信息,根据目标检测结果,将位于同一个目标内的字符进行合并,得到结构化信息。对研报文件进行解析时,可以采用现有技术中的解析工具,如pdfminer、pdfplumber等。当前解析到的信息是离散的,只包含字符位置、大小或颜色等没有结构化意义的信息,遍历解析到的字符信息,结合上个步骤得到的页面目标检测结果,将位于同一个目标内的字符进行合并,从而将离散的字符信息转为连续的有意义而且具有特定类别的结构化信息,且本步骤中的结构化信息为具有目标类别的结构化信息。这种结构化对研报后续的关键信息提取及检索等功能的开发能够提供很大的帮助,大大简化后续的开发工作。
本步骤在解析研报pdf文件时候,参考目标检测模型对数据块的定位结果,可以简化解析流程并提高解析结果的准确率。
s3,生成结构化数据:汇总研报文件内每一页的结构化信息,生成研报文件的结构化数据。
在一个实施例中,步骤s3,包括:汇总研报文件内每一页的结构化信息,对结构化信息按照预设的排序规则进行排序,生成研报文件的结构化数据。
本实施例中的预设的排序规则为按照结构化信息在研报文件中的出现顺序。即在汇总每一页结构化信息后,对结构化信息按照出现顺序进行排序,生成研报pdf文件的结构化数据。
参照图2,在一个实施例中,本发明的一种研报pdf文件解析流程如下:
1)获取研报pdf文件;
2)将研报pdf文件内每一页的页面转换为多张图片;
3)将图片输入目标检测模型,得到每一页的目标检测结果;
4)对研报pdf文件的按页进行初步解析,得到初步解析结果;
5)遍历初步解析结果,结合步骤3)得到的目标检测结果,对研报pdf文件进行结构化解析;
6)汇总结构化解析结构并输出。
参照图3,在一个实施例中,本发明在步骤s1之前,还包括步骤s0,对目标检测模型进行训练,训练过程如图3中所示,包括:
s01,挑选研报文件:获取多份研报文件,根据研报文件的版面结构,将研报文件中的数据块划分为不同的类别。
本步骤中,获取的多份研报文件尽可能的覆盖所有类别的版面结构。类别包括研报标题、特殊结构、统计图、结构图、表格、图表标题、图表注释、页眉、页脚、正文或正文标题中的至少一种或组合。
s02,文件转图片:将研报文件内每一页的页面均转换为图片,得到多份图片文件。
由于券商发布的研究报告,多以pdf文件公开,因此需要将研报文件转为图片格式的文件。
s03,标注训练数据:根据类别标注图片文件内的图片,生成用来训练目标检测模型的训练数据。
本步骤可以使用开源的目标检测标注工具(labelimg)对研报图片进行标注。
参照图4,对某一研报文件中的某一页转成的图片进行了详细的版面结构标注。同时,在标注阶段将每个自然段进行了区分,保证后续pdf解析的时候,能够得到完整的段落,并且针对特殊结构,将每个有意义的数据块标注为一个特殊结构,如分析师介绍、相关研报和评级等,这样对后续研报关键信息提取有很大的帮助。
s04,训练模型:根据标注好的训练数据,利用目标检测算法训练目标检测模型,通过选定不同的特征提取网络,训练出适用于研报文件的目标检测模型。
本步骤中的目标检测算法包括ssd目标检测算法、yolo目标检测算法或faster-rcnn目标检测算法中的一种。
通过挑选不同的特征提取网络,训练出最终使用的研报目标检测模型。通过目标检测模型可以很方便的对研报文件的内容进行结构化,而且能够用一个网络来解决各种复杂的版面情况。
s05,模型测试:获取未标注过的图片文件,输入训练后的目标检测模型,检测模型的准确性。
本实施例还可以增加本步骤对训练后的模型进行最终的准确性测试。若未能检测出图片文件内的目标,则需要重新进行s04训练。
在一个实施例中,对目标检测模型进行训练,还包括:
获取新的多份研报文件,将新的研报文件内每一页的页面均转换为图片,得到多份图片文件;根据类别标注图片文件内的图片,生成用来训练目标检测模型的新的训练数据;根据标注好的新的训练数据,利用目标检测算法重新训练目标检测模型,得到重新训练后的目标检测模型。
如果有新的券商研报文件需要进行解析,我们只需要收集新的券商研报文件,标注出预定义的类别,重新训练目标检测模型就能够完成对新研报的解析工作,不用修改其他部分,不会使研报的解析变的越来越复杂。
在一个实施例中,提出了一种基于目标检测的研报解析装置,包括:
确定目标检测结果模块,用于获取研报文件,通过预设的目标检测模型对研报文件进行目标检测,得到目标检测结果;
解析模块,用于解析研报文件,获取研报文件内每一页中的字符信息,根据目标检测结果,将位于同一个目标内的字符进行合并,得到结构化信息;
生成数据模块,用于汇总研报文件内每一页的结构化信息,生成研报文件的结构化数据。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例基于目标检测的研报解析方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例基于目标检测的研报解析方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。
以上各实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。