基于 _mock_rules_v2.py 中的47个要素,按提取难度和特征分为5类:
| 要素 | 示例 | 特征 | 提取难度 |
|---|---|---|---|
| workStartAt | 2024年7月13日 | 固定日期格式 | ⭐ 极低 |
| workEndAt | 2024年10月19日 | 固定日期格式 | ⭐ 极低 |
| resultScore | 93.33分 | 数值+单位 | ⭐ 极低 |
| resultLevel | 一级 | 枚举值 | ⭐ 极低 |
| basicInfo.projectCode | BZ-0092-2024 | 固定编号格式 | ⭐ 极低 |
| basicInfo.reviewObjectCertificateCode | ZGDIDBOY-083 | 固定编号格式 | ⭐ 极低 |
NER能力:✅ 100% 覆盖
推荐方案:使用规则NER,准确率可达95%+
| 要素 | 示例 | 特征 | 提取难度 |
|---|---|---|---|
| reviewObject | 中国电建集团成都勘测设计研究院有限公司 | 机构全称 | ⭐⭐ 低 |
| reviewObjectAlias | 成都院 | 机构简称 | ⭐⭐ 低 |
NER能力:✅ 90% 覆盖
问题:简称提取需要上下文理解("以下简称XX")
推荐方案:NER + 简单规则后处理
| 要素 | 示例 | 特征 | 提取难度 |
|---|---|---|---|
| reviewRange | 成都院本部、大邑地勘项目(简称:大邑项目) | 多项目拼接 | ⭐⭐⭐ 中 |
| workProcess | 2024年7月13日至10月17日期间,评审组对成都院... | 模板化描述 | ⭐⭐⭐ 中 |
NER能力:⚠️ 50% 覆盖
问题:
推荐方案:NER提取实体 + LLM生成拼接/模板填充
| 要素 | actionType | 来源 | 特征 | 提取难度 |
|---|---|---|---|---|
| target | summary | 评审代码5.1.1.1~5.1.1.3的remark | 需要总结多条意见 | ⭐⭐⭐⭐ 高 |
| duty | summary | 评审代码5.1.2.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| fullParticipation | summary | 评审代码5.1.3的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| safetyInvestment | summary | 评审代码5.1.4的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| safetyCulture | summary | 评审代码5.1.5的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| systematicManagement | summary | 评审代码5.2.*的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| employeeTraining | summary | 评审代码5.3.2.*的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| assetManagement | summary | 评审代码5.4.1.*的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| jobSafety | summary | 评审代码5.4.2.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| positionQualified | summary | 评审代码5.4.2.3的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| partner | summary | 评审代码5.4.2.4的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| occupationalHealth | summary | 评审代码5.4.3.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| riskAssessment | summary | 评审代码5.5.1.1和5.5.1.2的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| majorHazardManagement | summary | 评审代码5.5.2.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| hazardInspection | summary | 评审代码5.5.3.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| changeManagement | summary | 评审代码5.5.1.4的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| earlyWarning | summary | 评审代码5.5.4的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
| emergencyResponse | summary | 评审代码5.6.1.1的remark | 需要总结 | ⭐⭐⭐⭐ 高 |
NER能力:❌ 0% 覆盖
原因:这些要素不是"提取",而是"总结",需要:
推荐方案:必须使用LLM
| 要素 | actionType | 内容 | 提取难度 |
|---|---|---|---|
| +SPSRRReviewProject | table_extract | 复审项目列表 | ⭐⭐⭐ 中 |
| +SPSRRReviewer | table_extract | 复审人员列表 | ⭐⭐⭐ 中 |
| +target_responsibility | table_extract | 目标职责详情表 | ⭐⭐⭐⭐ 高 |
| +institutionalized_management | table_extract | 制度化管理详情表 | ⭐⭐⭐⭐ 高 |
| +review_status | table_extract | 现场复审情况总览表 | ⭐⭐⭐⭐ 高 |
| +review_result | table_extract | 复审结果表 | ⭐⭐⭐⭐ 高 |
| +SPSRRSuggestion | table_extract | 整改建议表 | ⭐⭐⭐⭐ 高 |
NER能力:⚠️ 30% 覆盖
问题:
推荐方案:
| 类型 | 要素数 | NER覆盖率 | 适用场景 |
|---|---|---|---|
| A. 简单结构化 | 6 | ✅ 100% | 日期、数值、编号 |
| B. 简单实体 | 2 | ✅ 90% | 机构名、人名 |
| C. 列表拼接 | 2 | ⚠️ 50% | 需要后处理 |
| D. 总结型 | 18 | ❌ 0% | 必须用LLM |
| E. 表格数据 | 7 | ⚠️ 30% | 简单表格可用 |
| 总计 | 35 | ~40% | - |
| 类型 | 要素数 | LLM覆盖率 | 适用场景 |
|---|---|---|---|
| A. 简单结构化 | 6 | ✅ 95% | 可用但成本高 |
| B. 简单实体 | 2 | ✅ 95% | 可用但成本高 |
| C. 列表拼接 | 2 | ✅ 90% | 适合 |
| D. 总结型 | 18 | ✅ 85% | 必须用 |
| E. 表格数据 | 7 | ✅ 80% | 适合 |
| 总计 | 35 | ~88% | - |
关键发现:
┌─────────────────────────────────────────┐
│ 文档解析(OCR/PDF提取) │
└─────────────────┬───────────────────────┘
│
┌─────────┴─────────┐
│ │
▼ ▼
┌───────────────┐ ┌──────────────────┐
│ NER提取 │ │ 表格识别 │
│ (规则模式) │ │ (文档解析器) │
└───────┬───────┘ └────────┬─────────┘
│ │
│ 提取8个要素 │ 提取简单表格
│ - 日期(2) │ - 人员列表
│ - 编号(2) │ - 项目列表
│ - 得分(1) │
│ - 级别(1) │
│ - 机构(2) │
│ │
└────────┬───────────┘
│
▼
┌────────────────────┐
│ LLM智能提取 │
│ (DeepSeek/Qwen) │
└────────┬───────────┘
│
│ 提取27个要素
│ - 18个总结型(必须)
│ - 7个复杂表格
│ - 2个列表拼接
│
▼
┌────────────────────┐
│ 结果合并与验证 │
└────────────────────┘
优点:
缺点:
┌─────────────────────────────────────────┐
│ 文档解析(OCR/PDF提取) │
└─────────────────┬───────────────────────┘
│
▼
┌────────────────────┐
│ LLM结构化提取 │
│ (一次性提取所有) │
└────────┬───────────┘
│
│ 提取35个要素
│ 使用JSON Schema约束输出
│
▼
┌────────────────────┐
│ 结果验证与修正 │
└────────────────────┘
优点:
缺点:
阶段1: 快速NER提取(1-2秒)
├─ 提取8个简单要素
├─ 识别表格位置
└─ 提取关键实体(机构、人名、日期)
阶段2: 表格结构化(3-5秒)
├─ 简单表格:规则提取
└─ 复杂表格:LLM提取
阶段3: LLM总结生成(10-20秒)
├─ 定位评审代码对应的文本块(基于NER结果)
├─ 批量调用LLM总结18个要素
└─ 使用上下文窗口优化(一次调用处理多个要素)
阶段4: 结果合并与验证
├─ 合并NER和LLM结果
├─ 交叉验证(如日期一致性)
└─ 置信度评分
优点:
缺点:
目标:验证LLM提取效果
步骤:
提示词示例:
prompt = """
请从以下工作方案中提取信息,以JSON格式返回:
{
"reviewObject": "评审对象全称",
"reviewObjectAlias": "评审对象简称",
"workStartAt": "评审开始日期(格式:yyyy年M月d日)",
"workEndAt": "评审结束日期",
"reviewRange": "复审范围(多个项目用顿号分隔)"
}
文本:
{text}
要求:
1. 严格按照JSON格式输出
2. 日期必须是yyyy年M月d日格式
3. 如果找不到某个字段,填null
"""
验收标准:
目标:实现NER + LLM混合提取
阶段1:NER基础(2天)
阶段2:LLM集成(2天)
阶段3:表格提取(2天)
阶段4:流程整合(1天)
目标:快速上线,后续优化
阶段1:提示词工程(1天)
阶段2:API集成(1天)
阶段3:测试优化(1天)
| 方案 | NER成本 | LLM成本 | 总成本/附件 | 月成本(100附件) |
|---|---|---|---|---|
| 纯NER | ¥0 | ¥0 | ¥0 | ¥0 |
| 纯LLM | ¥0 | ¥1.5 | ¥1.5 | ¥150 |
| 混合方案 | ¥0 | ¥1.0 | ¥1.0 | ¥100 |
说明:
| 方案 | 处理时间 | 准确率 | 覆盖率 | 维护成本 |
|---|---|---|---|---|
| 纯NER | 1-2秒 | 95% | 40% | 高(规则维护) |
| 纯LLM | 15-30秒 | 85% | 88% | 低(提示词优化) |
| 混合方案 | 10-20秒 | 90% | 95% | 中(两套逻辑) |
理由:
第一步:快速验证(本周)
第二步:混合实现(下周)
第三步:优化迭代(后续)
结论:智报的要素提取需求中,51%必须使用LLM(18个总结型要素),23%可以用NER(8个简单要素),26%需要混合方案(9个表格和列表要素)。因此,纯NER无法满足需求,建议采用NER + LLM混合方案。