c8c76565130ec48ea2997e2bd4fb8f71da0dad6a
Codex gpt-5.5 round 22 returned Minor Revision after v2 closed
3/5 Major findings fully and 2/5 partially. Five narrow fixes
applied for v3:
1. Per-firm ranking unanimity corrected (v2:93). The reverse-
anchor score ranks Firm D fractionally higher than Firm C
(-0.7125 vs -0.7672); only Scores 1 and 3 rank Firm C
highest. The unanimity claim was wrong; v3 prose now says
all three agree on Firm A as most replication-dominated
and on the non-Firm-A Big-4 as more hand-leaning, with a
modest disagreement on Firm C vs D ordering.
2. "Smallest scope" / "any single firm" overclaim narrowed
(v2:21, v2:43). Script 32 only tested Firm A alone, big4_non_A
pooled, and all_non_A pooled -- not Firms B, C, D individually.
v3 explicitly says "comparison scopes tested in Script 32"
and notes single-firm dip tests for B, C, D were not
separately computed.
3. K=3 hard label vs posterior in Spearman correctly
attributed (v2:143). Script 38 uses the K=3 posterior P(C1),
not the hard label, in the internal-consistency Spearman
correlations. v3 §III-L now correctly says the hard label
is for the §IV cluster cross-tabulation while the posterior
is the continuous Score 1 in §III-K.
4. Provenance source for n=150,442 corrected (v2:17, v2:152).
Script 39 directly reports this count in its per-signature
K=3 fit; Script 38's report does not. v3 cites Script 39 for
this number.
5. "Max fold-to-fold deviation" wording made precise (v2:65,
v2:107). The $0.028$ value is the max absolute deviation
from the across-fold mean (Script 36 stability summary), not
the pairwise across-fold range (which is $0.0376 = 0.9756 -
0.9380$). v3 reports both statistics with explicit
definitions.
Also: draft note at top now records v2 (round-21) and v3
(round-22) revision lineage. Cross-reference index and open-
question block retained as author working checklist (will be
removed before manuscript submission per codex e7).
Outstanding open questions reduced to 3 (codex round-22 view):
- Five-way moderate-confidence band: validate in Big-4 specifically
(Phase 3 §IV-F work) or document as inherited from v3.x?
- Firm anonymisation policy in §IV-V (procedural)
- §IV table numbering (procedural; defer until §IV done)
Phase 2 §III draft is now Minor-Revision-quality. Ready for
Phase 3 (Results regeneration §IV).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PDF Signature Extraction System
Automated extraction of handwritten Chinese signatures from PDF documents using hybrid VLM + Computer Vision approach.
Quick Start
Step 1: Extract Pages from CSV
cd /Volumes/NV2/pdf_recognize
source venv/bin/activate
python extract_pages_from_csv.py
Step 2: Extract Signatures
python extract_signatures_hybrid.py
Documentation
- PROJECT_DOCUMENTATION.md - Complete project history, all approaches tested, detailed results
- README_page_extraction.md - Page extraction documentation
- README_hybrid_extraction.md - Hybrid signature extraction documentation
Current Performance
Test Dataset: 5 PDF pages
- Signatures expected: 10
- Signatures found: 7
- Precision: 100% (no false positives)
- Recall: 70%
Key Features
✅ Hybrid Approach: VLM name extraction + CV detection + VLM verification
✅ Name-Based: Signatures saved as signature_周寶蓮.png
✅ No False Positives: Name-specific verification filters out dates, text, stamps
✅ Duplicate Prevention: Only one signature per person
✅ Handles Both: PDFs with/without text layer
File Structure
extract_pages_from_csv.py # Step 1: Extract pages
extract_signatures_hybrid.py # Step 2: Extract signatures (CURRENT)
README.md # This file
PROJECT_DOCUMENTATION.md # Complete documentation
README_page_extraction.md # Page extraction guide
README_hybrid_extraction.md # Signature extraction guide
Requirements
- Python 3.9+
- PyMuPDF, OpenCV, NumPy, Requests
- Ollama with qwen2.5vl:32b model
- Ollama instance: http://192.168.30.36:11434
Data
- Input:
/Volumes/NV2/PDF-Processing/master_signatures.csv(86,073 rows) - PDFs:
/Volumes/NV2/PDF-Processing/total-pdf/batch_*/ - Output:
/Volumes/NV2/PDF-Processing/signature-image-output/
Status
✅ Page extraction: Tested with 100 files, working ✅ Signature extraction: Tested with 5 files, 70% recall, 100% precision ⏳ Large-scale testing: Pending ⏳ Full dataset (86K files): Pending
See PROJECT_DOCUMENTATION.md for complete details.
Description
Automated extraction of handwritten Chinese signatures from PDF documents using hybrid VLM + Computer Vision approach. 70% recall, 100% precision.
Languages
Python
100%