activities
latest
false
- 概述
- 文档处理合同
- 发行说明
- 关于文档处理合同
- Box 类
- IPersistedActivity 接口
- PrettyBoxConverter 类
- IClassifierActivity 接口
- IClassifierCapabilitiesProvider 接口
- 分类器文档类型类
- 分类器结果类
- 分类器代码活动类
- 分类器原生活动类
- 分类器异步代码活动类
- 分类器文档类型功能类
- 提取程序异步代码活动类
- 提取程序代码活动类
- 提取程序文档类型类
- 提取程序文档类型功能类
- 提取程序字段功能类
- 提取程序原生活动类
- 提取程序结果类
- ICapabilitiesProvider 接口
- IExtractorActivity 接口
- 提取程序有效负载类
- 文档操作优先级枚举
- 文档操作数据类
- 文档操作状态枚举
- 文档操作类型枚举
- 文档分类操作数据类
- 文档验证操作数据类
- 用户数据类
- 文档类
- 文档拆分结果类
- DomExtensions 类
- 页类
- 页面分区类
- 多边形类
- 多边形转换器类
- 元数据类
- 词组类
- 词类
- 处理源枚举
- 结果表格单元类
- 结果表值类
- 结果表列信息类
- 结果表类
- 旋转枚举
- 分区类型枚举
- 词组类型枚举
- IDocumentTextProjection 接口
- 分类结果类
- 提取结果类
- 结果文档类
- 结果文档范围类
- 结果数据点类
- 结果值类
- 结果内容引用类
- 结果值令牌类
- 结果派生字段类
- 结果数据源枚举
- 结果常量类
- 简单字段值类
- 表字段值类
- 文档组类
- 文档分类类
- 文档类型类
- 字段类
- 字段类型枚举
- 语言信息类
- 元数据输入类
- 文本类型枚举
- 类型字段类
- ITrackingActivity 接口
- ITrainableActivity 接口
- ITrainableClassifierActivity 接口
- ITrainableExtractorActivity 接口
- 可训练的分类器异步代码活动类
- 可训练的分类器代码活动类
- 可训练的分类器原生活动类
- 可训练的提取程序异步代码活动类
- 可训练的提取程序代码活动类
- 可训练的提取程序原生活动类
- Document Understanding 数字化器
- Document Understanding ML
- Document Understanding OCR 本地服务器
- Document Understanding
- 智能 OCR
- ML 服务
- OCR
- OCR 合同
- OmniPage
- PDF
- [未公开] Abbyy
- [未列出] Abbyy 嵌入式
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Document Understanding 活动
Last updated 2024年10月29日
生成式提取程序 - 良好做法
备注:
- 为了提高稳定性,提示的数量限制为最多 50 个。
- 响应、提取结果(也称为补全 )的字数限制为 700。 不得超过 700 字。 这意味着您无法从单个提示中提取超过 700 个单词。 如果提取要求超过此限制,您可以将文档拆分为多个页面,单独处理,然后合并结果。
想象一下,向四五个不同的人询问您想在生成式提示中提出的问题。 如果您可以想象这些人会给出略有不同的答案,则说明您的用语过于歧义,您需要重新措辞以使其更加精确。
例如,如果您向提示发出一般请求,例如“以逗号分隔的键值对形式提取患者的所有个人信息”,则预期模型会自行找到某些信息。
考虑到之前的请求,模型必须自行计算出以下信息:
- 个人信息在文档中的位置。
- 什么是个人隐私,什么不是个人隐私(这是非常模糊的)。
- 用户期望获得的“键”内容,每个键的值是什么,以及用户期望的确切格式是什么。
- 是否应该使用括号? 还是每个键值对占单独的行?
为避免出现前述问题,请将广泛的请求(答案可能很长)分解为其他更简单的问题,这将生成简短的答案。 例如,您可以将常规提示请求分解为以下较小的请求:
- “提取患者的名字”
- “提取患者的姓氏”
- “提取患者街道地址,包括市、州和邮政编码”
- “提取患者出生日期”
例如,如果您要求生成式提示获取一个日期,请指定您希望如何返回日期:
return date in yyyy-mm-dd format
。 如果您只需要年份,请指定: return the year, as a four digit number
。
您也可以将此方法用于数字。例如,您可以指定:
return numbers which appear in parentheses as negative
或 return number in ##,###.## format
来标准化小数分隔符和千位分隔符,以便更轻松地进行下游处理。
例如,在申请表上,您可能会问:
What is the applicant’s marital status? Possible answers: Married, Unmarried, Separated, Divorced, Widowed, Other.
这不仅简化了下游处理,还提高了回复的准确性。
为了最大限度地提高准确性,请将复杂的问题分解为简单的步骤。您不应询问
What is the termination date of this contract?
,而应询问 First find termination section of contract, then determine termination date, then return date in yyyy-mm-dd format.
有很多方法可以用于分解问题。您甚至可以将请求编写为小型计算机
程序,如下
所示:
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
定义所需的编程样式(甚至可能使用 JSON 或 XML 语法)会强制生成式模型使用其编程技能,从而提高遵循说明的准确性。
不要要求提取程序执行求和、乘法、减法、比较或任何其他算术运算,因为它会犯基本错误,并且处理速度非常慢且成本高昂。而简单的机器人工作流永远不会出错,并且速度更快,成本更低。
出于上述相同原因,请勿要求其执行复杂的“if-then-else”类型逻辑。机器人工作流将更加准确和高效地处理此类运算。
生成提取程序当前不支持列字段。 尽管您也许能够通过常规问题提取较小的表格并解析其输出,但请注意,这只是一种解决方法,并且存在限制。 它不是为提取通用的任意大表而设计的,也不建议用于提取通用的任意大的表。
从表格中提取数据是生成提取程序的一项挑战。 生成式 AI 技术可作用于线性文本字符串,无法理解图像中的视觉二维信息。 它无法提取分类管理器中定义的表格字段,但可以从文档中提取文本和表格。
要以最佳方式从表格中提取数据,您可以选择至少两种方法,包括:
- 要求生成式提取程序单独返回列,然后在工作流中自行组合行。 您可能会问:
Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…]
- 要求它以 JSON 对象形式单独返回每一行。 您可能会问:
Please return the line items of this invoice as an JSON array of JSON objects, each object in format: {"description”: <description>, “quantity”:<quantity>, “unit_price”:<unit price>, “amount”:<amount>}
。