feat: deepen structured field extraction

This commit is contained in:
Codex
2026-05-04 15:51:31 +08:00
parent 4a9b1ee8a3
commit fda8b4d0a0
6 changed files with 607 additions and 5 deletions
@@ -0,0 +1,169 @@
# OCR 后续能力扩展阶段 1 第三批执行记录(2026-05-04)
## 1. 本批目标
基于阶段 1 第二批已经完成的结构化理解增强,继续推进第三批:
1. 更细的金额抽取。
2. 更细的期限抽取。
3. 更细的付款节点抽取。
4. 条款关系理解显式化:
- 付款依赖验收
- 付款依赖发票
- 责任限制可能冲突违约责任
## 2. 本批改造
### 后端
1. `backend/app/services/review_service.py`
- 新增金额明细抽取:
- `amount_details.raw`
- `amount_details.currency`
- `amount_details.value`
- `amount_details.unit`
- `amount_details.normalized_amount_cny`
- 新增期限明细抽取:
- `term_details.raw`
- `term_details.start_date`
- `term_details.end_date`
- `term_details.duration_text`
- 新增付款节点抽取:
- `contract_structure.payment_milestones`
- 支持识别:
- 签署后付款
- 验收合格后付款
- 收到发票后付款
- 百分比节点
- 节点时限
- 新增条款关系理解:
- `payment_depends_on_acceptance`
- `payment_depends_on_invoice`
- `liability_cap_conflicts_with_breach`
- 结构化分析元数据新增:
- `payment_milestone_count`
- `relationship_count`
- 审查报告导出内容同步增强:
- 付款节点
- 条款关系
2. 条款分段与分类继续增强:
- `第一条 交货条款` 这类编号标题会保留真实标题语义
- 中文业务里常见的 `交货` 已纳入交付条款识别
- 责任限制标题优先级继续加强
### 前端
1. `frontend/src/services/review.ts`
- 承接:
- `amount_details`
- `term_details`
- `payment_milestones`
- `clause_relationships`
- `payment_milestone_count`
- `relationship_count`
2. `frontend/src/app/reviews/[id]/page.tsx`
- 新增金额标准化展示
- 新增开始/结束日期展示
- 新增付款节点展示区
- 新增条款关系展示区
- 风险证据卡继续保留并承接关键词标签
### 门禁与样本
1. `backend/tools/review_structured_acceptance_gate.py`
- 扩展结构化验收门禁断言:
- 合同类型
- 条款类型
- 金额片段
- 期限开始/结束日期
- 付款节点数量
- 条款关系类型
2. 新增 / 扩展结构化样本:
- `S-001` 服务合同结构化摘要
- `S-002` 采购合同缺失条款提示
- `S-003` 购销合同编号条款分段
- `S-004` 租赁合同责任限制识别
- `S-005` 开发合同付款节点拆解
## 3. 实际效果
第三批之后,系统不再只停在:
1. “这是什么合同”
2. “大概有哪些条款”
而是进一步具备:
1. 金额标准化识别
2. 期限起止识别
3. 付款节点拆解
4. 付款触发条件识别
5. 条款之间关系的显式提示
## 4. 验证结果
### 本地验证
1. 后端定向:
- `backend\\.venv\\Scripts\\python.exe -m unittest tests.test_review_service tests.test_review_service_rules tests.test_reviews_api`
- `PASS`
2. 前端:
- `frontend\\npm.cmd run build`
- `PASS`
### 线上验证
1. 后端健康检查:
- `http://192.168.3.90:8001/health`
- `PASS`
2. 结构化审查门禁:
- `project-docs/qa-artifacts/review-structured-acceptance-gate/2026-05-04T15-43-02-521/`
- 结果:`PASS`
3. PDF 验收门禁:
- `project-docs/qa-artifacts/pdf-acceptance-gate/2026-05-04T15-45-29-481/`
- 结果:`PASS`
4. 前端烟雾验证:
- `project-docs/qa-artifacts/stage1-batch3-front-smoke/2026-05-04T07-45-08-124Z/`
- 已确认:
- 结构化字段卡片可见
- 付款节点区可见
- 条款关系区可见
- 风险证据关键词标签可见
## 5. 部署记录
1. 联合部署:
- `project-docs/qa-artifacts/stage1-batch3-full-deploy/2026-05-04T15-37-14/`
2. 前端单独重部署:
- `project-docs/qa-artifacts/stage1-batch3-frontend-redeploy/2026-05-04T15-40-37/`
## 6. 当前结论
阶段 1 第三批已经闭环:
1. 字段抽取从粗粒度进入更细粒度。
2. 付款节点已能拆解并携带依赖条件。
3. 条款关系已从隐含逻辑变成显式结构。
4. 扩展后的结构化样本与 PDF 门禁均已通过。
5. 线上页面已可直接展示第三批结果。
## 7. 下一步建议
下一步最自然的是进入:
**阶段 1 第四批:真实合同样本深化与关系规则精修**
建议优先处理:
1. 用更多真实复杂合同替换部分合成样本。
2. 深化付款节点分期、尾款、质保金等细分识别。
3. 深化责任限制与违约、保密、知识产权之间的关系规则。
4. 建立更细的字段和关系验收基线。