信息抽取模板编写指南

指导用户模板编写的技巧,提升信息抽取任务的准确性

1. 模板类型概览

AI Doc提供两种信息抽取模板类型,满足不同场景需求:

模板类型

适用场景

核心特点

Prompt模板

(推荐使用)

  1. 适用于各类文档的抽取任务

  2. 适用于抽取规则较为复杂的任务,比如多维度综合信息的提取与归纳,prompt的方式能更好地描述任务详情

  1. 自然语言指令编写,灵活度较高,配置方式易于理解

  2. 支持所有抽取方式:包括长文本RAG、图片处理、长文本理解

  3. 支持多任务并行抽取,一个prompt模板内允许同时配置多个prompt

Key-Value模板

  1. 适用于从长文档中抽取多项结构化信息

  2. 适用于需要明确指定提取字段、并输出标准化答案的场景。例如,从 ESG 报告中判断“是否包含劳动者保护内容”,并要求输出为标准化选项(如“是”或“否”)

  1. 表格化模板配置,配置流程和输出结果更标准化,灵活度低。抽取项以表格形式展现更加直观。

  2. 仅支持长文本RAG的抽取方式

  3. 支持多项Key值并行抽取


2. Prompt模板编写指南

适用场景

Prompt 模板(即通过自然语言指令引导模型输出结构化/非结构化内容的方式),适用于多种任务场景,尤其在需要灵活性、上下文理解、自由生成或复杂推理的任务中表现出色。

Prompt编写技巧

直接提问法

适用场景

适用于目标明确、问题简单、答案确定的场景。

编写要点

  • 简洁:尽量用最简短的方式表达问题。过于冗长的问题可能包含多余的信息,导致模型理解错误或答非所问。

    • 优化前:"我们公司最近收到了一份来自供应商的发票,需要你从中提取一些关键信息。请仔细阅读这份发票文件,并告诉我供应商的公司名称、发票号码、开具日期。另外,如果发票上有应付总额的话,也请一并提取。我们需要这些信息来进行账务处理和付款安排。"

    • 优化后:"从供应商发票中提取:公司名称、发票号、开具日期、应付总额。"

  • 具体:在信息抽取场景中,明确列出所有待提取项,并为每项提供详细特征描述。

    • 优化前:"分析这篇文章并提取关键信息。"

    • 优化后:"从这篇文章中提取以下信息:作者的全名和任何相关头衔(如"教授"、"研究员"等)、作者对于全球变暖的观点和3-5个关键词。"

  • 避免歧义:如果一个词或短语可能有多重含义,要么明确其含义,要么重新表述以消除歧义。

    • 优化前:"什么是树?"

    • 优化后:"解释计算机科学中的'树'概念。"

  • 详细上下文:如果问题涉及特定上下文或背景信息,要提供足够的详情以帮助模型理解。

  • 逻辑清晰:问题应逻辑连贯,有清晰的结构层次。

    • 优化前:"抽取申请人姓名、理赔金额是多少、什么时候出的事故、保单号码是多少、提交了哪些文件、出了什么事故?"

    • 优化后:"从理赔申请文件中依次抽取以下信息:1. 客户基本信息:姓名、保单号 2. 事故相关信息:事故日期、事故类型 3. 客户申请的理赔金额。"

  • 选择合适的输出方式

    • JSON 输出(推荐用于复杂、结构化任务)

      • 适用场景说明

  • 需要提取多个字段或结构化信息(如时间、地点、人物、事件等)

  • 需要把提取的信息整理后存入数据库,或发送给其他系统使用

  • 希望验证输出是否完整、是否有错误(如字段缺失、类型不对),可以配合 JSON Schema 进行校验

  • 抽取的信息比较复杂(如一个事件包含多个参与人、多个时间点和地点),建议采用结构化的方式,分门别类地组织数据。以下是一个示例,展示在复杂信息抽取场景下 Prompt 中所定义的 JSON 输出格式。

请从文本中提取相关信息,并以如下 JSON 格式输出:

