- add internal/eval: deterministic citizen-style perturbation harness (typos, case, word order, abbreviations, filler words, dropped units) - parser: strip all street-type tokens, filler words (город/дом/д/область), trailing apartment (кв N); handle letter-before-fraction and corpus letters - matching: token-aware typo-tolerant street similarity; wider ambiguity margin to surface near-collisions instead of guessing - seed: correct parse-rate accounting, structure-aware de-duplication - CLI: 'addrkit eval' command; README with measured results Measured on the real 73,936-row registry: 99.98% parsed, 0 wrong-house safety violations across 34k+ perturbed cases.
23 lines
439 B
JSON
23 lines
439 B
JSON
{
|
|
"addr": ":6171",
|
|
"data_path": "registry.db",
|
|
"log_level": "info",
|
|
"resolve": {
|
|
"fuzzy_threshold": 0.82,
|
|
"ambiguity_margin": 0.06,
|
|
"max_candidates": 5
|
|
},
|
|
"portal": {
|
|
"url": "${ADDRKIT_PORTAL_URL}",
|
|
"timeout_seconds": 2,
|
|
"retries": 1
|
|
},
|
|
"llm": {
|
|
"enabled": false,
|
|
"url": "${ADDRKIT_LLM_URL}",
|
|
"token": "${ADDRKIT_LLM_TOKEN}",
|
|
"model": "qwen3-14b-awq",
|
|
"timeout_seconds": 3
|
|
}
|
|
}
|