跳到正文
原文
Hugging Face Blog·· 4 天前AI 评分50

Dharma Field Extractor模型介绍

Dharma Field Extractor: Any Document In, Structured Fields in JSON Out

AI 摘要

Dharma Field Extractor是一个20亿参数的模型,能从任何文档中提取指定字段并输出结构化JSON,性能优于前沿LLM且成本更低,支持开放式和模式定向两种提取方式,适用于合同、发票、医疗记录等多种文档

正文 · 清洗整理版

cover_combined_1

一个20亿参数的模型,可以从任何类型的文档中提取您要求的字段,其性能优于我们测试的所有前沿LLM,且成本只是其几分之一。 4月份,我们发布了专门用于OCR的DharmaOCR-LITE模型,它可以处理各种文档,从合同和法院文件到发票、身份证件和表格。 该模型背后的论文为领域专业化提供了一个狭义但经过仔细测量的案例:一个更小的模型,更接近其任务进行训练,在该任务上击败了通用的前沿API。 OCR为您提供页面上的文本,忠实于原始格式。 当工作涉及整个文档时,例如您需要通读的合同或您正在数字化的手稿,这就是您想要的结果。

然而,有一个不同的用例:您不需要页面,而是需要从其中提取特定字段,以便下游系统可以消费。 发票上的每一行项目,作为一个列表。 医疗申请单上的病人姓名、检查类型和日期,准备进行安排。 身份证件上的字段,映射到员工记录的列。 将文档通过OCR处理,您会得到它上面打印的所有内容,逐行显示,没有任何指示哪个字符串是检查类型,哪个是日期,哪个数字是总计。 在它到达数据库之前,仍然需要有人编写代码来将每个值映射到正确的字段。 今天,通用的LLM可以通过仔细的提示来完成这项工作。

在前沿API的定价和延迟下,对于许多企业需要以高容量运行的任务,这很快就会成为解决一个明确定义问题的昂贵方法。 因此,我们构建了一个模型来解决这个问题。 字段提取器接受一个文档图像和一个请求,要么是它所能找到的所有内容,要么是用于填充的确切模式,并返回结构化的JSON:逐个字段进行类型化,嵌套方式与文档嵌套方式相同。 发票会返回每个行项目作为一个有序列表,每个列表都有自己的数量和价值,以及总计。 身份证件会返回您要存储的字段,使用您的系统已经为它们使用的名称。

同一个检查点处理所有这些内容,无需针对每种类型进行微调。 您可以在这里尝试它。 该模型的作用是说,每天早上都会有一批供应商发票到达,您需要从每张发票中提取四个东西以将其推入您的系统:供应商、发票号、到期日和总计。 对于进入调度器的医疗申请单,或者输入合规系统的合同,其中重要的是当事人、期限、罚款和罚款金额。 您不需要页面,您需要某些字段。 使用字段提取器,有两种方法可以要求它们:开放式:未提供模式。

该模型读取页面并根据上下文和布局确定哪些部分是结构化字段(标签后跟值、带有标题行的表格在其列上方),而不是从固定的字段名列表中,并返回它找到的所有内容作为键值对。 模式定向:您指定所需的精确形状,逐个字段,并为每个字段指定类型(字符串、数字或布尔值),在您的系统已经使用的键名下。 要求“服务提供商”和“客户公司”,并且这些是返回的确切键。 要求一个表格,它会按行按列填充它,将每个单元格匹配到它所属的键。 要求文档上不存在的字段,它会返回null而不是编造一个值。 选择取决于您已经知道什么。

当您不知道文档包含什么时,发送开放式请求。 当输出必须匹配存在于其他地方的形状时,发送模式。 无论哪种方式,返回的都是JSON:字段作为键,值按请求进行类型化,文档没有您要求的内容的地方返回null。 当您发送模式时,输出完全遵循它,具有相同的键,没有额外的字段,因此可以立即输入下一个系统。 它是如何训练的:基础模型是DharmaOCR-LITE v1.1,这是一个新的20亿参数版本,从之前的模型中优化而来。

field-extractor-1280

03_training_data_mix_v2

image

image

sroie_combined

funsd_combined

来源:Hugging Face Blog · huggingface.co

00