{
  "event_name": "事件名称",
  "dates": [
    {
      "type": "时间类型(如开幕式、闭幕式)",
      "date": "日期(格式为 YYYY-MM-DD)"
    }
  ],
  "locations": [
    {
      "name": "地点名称",
      "address": "详细地址"
    }
  ],
  "participants": ["参与人1", "参与人2", ...]
}
  • 注意事项

  • 请务必把所有需要提取的内容项都包含在 JSON 中,这样才能保证信息完整

  • 文本输出

    • 适用场景说明

      • 只需提取少量信息并直接展示

      • 生成摘要、笔记等非结构化内容

  • 结果用于网页显示、打印或其他直接展示用途

  • 例如:从新闻中提取标题、时间、地点,生成一句话摘要;无需结构化处理,以自然语言形式输出即可

示例

类型

示例

结果预测

问题分析

未优化示例

提取合同中的日期

  1. 可能输出所有日期(签署日/生效日/截止日)

  2. 包含不相关日期(附件日期等)

  3. 日期格式不规范

  1. 未限定日期类型

  2. 未指定条款位置

  3. 缺乏格式要求

优化示例

请从合同正文第3.1条款中提取以下两项信息,并以JSON格式输出。

  1. 服务开始日期:格式为YYYY-MM-DD的日期,若条款未明确则标注N/A;

  2. 服务截止日期:格式为YYYY-MM-DD的日期,若条款未明确则标注N/A。

【输出json格式】

[{

"服务开始日期": "***",

"服务截止日期": "***"

}]

输出:

[{

"服务开始日期": "2014-12-31",

"服务截止日期": "2024-12-31"

}]

  1. 明确条款位置(第3.1条)

  2. 限定日期类型(服务开始日、截止日)

  3. 指定格式要求

直接提问自查清单

提问前请确认:

  1. 是否明确描述了需要提取的信息及其特征?

  2. 是否逻辑通顺,每个要点都清晰无歧义?

  3. 是否避免使用行业黑话?(用标准术语替代内部简称)

  4. 是否需要结构化输出?如需要,是否已在输出格式中列明所有待提取项?

高级提问法

适用场景

适用于复杂问题、多步骤任务、需要思考或推理的场景。

编写要点

  • 简洁:即使是复杂任务,也应尽量简明扼要地表达核心需求,避免冗余说明干扰模型理解。

  • 结构化:将复杂问题拆分为清晰的步骤,帮助模型有序处理信息。

  • 角色定位:告诉模型它现在要扮演什么角色。比如说"你现在是一名医生",这样模型就会从医生的角度来思考和回答问题。

  • 上下文学习(few shot):为模型提供一些好的输出示例,供模型学习参考。

  • 多维约束:清楚地说明你对模型回答的各种要求,比如格式应该是怎样的,内容应该包括哪些。比如在财务报告分析的场景中,提出如下要求:金额精确到百万美元,使用专业的财务术语等。

示例

类型

示例

结果预测

问题分析

未优化示例

分析第四季度销售数据并给出见解

  1. 可能输出过于宽泛的分析

  2. 缺乏结构化输出

  3. 无法确保关注关键指标

  1. 缺少专业角色定义

  2. 未指定分析步骤

  3. 没有输出格式要求

优化示例

【任务描述】

作为专业的金融分析师,请根据提供的第四季度销售报告,完成销售数据分析任务。请按以下步骤进行:

  1. 评估整体趋势:描述销售额变化方向,并简要说明其合理性;

  2. 识别关键驱动因素:指出推动或拖累销售表现的主要产品线或市场区域;

  3. 分析季节性影响:评估节假日、促销活动等对销售结果的影响;

  4. 提出初步建议:为下一季度制定销售策略提供1-2条有针对性的建议。

【输出示例】

