mailwoman 7.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placetype-stats.d.ts","sourceRoot":"","sources":["../../../../commands/gazetteer/inspect/placetype-stats.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,EAAgB,KAAK,gBAAgB,EAAkB,MAAM,2BAA2B,CAAA;AAE/F,QAAA,MAAM,aAAa;;;;qBAQjB,CAAA;AAEF,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,CAAA;AA6BnC,QAAA,MAAM,uBAAuB,EAAE,gBAAgB,CAAC,OAAO,aAAa,CA6GnE,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @copyright Sister Software
|
|
4
|
+
* @license AGPL-3.0
|
|
5
|
+
* @author Teffen Ellis, et al.
|
|
6
|
+
*
|
|
7
|
+
* `mailwoman gazetteer inspect placetype-stats [--country XX] [--db <path>] [--json]` — tally WOF
|
|
8
|
+
* placetype statistics + hierarchy relationships from the unified admin DB (`spr` + `ancestors`).
|
|
9
|
+
*
|
|
10
|
+
* Motivation (the `dependent_locality` dead-tag investigation): the trained model struggles with rare
|
|
11
|
+
* sub-locality tags because they have almost no WOF grounding, and we underuse WOF's statistical counts
|
|
12
|
+
* + parent/ancestor relationship chains. This surfaces, per placetype: the global row count, the
|
|
13
|
+
* distribution of its PARENT placetype (how the type relates upward), and its modal ANCESTOR-placetype
|
|
14
|
+
* chain. Read-only. The `--json` payload is shaped to feed an "effective placetype" soft-prior later.
|
|
15
|
+
*/
|
|
16
|
+
import { DatabaseSync } from "node:sqlite";
|
|
17
|
+
import { COMPONENT_TAGS } from "@mailwoman/core";
|
|
18
|
+
import { dataRootPath } from "@mailwoman/core/utils";
|
|
19
|
+
import { Box, Text } from "ink";
|
|
20
|
+
import zod from "zod";
|
|
21
|
+
import { commandError, useCommandTask } from "../../../cli-kit/index.js";
|
|
22
|
+
const OptionsSchema = zod.object({
|
|
23
|
+
db: zod.string().optional().describe("WOF admin DB. Default: $MAILWOMAN_DATA_ROOT/wof/admin-global-priority.db"),
|
|
24
|
+
country: zod
|
|
25
|
+
.string()
|
|
26
|
+
.regex(/^[A-Z]{2}$/u, "ISO 3166-1 alpha-2 (e.g. NZ, US)")
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Filter to one country's places"),
|
|
29
|
+
json: zod.boolean().optional().describe("Emit the raw stats as JSON (feeds a soft-prior / Fable analysis)"),
|
|
30
|
+
});
|
|
31
|
+
export { OptionsSchema as options };
|
|
32
|
+
// WOF placetype -> mailwoman ComponentTag (mirrors core/types/mapping.ts; only the admin-hierarchy ones).
|
|
33
|
+
const PLACETYPE_TO_TAG = {
|
|
34
|
+
country: "country",
|
|
35
|
+
region: "region",
|
|
36
|
+
locality: "locality",
|
|
37
|
+
dependency: "dependent_locality",
|
|
38
|
+
borough: "dependent_locality",
|
|
39
|
+
macrohood: "dependent_locality",
|
|
40
|
+
neighbourhood: "dependent_locality",
|
|
41
|
+
county: "subregion",
|
|
42
|
+
localadmin: "subregion",
|
|
43
|
+
};
|
|
44
|
+
const GazetteerPlacetypeStats = ({ options }) => {
|
|
45
|
+
const state = useCommandTask(async () => {
|
|
46
|
+
const dbPath = options.db ?? dataRootPath("wof", "admin-global-priority.db").toString();
|
|
47
|
+
const country = options.country;
|
|
48
|
+
let db;
|
|
49
|
+
try {
|
|
50
|
+
db = new DatabaseSync(dbPath, { readOnly: true });
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
throw commandError(`Cannot open WOF DB ${dbPath}: ${error.message}`);
|
|
54
|
+
}
|
|
55
|
+
const where = country ? "AND s.country = ?" : "";
|
|
56
|
+
const cWhere = country ? "AND c.country = ?" : "";
|
|
57
|
+
const params = country ? [country] : [];
|
|
58
|
+
// 1) counts
|
|
59
|
+
const counts = db
|
|
60
|
+
.prepare(`SELECT placetype, count(*) AS n FROM spr s WHERE is_current = 1 ${where} GROUP BY placetype`)
|
|
61
|
+
.all(...params);
|
|
62
|
+
// 2) parent-placetype distribution (child.parent_id -> parent.placetype)
|
|
63
|
+
const parentRows = db
|
|
64
|
+
.prepare(`SELECT c.placetype AS child, p.placetype AS parent, count(*) AS n
|
|
65
|
+
FROM spr c JOIN spr p ON c.parent_id = p.id
|
|
66
|
+
WHERE c.is_current = 1 ${cWhere} GROUP BY c.placetype, p.placetype`)
|
|
67
|
+
.all(...params);
|
|
68
|
+
// 3) ancestor-placetype distribution (via the ancestors chain table)
|
|
69
|
+
const ancRows = db
|
|
70
|
+
.prepare(`SELECT s.placetype AS pt, a.ancestor_placetype AS anc, count(*) AS n
|
|
71
|
+
FROM ancestors a JOIN spr s ON a.id = s.id
|
|
72
|
+
WHERE s.is_current = 1 ${where} GROUP BY s.placetype, a.ancestor_placetype`)
|
|
73
|
+
.all(...params);
|
|
74
|
+
db.close();
|
|
75
|
+
const byParent = new Map();
|
|
76
|
+
for (const r of parentRows) {
|
|
77
|
+
const list = byParent.get(r.child) ?? [];
|
|
78
|
+
list.push({ placetype: r.parent, n: r.n });
|
|
79
|
+
byParent.set(r.child, list);
|
|
80
|
+
}
|
|
81
|
+
const byAnc = new Map();
|
|
82
|
+
for (const r of ancRows) {
|
|
83
|
+
const list = byAnc.get(r.pt) ?? [];
|
|
84
|
+
list.push({ placetype: r.anc, n: r.n });
|
|
85
|
+
byAnc.set(r.pt, list);
|
|
86
|
+
}
|
|
87
|
+
const dist = (list) => {
|
|
88
|
+
if (!list?.length)
|
|
89
|
+
return [];
|
|
90
|
+
const tot = list.reduce((s, x) => s + x.n, 0) || 1;
|
|
91
|
+
return list
|
|
92
|
+
.sort((a, b) => b.n - a.n)
|
|
93
|
+
.slice(0, 5)
|
|
94
|
+
.map((x) => ({ placetype: x.placetype, fraction: x.n / tot }));
|
|
95
|
+
};
|
|
96
|
+
const tags = new Set(COMPONENT_TAGS);
|
|
97
|
+
const stats = counts
|
|
98
|
+
.sort((a, b) => b.n - a.n)
|
|
99
|
+
.map((c) => ({
|
|
100
|
+
placetype: c.placetype,
|
|
101
|
+
count: c.n,
|
|
102
|
+
parents: dist(byParent.get(c.placetype)),
|
|
103
|
+
ancestors: dist(byAnc.get(c.placetype)),
|
|
104
|
+
trained: tags.has(PLACETYPE_TO_TAG[c.placetype] ?? ""),
|
|
105
|
+
}));
|
|
106
|
+
return { dbPath, country: country ?? "ALL", stats };
|
|
107
|
+
});
|
|
108
|
+
if (state.status === "error")
|
|
109
|
+
return _jsxs(Text, { color: "red", children: ["\u2717 ", state.message] });
|
|
110
|
+
if (state.status !== "done")
|
|
111
|
+
return null;
|
|
112
|
+
if (options.json)
|
|
113
|
+
return _jsx(Text, { children: JSON.stringify(state.result, null, 2) });
|
|
114
|
+
const { stats, country } = state.result;
|
|
115
|
+
const pct = (f) => `${Math.round(f * 100)}%`;
|
|
116
|
+
const distStr = (d) => d.length ? d.map((x) => `${x.placetype} ${pct(x.fraction)}`).join(", ") : "—";
|
|
117
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, children: ["WOF placetype stats \u00B7 ", country, " \u00B7 ", stats.length, " placetypes"] }), _jsx(Text, { dimColor: true, children: `${"placetype".padEnd(20)} count trained parent-placetype distribution` }), stats.map((s) => (_jsxs(Text, { color: s.trained ? undefined : "gray", children: [s.placetype.padEnd(20), " ", String(s.count).padStart(9), " ", s.trained ? " ✓ " : " ", " ", distStr(s.parents)] }, s.placetype))), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Ancestor chains (rare/esoteric types):" }), stats
|
|
118
|
+
.filter((s) => s.count < 200_000 && s.trained)
|
|
119
|
+
.map((s) => (_jsxs(Text, { children: [" ", s.placetype.padEnd(20), " \u2190 ", distStr(s.ancestors)] }, `anc-${s.placetype}`)))] }));
|
|
120
|
+
};
|
|
121
|
+
export default GazetteerPlacetypeStats;
|
|
122
|
+
//# sourceMappingURL=placetype-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placetype-stats.js","sourceRoot":"","sources":["../../../../commands/gazetteer/inspect/placetype-stats.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mailwoman",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "A calibrated, retrieval-augmented postal-address parser — CLI + library.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"address",
|
|
@@ -116,24 +116,24 @@
|
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
118
|
"@inkjs/ui": "^2.0.0",
|
|
119
|
-
"@mailwoman/annotations": "7.
|
|
120
|
-
"@mailwoman/api": "7.
|
|
121
|
-
"@mailwoman/api-kit": "7.
|
|
122
|
-
"@mailwoman/ban": "7.
|
|
123
|
-
"@mailwoman/codex": "7.
|
|
124
|
-
"@mailwoman/core": "7.
|
|
125
|
-
"@mailwoman/corpus": "7.
|
|
126
|
-
"@mailwoman/formatter": "7.
|
|
127
|
-
"@mailwoman/kind-classifier": "7.
|
|
128
|
-
"@mailwoman/locale-gate": "7.
|
|
129
|
-
"@mailwoman/neural": "7.
|
|
130
|
-
"@mailwoman/normalize": "7.
|
|
131
|
-
"@mailwoman/phrase-grouper": "7.
|
|
132
|
-
"@mailwoman/query-shape": "7.
|
|
133
|
-
"@mailwoman/registry": "7.
|
|
134
|
-
"@mailwoman/resolver": "7.
|
|
135
|
-
"@mailwoman/resolver-wof-sqlite": "7.
|
|
136
|
-
"@mailwoman/spatial": "7.
|
|
119
|
+
"@mailwoman/annotations": "7.1.0",
|
|
120
|
+
"@mailwoman/api": "7.1.0",
|
|
121
|
+
"@mailwoman/api-kit": "7.1.0",
|
|
122
|
+
"@mailwoman/ban": "7.1.0",
|
|
123
|
+
"@mailwoman/codex": "7.1.0",
|
|
124
|
+
"@mailwoman/core": "7.1.0",
|
|
125
|
+
"@mailwoman/corpus": "7.1.0",
|
|
126
|
+
"@mailwoman/formatter": "7.1.0",
|
|
127
|
+
"@mailwoman/kind-classifier": "7.1.0",
|
|
128
|
+
"@mailwoman/locale-gate": "7.1.0",
|
|
129
|
+
"@mailwoman/neural": "7.1.0",
|
|
130
|
+
"@mailwoman/normalize": "7.1.0",
|
|
131
|
+
"@mailwoman/phrase-grouper": "7.1.0",
|
|
132
|
+
"@mailwoman/query-shape": "7.1.0",
|
|
133
|
+
"@mailwoman/registry": "7.1.0",
|
|
134
|
+
"@mailwoman/resolver": "7.1.0",
|
|
135
|
+
"@mailwoman/resolver-wof-sqlite": "7.1.0",
|
|
136
|
+
"@mailwoman/spatial": "7.1.0",
|
|
137
137
|
"chalk": "^5.6.2",
|
|
138
138
|
"change-case": "^5.4.4",
|
|
139
139
|
"d3-scale-chromatic": "^3.1.0",
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"@duckdb/node-api": "1.5.3-r.3",
|
|
159
|
-
"@mailwoman/resolver-wof-sqlite": "7.
|
|
159
|
+
"@mailwoman/resolver-wof-sqlite": "7.1.0"
|
|
160
160
|
},
|
|
161
161
|
"peerDependenciesMeta": {
|
|
162
162
|
"@duckdb/node-api": {
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
178
|
"optionalDependencies": {
|
|
179
|
-
"@mailwoman/tiger": "7.
|
|
179
|
+
"@mailwoman/tiger": "7.1.0"
|
|
180
180
|
},
|
|
181
181
|
"engines": {
|
|
182
182
|
"node": ">=24.18.0"
|