文档解析方法、装置、设备及存储介质制造方法及图纸

技术编号:25397977 阅读:23 留言:0更新日期:2020-08-25 23:02
本申请提出了一种文档解析方法、装置、设备及存储介质,涉及文档解析技术领域,具体实现方案为:接收文档解析请求,并根据文档解析请求下载对应的文档;将文档转换为可扩展标记语言XML文件;对转换后的XML文件进行解析以提取XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的文档内容存储至数据库。根据本申请实施例的文档解析方法,能够提高文档解析效率。

【技术实现步骤摘要】
文档解析方法、装置、设备及存储介质
本申请涉及计算机
,尤其涉及文档解析
,提出一种文档解析方法、装置、设备及存储介质。
技术介绍
目前,各类文档格式在日常工作生活中被广泛使用。文档解析作为一种常见的文档处理方式,能够为文档内容抽取任务完成前置工作。相关技术中,通过ApachePOI工具实现文档解析,在批量解析文档时,该方案的文档解析效率仍有待提高。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请提出一种文档解析方法、装置、设备及存储介质,以提高文档解析效率。根据本申请第一方面实施例提出了一种文档解析方法,包括:接收文档解析请求,并根据所述文档解析请求下载对应的文档。将所述文档转换为可扩展标记语言XML文件。对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至数据库。本申请实施例的文档解析方法,通过将文档转换为XML文件,在批量文档解析场景下快速获取文档对应的XML文件,进而对转换后的XML文件进行解析以提取XML文件之中的文档内容,实现了XML文件的高效解析,提高文档解析效率。以JSON格式将提取的文档内容存储至数据库,便于应用于机器学习模型训练。根据本申请第二方面实施例提出了一种文档解析装置,包括:组件容器,所述组件容器包括解析请求接收接口;设置在所述组件容器之中的数据库组件;设置在所述组件容器之中的文档下载组件,用于根据所述解析请求接收接口接收的文档解析请求下载对应的文档;设置在所述组件容器之中的文档转换组件,用于将所述文档转换为可扩展标记语言XML文件;设置在所述组件容器之中的文档解析组件,用于对转换之后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至所述数据库组件。本申请实施例的文档解析装置,包括:组件容器,设置在所组件容器之中的数据库组件、文档下载组件、文档转换组件、文档解析组件,组件容器包括解析请求接收接口。本实施例中,文档下载组件根据解析请求接收接口接收的文档解析请求下载对应的文档,文档转换组件将文档转换为XML文件,在批量文档解析场景下快速获取文档对应的XML文件,文档解析组件对转换之后的XML文件进行解析以提取XML文件之中的文档内容,实现了XML文件的高效解析,并以JSON格式将提取的文档内容存储至数据库组件,便于应用于机器学习模型训练。由此,提高了文档解析效率。根据本申请第三方面实施例提出了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面实施例所述的文档解析方法。本申请第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面实施例所述的文档解析方法。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1为本申请实施例所提供的一种文档解析方法的流程示意图;图2为本申请实施例所提供的另一种文档解析方法的流程示意图;图3为本申请实施例所提供的一种文档解析装置的示意图;图4为本申请实施例所提供的另一种文档解析装置的示意图;图5为本申请实施例所提供的另一种文档解析装置的结构示意图;图6为本申请实施例所提供的一种文档解析的处理流程示意图;图7示出了适于用来实现本申请实施例的示例性电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1为本申请实施例所提供的一种文档解析方法的流程示意图,如图1所示,该方法包括:步骤101,接收文档解析请求,并根据文档解析请求下载对应的文档。本实施例中,文档解析请求中携带有文件地址,通过接收文档解析请求,并根据文档解析请求中携带的文件地址下载对应的文档。可选地,文档解析请求中还可以携带有文件标识,文件标识用于使文档和文档解析结果形成唯一映射。步骤102,将文档转换为可扩展标记语言XML文件。本实施例中,可以通过相关文件解压算法将下载的文档解压,进而将文档转换为XML文件。可选地,文档为Word文档,通过Libreoffice转换器将文档转换为XML文件。步骤103,对转换后的XML文件进行解析以提取XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的文档内容存储至数据库。本实施例中,通过解析器对转换后的XML文件进行解析,从而获取XML文件中的文档内容,进而,将文档内容转换为JSON格式并存储至数据库组件。可选地,文档为Word文档,通过ElementTree解析器对转换后的XML文件进行解析。作为一种示例,以Word文档为例,接收Word文档解析请求,根据文档解析请求中携带的文档地址下载对应的Word文档。进而,调用Libreoffice将Word文档转换为XML格式,具体地,通过Libreoffice的命令行接口,即通过“soffice--headless--convert-to”命令实现文档转换。进一步,通过ElementTree接口将XML文件中的Word文档内容以段落为单位依次进行抽取,将抽取的Word文档内容转换为通用的JSON格式进行存储。本申请实施例的文档解析方法,通过将文档转换为XML文件,能够实现高效的文档格式转换,在批量文档解析场景下快速获取文档对应的XML文件,进而对转换后的XML文件进行解析以提取XML文件之中的文档内容,实现了XML文件的高效解析,提高文档解析效率。此外,将文档内容转换为JSON格式,便于应用于机器学习模型训练,相对于调用ApachePOI工具解析文档并将解析结果重新转存的方式进一步提高了处理效率。图2为本申请实施例所提供的另一种文档解析方法的流程示意图,如图2所示,该方法包括:步骤201,接收文档解析请求,通过下载任务队列根据所述文档解析请求下载对应的文档。本实施例中,下载任务队列包括多个下载任务,每个下载任务调用对应的下载线程获取文档解析请求,并根据文档解析请求下载对应的文档,作为一种示例,接收文档解析请求后,若下载任务队列中存在空闲的下载任务,则通过空闲的下载任务调用对应的下载线程获取文档解析本文档来自技高网...

