掌桥专利:专业的专利平台
掌桥专利
首页

用于大语言模型的富文本数据处理方法、设备、存储介质

文献发布时间:2024-04-18 19:58:53


用于大语言模型的富文本数据处理方法、设备、存储介质

技术领域

本发明涉及数据处理技术领域,尤其是涉及一种用于大语言模型的富文本数据处理方法、设备、存储介质。

背景技术

近年来,随着大语言模型的蓬勃发展,它们为各种应用提供了强大的自然语言处理能力,其中以ChatGPT引领的检索增强问答系统尤其引起了广泛关注。检索增强问答系统指的是通过给大语言模型输入一段上下文,然后基于上下文做问答,上下文可能是从网页或文档中召回的跟问题相关的信息。检索增强问答系统主要是解决大语言模型不知道的信息以及减少大语言模型的“幻觉”,增加问答的可信度。然而,在当前的技术现状下,这些检索增强问答系统存在一些显著缺陷,尤其是在处理具有空间信息的富文本时。大多数检索增强问答系统主要依赖于纯文本作为上下文,因此对于包含表格、表单、网页等富文本的信息,其表达能力受到限制。这些系统无法直接解析和理解富文本的结构和内容。在将富文本转化为文本时,往往会导致信息丢失。例如,在表格中,行和列对应的含义可能会在纯文本中丢失,这可能影响到答案的完整性和准确性。此外将富文本转化为文本时,可能会引入语义歧义,使得检索增强问答系统更难以提供准确的答案。

将富文本转换为文本主要存在如下三点障碍:

(1)失去信息的风险:将富文本转化为文本时,存在丢失关键信息的风险,这可能导致回答不完整或不准确。

(2)复杂性和计算负担:开发一种能够高效解析和转化富文本的方法可能会面临复杂性和计算负担的挑战。这可能需要大量的计算资源和算法优化。

(3)多样性的富文本:不同类型的富文本(如表格、表单、网页等)需要不同的处理方法,因此需要一个通用的方法来处理各种富文本。

综上,当前缺少一种富文本数据处理方法,以克服或部分克服前述的障碍。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于大语言模型的富文本数据处理方法、设备、存储介质,以实现富文本在保留空间信息的前提下转化为文本信息。

本发明的目的可以通过以下技术方案来实现:

本发明的一个方面,提供了一种用于大语言模型的富文本数据处理方法,包括如下步骤:

获取富文本数据,通过解析和/或识别得到文本数据及其对应的坐标;

基于字体大小对所述文本数据对应的坐标进行单位化处理;

以空格为元素构建字符矩阵,基于单位化处理后的坐标,将所述文本数据填充至所述字符矩阵的对应位置;

将所述字符矩阵转换为包含空间信息的最终文本,作为大语言模型的输入。

作为优选的技术方案,所述的单位化处理包括如下步骤:

计算文本数据的文本区域尺寸以及文本长度,得到单个字符尺寸;

以最小字体的大小为单位尺寸,基于所述单个字符尺寸和单位尺寸,对坐标进行单位化处理。

作为优选的技术方案,文本数据的文本区域为矩形框。

作为优选的技术方案,通过解析和/或识别得到文本数据及其对应的坐标包括如下步骤:

针对文本类型为可编辑文档或网页的数据,通过解析得到文本数据及其对应的坐标;

针对文档类型为不可编辑文档或图像的数据,通过OCR识别得到文本数据及其对应的坐标。

作为优选的技术方案,对于所述不可编辑文档,在OCR识别之前,还包括将所述不可编辑文档转换成图像。

作为优选的技术方案,基于单位化处理后坐标的最大值,得到所述字符矩阵的长宽。

作为优选的技术方案,将所述字符矩阵转换最终文本的过程包括:

针对所述字符矩阵的每一行中的所有字符,合并为一行文本;

针对合并后的所有行的文本,以换行符作为分隔符进行合并。

作为优选的技术方案,所述的富文本数据包括文档、图像、网页中的一个或多个文档类型。

本发明的另一个方面,提供了一种电子设备,包括:一个或多个处理器以及存储器,所述存储器内储存有一个或多个程序,所述一个或多个程序包括用于执行前述用于大语言模型的富文本数据处理方法的指令。

本发明的另一个方面,提供了一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行前述用于大语言模型的富文本数据处理方法的指令。

与现有技术相比,本发明具有以下有益效果:

