跳到主要内容

信息抽取

问题

信息抽取的主要任务有哪些?LLM 时代信息抽取有哪些新变化?

答案

一、信息抽取任务

二、关系抽取

从文本中抽取实体之间的关系:

输入: "马云创办了阿里巴巴"
输出: (马云, 创办, 阿里巴巴)
主语 关系 宾语
方法特点
管道方法先 NER → 再分类关系
联合抽取同时抽取实体和关系
LLM 结构化输出Prompt + JSON Schema

三、事件抽取

识别文本中的事件及其要素:

输入: "2024年1月苹果公司裁员600人"
输出: {
事件类型: "裁员",
时间: "2024年1月",
主体: "苹果公司",
数量: "600人"
}

四、LLM 做信息抽取

LLM 配合 Structured Output 是当前信息抽取的高效方案:

const schema = z.object({
entities: z.array(z.object({
name: z.string(),
type: z.enum(['PER', 'ORG', 'LOC', 'TIME']),
})),
relations: z.array(z.object({
subject: z.string(),
predicate: z.string(),
object: z.string(),
})),
});
LLM vs 传统信息抽取
对比传统方法LLM
训练数据需要大量标注零样本/少样本
Schema 变更需要重新训练修改 Prompt 即可
精度特定领域高通用场景好
速度
成本训练一次后低API 调用付费

五、知识图谱构建

信息抽取是构建知识图谱的核心步骤:


常见面试问题

Q1: 信息抽取在 RAG 中有什么应用?

答案

  • 文档预处理:对入库文档进行实体和关系抽取,丰富元数据
  • 结构化索引:用知识图谱补充向量检索
  • 实体链接:将查询中的实体链接到知识库
  • Graph RAG:结合知识图谱和向量检索的混合 RAG

Q2: 如何评估信息抽取的效果?

答案

  • 精确率:抽取结果中正确的比例
  • 召回率:应该被抽取的实体/关系中被正确抽取的比例
  • F1 值:精确率和召回率的调和平均
  • 对于 LLM 抽取:还需评估 JSON 格式正确性和字段完整性

相关链接