【技术保护点】
1.一种文档解析方法,其特征在于,包括:/n接收文档解析请求,并根据所述文档解析请求下载对应的文档;/n将所述文档转换为可扩展标记语言XML文件;/n对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至数据库。/n

【技术特征摘要】
1.一种文档解析方法,其特征在于,包括:
接收文档解析请求,并根据所述文档解析请求下载对应的文档;
将所述文档转换为可扩展标记语言XML文件;
对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,并以JS对象简谱JSON格式将提取的所述文档内容存储至数据库。


2.如权利要求1所述的文档解析方法,其特征在于,其中,
所述根据所述文档解析请求下载对应的文档,包括:
通过下载任务队列根据所述文档解析请求下载对应的文档,所述下载任务队列包括多个下载任务,每个所述下载任务调用对应的下载线程获取文档解析请求,并根据所述文档解析请求下载对应的文档;
所述将所述文档转换为可扩展标记语言XML文件,包括:
通过转换任务队列将所述文档转换为XML文件,所述转换任务队列包括多个转换任务,每个所述转换任务调用对应的转换线程将所述下载任务下载的文档转换为XML文件;
所述对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,包括:
通过解析任务队列对所述转换后的XML文件进行解析以提取所述文档内容,所述解析任务队列包括多个解析任务,每个所述解析任务调用对应的转换线程对转换之后的XML文件进行解析。


3.如权利要求2所述的文档解析方法,其特征在于,还包括:
对所述下载任务队列之中的下载任务的状态进行监控;
当所述下载任务完成之后,根据所述下载任务在所述转换任务队列之中新增对应的转换任务。


4.如权利要求2所述的文档解析方法,其特征在于,还包括:
对所述转换任务队列之中的转换任务的状态进行监控;
当所述转换任务完成之后,根据所述转换任务在所述解析任务队列之中新增对应的解析任务。


5.如权利要求1所述的方法,其特征在于,所述文档为Word文档,其中,
所述将所述文档转换为XML文件,包括:
通过Libreoffice转换器将所述文档转换为XML文件;
所述对转换后的XML文件进行解析以提取所述XML文件之中的文档内容,包括:
通过ElementTree解析器对转换后的XML文件进行解析以提取所述XML文件之中的文档内容。


6.如权利要求5所述的方法,其特征在于,通过分布式任务队列管理工具对所述下载任务队列、所述转换任务队列和所述解析任务队列进行管理,其中,所述分布式任务队列管理工具、所述Libreoffice转换器和所述ElementTree解析器加载在Docker容器引擎之中。


7.如权利要求1所述的方法,其特征在于,所述数据库具有互斥锁,当所述互斥锁被当前任务抢占时,所述数据库对其他任务禁止读/写。


8.如权利要求2所述的方法,其特征在于,所述转换任务的数量大于所述下载任务的数量和所述解析任务的数量。


9.一种文档解析装置,其特征在于,包括:
组件容器,所述组件容器包括解析请求接收接口;
设置在所述组件容器之中的数据库组件;
设置在所述组件容器之中的文档下载组件,用于根据所述解析请求接收接口接收的文档解析请...

【专利技术属性】
技术研发人员:张亦鹏张真刘明浩姚荣洁郭江亮
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利