v1.0.0-054 — Fast-Path Entity-Level Semantic Normalizer & Smart Correction Memory
Implementasi sistem normalisasi semantik per-entitas (<10ms) berbasis riwayat koreksi pengguna (OCRAliasMapping) dan perbaikan alur pembacaan ulang nota setelah penghapusan transaksi di jurnal.
1mnt baca
- Tabel Baru
ocr_alias_mappings(models/ocr.py):- Menyimpan pasangan kata mentah OCR (
raw_pattern) vs kata hasil validasi pengguna (corrected_value) untuk tipe entitasmerchant,product_name, danuom. - Dilengkapi
confidence_countyang otomatis bertambah setiap kali pengguna memvalidasi koreksi serupa.
- Menyimpan pasangan kata mentah OCR (
- Service Normalizer (
app/services/ocr_normalizer.py):record_ocr_entity_aliases(): Secara otomatis mengekstrak selisih koreksi pengguna saat transaksi disimpan dan mencatatnya ke memori alias.apply_ocr_entity_aliases(): Fast-path similarity matching (<10ms) menggunakan algoritma string similarity (). Setiap nama supplier atau item yang memiliki kemiripan dengan riwayat koreksi masa lalu langsung di-auto-correct sebelum disajikan ke pengguna.- Zero token cost: Berjalan instan di layer aplikasi/database tanpa membebani kuota API Vision/Embedding.
- Smart Correction Reuse (
api/v1/ocr.py):- Jika pengguna meng-upload ulang nota yang sama setelah transaksinya dihapus di jurnal (misal karena salah tanggal posting), sistem TIDAK LAGI membuang data koreksi lama.
- Sistem otomatis me-reuse
corrected_datatersimpan sehingga hasil editan manual pengguna sebelumnya tidak hilang dan tidak perlu diketik ulang dari nol.
- Prioritaskan
corrected_data(useOcrUpload.ts):- Membaca
task.corrected_data || task.extracted_datasaat menyusun teks input transaksi. - Memberikan indikator notifikasi toast cerdas ketika data koreksi lama dimuat (“✨ Koreksi Tersimpan Dimuat”) atau ketika normalisasi semantik AI aktif (“🎯 Normalisasi Semantik AI Aktif”).
- Membaca