activities
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Document Understanding 活动
Last updated 2024年10月29日

生成式提取程序 - 良好做法

备注:
  • 为了提高稳定性,提示的数量限制为最多 50 个。
  • 响应、提取结果(也称为全 )的字数限制为 700。 不得超过 700 字。 这意味着您无法从单个提示中提取超过 700 个单词。 如果提取要求超过此限制,您可以将文档拆分为多个页面,单独处理,然后合并结果。

使用精确的语言

想象一下,向四五个不同的人询问您想在生成式提示中提出的问题。 如果您可以想象这些人会给出略有不同的答案,则说明您的用语过于歧义,您需要重新措辞以使其更加精确。

例如,如果您向提示发出一般请求,例如“以逗号分隔的键值对形式提取患者的所有个人信息”,则预期模型会自行找到某些信息。

考虑到之前的请求,模型必须自行计算出以下信息:
  • 个人信息在文档中的位置。
  • 什么是个人隐私,什么不是个人隐私(这是非常模糊的)。
  • 用户期望获得的“键”内容,每个键的值是什么,以及用户期望的确切格式是什么。
  • 是否应该使用括号? 还是每个键值对占单独的行?
回答请求的步骤和方式有很多,而且由于生成式 AI 本质上是不确定的,答案越长,答案每次不同的可能性就越大 - 即使模型温度为设置为零。
为避免出现前述问题,请将广泛的请求(答案可能很长)分解为其他更简单的问题,这将生成简短的答案。 例如,您可以将常规提示请求分解为以下较小的请求:
  • “提取患者的名字”
  • “提取患者的姓氏”
  • “提取患者街道地址,包括市、州和邮政编码”
  • “提取患者出生日期”
如果您将请求分解为更小的请求,您将获得更高的准确性以及更加一致和可重复的结果,同时减少了解析 AI 生成的长文本字符串的需求。

指定输出格式

为了使您的问题更具体,请要求提取程序以标准化格式返回答案。这可以减少歧义,提高回复准确性并简化下游处理。

例如,如果您要求生成式提示获取一个日期,请指定您希望如何返回日期: return date in yyyy-mm-dd format 。 如果您只需要年份,请指定: return the year, as a four digit number
您也可以将此方法用于数字。例如,您可以指定:return numbers which appear in parentheses as negativereturn 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: StopExecute 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>}

可信度

生成式 AI 模型不就预测提供置信度级别。但是,以检测错误为目标时,置信度级别只是实现该目标的一种可能方法,并不是最佳方法。检测错误的一种更好、更可靠的方法是以多种不同的方式提出同一个问题。问题陈述的差异越大越好。如果所有答案都趋于一致,则出错的可能性非常低。如果答案不一致,则出错的可能性很高。

例如,您可以将同一个问题重复两次、三次甚至五次(具体取决于程序中避免未捕获错误的重要性),并以不同的组合方式结合上述建议。 如果所有响应都一致,则可能不需要人工审核。 但是,如果任何回复不同,则可能需要 Action Center 中的工作人员进行手动审核。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。