[{

"整体趋势": "第四季度销售额较第三季度增长6%,主要受年终促销和节日消费带动,但低于去年同期8%。",

"关键驱动因素": ["高端电子产品需求旺盛,占比提升至35%", "线上渠道销量同比增长18%"],

"季节性影响": "黑色星期五和圣诞节促销显著提升了消费电子类商品的销量。",

"初步建议": ["加大高毛利产品的库存备货力度", "优化线上平台用户体验,提高转化率"]

}]

【输出json格式】

[{

"整体趋势": "描述...",

"关键驱动因素": ["因素1", "因素2"],

"季节性影响": "分析...",

"初步建议": ["建议1", "建议2"]

}]

输出:

清晰、有条理地输出以下四个关键内容:

  1. 销售整体趋势分析

  2. 核心产品和市场表现

  3. 季节因素分析

  4. 1-2条有针对性的销售策略建议

  1. 明确角色定位

  2. 明确核心任务:销售数据分析

  3. 设定清晰的分析步骤,每个步骤包含简明扼要的描述

  4. 提供模型可参考的输出示例

  5. 指定输出格式

高级提问自查清单

提问前请确认:

  1. 是否简明扼要地阐明了核心任务?

  2. 角色设定是否与任务性质匹配?

  3. 是否明确了思考路径和推理步骤?(避免跳跃式思维)

  4. 是否提供了足够的背景信息?(复杂问题需要充分上下文)

  5. 输出格式要求是否明确?

  6. 对于较复杂的输出要求,是否提供明确的输出示例供模型参考?

3. Key-Value模板编写指南

适用场景

Key-Value(键值对)模板是一种结构化的数据格式,用于明确指定需提取的内容字段及其对应值。它特别适用于从内容复杂、信息密集的长文档(如ESG报告、公司年报、合同文件、研究论文和技术白皮书等)中抽取特定信息,并以标准化形式输出。

Key-Value模板编写技巧

编写要点

  • 精准定义:为每个要提取的信息点定义一个清晰的名字。比如,不要用"基本信息"这样笼统的词,而应该用"姓名"、"年龄"这样具体的词。

  • 语义扩展:对于每个需要提取的信息(key),想想还有哪些相关的同义词/近义词。比如检索"工作"时,也可以考虑"职业"、"岗位"等词。这样可以扩大匹配范围。

  • 限定输出结果:通过关键词选项,为每个提取项设置明确的答案范围,约束模型的输出结果。

  • 明确抽取规则:在常见问题栏补充一些常见的问法作为例子,帮助模型理解键的应用场景和提取方式。

示例

某合同信息抽取Key-Value模板示例

序号

关键词(必填)

请填写能准确代表要抽取的内容的名词或短语

近义词

关键词的同近义词,信息抽取时视作等同。可空缺,填写有助于提高信息抽取质量。

关键词选项

关键词可能出现的结果,建议填写答案的固定选项,如“是/否”、“符合/部分符合/不符合”,可空缺。

常见问题

建议填写明确的抽取规则,如什么条件输出什么结果,用于判断/总结,可空缺。

1

合同类型

  • 协议类型

  • 合约形式

  • 设备租赁合同

  • 设备维修合同

若文档标题就是合同类型,请直接输出合同类型。若文档标题不是合同类型,请根据文档内容,总结合同类型。

2

收银方式

  • 收款方式

  • 交易方式

  • 独立收银

  • 独立收银,三方接口

  • 甲方POS

合同中的收银方式是什么?

3

是否签订了绿色条款

文档中是否包含了以下内容的条款:“甲方致力于执行绿色可持续性发展,最高效率地利用能源、最低限度地影响环境,并为此制定绿色装修指南供租户参照和执行。” 如果有,结果返回“是”;如果没有,则结果返回“否”

Key-value模板配置自查清单

配置前请确认:

  1. 键的定义是否足够具体且有明确边界?(避免宽泛模糊的表述)

  2. 近义词是否真正表达相同或相近的概念?(确保语义一致性)

  3. 关键词选项是否涵盖了预期答案的主要选项?

  4. 常见问题是否模拟了真实用户的查询意图?

  5. 各个信息项(key)之间是否有重复或矛盾?(确保每个信息项都是独立的)