1.本发明涉及自然语言处理技术领域,特别涉及一种基于预训练语言模型的图像信息抽取方法及装置。
背景技术:
2.图像信息抽取指的是从文本图像中,抽取出关键的信息的任务,包括两个主要步骤,即从图像中提取出文字信息,及将关键信息从文本中抽取出来。其中,第一个步骤主要实现方法是ocr技术,即光学文字识别,指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。然而,基于ocr技术从图像中识别出文字内容,ocr的结果通常是一些离散的文本片段,同时,受ocr模型的性能、图像的质量等因素影响,往往会包含一些噪声和错误,因此,需要对此进行进一步的去噪、纠错,以及文本信息抽取工作。同时,使用人力从这些文档图像中提取或者收集关键信息耗时费力,如何自动化融合图像中的视觉、布局、文字等特征并完成关键信息抽取是一个价值与挑战并存的问题。
3.现有方法依赖人工设计,需要人工设计和编写规则。而设计和维护规则需要大量的时间和精力,自然语言具有复杂的语言现象,基于规则的方法难以涵盖和处理所有这些复杂性,并且规则的质量和覆盖范围受限于人工设计的能力和经验。此外,现有技术中,无法处理新的或未知的关系,难以处理噪声和错误。基于规则的方法是基于已知的规则和模式进行关系抽取的,无法处理新出现的关系或未知的关系类型。基于规则的方法对输入文本的质量和准确性较为敏感。当文本中存在噪声、错误或不完整信息时,规则可能无法正确匹配和提取关系,导致抽取结果的不准确性。此外,数据标注需求高。大量标注数据的需求较高,需要有足够的训练数据才能获得准确的关系抽取模型。处理噪声困难。ocr识别结果可能存在噪声和错误,这会对机器学习模型的性能产生负面影响。这需要采取噪声处理和纠错机制来提高模型的鲁棒性。因此,现有方法存在依赖于大量人工编写规则或标注数据,噪声抑制、纠错能力不足以及不同领域泛化性不足等的问题。
4.因此,有必要提供一种新的图像信息抽取方法,以解决上述问题。
技术实现要素:
5.本发明意在提供一种基于预训练语言模型的图像信息抽取方法及装置,以解决现有技术中依赖于大量人工编写规则或标注数据,噪声抑制、纠错能力不足以及不同领域泛化性不足等的技术问题,本发明要解决的技术问题通过以下技术方案来实现。
6.第一方面,本发明提出一种基于预训练语言模型的图像信息抽取方法,包括以下步骤:建立提示库,具体包括基于问题类型和应用场景构建prompt结构模版;输入待处理文字图片,识别文字元素和各文字元素的坐标位置信息;从提示库中选取与待处理文字
图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息;将所生成的当前检索信息输入优化后的预训练语言模型,进行文本纠错和关系提取,以输出信息提取结果,其中,在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版。
7.根据可选的实施方式,所述自动更新所述prompt结构模版,包括:计算所输出的信息提取结果与期望结果之间的距离或相似度,以确定是否满足要求条件,在确定满足条件时,将所输出的信息提取结果存入提示库;在确定未满足要求条件时,更新当前使用的prompt结构模版。
8.根据可选的实施方式,根据所计算得到的距离或相似度,使用梯度下降算法优化标签的超参数,使信息提取结果更接近期望结果;在预训练语言模型的基础上进行p-tuning训练,通过多次迭代不断更新prompt结构模版中填充槽所对应的嵌入向量,以在p-tuning训练过程中自动更新prompt结构模版。
9.根据可选的实施方式,所述基于问题类型和应用场景构建prompt结构模版的方法,包括以下步骤:根据不同应用场景的关系类型和任务需求,配设prompt结构模板;配设的所述prompt结构模板包含关键词和填充槽,所述填充槽用于插入具体的文本信息和位置信息。
10.根据可选的实施方式,所述构建prompt结构模版的方法,包括以下步骤:确定任务目标,具体确定要抽取的关系类型和期望目标;确定与应用场景相对应的填充槽及其数量。
11.根据可选的实施方式,还包括以下步骤:使用评估数据集对经p-tuning训练得到的预训练语言模型进行评估,分析生成的prompt结构模版在关系抽取任务上的性能参数,根据评估结果,对prompt结构模版进行优化和调整。
12.根据可选的实施方式,所述从提示库中选取与待处理文字图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息,包括:选取与场景文字标识相适配的prompt结构模版,将所识别的文字元素和各文字元素的坐标位置信息填入所选取的prompt结构模版中预留的填充槽中,生成当前检索信息。
13.根据可选的实施方式,还包括以下步骤:使用ocr模型,识别文字元素和各文字元素的坐标位置信息;所述预训练语言模型为gpt-3模型。
14.第二方面,本发明提出一种基于预训练语言模型的图像信息抽取装置,采用本发明第一方面所述的图像信息抽取方法,所述图像信息抽取装置包括:提示库建立模块,用于建立提示库,具体包括基于问题类型和应用场景构建prompt结构模版;识别处理模块,用于输入待处理文字图片,识别文字元素和各文字元素的坐标位置信息;生成模块,从提示库中选取与待处理文字图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息;输出模块,将所生成的当前检索信息输入优化后的预训练语言模型,进行文本纠错和关系提取,以输出信息提取结果,其中,预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版。
15.根据可选的实施方式,还包括自动更新模块,所述自动更新模块用于自动更新所述prompt结构模版,或用于计算所输出的信息提取结果与期望结果之间的距离或相似度,以确定是否满足要求条件,在确定满足条件时,将所输出的信息提取结果存入提示库;在确定未满足要求条件时,更新当前使用的prompt结构模版。
16.第三方面,本发明提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面所述的方法。
17.第四方面,本发明提供一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本发明第一方面所述的方法。
18.与现有技术相比,本发明具有以下优点与有益效果:1、本发明通过使用ocr模型识别文字图像中的文字元素及其位置坐标信息,在提示库中选取合适的prompt结构模版,通过将各文字元素及各文字元素的坐标信息与prompt结构模版结合生成当前检索信息,并输入到预训练语言模型中进行文本纠错、信息抽取,能够有效实现从输入文字图像到输出文字结果全流程自动化,利用大规模预训练语言模型中蕴含的丰富知识对于ocr识别结果进行了噪声抑制和纠错,能够大大减少人工工作量,还能够提升信息抽取的准确率和效率。
19.2、本发明通过在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版,能够有效减少训练时长,能够减少要学习的参数数量,能够在注样本很少的情况下完成对prompt结构模板的学习,且不易过拟合,进而有效优化模型的同时有效更新prompt结构模版,能够有效提高模型精度。
附图说明
20.图1是本发明的基于预训练语言模型的图像信息抽取方法的一示例的步骤流程图;图2是本发明的基于预训练语言模型的图像信息抽取方法中构建prompt结构模版的一具体示例的流程示意图;图3是本发明的基于预训练语言模型的图像信息抽取方法中ocr模型的建立的一示例的流程图;图4是本发明的基于预训练语言模型的图像信息抽取方法中更新prompt结构模版的一具体示例的流程示意图;图5是本发明的基于预训练语言模型的图像信息抽取装置的一示例的框架示意图;图6是根据本发明的电子设备实施例的结构示意图;图7是根据本发明的计算机可读介质实施例的结构示意图。
具体实施方式
21.实施例需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
22.鉴于上述问题,本发明提出一种基于预训练语言模型的图像信息抽取方法,该方法通过使用ocr模型识别文字图像中的文字元素及其位置坐标信息,在提示库(例如prompt提示库)中选取合适的prompt结构模版,通过将各文字元素及各文字元素的坐标信息与prompt结构模版结合生成当前检索信息(例如query,具体为问题检索、查询检索等),将所
生成的当前检索信息输入到预训练语言模型中进行文本纠错及抽取符合要求的图像中的关系实体信息。本发明实现了从输入文字图像到输出文字结果全流程自动化,并利用大规模预训练语言模型中蕴含的丰富知识对于ocr识别结果进行了噪声抑制和纠错,大大减少了人工工作量,提升了信息抽取的准确率和效率。
23.需要说明的是,本发明的图像信息抽取方法中信息抽取任务特别适用于ocr识别的下游任务,存在以下的实际应用场景:表单识别、车票信息抽取、身份证信息抽取、医疗信息提取,等等。
24.图1是本发明的图像信息抽取方法的一示例的步骤流程图。
25.下面参照图1、图2、图3和图4,对本发明的内容进行详细说明。
26.如图1所示,在步骤s101中,建立提示库,具体包括基于问题类型和应用场景构建prompt结构模版。
27.如图2所示,基于问题类型和应用场景构建prompt结构模版,具体包括以下步骤。
28.步骤s201:确定任务目标,具体确定要抽取的关系类型和期望目标。
29.具体的,例如车票信息抽取应用场景,确定车票信息抽取任务。期望目标:从车票图片中抽取“{姓名}、{车次}、{起始站}、{终点站}、{发车时间}和{到站时间}”等六个关键词。
30.例如,抽取车次与时间的关系类型、车次与站点的关系类型、车次与乘车人的关系类型等。
31.再例如,期望抽取到的车票信息内容如下:姓名:d润;车次:d5%%2次;起始站:c春;终点站:j林。
32.在该应用场景中,包括车次与发车时间(或车次与到站时间)的关系类型(即车次与时间关系类型),车次与起始站(或车次与终点站)的关系类型(即车次与站点的关系类型),车次与乘车人的关系类型等。
33.步骤s202:确定与应用场景相对应的填充槽及其数量。
34.具体根据不同应用场景的关系类型和任务需求,配设prompt结构模板接着,根据上述多个关系类型车票信息提取任务,配设第一类prompt结构模板。
35.具体的,prompt结构模板包含关键词和填充槽,所述填充槽用于插入具体的要抽取信息、具体的文本信息和位置信息(在文字图像中的坐标位置、或在文本段中的坐标位置信息)。
36.例如,“{姓名}、{车次}、{起始站}、{终点站}、{发车时间}和{到站时间}”和“{文字1 坐标1} {文字2 坐标2}
ꢀ…ꢀ
{文字6 坐标6}
ꢀ”
即为关键词和填充槽。
37.具体的,所述prompt结构模版包括与应用场景相对应的指定数量的填充槽。例如,在车票信息抽取应用场景中,包括六个填充槽。
38.具体的,关键词的数量a和填充槽的数量b相等。但是不限于此,在其他实施方式中m关键词的数量a小于填充槽的数量b。
39.需要说明的是,在例如表单识别、身份证信息抽取、医疗信息提取的应用场景下,配设第二类prompt结构模板、第三类prompt结构模板、第四类prompt结构模板。关键词的数量和填充槽的数量没有特别的限制。
40.在一具体实施方式中,确定问题类型和知识库,确定问题类型和应用领域,以便构
建相应的提示库(即prompt库)。接着,收集并整理与问题类型相关的知识库或数据集,包括问题与答案的对应关系。然后,构建prompt结构模板,设计合适的问题模板,结合识别出的文字元素和其坐标信息。根据问题类型和知识库,构建适用于预训练语言模型的prompt结构模板,以引导模型生成准确的答案。
41.例如,使用人工构建prompt结构模板,针对常见的车牌号码、发票、试卷等关系抽取任务。例如针对不常见的如医学报告、科学实验等专业性较强的图像信息抽取任务,还可通过p-tuning方式构建prompt结构库。
42.具体的,在确定与应用场景相对应的填充槽及其数量之前,准备初始prompt结构模版,根据关系类型和任务需求,准备一组初始的prompt结构模板,具体基于常见的关键词和填充槽进行配设。例如:“[unused1][unused2][unused3][unused4][unused5][unused6] {文字1 坐标1} {文字2 坐标2}
ꢀ……
。”等。
[0043]
通过构建多类prompt结构模板,以建立提示库,所述提示库用于为待处理文字图片提供相适配的prompt结构模板,以进一步用于生成当前检索信息。
[0044]
接下来,在步骤s102中,输入待处理文字图片,识别文字元素和各文字元素的坐标位置信息。
[0045]
在一具体实施方式中,例如使用ocr模型作为文本识别模型,识别文字元素和各文字元素的坐标位置信息。
[0046]
具体使用ocr模型提取待处理文字图片(例如为文字图像)中的各文字元素及各文字元素的坐标位置信息。
[0047]
需要说明的是,在本示例中,所述待处理文字图片为包含文字元素的图片或照片。
[0048]
对于ocr模型的建立,具体包括以下步骤:步骤s301:进行数据收集与准备。
[0049]
需要说明的是,本发明所建立的ocr模型需要对图像文字进行识别和定位,因此需要返回两部分信息:文字内容和文字所在图片中的位置信息,因此,模型主要包括两个模块,即文本检测(用于定位)和文本识别(用于识别文字内容)。
[0050]
具体的,收集包含与表单识别、车票信息抽取、身份证信息抽取、医疗信息提取相关的不同类型、不同质量的图像数据集,其中,包括文档、照片或图片等。为每张图像标注文字元素的位置坐标,例如使用矩形框标注或者多边形标注。为每个文字元素标注对应的文本。
[0051]
步骤s302:对文本识别模型进行训练。
[0052]
具体使用收集和标注的训练数据集,训练ocr模型,得到训练好的ocr模型。
[0053]
需要说明的是,在其他实施方式中,还可选择使用现有的ocr模型架构(如tesseract、crnn等),并使用收集和标注的训练数据集对现有的ocr模型进行微调训练,得到训练好的ocr模型,即得到文本识别模型。此外,还可以使用深度学习模型,如卷积神经网络(cnn)和循环神经网络(rnn)的结合,建立文本识别模型,以实现文字识别。上述近作为可选示例进行说明,不能理解成对本发明的限制。
[0054]
具体的,选用ctpn算法进行文本检测任务,选用crnn ctc方法进行文本识别算法。
[0055]
文本检测模块使用ctpn算法,ctpn网络结构主要包括三个部分:卷积层提取特征、候选区域生成和回归预测。首先,使用预训练的卷积神经网络(通常是vgg16)对输入图像
(例如包含文字元素的图片或照片)进行卷积操作,提取图像的特征映射。然后,在特征映射上使用双向lstm(长短时记忆网络)来捕捉文本行的上下文信息。这有助于识别不同文本行之间的联系,生成上下文敏感区域。接着,在lstm输出的基础上,使用1x1卷积产生候选区域,这些候选区域被认为可能包含文本,简称生成一个个包含文字锚框、即多个文字锚框。最后,进行回归预测,针对每个候选区域,使用另一个lstm网络预测生成文本框的位置和形状。
[0056]
文本识别模块选用crnn ctc方法,即首先使用cnn提取图像卷积特征,然后引入深层双向lstm(递归神经网络)进一步提取图像卷积特征中的序列特征,最后引入ctc(connectionist temporal classification,基于神经网络的时序类分类)解决训练时字符无法对齐的问题。
[0057]
具体的,收集包含不同类型、不同质量的图像数据集,其中包括文档、照片等,为每张图像标注文字元素的位置坐标,可以使用矩形框标注或者多边形标注。为每个文字元素标注对应的文本。使用以上数据进行模型训练,获得ocr模型。
[0058]
步骤s303:文字元素识别。
[0059]
具体的,使用训练好的ocr模型对新的图像进行文字识别,获取每个文字元素的识别结果,并获取每个文字元素的位置坐标信息。
[0060]
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
[0061]
接下来,在步骤s103中,从提示库中选取与待处理文字图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息。
[0062]
具体从所建立的提示库中选取与场景文字标识相适配的prompt结构模版,将所识别的文字元素和各文字元素的坐标位置信息填入所选取的prompt结构模版中预留的填充槽中,生成当前检索信息。
[0063]
在一具体实施方式中,使用现有的prompt结构模版或者上述步骤s101所建立的提示库中的prompt结构模版,将所识别的文字元素和各文字元素的坐标位置信息填入上述prompt结构模版中,生成当前检索信息。
[0064]
具体的,所述当前检索信息为“{姓名 (x1,y1,h1)} {车次 (x2,y2,h2)}
ꢀ…ꢀ
{到站时间 (xn,yn,hn)}
ꢀ”
,在该示例中,n等于6,六个关键词和六个坐标位置信息,所述坐标位置信息(xn,yn,hn)中xn表示文字元素相对于待处理文字图片的中心的坐标(x轴、即水平方向上的数值和y轴、即竖直方向上的数值),hn表示文字元素的中心与待处理文字图片的中心的连线距离。
[0065]
在另一优选实施方式中,使用更新后的prompt结构模板(即对步骤s101所建立的提示库中的prompt结构模版进行更新后的prompt结构模板),将识别出的文字元素与其坐标信息填入prompt结构模板预留的填充槽中,形成具体的query(提问)。所以输入的prompt结构模版中除了预留了文字信息的填充槽外,还增加了添加文字位置坐标信息的填充槽,以帮助预训练语言模型更好理解文本,预训练语言模型可通过文本位置信息更好地进行文本重排,利用预训练语言模型自身强大的语言理解和生成能力,能够有效对文本进行降噪、纠错等后处理。
[0066]
需要说明的是,上述仅作为可选示例进行说明,不能理解成对本发明的限制。
[0067]
接下来,在步骤s104中,将所生成的当前检索信息输入的预训练语言模型,进行文
本纠错和关系提取,以输出信息提取结果,其中,在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版。
[0068]
具体的,所述预训练语言模型为gpt-3语言模型。
[0069]
在本实施方式中,在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版。即使用p-tuning方式自动构建并更新prompt库。
[0070]
需要说明的是,在本发明中,根据已有的标注样本来自动构建prompt结构模版,p-tuning 重新审视了关于模版的定义,放弃了“模版由自然语言构成”这一常规要求,从而将模版的构建转化为连续参数优化问题,能够有效优化prompt结构模版。
[0071]
具体使用标注有回复答案或回复信息的结构化文本段(即训练样本数据)。使用所建立的训练数据集训练预训练语言模型。在模型训练过程中,通过已标注文字标签的训练样本数据,求出prompt结构模版,以校正或调整当前prompt结构模版。
[0072]
具体的,在预训练语言模型的基础上,进行p-tuning训练,通过多次迭代不断更新prompt结构模版中填充槽所对应的嵌入向量,以在p-tuning训练过程中自动更新prompt结构模版。
[0073]
对于自动更新prompt结构模版的过程,如图4所示,具体包括以下步骤。
[0074]
步骤s401:确定任务目标。
[0075]
具体明确需要抽取的关系类型和任务目标。
[0076]
例如:任务目标:从医学影像图像中,提取病人的“性别”、“年龄”、“姓名”、“临床诊断”、“m*诊断”和“医师”等关键信息信息。
[0077]
期望抽取到的结果信息内容如下:性别:女;年龄:27岁;姓名:小明;临床诊断:面神经麻痹[贝尔麻痹/面瘫];m*诊断:颅脑m&&平扫检查未见明显异常,颅脑m&&检查未见明显异常;医师:小红。
[0078]
步骤s402:收集训练数据。
[0079]
具体收集包含所需抽取关系的训练数据集,例如可从前一阶段构建的ocr模型识别的文字及位置坐标结果中选取少量数据。训练数据包括构建prompt的文字及坐标位置,以及最终期望获得的标准结果即抽取到的关系信息。
[0080]
步骤s403:准备初始的prompt结构模版。
[0081]
根据关系类型和任务需求,准备一组初始的prompt结构模板,例如可基于常见的关键词和填充槽进行配设或设计。
[0082]
例如,初始的prompt结构模板为“[unused1][unused2][unused3][unused4][unused5][unused6] {文字1 坐标1} {文字2 坐标2}
ꢀ……
。”。
[0083]
其中,“[unused1][unused2][unused3][unused4][unused5][unused6]”为六个未知的token,也就是需要优化的目标。这里的 token 数目是一个超参数,放在前面还是后面也可以调整。接着,为了让“模版”发挥作用,用标注数据来求出这个模板。
[0084]
需要说明的是,对于[unused]的数量,以及{文字1 坐标1} 的数量,都没有特别的限制,主要根据实际任务需求来定。
[0085]
步骤s404:进行p-tuning训练。
[0086]
使用步骤s402所收集的训练数据和步骤s403中的初始的prompt结构模版,在预训
其中,prompt结构模版为“以下是我从一张病例图片中提取到的文字及其位置坐标
……
请你帮我将其中的
……
信息提取出来可以么?”,而输出信息抽取结果为“{文字1 坐标1} {文字2 坐标2}
ꢀ……“
性别”、“年龄”、“姓名
””
就是x
1:n
,而“性别:女;年龄:27;姓名:小明;”,也即目标答案y。
[0098]
v 是预训练语言模型 m 的词表。
[0099]
在p-tuning训练中将模板t中的prompt结构模版用作被训练参数,放弃了“模版由自然语言构成”这一常规要求,将其设为m个未知的prompt token,也就是[p1][p2]
……
[pi]
……
[pm],[pi]是模板t中的第i个prompt token;具体的,将一个模板t表示为: t={[p
0:i
],x,[p
i 1:m
],y},这里面的每个元素都是一个“token”,其中m表示prompt token的个数。
[0100]
经过嵌入层(embedding层)之后,上面的模板t可被表示为:{e([p
0:i
]),e(x),e([p
i 1:m
]),e(y)}。
[0101]
与上面对应的是,在p-tuning里面,不是使用的一个个离散的prompt tokens,而是把每个[p1]看成一个pseudotoken,并把模板t映射成:{h0,...,hi,e(x),h
i 1
,...,hm,e(y)},这里面, hi是可训练的embedding tensors(连续的张量),具体为第 i个embedding tensors, i属于0≤i《m;e(x)表示文字与位置信息转化为嵌入张量。由此将一个个离散的tokens,替换成一个个稠密表示的张量,可促使找到一个个更好的连续的prompts(提示词),其可以“摆脱”/“超越”,原始的词典 v 的表示能力范围。
[0102]
最后,基于下游的损失函数 l (根据任务的不同,损失函数的具体的计算公式也会不一样),可通过微分操作来最优化连续的prompt hi(0≤i《m) :,其中,表示损失函数的最小值、即,m表示prompt token的个数;表示损失函数 ;表示用于信息抽取的预训练语言模型,x表示离散的输入序列:x
1:n
={x0,x1,...,xn};y表示上述“处理后”的tokens序列、即标签信息;h(即上述 hi)表示是可训练的embedding tensors(连续的张量),具体为第i个embedding tensors, i属于0≤i《m。
[0103]
接着,计算训练样本数据所输出的信息提取结果与期望结果之间的距离或相似度,以确定是否满足要求条件。可选地,根据距离的大小(例如小于0.01,这里的距离是指对于两段话,其中第一段话变成第二段话需要变更的操作次数)或者相似度的高低(例如相似度在95%以上)设定阈值。
[0104]
在确定满足条件时,将所输出的信息提取结果存入提示库。
[0105]
在确定未满足要求条件时,更新当前使用的prompt结构模版。
[0106]
例如,所输出的信息提取结果:从医学影像图像中提取病人的“性别”、“年龄”、“姓名”、“临床诊断”、“mr诊断”和“诊断医师”等关键信息信息。期望结果如下:性别:女;年龄:27岁;姓名:小明;临床诊断:m神经麻痹[贝尔麻痹/m瘫];m*诊断:颅脑m&&平扫检查未见明显异常;颅脑mra检查未见明显异常;诊断医师:小红。
[0107]
根据将所输出的信息提取结果与期望结果中各文字元素进行向量转换后,进一步进行向量相似度计算,得到相似度为95%。在确定满足条件(满足相似度大于85%)时,将所输
出的信息提取结果存入提示库,并确定不更新当前使用的prompt结构模版。
[0108]
接着,根据所计算得到的距离或相似度,使用梯度下降算法优化标签的超参数,使信息提取结果更接近期望结果。
[0109]
在满足收敛条件时,停止迭代,以停止更新prompt结构模版。
[0110]
在一可选实施方式中,如图3所示,所述更新prompt结构模版包括以下步骤。
[0111]
首先,初始化prompt结构模版。例如,根据具体应用场景,配设多组初始的prompt结构模版。例如基于场景所常用的关键词和填充槽进行配设。
[0112]
接着,根据在使用所建立的训练数据集训练预训练语言模型的过程中,采用p-tuning训练所述预训练语言模型,通过将训练样本数据计算所输出的信息提取结果与期望结果进行距离计算(即图3所示的“计算输出的信息提取结果与期望结果之间的距离”),来判断是否满足要求。
[0113]
在确定未满足要求要求时(即图3所示的“否”),更新当前使用的prompt结构模版。
[0114]
在确定满足要求时(即图3所示的“是”),将所输出的信息提取结果存入提示库。
[0115]
使用更新prompt结构模版,生成与待处理文字图片相对应的当前检索信息,并输入预训练语言模型,以输出更精确的信息提取结果。
[0116]
在另一可选实施方式中,使用评估数据集对经p-tuning训练得到的预训练语言模型进行评估,分析生成的prompt结构模版在关系抽取任务上的性能参数,根据评估结果,对prompt结构模版进行优化和调整,以调整prompt结构模版的生成策略,以提高目标(例如车票、身份、疾病等目标)识别的准确性和效果。
[0117]
具体的,所述评估数据集例如医疗信息提取任务中的新的一批从病例中提取到的文字和位置的信息与期望提取到的信息对。具体将评估数据集的文字和位置信息与训练出来的prompt结构模版进行组合输入到预训练语言模型中,抽取到的信息与希望抽取到的信息进行对比来评估效果。
[0118]
需要说明的是,对于评估数据集,上述仅作为可选示例进行说明,不能理解成对本发明的限制。在其他实施方式中,例如标注有期望提取到的文字信息、位置信息的例如车辆标识识别任务或其他任务的信息对。
[0119]
例如,prompt结构模版为“[unused1][unused2][unused3][unused4][unus-ed5][unused6] {文字1 坐标1} {文字2 坐标2}
ꢀ…
{文字6 坐标6}。”。则优化 [unused1]~[unused6]这六个 token 的嵌入向量(即 embedding)。并且将填充槽的数量作为一个超参数进行优化。
[0120]
通过在使用p-tuning训练自动更新所述prompt结构模版,能够有效减少训练时长,能够减少要学习的参数数量,能够在注样本很少的情况下完成对peompt结构模板的学习,且不易过拟合。
[0121]
此外,附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以例如在多个模块中同步或异步执行的。
[0122]
与现有技术相比,本发明通过使用ocr模型识别文字图像中的文字元素及其位置坐标信息,在提示库中选取合适的prompt结构模版,通过将各文字元素及各文字元素的坐标信息与prompt结构模版结合生成当前检索信息,并输入到预训练语言模型中进行文本纠
错、信息抽取,能够有效实现从输入文字图像到输出文字结果全流程自动化,利用大规模预训练语言模型中蕴含的丰富知识对于ocr识别结果进行了噪声抑制和纠错,能够大大减少人工工作量,还能够提升信息抽取的准确率和效率。
[0123]
此外,通过在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版,能够有效减少训练时长,能够减少要学习的参数数量,能够在注样本很少的情况下完成对prompt结构模板的学习,且不易过拟合,进而有效优化模型的同时有效更新prompt结构模版,能够有效提高模型精度。
[0124]
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0125]
图5是根据本发明的图像信息抽取装置的一示例的结构示意图。
[0126]
参照图5,本公开第二方面提供一种基于预训练语言模型的图像信息抽取装置500,采用本发明第一方面所述的图像信息抽取方法。所述图像信息抽取装置500包括提示库建立模块510、识别处理模块520、生成模块530和输出模块540。
[0127]
在一具体实施方式中,提示库建立模块510用于建立提示库,具体包括基于问题类型和应用场景构建prompt结构模版。识别处理模块520用于输入待处理文字图片,识别文字元素和各文字元素的坐标位置信息。生成模块530从提示库中选取与待处理文字图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息。输出模块540将所生成的当前检索信息输入优化后的预训练语言模型,进行文本纠错和关系提取,以输出信息提取结果,其中,在预训练语言模型的基础上进行p-tuning训练以自动更新所述prompt结构模版。
[0128]
具体的,使用ocr模型,识别文字元素和各文字元素的坐标位置信息。所述预训练语言模型为gpt-3模型。
[0129]
在一可选实施方式中,所述基于问题类型和应用场景构建prompt结构模版。
[0130]
具体根据不同应用场景的关系类型和任务需求,配设prompt结构模板,该prompt结构模板包含关键词和填充槽,所述填充槽用于插入具体的文本信息和位置信息。
[0131]
具体的,所述构建prompt结构模版包括以下步骤:确定任务目标,具体确定要抽取的关系类型和期望目标;确定与应用场景相对应的填充槽及其数量。
[0132]
在一可选实施方式中,从提示库中选取与待处理文字图片相适配的prompt结构模版,并根据所识别的文字元素和各文字元素的坐标位置信息生成当前检索信息。
[0133]
具体选取与场景文字标识相适配的prompt结构模版,将所识别的文字元素和各文字元素的坐标位置信息填入所选取的prompt结构模版中预留的填充槽中,生成当前检索信息。
[0134]
将所生成的当前检索信息输入预训练语言模型,输出与当前检索信息相对应的答案信息。
[0135]
对于更新prompt结构模版,计算所输出的信息提取结果与期望结果之间的距离或相似度,以确定是否满足要求条件。
[0136]
在确定满足条件时,将所输出的信息提取结果存入提示库。在确定未满足要求条件时,更新当前使用的prompt结构模版。
[0137]
根据所计算得到的距离或相似度,使用梯度下降算法优化标签的超参数,使信息提取结果更接近期望结果。
[0138]
在预训练语言模型的基础上进行p-tuning训练,通过多次迭代不断更新prompt结构模版中填充槽所对应的嵌入向量,以在p-tuning训练过程中自动更新prompt结构模版。
[0139]
在另一可选实施方式中,使用评估数据集更新后的prompt结构模版在关系抽取任务上的性能参数,根据评估结果,对prompt结构模版进行优化和调整。
[0140]
在又一可选实施方式中,图像信息抽取装置500还包括自动更新模块,所述自动更新模块用于自动更新所述prompt结构模版。
[0141]
所述自动更新模块还用于计算所输出的信息提取结果与期望结果之间的距离或相似度,以确定是否满足要求条件,在确定满足条件时,将所输出的信息提取结果存入提示库。在确定未满足要求条件时,更新当前使用的prompt结构模版需要说明的是,在该实施方式中,基于预训练语言模型的图像信息抽取装置所执行的信息抽取方法与图1中的基于预训练语言模型的图像信息抽取方法大致相同,因此省略了相同部分的说明。
[0142]
图6是根据本发明的电子设备实施例的结构示意图。
[0143]
如图6所示,电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。
[0144]
所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。
[0145]
所述存储器包括易失性存储器,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(rom)。
[0146]
可选的,该实施例中,电子设备还包括有i/o接口,其用于电子设备与外部的设备进行数据交换。i/o接口可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0147]
应当理解,图6显示的电子设备仅仅是本发明的一个示例,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按钮、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。
[0148]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干命令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述方法。
[0149]
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信
号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0150]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0151]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0152]
上述计算机可读介质承载有一个或者多个程序(例如计算机可执行程序),当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现本公开的数据交互方法。
[0153]
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0154]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干命令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
[0155]
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。