mirror of
https://github.com/zvx-echo6/recon.git
synced 2026-05-20 14:44:54 +02:00
feat(navi): structured geocode with usaddress parsing and reranker
Add lib/geocode.py — multi-source retrieval pipeline: - usaddress CRF parsing with intent classification - Netsyms structured lookup (uses raw street abbreviations) - Photon /structured + /api freetext retrieval - Weighted 10-signal reranker (housenumber, street fuzz, locality, source authority, etc.) - match_code annotations + address book proximity labeling - Trace log at /tmp/geocode_rerank_trace.log nav_tools.py now delegates geocode() to the new module. Tests updated: US address queries correctly return Netsyms results. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c76d63b785
commit
87b230dcba
3 changed files with 721 additions and 197 deletions
|
|
@ -20,25 +20,24 @@ TESTS = [
|
|||
),
|
||||
},
|
||||
{
|
||||
"name": "214 north st filer → photon results (multi-word, not nickname)",
|
||||
"name": "214 north st filer → netsyms exact match (multi-word, not nickname)",
|
||||
"query": "214 north st filer",
|
||||
"check": lambda r: (
|
||||
r["count"] >= 1
|
||||
and r["results"][0]["source"] == "photon"
|
||||
# labeled_as=Home may or may not appear depending on Photon's
|
||||
# geocoding precision — the key invariant is that this multi-word
|
||||
# query flows through Photon, not the address book shortcut.
|
||||
and r["results"][0]["source"] == "netsyms"
|
||||
and r["results"][0]["confidence"] == "exact"
|
||||
and r["results"][0]["type"] == "street_address"
|
||||
),
|
||||
},
|
||||
{
|
||||
"name": "214 North St, Filer, ID → photon (case/punctuation)",
|
||||
"name": "214 North St, Filer, ID → netsyms (case/punctuation)",
|
||||
"query": "214 North St, Filer, ID",
|
||||
"check": lambda r: r["count"] >= 1 and r["results"][0]["source"] == "photon",
|
||||
"check": lambda r: r["count"] >= 1 and r["results"][0]["source"] == "netsyms",
|
||||
},
|
||||
{
|
||||
"name": "214 NORTH ST FILER ID → photon (uppercase)",
|
||||
"name": "214 NORTH ST FILER ID → netsyms (uppercase)",
|
||||
"query": "214 NORTH ST FILER ID",
|
||||
"check": lambda r: r["count"] >= 1 and r["results"][0]["source"] == "photon",
|
||||
"check": lambda r: r["count"] >= 1 and r["results"][0]["source"] == "netsyms",
|
||||
},
|
||||
{
|
||||
"name": "1600 Pennsylvania Ave Washington DC → White House",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue