技术领域
[0001] 本申请涉及计算机技术领域,具体提供一种基于大语言模型的结构化信息提取方法、控制器及介质。
相关背景技术
[0002] 文档图像即图像格式的文档。它是通过某种方式将纸质文档等转化为图像格式的文档,以供用户电子阅读。对于文档图像的智能分析与处理在现实场景的应用中具有重要意义,可以将图像中的文字和图像信息结合起来,并将其用于数据分析、信息检索、自然语言处理以及其他信息处理任务中,推动相关行业的数字化转型和智能化升级,进而推动人工智能技术的发展。
[0003] 目前,现有的图像分析提取技术对于表格、图表或收据等存在大段非连续字段的图像的提取效果并不能达到真实场景中所需的标准。在通用场景下,大部分图像分析提取技术所采用的关键字匹配的规则是固定的,需要针对适用场景进行定制,无法完成真实场景中复杂的结构化信息提取任务。而若是单纯地采用通过自然语言技术返回图像的文字提取结果,并采用大语言模型去进行结构化信息提取的方法进行图像分析,由于自然语言技术返回的文字结果并不能带有图像版面信息,进而会导致大语言模型不能准确判断关键词与对应文字结果之间的匹配关系,因此这种方法也不能实现准确针对中文图像进行高精确度的结构化信息提取。
[0004] 相应地,本领域需要一种新的方案来解决上述问题。
具体实施方式
[0049] 下面参照附图来描述本申请的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本申请的技术原理,并非旨在限制本申请的保护范围。
[0050] 在本申请的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0051] 这里先解释本申请涉及到的一些术语。
[0052] 文档版面分析是对图片或页面扫描图像上的区域进行定位和分类的过程,版面分析指的是将文档图像分割成不同版面类型内容的区域,将文本、图片或表格等不同类型的内容从背景中区分出来,以便更好地理解和处理这些信息。在印刷和出版领域中,版面类型是指用于安排文字、图片和其他元素的页面布局形式,最常见的版面类型可以包含文本、图片或表格。版面分析可以对于整个文档或者页面进行结构化分析,以便更好地进行图像信息的提取和利用。
[0053] 结构化信息是指通过将数据进行分类、标签化和组织,以便能够更容易地存储、搜索、分析和共享的信息。结构化信息经过分析后可分解成多个互相关联的组成部分,各组成部分间有明确的层次结构,其使用和维护通过数据库进行管理,并有一定的操作规范,是可以用二维表结构来逻辑表达实现的数据。结构化数据可以是数字或文本形式的数据,如数据库中的表格、电子表格、标记语言的文件,或者其他结构化格式的数据。
[0054] 参阅附图1,图1是根据本申请的一个实施例的基于大语言模型的结构化信息提取方法的主要步骤流程示意图。如图1所示,本申请实施例中的基于大语言模型的结构化信息提取方法主要包括下列步骤S101‑步骤S103。
[0055] 步骤S101:对目标图像进行版式分析,确定目标图像中的至少一个分区。
[0056] 在本实施例中,目标图像可以包括真实场景下的收据、表格、文档、票据凭证的照片与含有文字的扫描件等等存在大段非连续字段的图像。
[0057] 在本实施例中,分区是指目标图像中的具有同一种版面类型的区域。目标图像中可以含有多个分区,每个分区具有不同的版面类型。如,目标图像可以包含文字版面的分区、表格版面的分区和图片版面的分区。
[0058] 一个实施方式中,步骤S101可以进一步包括步骤S1011至步骤S1013:
[0059] 步骤S1011:基于预先训练的版式分析模型,根据版面类型从目标图像中提取至少一个版块。
[0060] 步骤S1012:检测每个版块的版块位置信息。
[0061] 步骤S1013:根据每个版块的版面类型和版块位置信息,获取目标图像的不同版面类型的分区。
[0062] 在本实施方式中,版式分析模型为预先训练的用于识别目标图像中的版面类型的模型。
[0063] 一个实施方式中,版式分析模型可以为聚合(Ensemble)模型。其中,聚合模型是采用集成方法(Ensemble)通过将具有不同功能的模型合并以产生改进的模型。如,版式分析模型可以为微调后的PaddleOCR模型与经过大量表格和图像样本训练的表格检测模型和图像检测模型相集成聚合后的模型。
[0064] 一些实施方式中,版式分析模型也可以聚合PaddleOCR模型中的用于版面类型识别的代码,用于版式分析模型实现对于各种版面类型的检测。
[0065] 其中,PaddleOCR模型是一种文字识别模型,带有用于版式分析的代码,可以基于深度学习的强大能力,提供文本检测、文本识别和版面分析等功能,满足多场景下的文字识别需求。
[0066] 在本实施方式中,版块位置信息为目标图像中的分区的位置信息。可以通过在目标图像中获取每个分区的周边像素点的位置,获取板块位置信息。
[0067] 一个实施方式中,可以由版式分析模型进行检测得到含有版面类型信息的分区,并输出该分区在目标图像中的坐标信息和尺寸大小。
[0068] 在本实施方式中,目标图像的分区可以包括文字版面的分区、图像版面的分区和表格版面的分区中的一种或多种分区。
[0069] 作为举例,可以参阅附图2,图2是根据本申请实施例的目标图像的分区的一个实施方式的主要示意图。如图2所示,将图2中的原始图片经过版式分析模型处理,可以得到图片版面分区1、表格版面分区2和文字版面分区3。
[0070] 步骤S102:对每个分区中的文字进行聚类,获取每个分区的关键词信息。
[0071] 在本实施例中,对文字进行聚类是将相似的文字或文字片段分组到一组或一个类别中的过程,用以提取每个分区的关键词信息,还可以简化大量的非结构化文本数据。
[0072] 在本实施例中,关键词信息为目标图像的结构化信息提取任务的任务关键词,与目标图像的应用场景相关,用于限定结构化信息的范围,以提高最终得到的结构化信息的准确率。
[0073] 一个实施方式中,可以通过对每个分区对应的聚类结果进行关键词提取,进行匹配和打分,将最匹配的聚类结果作为该分区的关键词信息。在一些可能的实施方式中,也可以采用其他方式获取每个分区的关键词信息,如,根据预设标准选择代表性的聚类结果的聚类中心作为关键词信息,均不影响本申请实施例的正常实现。
[0074] 一个实施方式中,可以参阅附图3,图3是根据本申请实施例的获取关键字信息的一个实施方式的主要示意图。如图3所示,步骤S102可以进一步包括步骤S1021至步骤S1025:
[0075] 步骤S1021:通过光学字符识别技术检测每个分区中的文字信息。
[0076] 在本实施方式中,光学字符识别技术(Optical Character Recognition,OCR)是一种采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。其中,OCR技术中的场景文字识别技术(Scene Text Recogntion,STR)主要面向自然场景,可以通过对图像中字符的识别和转换为文本形式来实现文字信息处理。
[0077] 步骤S1022:通过预先训练的转换器模型将文字信息转换为词向量序列。
[0078] 在本实施方式中,转换器模型(Transformer)是一个利用注意力机制来提高模型训练速度的深度学习模型。Transformer模型的核心在于其编码器‑解码器结构,其中,编码器负责将输入序列转换为中间表示,而解码器则利用这些表示生成输出序列。
[0079] 一个实施方式中,由转换器模型输出的词向量序列可以为文字信息的平均词向量(Sentence Embedding)。其中,平均词向量就是将文字信息中所有词的词向量相加取平均所得到的向量。在一些可能的实施方式中,词向量序列还可以为由文字信息转换得到的空间向量,均不影响本申请实施例的正常实现。
[0080] 步骤S1023:基于自然语言处理技术,对文字信息进行特征提取,得到多个特征向量。
[0081] 在本实施方式中,自然语言处理技术(Natural Language Processing,NLP)的特征提取指的是将文字信息转换为可输入机器学习模型的数字表示,即特征向量。
[0082] 步骤S1024:根据每个分区的词向量序列和特征向量对文字信息进行聚类,得到每个分区对应的多个聚类关键词。
[0083] 步骤S1025:根据每个聚类关键词与预设关键词的匹配程度,选择符合预设标准的聚类关键词作为每个分区的关键词信息。
[0084] 在本实施方式中,预设关键词可以为根据该目标图像的结构化信息提取任务预先设定的关键词,通过利用该预设关键词与每个聚类关键词相匹配,以提高最终确定的每个分区的关键词信息与结构化信息提取任务的相关性。
[0085] 一个实施方式中,也可以对目标图像中所有文字进行聚类,从紧凑性最高的聚类结果中确定预设关键词。
[0086] 步骤S103:基于每个分区的版面类型和关键词信息,调用大语言模型获取目标图像的结构化信息。
[0087] 在本实施例中,分区的版面类型可以包括文字、表格和图片。若分区的版面类型为文字,该分区的结构化信息为文字结构化信息,若分区的版面类型为表格,该分区的结构化信息为表格结构化信息,若分区的版面类型为图片,该分区的结构化信息为图片结构化信息。
[0088] 在本实施例中,大语言模型可以用于提取表格数据、提取文字和对图片进行描述等等。具体地,若分区的版面类型为表格,则大语言模型用于提取表格中的表格结构化信息;若分区的版面类型为文字,则大语言模型用于从自由形式中的文本中提取文字结构化信息;若分区的版面类型为图片,则大语言模型可以为多模态大语言模型,用于对图片生成图片描述信息,进而得到图片结构化信息。
[0089] 一个实施方式中,步骤S103可以进一步包括步骤S1031和步骤S1032:
[0090] 步骤S1031:应用所述大语言模型,基于每个分区的版面类型和关键词信息,获取每个分区的分区结构化信息;
[0091] 步骤S1032:根据每个分区结构化信息,得到目标图像的结构化信息。
[0092] 在本实施方式中,目标图像包含有表格版面、文字版面和图片版面中的至少一种版面类型的分区。
[0093] 一个实施方式中,步骤S1032还可以进一步包括:
[0094] 根据表格结构化信息、文字结构化信息和图片结构化信息中的至少一种分区结构化信息,获得整合后的结构化信息,并将整合后的结构化信息作为目标图像的结构化信息。
[0095] 一个实施方式中,若目标图像包括表格版面的分区,则步骤S1031可以进一步包括步骤S10311至步骤S10314:
[0096] 步骤S10311:若分区的版面类型为表格版面,根据表格识别模型识别分区的表格线,得到分区的单元格位置。
[0097] 步骤S10312:基于自然语言处理技术,利用单元格位置提取分区的文字。
[0098] 步骤S10313:根据关键词信息和大语言模型,从分区的文字中确定表头属性信息和表格文字信息。
[0099] 步骤S10314:利用表头属性信息和表格文字信息,组成分区的表格结构化信息。
[0100] 一个实施方式中,若目标图像包括文字版面的分区,则步骤S1031可以进一步包括步骤S10315至步骤S10316:
[0101] 步骤S10315:若分区的版面类型为文字版面,根据关键词信息生成提示词。
[0102] 步骤S10316:调用大语言模型,根据提示词提取分区中的文字结构化信息。
[0103] 在本实施方式中,提示词用于引导大语言模型识别分区的所有文字,大语言模型为预先经过小样本学习的利用自然语言文本训练后的模型。
[0104] 在本实施方式中,大语言模型只需经过少量与结构化信息提取任务相关的标注数据或监督样本进行训练,即可提高模型在结构化信息提取任务上的效果。
[0105] 在本实施方式中,根据关键词信息生成提示词,可以采用提示工程(Prompt Engingering),用于根据提示词引导大语言模型输出与关键词信息相关的结构化信息。
[0106] 一个实施方式中,若目标图像包括图片版面的分区,则步骤S1031可以进一步包括步骤S10317至步骤S10318:
[0107] 步骤S10317:若分区的版面类型为图片版面,基于关键词信息调用大语言模型获取分区的图片的图片描述信息。
[0108] 步骤S10318:利用多模态大语言模型将图片描述信息和图片组合,得到分区的图片结构化信息。
[0109] 在本实施方式中,大语言模型可以为多模态大语言模型,多模态大语言模型(Multimodal Large Language Models,MLLM)是由大语言模型扩展而来具有多模态信息处理能力的模型,能够利用如文本和图像等多种类型的数据输入,更加全面的理解和处理信息。具体地,多模态大语言模型可以更好地理解图像中的物体特征和环境背景,生成准确度更高的图像描述。
[0110] 一个实施方式中,可以参阅附图4,图4是根据本申请实施例的基于大语言模型的结构化信息提取方法的一个实施方式的主要示意图。如图4所示,步骤S1032可以包括:
[0111] 对于版面类型为图片的分区1,利用视觉语言模型得到图片的描述信息,进而得到该分区的结构化信息;
[0112] 对于版面类型为表格的分区2,利用表格识别模块和OCR识别技术提取表格中的文字,进而得到该分区的结构化信息;
[0113] 对于版面类型为文字的分区3,经过OCR识别技术进行文字提取,根据大语言模型和提示工程得到该分区的结构化信息。
[0114] 其中,视觉语言模型(Language Large Model,LLM‑vision)可以结合图像和文本数据进行学习,对图像内容进行理解并能够生成相关的自然语言描述。
[0115] 基于上述步骤S101‑步骤S103,本申请可以通过识别出目标图像的各个版面类型,实现目标图像的分区,利用各个分区的版面类型和关键词信息进行结构化信息的提取,以提高结构化信息提取的准确度。同时,本申请可以通过对目标图像中的每个分区中的文字进行聚类,得到每个分区的关键词信息,可以适用不同场景下的图像信息提取。如此,本申请可以针对通用真实场景下的如扫描件、收据、表格、文档或票据凭证等存在不同版面类型的图像,实现高精度地提取图像中的结构化信息。
[0116] 需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本申请的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本申请的保护范围之内。
[0117] 本领域技术人员能够理解的是,本申请实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
[0118] 进一步,本申请还提供了一种控制器。在根据本申请的一个控制器实施例中,控制器包括处理器和存储器,存储器可以被配置成存储执行上述方法实施例的基于大语言模型的结构化信息提取方法的程序,处理器可以被配置成用于执行存储器中的程序,该程序包括但不限于执行上述方法实施例的基于大语言模型的结构化信息提取方法的程序。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该控制器可以是包括各种电子设备形成的控制器设备。
[0119] 在本申请实施例中控制器可以是包括各种电子设备形成的控制器设备。在一些可能的实施方式中,控制器可以包括多个存储器和多个处理器。而执行上述方法实施例的基于大语言模型的结构化信息提取方法的程序可以被分割成多段子程序,每段子程序分别可以由处理器加载并运行以执行上述方法实施例的基于大语言模型的结构化信息提取方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储器中,每个处理器可以被配置成用于执行一个或多个存储器中的程序,以共同实现上述方法实施例的基于大语言模型的结构化信息提取方法,即每个处理器分别执行上述方法实施例的基于大语言模型的结构化信息提取方法的不同步骤,来共同实现上述方法实施例的基于大语言模型的结构化信息提取方法。
[0120] 上述多个处理器可以是部署于同一个设备上的处理器,例如上述控制器可以是由多个处理器组成的高性能设备,上述多个处理器可以是该高性能设备上配置的处理器。此外,上述多个处理器也可以是部署于不同设备上的处理器,例如上述控制器可以是服务器集群,上述多个处理器可以是服务器集群中不同服务器上的处理器。
[0121] 进一步,本申请还提供了一种计算机可读存储介质。在根据本申请的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的基于大语言模型的结构化信息提取方法的程序,该程序可以由处理器加载并运行以实现上述基于大语言模型的结构化信息提取方法。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储器设备,可选的,本申请实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0122] 进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本申请的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
[0123] 本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本申请的原理,因此,拆分或合并之后的技术方案都将落入本申请的保护范围内。
[0124] 至此,已经结合附图所示的优选实施方式描述了本申请的技术方案,但是,本领域技术人员容易理解的是,本申请的保护范围显然不局限于这些具体实施方式。在不偏离本申请的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本申请的保护范围之内。