- Add Rust reimplementation in rust/ for benchmarking (~5x faster, 100% match)
- Use underthesea character normalization (NFC + character map) in
src/normalizer.py instead of custom unicodedata logic
- Simplify src/parser.py by removing unused _classify_part function
- Add benchmark.py comparing Python vs Rust on all 10,602 ward records
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Vietnamese address converter for post-merger admin units (01/07/2025)
Converts addresses from old 63-province 3-level system (Province > District > Ward)
to new 34-province 2-level system (Province > Ward) with 10,602 ward mapping records.
Supports abbreviation expansion, 2-tier matching, CLI and batch CSV conversion.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>