本发明首先将富文本数据进行解析/识别得到文本数据及其对应的坐标,然后将坐标进行单位化处理并构建字符矩阵,将文本数据填入矩阵中,最后将矩阵转换为最终的文本,作为上下文输入到大语言模型,模型基于上下文来回答问题。整个处理过程类似于将整个富文本进行栅格化处理,可以对多种文档类型进行处理的同时,保留了原始富文本中的空间信息。

附图说明

图1为实施例中用于大语言模型的富文本数据处理方法的流程示意图;

图2为实施例中解析富文本数据的流程示意图;

图3为实施例中对坐标进行单位化处理的流程示意图;

图4为实施例中大语言模型的富文本数据处理系统的结构示意图;

图5为实施例中电子设备的结构示意图,

其中,1、富文本数据获取模块,2、文档类型解析及文本坐标提取模块,3、文本坐标换算模块,4、字符矩阵构建模块,5、最终文本输出模块,6、大语言模型平台。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。

实施例1

针对前述当前存在的障碍,本实施例提供了一种用于大语言模型的富文本数据处理方法,参见图1,本方法包括如下步骤。

S1,富文本数据解析和/或识别,得到文本及对应的位置坐标。

S2,文本的坐标的换算及单位化处理。

S3,根据S2处理后的坐标,将文本填入字符矩阵中。

S4,将字符矩阵转换为最终输入大语言模型的文本。

其中,S1中,对于多种不同文档类型的数据进行针对性的处理,处理过程如图2所述。其中,可编辑文档指可以直接进行编辑、修改等操作的超文本格式文档,例如doc、docx、文本pdf格式文档;不可编辑文档指的是不可以直接编辑的文档,例如扫描pdf格式文档。

对于可编辑文档,将文档转换为预设的格式,例如对于doc类型文档,通过libreoffice headless命令行转为docx类型,然后通过使用python-docx库解析得到文本及其对应的坐标;对于文本pdf,通过PyMuPDF python库解析得到文本及其对应的坐标;对于不可编辑文档例如扫描pdf,则将其分页转成图像;对于图像,使用光学字符识别(OCR)引擎识别文本及其坐标;对于网页,使用BeautifulSoup python库提取html中的文本及其坐标,html中的不同类型富文本有着不同的标签,例如h表示标题,p表示段落,根据标签可以筛选出需要的文本。

本实施例中,坐标使用bbox坐标表示,其表示文本所处的矩形框的位置。

参见图3,对坐标进行单位化处理的流程包括如下子步骤。

S21,计算文本数据的文本区域尺寸以及文本长度,得到单个字符尺寸。

具体的,定义单位字符为不同字体大小的最小度量单位,用单位字符度量的最小字体的大小为1,长和宽都分别为1。

S22,以最小字体的大小为单位尺寸,对坐标进行单位化处理。

具体的,基于S21定义的单位字符,其他字体大小都以单位字符来换算。首先计算单位字符的长和宽,假设某个字体的文本长度为n,bbox坐标为(x1, y1, x2, y2),则字符的长和宽可粗略地计算为(x2-x1)/n和y2-y1。取所有文本长度的最小长度作为单位字符的长度,记为x0,同理得到单位字符的宽度y0。换算后的文本坐标为(x1/x0, y1/y0, x2/x0,y2/y0),四舍五入取整。

在前述的S3中,首先初始化一个以空格为元素的字符矩阵,行和列分别设置为换算后文本坐标的最大y值和最大x值,然后把文本放到对应下标的矩阵中,这个过程类似于把整个富文本栅格化,再把文本填充到对应的栅格中。为了确保文本的连续性,以文本bbox的左上点坐标为矩阵的起始坐标,从左往右依次把文本的每个字符放入矩阵中。假设换算后的文本坐标为(10,10,20,20),文本长度为5,则把文本的每个字符依次放入在矩阵下标(10,10)到(15,10)的5个元素中。

在前述的S4中,将每一行的所有字符合并成一行文本,再将所有行的文本以换行符为分隔符合并成文本。文本中包含大量的空格和换行符用以表示空间距离,为了减少冗余信息,把整行都是空格的行替换为一个换行符,并把连续的多个换行符替换为一个换行符,得到最终文本。

在得到最终文本后,作为上下文输入到大语言模型中。

在真实的应用场景中,一般是由用户提出问题,然后系统从知识库或互联网中召回相关的知识,经过所述的富文本解析后作为上下文输入到大语言模型中,模型基于上下文回答问题。

