55f9f94d9a4fb0362358995900df41ed956b1fc2
Scripts 34 and 35 produced the empirical foundation that triggers the
Paper A v4.0 Big-4 reframe.
Script 34 (Big-4-only pooled calibration):
Pool Firm A + KPMG + PwC + EY (437 CPAs); first time the
three-method framework yields dip-test multimodal results
(p<0.0001 on both cos and dh axes) anywhere in the analysis
family. 2D-GMM K=2 marginal crossings with bootstrap 95% CI
(n=500): cos = 0.9755 [0.974, 0.977], dh = 3.755 [3.48, 3.97].
Crossing offsets from Paper A v3.20.0 baseline (0.945, 8.10):
+0.030 (cos), -4.345 (dh) -- mid/small-firm tail had
substantially shifted the published threshold.
Script 35 (Big-4 K=3 cluster membership):
Hard-assigns each Big-4 CPA to one of the K=3 components.
Findings:
* Firm A (Deloitte): 0% in C1 (hand-sign-leaning),
17.5% in C2 (mixed), 82.5% in C3 (replicated).
* PwC has the strongest hand-sign tradition (24/102 = 23.5%
in C1), followed by EY (11.5%) and KPMG (8.9%).
* 40 CPAs total in C1 across KPMG/PwC/EY.
Implications confirmed by these scripts:
* Big-4-only scope is the methodologically defensible primary
analysis; the published 0.945/8.10 reflects between-firm
structure rather than within-pool mechanism boundary.
* Firm A's role pivots from "calibration anchor" to
"case study of templated end of Big-4."
* Paper A is being reframed as v4.0 on sub-branch
paper-a-v4-big4, per Partner Jimmy's earlier direction
suggestion.
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%