经实验发现,大部分大语言模型是能够理解空格和换行符的空间意义的。为了佐证这个发现,本实施例在CPU为AMD Ryzen 7,8核,3.60 GHz,内存为48.0GB的计算机中实现,实现方式为python,并在XFUND数据集和WikiTableQuestions数据集上分别构建了测试集用于评估本方案的有益效果。

XFUND数据集是一个公开的多语种表单理解数据集,包含7种不同语种的表单数据,并且全部用人工进行了键-值对形式的标注。其中每个语种的数据都包含了199张表单数据,并分为149张训练集以及50张测试集。WikiTableQuestions数据集是一个公开的表格问答数据集,包含来自维基百科的 22033 条句子和 2108 个半结构化的网络表格。

对于XFUND数据集,取中文数据的50张测试数据,每个数据随机选取一个键-值对作为问-答对。每个数据都有标注好的OCR结果,按照本发明方案对OCR结果进行转换,得到带富文本信息的文本。作为对照组,将OCR结果以换行符为分隔符合并成文本。对多个大语言模型分别评测:经过富文本解析的文本和不经过富文本解析的文本的问答的效果。评测指标为平均归一化Levenshtein相似度(ANLS),是问答任务的常用指标,但由于大语言模型的回答通常较长,使用传统的ANLS无法反映真实效果,于是对ANLS进行了改进,若回答中完整包含了正确答案,则得分为1,否则按ANLS计算得分(0~1)。评测结果如表1所示,使用本发明方案能带来6.33%到9.43%的效果提升。

表1 不同大语言模型在XFUND测试集上的测评结果

对于WikiTableQuestions数据集,随机抽取测试集中的50个问答对作为测试数据。每个数据都提供了表格内容,按照本发明方案对表格内容进行转换,得到经富文本解析的文本。评测指标同上。评测结果如表2所示,使用本发明方案能带来1.98%到9.21%的效果提升。

表2 不同大语言模型在WikiTableQuestions测试集上的测评结果

综上,本实施例提供了适配大语言模型的富文本解析方法,包括:(1)解析文档(doc/docx/pdf)、网页(html)、图像,提取文本及文本的bbox坐标;(2)文本坐标换算:计算单位字符的长和宽,将所有文本坐标按单位字符进行换算;(3)构建字符矩阵:初始化一个以空格为元素的字符矩阵,根据文本换算后的坐标把文本填充到对应的矩阵下标中;(4)将字符矩阵转为文本:将每一行的所有字符合并成一行文本,再将所有行的文本以换行符为分隔符合并成文本。

本发明有以下优点。

(1)保留了富文本的空间信息,结合大语言模型强大的自注意力机制和对语义的理解,大大提升了检索增强问答系统的效果(1.98%~9.43%)。

(2)复杂性和计算负担小,使用CPU平均耗时2.7ms/文档。

(3)可以统一处理不同类型的富文本,如表格、表单、网页等。

实施例2

在实施例1的基础上,本实施例提供了一种大语言模型的富文本数据处理系统,参见图4,系统包括如下部分。

富文本数据获取模块,用于通过人工输入或合法的爬虫程序采集富文本数据,富文本数据中包含至少一种文档类型的数据。

文档类型解析及文本坐标提取模块,用于根据文档类型的不同,对富文本数据进行针对性的处理,得到文本及其对应的坐标。

文本坐标换算模块,用于对文本的坐标进行转换和单位化处理。

字符矩阵构建模块,用于根据转换、处理后的坐标,将文本填充至字符矩阵中;

最终文本输出模块,用于基于填充完成的字符矩阵转换,得到最终的输出文本;

大语言模型平台,平台上部署有至少一个大语言模型,输出文本作为训练集对大语言模型进行全参数训练,使大语言模型获得更丰富的空间理解能力。

为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

实施例3

在实施例1和/或实施例2的基础上,参见图5,本实施例提供了一种电子设备,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的数据处理的方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。

对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

实施例4

本实施例提供了一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如实施例1所述用于大语言模型的富文本数据处理方法的指令。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 用于风控系统的数据处理方法、设备和存储介质
  • 数据仓库内数据处理方法、装置、计算机设备和存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 用于摄像画图机的图像处理方法、系统、设备和存储介质
  • 财报数据处理方法、装置、计算机设备和存储介质
  • 富文本数据处理方法、装置、电子设备及计算机存储介质
  • 富文本数据处理方法、装置、电子设备及计算机存储介质
技术分类

06120116508300