@finbheara/names 0.17.0 → 0.18.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.
- package/dist/chunks/{index-ye6j60jn.js → index-17zzg7f3.js} +5 -5
- package/dist/chunks/{index-ye6j60jn.js.map → index-17zzg7f3.js.map} +2 -2
- package/dist/chunks/index-18z8akw8.js +42 -0
- package/dist/chunks/{index-tqdbxd92.js.map → index-18z8akw8.js.map} +3 -3
- package/dist/chunks/{index-ky754nsf.js → index-7j32khen.js} +9 -7
- package/dist/chunks/{index-ky754nsf.js.map → index-7j32khen.js.map} +4 -4
- package/dist/chunks/{index-tk01chxw.js → index-gxw36cg3.js} +27 -16
- package/dist/chunks/{index-tk01chxw.js.map → index-gxw36cg3.js.map} +2 -2
- package/dist/chunks/{index-n6fpj92s.js → index-xtwbdzy1.js} +10 -10
- package/dist/chunks/{index-n6fpj92s.js.map → index-xtwbdzy1.js.map} +2 -2
- package/dist/chunks/{phrase-2hj26asc.js → phrase-hze7av6y.js} +3 -3
- package/dist/classifier/index.js +2 -2
- package/dist/cli/census.js +3 -3
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/dist/measure/index.js +2 -2
- package/dist/normalize/index.js +16 -4
- package/dist/normalize/index.js.map +1 -1
- package/dist/types/classifier/features.d.ts +2 -2
- package/dist/types/lexicon/place.d.ts +16 -0
- package/dist/types/normalize/index.d.ts +2 -2
- package/package.json +1 -1
- package/dist/chunks/index-tqdbxd92.js +0 -27
- /package/dist/chunks/{phrase-2hj26asc.js.map → phrase-hze7av6y.js.map} +0 -0
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"/**\n * A `PersonName` as database columns: the keys a store indexes, encoded once.\n *\n * A store that holds many prints and answers \"which rows hold this name?\" wants\n * the parse's keys as plain columns, so the question is an equality lookup on an\n * index rather than a parse per row. `nameColumns` is the one encoder of those\n * keys, so a store that bakes them and a reader that parses a probe live cannot\n * disagree about a key. It depends on no database: a row is a plain object of\n * strings and nulls, and `NAME_COLUMNS` is its declared column order.\n *\n * | column | holds | answers |\n * |---|---|---|\n * | `nn0`-`nn4` | the transitive levels (`PersonName.nn0`…`nn4`) | a `NameMap`/`NameSet` lookup at that level |\n * | `surname_key` | `surnameKey()` | do two prints agree on the surname? |\n * | `given_key` | `givenName()` | do two prints agree on the given names? |\n * | `blk_surname` | `surnameBlock(surnameKey())` | is the surname spelt alike? |\n * | `blk_initials` | `initialsBlock(givenFields()[0], surnameKey())` | could these be one name at all? |\n * | `blk_metaphone` | the first of `metaphoneBlocks(surnameKey())` | does the surname sound alike? |\n * | `blk_metaphone_alt` | the second, when it differs | the same, under the alternate code |\n *\n * ## A level lookup is one equality\n *\n * `createNameMap(dop)` files a person under `name[dop]` and never finds a print\n * that names no person. The level columns are exactly that slot: the level for a\n * person, `null` otherwise. So `map.get(probe)` at level `dop` is\n *\n * SELECT … WHERE <dop> = nameColumns(probe)[dop]\n *\n * and a non-person probe carries `null`, which no equality matches, as the map\n * answers `undefined` for it. NN5 is a distance and has no column, as it has no map.\n *\n * ## Null means \"no key\", never \"an empty key\"\n *\n * Every column is `null` where its key is empty or does not apply: a refused or\n * empty print, a name with no given name, a surname with no A-Z letter. Two rows\n * that both lack a key are not thereby alike, and `null` carries that through SQL\n * for free. The metaphone pair is two columns because a name is filed under both\n * codes; a row's code set is `{blk_metaphone} ∪ {blk_metaphone_alt}`.\n */\n\nimport { initialsBlock, metaphoneBlocks, surnameBlock } from \"./block-keys.ts\";\nimport type { PersonName, TransitiveLevel } from \"./person-name.ts\";\n\n/** The level columns, one per transitive level, named as the level is. */\nexport const NAME_LEVEL_COLUMNS = [\n\t\"nn0\",\n\t\"nn1\",\n\t\"nn2\",\n\t\"nn3\",\n\t\"nn4\",\n] as const satisfies readonly TransitiveLevel[];\n\n/** Every column `nameColumns` fills, in declared order. */\nexport const NAME_COLUMNS = [\n\t...NAME_LEVEL_COLUMNS,\n\t\"surname_key\",\n\t\"given_key\",\n\t\"blk_surname\",\n\t\"blk_initials\",\n\t\"blk_metaphone\",\n\t\"blk_metaphone_alt\",\n] as const;\n\nexport type NameColumn = (typeof NAME_COLUMNS)[number];\n\n/** One name's row: every column a string or `null`. */\nexport type NameColumns = { readonly [C in NameColumn]: string | null };\n\n/** The keys of one parsed name, as columns. See the module header for each. */\nexport function nameColumns(name: PersonName): NameColumns {\n\tconst person = name.isPerson();\n\tconst level = (dop: TransitiveLevel): string | null => (person ? name[dop] : null);\n\tconst surname = person ? name.surnameKey() : \"\";\n\tconst [metaphone, metaphoneAlt] = metaphoneBlocks(surname);\n\treturn {\n\t\tnn0: level(\"nn0\"),\n\t\tnn1: level(\"nn1\"),\n\t\tnn2: level(\"nn2\"),\n\t\tnn3: level(\"nn3\"),\n\t\tnn4: level(\"nn4\"),\n\t\tsurname_key: surname || null,\n\t\tgiven_key: (person && name.givenName()) || null,\n\t\tblk_surname: surnameBlock(surname),\n\t\tblk_initials: person ? initialsBlock(name.givenFields()[0] ?? \"\", surname) : null,\n\t\tblk_metaphone: metaphone ?? null,\n\t\tblk_metaphone_alt: metaphoneAlt ?? null,\n\t};\n}\n",
|
|
15
15
|
"/**\n * name-format.ts — which order a COLLECTION of printed names uses, and whether its name\n * cells also carry a school or a place, as probabilities.\n *\n * ## One print, then many\n *\n * `readNameCell` reads one printed name cell: which part is the name, which part (if\n * any) is a school or a place, how its comma reads, and which order the lexicon reads\n * its name part in. `deriveNameFormat` scores those readings over a collection, and\n * `deriveNameFormat([print])` is the one-print answer in the same shape.\n *\n * The collection is a DOCUMENT: one results sheet, one roster, one column. Deciding\n * what a document is (grouping rows by source, by event, by year), corroborating a\n * reading across documents, and hand-written declarations stay with the caller. A\n * derived format is a declaration the caller makes about a document, never a guess\n * about one print: hand it to `splitPersonName` (via `nameFormatOrder`) and to the\n * classifier as the document's order.\n *\n * ## The three formats\n *\n * - `First Last`: given-first (`Zelvine Quorrish`);\n * - `Last, First`: surname-first with a separator comma (`Quorrish, Zelvine`);\n * - `Last First`: surname-first with no comma (`QUORRISH ZELVINE`).\n *\n * `inferNameOrder` reads one print by its comma, so it reads `Last First` as\n * given-first. The token-position reading below is the only signal that sees it.\n *\n * ## How a print's commas are read\n *\n * A comma may be an order separator (`Quorrish, Zelvine`), a place delimiter\n * (`Zelvine Quorrish, Zandrel`), school glue (`Zelvine Quorrish, Quorrish Academy`), a\n * suffix delimiter (`Ydris Vantrell, Jr.`) or stray punctuation. The place and the\n * school are cut off first, each consuming the comma before it, and the comma that is\n * left is read by `commaReading`, the rule `inferNameOrder` reads one print with. A\n * print with a separator comma is not also read for token position.\n *\n * - A PLACE is a trailing field after a spaced dash, a comma (after a name of two or\n * more tokens), or inside a trailing parenthesis, every word of which the lexicon\n * flags as a place (`isPlaceWordFlags`, the classifier's place-phrase rule). After a\n * `:` (the name + school + region glue), the tail's trailing place fields are the\n * place and whatever precedes them is a school.\n * - A SCHOOL is the part after a `:` that is not a place, the row's own school cell\n * where the name cell prints it again at its end, or what the injected segmenter\n * (`createSegmenter` from `@finbheara/names/classifier`, built on the same lexicon\n * as `options.lexicon`) reads after the person span. This module never imports the\n * classifier; with neither a segmenter nor a row school, `hasSchool` is `null`.\n *\n * ## Token position against the lexicon\n *\n * A two-token name part with no separator comma is read against `names.txt`: a token\n * is GIVEN-ONLY (`F`/`M`/`N`, no `L`/`A`) or SURNAME-ONLY (`L`, no `F`/`M`/`N`/`A`),\n * and the print reads given-first or surname-first where one of each sits at either\n * end. Where one token is settled and the other is absent from the lexicon, the\n * settled token orients the print alone: the ONE-TOKEN reading, its own class because\n * it is noisier. A token the lexicon does not settle contributes nothing. The lexicon\n * is keyed case-insensitively, so `QUORRISH ZELVINE` and `Quorrish Zelvine` read the\n * same.\n *\n * ## Probabilistic, not a vote\n *\n * Each read print is scored independently under each format: whether it carries a\n * separator comma, and, for a lexicon reading, which way it points GIVEN its class.\n * The class itself is not scored, because how many prints the lexicon can read is a\n * fact about its coverage, not about order; so each print consistent with a format\n * can only raise that format. Smoothing keeps a small collection near uniform. Because\n * the prints are scored independently, a large collection is confident even when it\n * prints both orders; the separate MIXED test (a binomial test of the dissent count\n * against the dissent rate documents of the leading format show) turns such a\n * collection `unknown` and sets `mixed`. `hasSchool` and `hasLocation` are the\n * probability that MOST cells carry the part, given the reader's recall and false-read\n * rate. Every rate is fitted by `training/fit-name-format.ts`; the threshold and the\n * mixed test's level are decided, and the pull request that set them records both.\n */\n\nimport { isAmbiguous, isGiven, isSurname } from \"../lexicon/flags.ts\";\nimport { Lexicon } from \"../lexicon/index.ts\";\nimport { isPlaceWordFlags } from \"../lexicon/place.ts\";\nimport { isNoNamePrint, isPlaceholderPrint } from \"./name-placeholder.ts\";\nimport {\n\ttype CommaReading,\n\ttype NameOrder,\n\tcommaReading,\n\tisNameSuffix,\n\ttokenize,\n} from \"./name-split.ts\";\nimport { isTeamPrint } from \"./team-name.ts\";\n\n/** A printed-name order, as a document prints it. */\nexport type NameFormat = \"First Last\" | \"Last, First\" | \"Last First\";\n\n/** The three formats, in the order every vector below is laid out. */\nexport const NAME_FORMATS: readonly NameFormat[] = [\"First Last\", \"Last, First\", \"Last First\"];\n\n/** A collection's verdict: a format, or `\"unknown\"` where none clears the threshold. */\nexport type NameFormatVerdict = NameFormat | \"unknown\";\n\n/**\n * The `NameOrder` a verdict declares: `First Last` is given-first, both surname-first\n * forms are surname-first, and `unknown` stays `unknown`.\n */\nexport function nameFormatOrder(verdict: NameFormatVerdict): NameOrder {\n\tif (verdict === \"unknown\") return \"unknown\";\n\treturn verdict === \"First Last\" ? \"given-first\" : \"surname-first\";\n}\n\n/**\n * What one print says about order. `comma` is a separator comma; the others are the\n * lexicon's token-position readings, two tokens settled or one.\n */\nexport type OrderReading =\n\t| \"comma\"\n\t| \"given-first:two-token\"\n\t| \"surname-first:two-token\"\n\t| \"given-first:one-token\"\n\t| \"surname-first:one-token\";\n\n/** The order readings, in the order every count vector below is laid out. */\nexport const ORDER_READINGS: readonly OrderReading[] = [\n\t\"comma\",\n\t\"given-first:two-token\",\n\t\"surname-first:two-token\",\n\t\"given-first:one-token\",\n\t\"surname-first:one-token\",\n];\n\n/** Why a print was not read at all: it names nobody, or it is a team designation. */\nexport type SkipReason = \"empty\" | \"no-name\" | \"team\";\n\n/** How a print's comma was read, `place` where it delimited a trailing place. */\nexport type CommaClass = CommaReading | \"place\";\n\n/** One printed name cell, read. */\nexport interface NameCellReading {\n\t/** The print, verbatim. */\n\tprint: string;\n\t/** Set where the print was not read; every other field is then empty. */\n\tskipped?: SkipReason;\n\t/**\n\t * The name part: the print with its school and place cut off, whitespace collapsed.\n\t * Hand it to the splitter in place of the print.\n\t */\n\tname: string;\n\t/** The school part, where the segmenter read one. */\n\tschool?: string;\n\t/** The place part, where a delimited place was read. */\n\tlocation?: string;\n\t/**\n\t * How the print's commas read. `place` and `glue` are commas the place or school\n\t * reading consumed; the rest are `commaReading` of the name part.\n\t */\n\tcommas: readonly CommaClass[];\n\t/** The order reading, or `undefined` where the name part orients nothing. */\n\torder?: OrderReading;\n\t/** The order the reading points to; `undefined` where there is none. */\n\torderPoints?: \"given-first\" | \"surname-first\";\n\t/** Name tokens read (suffixes and punctuation-only tokens set aside). */\n\ttokens: number;\n}\n\n/** The counts behind a verdict. */\nexport interface NameFormatEvidence {\n\t/** Every print given. */\n\tprints: number;\n\t/** Prints not read, by reason. */\n\tskipped: Record<SkipReason, number>;\n\t/** Prints carrying a separator comma. */\n\tseparatorCommas: number;\n\t/** Commas that were not order separators, by class. */\n\tdiscountedCommas: Record<Exclude<CommaClass, \"none\" | \"separator\">, number>;\n\t/** Prints oriented by the lexicon, by reading. */\n\tlexicon: Record<Exclude<OrderReading, \"comma\">, number>;\n\t/** Read prints that orient nothing. */\n\tunread: number;\n\t/** Read prints carrying a school; `null` where no segmenter was given. */\n\tschool: number | null;\n\t/** Read prints carrying a place. */\n\tlocation: number;\n}\n\n/** A collection's answer. One print's answer has the same shape. */\nexport interface NameFormatResult {\n\t/** Over the three formats, summing to 1. */\n\tprobabilities: Record<NameFormat, number>;\n\t/** The format whose probability clears the threshold, else `\"unknown\"`. */\n\tverdict: NameFormatVerdict;\n\t/** The probability that the name cells carry a school; `null` without a segmenter. */\n\thasSchool: number | null;\n\t/** The probability that the name cells carry a place. */\n\thasLocation: number;\n\t/**\n\t * True where the dissent is too large for the leading format to have printed it: the\n\t * collection prints both orders, and the verdict is `unknown`.\n\t */\n\tmixed: boolean;\n\tevidence: NameFormatEvidence;\n\t/**\n\t * The readings that point to the order the verdict does not: given-first readings\n\t * under a surname-first verdict and the reverse. Where the verdict is `\"unknown\"`,\n\t * against the most probable format.\n\t */\n\tdissent: NameCellReading[];\n\t/** Every print's reading, in input order. */\n\treadings: NameCellReading[];\n}\n\n/** What the segmenter returns that is read here; the classifier's `SegmentResult` is one. */\nexport interface CellSegmentation {\n\treadonly person: readonly string[];\n\treadonly school: readonly string[];\n\treadonly location: readonly string[];\n}\n\n/** The segmenter as read here; the classifier's `createSegmenter(lexicon)` is one. */\nexport interface CellSegmenter {\n\tsegmentTokens(tokens: string[]): CellSegmentation;\n}\n\nexport interface NameCellOptions {\n\t/** The lexicon read for token position and places. Default: `Lexicon.default()`. */\n\tlexicon?: Lexicon;\n\t/** Reads the school part. Without one, no school is read. */\n\tsegmenter?: CellSegmenter | null;\n\t/** Read delimited places. Default true; `false` reads every comma by `commaReading`. */\n\treadLocation?: boolean;\n\t/**\n\t * The document's cells carry places (`deriveNameFormat` sets it where `hasLocation`\n\t * passes 0.5 on a first reading): a comma after a name of two or more tokens that no\n\t * given name follows is read as a place delimiter, so a place the lexicon does not\n\t * know is not read as `Last, First`.\n\t */\n\tplaceColumn?: boolean;\n}\n\nexport interface NameFormatOptions extends NameCellOptions {\n\t/** The probability a format must reach to be the verdict. Default `DEFAULT_NAME_FORMAT_THRESHOLD`. */\n\tthreshold?: number;\n}\n\n/**\n * A print given as its name cell, or as the cell and its row's own school cell. Where\n * the name cell prints that school again at its end, the school is cut off there.\n */\nexport type PrintedNameCell = string | { name: string; school?: string };\n\n// ─── one print ──────────────────────────────────────────────────────────────\n\nconst HAS_LETTER = /\\p{L}/u;\nconst SPACED_DASH = /\\s[-–—]\\s/gu;\n\n/** A field every word of which (split at `,` and `/`) is a place word. */\nfunction isPlaceField(field: string, flagsOf: (t: string) => string | null): boolean {\n\tconst words = field\n\t\t.split(/[\\s,/]+/u)\n\t\t.map((w) => w.replace(/^[.(]+|[.)]+$/gu, \"\"))\n\t\t.filter((w) => w !== \"\");\n\treturn words.length > 0 && words.every((w) => isPlaceWordFlags(flagsOf(w) ?? \"\"));\n}\n\nfunction givenOnly(flags: string | null): boolean {\n\treturn flags !== null && isGiven(flags) && !isSurname(flags) && !isAmbiguous(flags);\n}\n\nfunction surnameOnly(flags: string | null): boolean {\n\treturn flags !== null && isSurname(flags) && !isGiven(flags) && !isAmbiguous(flags);\n}\n\n/** Two tokens, read against the lexicon. */\nfunction tokenOrder(a: string | null, b: string | null): OrderReading | undefined {\n\tif (givenOnly(a) && surnameOnly(b)) return \"given-first:two-token\";\n\tif (surnameOnly(a) && givenOnly(b)) return \"surname-first:two-token\";\n\tif (a !== null && b !== null) return undefined;\n\tif (b === null && givenOnly(a)) return \"given-first:one-token\";\n\tif (a === null && surnameOnly(b)) return \"given-first:one-token\";\n\tif (b === null && surnameOnly(a)) return \"surname-first:one-token\";\n\tif (a === null && givenOnly(b)) return \"surname-first:one-token\";\n\treturn undefined;\n}\n\n/** The order a reading points to. */\nexport function orderReadingPoints(r: OrderReading): \"given-first\" | \"surname-first\" {\n\treturn r === \"given-first:two-token\" || r === \"given-first:one-token\"\n\t\t? \"given-first\"\n\t\t: \"surname-first\";\n}\n\n/** A lexicon, its flag lookup bound once per lexicon. */\nconst flagLookups = new WeakMap<Lexicon, (t: string) => string | null>();\nfunction flagsOfLexicon(lexicon: Lexicon): (t: string) => string | null {\n\tlet f = flagLookups.get(lexicon);\n\tif (f === undefined) {\n\t\tf = (t) => lexicon.getNameFlags(t);\n\t\tflagLookups.set(lexicon, f);\n\t}\n\treturn f;\n}\n\n/**\n * Read one printed name cell: its name, school and place parts, how its commas read,\n * and the order its name part reads in.\n */\nexport function readNameCell(\n\tcell: PrintedNameCell,\n\toptions: NameCellOptions = {},\n): NameCellReading {\n\tconst print = typeof cell === \"string\" ? cell : cell.name;\n\tconst rowSchool =\n\t\ttypeof cell === \"string\" ? \"\" : (cell.school ?? \"\").replace(/\\s+/gu, \" \").trim();\n\tconst flagsOf = flagsOfLexicon(options.lexicon ?? Lexicon.default());\n\tconst readLocation = options.readLocation ?? true;\n\tconst skip = (skipped: SkipReason): NameCellReading => ({\n\t\tprint,\n\t\tskipped,\n\t\tname: \"\",\n\t\tcommas: [],\n\t\ttokens: 0,\n\t});\n\n\tlet s = print.replace(/\\s+/gu, \" \").trim();\n\tif (s === \"\") return skip(\"empty\");\n\tif (isNoNamePrint(s) || isPlaceholderPrint(s)) return skip(\"no-name\");\n\tif (isTeamPrint(s)) return skip(\"team\");\n\n\tconst places: string[] = [];\n\tconst commas: CommaClass[] = [];\n\tlet school: string | undefined;\n\tif (readLocation) {\n\t\t// After a colon: the glue of a name + school + region print. The tail's trailing\n\t\t// place fields are the place; whatever precedes them in the tail is a school.\n\t\tconst colon = s.indexOf(\":\");\n\t\tif (colon > 0) {\n\t\t\tlet tail = s.slice(colon + 1).trim();\n\t\t\ts = s.slice(0, colon).trim();\n\t\t\tconst tailPlaces: string[] = [];\n\t\t\tfor (;;) {\n\t\t\t\tif (isPlaceField(tail, flagsOf)) {\n\t\t\t\t\ttailPlaces.unshift(tail);\n\t\t\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"place\");\n\t\t\t\t\ttail = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst at = tail.lastIndexOf(\",\");\n\t\t\t\tif (at <= 0) break;\n\t\t\t\tconst field = tail.slice(at + 1).trim();\n\t\t\t\tif (field === \"\" || !isPlaceField(field, flagsOf)) break;\n\t\t\t\ttailPlaces.unshift(field);\n\t\t\t\tcommas.push(\"place\");\n\t\t\t\ttail = tail.slice(0, at).trim();\n\t\t\t}\n\t\t\tif (tailPlaces.length > 0) places.unshift(tailPlaces.join(\", \"));\n\t\t\tif (HAS_LETTER.test(tail)) school = tail;\n\t\t}\n\t\t// A trailing parenthesis naming a place.\n\t\tconst paren = /\\s*\\(([^()]*)\\)\\s*$/u.exec(s);\n\t\tif (paren !== null && paren.index > 0 && isPlaceField(paren[1] as string, flagsOf)) {\n\t\t\tplaces.unshift((paren[1] as string).trim());\n\t\t\ts = s.slice(0, paren.index).trim();\n\t\t}\n\t\t// After each spaced dash from the end, while each tail is a place.\n\t\tfor (;;) {\n\t\t\tconst dashes = [...s.matchAll(SPACED_DASH)];\n\t\t\tconst dash = dashes[dashes.length - 1];\n\t\t\tif (dash === undefined || dash.index <= 0) break;\n\t\t\tconst tail = s.slice(dash.index + dash[0].length).trim();\n\t\t\tif (!isPlaceField(tail, flagsOf)) break;\n\t\t\tplaces.unshift(tail);\n\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"place\");\n\t\t\ts = s.slice(0, dash.index).trim();\n\t\t}\n\t\t// Comma fields from the end, while each is a place.\n\t\tfor (;;) {\n\t\t\tconst at = s.lastIndexOf(\",\");\n\t\t\tif (at <= 0) break;\n\t\t\tconst tail = s.slice(at + 1).trim();\n\t\t\tif (tail === \"\" || !isPlaceField(tail, flagsOf)) break;\n\t\t\tconst head = s.slice(0, at).trim();\n\t\t\t// A one-token head is a surname before its given name (`Ospindle, Lirabel`), and a\n\t\t\t// given name the lexicon also knows as a place is still a given name there.\n\t\t\tif (tokenize(head.replace(/,/gu, \" \")).filter((t) => HAS_LETTER.test(t)).length < 2) break;\n\t\t\tplaces.unshift(tail);\n\t\t\tcommas.push(\"place\");\n\t\t\ts = head;\n\t\t}\n\t}\n\t// Asides other than a place are not part of the name.\n\ts = s\n\t\t.replace(/\\([^()]*\\)/gu, \" \")\n\t\t.replace(/\\s+/gu, \" \")\n\t\t.trim();\n\tif (!HAS_LETTER.test(s)) {\n\t\tif (places.length === 0) return skip(\"no-name\");\n\t\ts = \"\";\n\t}\n\n\t// The row's own school cell, printed again at the end of the name cell.\n\tif (school === undefined && rowSchool !== \"\" && HAS_LETTER.test(rowSchool)) {\n\t\tconst at = s.toLocaleLowerCase().lastIndexOf(rowSchool.toLocaleLowerCase());\n\t\t// Only at a word boundary: `Zelvine QVarrow Hall` does not end with `Varrow Hall`.\n\t\tif (at > 0 && at + rowSchool.length === s.length && /[\\s,;:-]/u.test(s[at - 1] ?? \"\")) {\n\t\t\tconst head = s.slice(0, at);\n\t\t\tif (HAS_LETTER.test(head)) {\n\t\t\t\tschool = s.slice(at);\n\t\t\t\tif (/,\\s*$/u.test(head)) commas.push(\"glue\");\n\t\t\t\ts = head.replace(/[\\s,;:-]+$/u, \"\");\n\t\t\t}\n\t\t}\n\t}\n\tif (school === undefined && options.segmenter && s !== \"\") {\n\t\tconst words = s.split(\" \");\n\t\tconst kept: number[] = [];\n\t\tconst clean: string[] = [];\n\t\tfor (const [i, w] of words.entries()) {\n\t\t\tconst c = w.replace(/^[,;.]+|[,;.]+$/gu, \"\");\n\t\t\tif (!HAS_LETTER.test(c)) continue;\n\t\t\tkept.push(i);\n\t\t\tclean.push(c);\n\t\t}\n\t\tif (clean.length >= 2) {\n\t\t\tconst seg = options.segmenter.segmentTokens(clean);\n\t\t\tif (seg.person.length > 0 && seg.school.length > 0) {\n\t\t\t\tconst cut = kept[seg.person.length] as number;\n\t\t\t\tschool = seg.school.join(\" \");\n\t\t\t\tif (seg.location.length > 0) places.unshift(seg.location.join(\" \"));\n\t\t\t\tconst tail = words.slice(cut).join(\" \");\n\t\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"glue\");\n\t\t\t\ts = words\n\t\t\t\t\t.slice(0, cut)\n\t\t\t\t\t.join(\" \")\n\t\t\t\t\t.replace(/[\\s,;-]+$/u, \"\");\n\t\t\t\tif (/,\\s*$/u.test(words.slice(0, cut).join(\" \"))) commas.push(\"glue\");\n\t\t\t}\n\t\t}\n\t}\n\n\tlet comma = commaReading(s);\n\t// In a document whose cells carry places, a comma after a name of two or more\n\t// tokens, followed by no given name, delimits a place the lexicon does not know.\n\tif (comma === \"separator\" && readLocation && options.placeColumn) {\n\t\tconst at = s.lastIndexOf(\",\");\n\t\tconst head = s.slice(0, at).trim();\n\t\tconst tail = s.slice(at + 1).trim();\n\t\tconst headTokens = tokenize(head).filter((t) => HAS_LETTER.test(t));\n\t\tconst tailTokens = tokenize(tail).filter((t) => HAS_LETTER.test(t));\n\t\tconst givenInTail = tailTokens.some((t) => {\n\t\t\tconst f = flagsOf(t);\n\t\t\treturn f !== null && isGiven(f);\n\t\t});\n\t\tif (headTokens.length >= 2 && tailTokens.length > 0 && !givenInTail) {\n\t\t\tplaces.push(tail);\n\t\t\tcommas.push(\"place\");\n\t\t\ts = head;\n\t\t\tcomma = commaReading(s);\n\t\t}\n\t}\n\tif (comma !== \"none\") commas.push(comma);\n\tconst out: NameCellReading = {\n\t\tprint,\n\t\tname: s,\n\t\tcommas,\n\t\ttokens: 0,\n\t\t...(school !== undefined ? { school } : {}),\n\t\t...(places.length > 0 ? { location: places.join(\", \") } : {}),\n\t};\n\tconst tokens = tokenize(s.replace(/,/gu, \" \")).filter(\n\t\t(t) => HAS_LETTER.test(t) && !isNameSuffix(t),\n\t);\n\tout.tokens = tokens.length;\n\tif (comma === \"separator\") {\n\t\tout.order = \"comma\";\n\t} else if (comma !== \"glue\" && comma !== \"particle\" && tokens.length === 2) {\n\t\tconst order = tokenOrder(flagsOf(tokens[0] as string), flagsOf(tokens[1] as string));\n\t\tif (order !== undefined) out.order = order;\n\t}\n\tif (out.order !== undefined) out.orderPoints = orderReadingPoints(out.order);\n\treturn out;\n}\n\n// ─── many prints ────────────────────────────────────────────────────────────\n\n/** Natural log of the gamma function (Lanczos, g = 7), for positive arguments. */\nfunction logGamma(x: number): number {\n\tif (x < 0.5) return Math.log(Math.PI / Math.sin(Math.PI * x)) - logGamma(1 - x);\n\tconst c = [\n\t\t0.99999999999980993, 676.5203681218851, -1259.1392167224028, 771.32342877765313,\n\t\t-176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6,\n\t\t1.5056327351493116e-7,\n\t];\n\tconst z = x - 1;\n\tlet a = c[0] as number;\n\tconst t = z + 7.5;\n\tfor (let i = 1; i < 9; i++) a += (c[i] as number) / (z + i);\n\treturn 0.5 * Math.log(2 * Math.PI) + (z + 0.5) * Math.log(t) - t + Math.log(a);\n}\n\n/** `P(X >= k)` for `X` binomial over `n` trials with rate `p`. */\nexport function binomialTail(k: number, n: number, p: number): number {\n\tif (k <= 0) return 1;\n\tif (p <= 0) return 0;\n\tif (p >= 1) return 1;\n\tconst lp = Math.log(p);\n\tconst lq = Math.log1p(-p);\n\tlet tail = 0;\n\tfor (let j = k; j <= n; j++)\n\t\ttail += Math.exp(\n\t\t\tlogGamma(n + 1) - logGamma(j + 1) - logGamma(n - j + 1) + j * lp + (n - j) * lq,\n\t\t);\n\treturn Math.min(1, tail);\n}\n\n/** Posterior over hypotheses with a uniform prior: softmax of the log likelihoods. */\nfunction posterior(logs: readonly number[]): number[] {\n\tconst m = Math.max(...logs);\n\tconst e = logs.map((l) => Math.exp(l - m));\n\tconst z = e.reduce((x, y) => x + y, 0);\n\treturn e.map((x) => x / z);\n}\n\n/** How the reader sees a part (school or place): how often it reads one that is there, and one that is not. */\nexport interface PartReader {\n\t/** P(read | the cell carries one). */\n\trecall: number;\n\t/** P(read | the cell carries none). */\n\tfalseRate: number;\n}\n\n/**\n * The fitted model. Every print is read independently given the format:\n *\n * - `comma`: P(a read print carries a separator comma | format);\n * - `surnameFirst`: P(a lexicon reading points surname-first | its class, format).\n * The CLASS (two-token or one-token) is taken as given, not scored: how many prints\n * the lexicon can read at all is a fact about the lexicon's coverage, not about\n * order. So each consistent print can only raise the format it is consistent with.\n * - `dissent`: the share of oriented prints that point against a format's order in\n * documents of that format; the mixed-document test's bound.\n * - `school`, `location`: the reader's recall and false-read rate for each part.\n */\nexport interface NameFormatModel {\n\tcomma: Record<NameFormat, number>;\n\tsurnameFirst: Record<NameFormat, { twoToken: number; oneToken: number }>;\n\tdissent: Record<NameFormat, number>;\n\t/**\n\t * Uninformative pseudo-prints mixed into the order probabilities: with `n` oriented\n\t * prints, each probability is `(n·p + smoothing/3) / (n + smoothing)`, and each\n\t * part probability is `(n·p + smoothing/2) / (n + smoothing)` over `n` read prints,\n\t * so a small population stays near uniform whatever its likelihoods say.\n\t */\n\tsmoothing: number;\n\t/**\n\t * The mixed-document test's level: a collection whose dissent count is less\n\t * probable than this, binomially, at the leading format's `dissent` rate, prints\n\t * both orders; its verdict is `unknown` (`mixed`) however the probabilities fall.\n\t */\n\tmixedTail: number;\n\tschool: PartReader;\n\tlocation: PartReader;\n}\n\n/**\n * FITTED by `training/fit-name-format.ts` (and its selection of `smoothing`; the\n * threshold and `mixedTail` are decided, see the pull request). Provenance:\n *\n * corpus: corpus-v3.0.0-188, solo competitions, transcript and manifested halves\n * command: NAMES_CORPUS_DIR=<corpus-v3.0.0-188> bun training/fit-name-format.ts\n * split: 80/10/10 by event-year, `splitOf` (FNV-1a of the event-year, no seed)\n * date: 2026-10-02\n *\n * Refit when the readings above change.\n */\nexport const NAME_FORMAT_MODEL: NameFormatModel = {\n\tcomma: { \"First Last\": 0.00001237, \"Last, First\": 0.9989, \"Last First\": 0.0009921 },\n\tsurnameFirst: {\n\t\t\"First Last\": { twoToken: 0.0008603, oneToken: 0.02476 },\n\t\t\"Last, First\": { twoToken: 0.5, oneToken: 0.0625 },\n\t\t\"Last First\": { twoToken: 0.9972, oneToken: 0.9604 },\n\t},\n\tdissent: { \"First Last\": 0.004387, \"Last, First\": 0.0004406, \"Last First\": 0.01895 },\n\tsmoothing: 0.25,\n\tmixedTail: 0.01,\n\tschool: { recall: 0.9945, falseRate: 0.0248 },\n\tlocation: { recall: 0.6772, falseRate: 0.0001503 },\n};\n\n/** The default threshold (see `NAME_FORMAT_MODEL`). */\nexport const DEFAULT_NAME_FORMAT_THRESHOLD = 0.95;\n\n/** The order readings of a collection, counted in `ORDER_READINGS` order. */\nexport function orderCounts(readings: readonly NameCellReading[]): number[] {\n\tconst counts = ORDER_READINGS.map(() => 0);\n\tfor (const r of readings) if (r.order !== undefined) counts[ORDER_READINGS.indexOf(r.order)]!++;\n\treturn counts;\n}\n\n/** Log likelihood of a collection's readings under one format. */\nfunction orderLogLikelihood(\n\tcounts: readonly number[],\n\tread: number,\n\tmodel: NameFormatModel,\n\tf: NameFormat,\n): number {\n\tconst [comma, gf2, sf2, gf1, sf1] = counts as [number, number, number, number, number];\n\tconst k = model.comma[f];\n\tconst s = model.surnameFirst[f];\n\treturn (\n\t\tcomma * Math.log(k) +\n\t\t(read - comma) * Math.log1p(-k) +\n\t\tsf2 * Math.log(s.twoToken) +\n\t\tgf2 * Math.log1p(-s.twoToken) +\n\t\tsf1 * Math.log(s.oneToken) +\n\t\tgf1 * Math.log1p(-s.oneToken)\n\t);\n}\n\n/**\n * P(most cells carry the part | `k` of `n` read prints read one): the share `θ` of\n * cells carrying it is uniform a priori, each print reads one with probability\n * `θ·recall + (1 - θ)·falseRate`, and the answer is the posterior mass of `θ ≥ 1/2`.\n */\nexport function partProbability(k: number, n: number, reader: PartReader): number {\n\tif (n === 0) return 0.5;\n\tconst steps = 200;\n\tlet lo = 0;\n\tlet hi = 0;\n\tconst logs: number[] = [];\n\tfor (let i = 0; i < steps; i++) {\n\t\tconst theta = (i + 0.5) / steps;\n\t\tconst q = theta * reader.recall + (1 - theta) * reader.falseRate;\n\t\tlogs.push(k * Math.log(q) + (n - k) * Math.log1p(-q));\n\t}\n\tconst m = Math.max(...logs);\n\tfor (const [i, l] of logs.entries()) {\n\t\tconst w = Math.exp(l - m);\n\t\tif ((i + 0.5) / steps >= 0.5) hi += w;\n\t\telse lo += w;\n\t}\n\treturn hi / (lo + hi);\n}\n\n/** Score a collection's readings under a model. Exported for the fit; callers use `deriveNameFormat`. */\nexport function scoreReadings(\n\treadings: readonly NameCellReading[],\n\tmodel: NameFormatModel,\n\tthreshold: number,\n\tschoolRead: boolean,\n): NameFormatResult {\n\tconst evidence: NameFormatEvidence = {\n\t\tprints: readings.length,\n\t\tskipped: { empty: 0, \"no-name\": 0, team: 0 },\n\t\tseparatorCommas: 0,\n\t\tdiscountedCommas: { place: 0, glue: 0, trailing: 0, suffix: 0, particle: 0 },\n\t\tlexicon: {\n\t\t\t\"given-first:two-token\": 0,\n\t\t\t\"surname-first:two-token\": 0,\n\t\t\t\"given-first:one-token\": 0,\n\t\t\t\"surname-first:one-token\": 0,\n\t\t},\n\t\tunread: 0,\n\t\tschool: schoolRead ? 0 : null,\n\t\tlocation: 0,\n\t};\n\tlet read = 0;\n\tfor (const r of readings) {\n\t\tif (r.skipped !== undefined) {\n\t\t\tevidence.skipped[r.skipped]++;\n\t\t\tcontinue;\n\t\t}\n\t\tread++;\n\t\tfor (const c of r.commas) {\n\t\t\tif (c === \"separator\") evidence.separatorCommas++;\n\t\t\telse if (c !== \"none\") evidence.discountedCommas[c]++;\n\t\t}\n\t\tif (r.order === undefined) evidence.unread++;\n\t\telse if (r.order !== \"comma\") evidence.lexicon[r.order]++;\n\t\tif (r.school !== undefined && evidence.school !== null) evidence.school++;\n\t\tif (r.location !== undefined) evidence.location++;\n\t}\n\n\tconst counts = orderCounts(readings);\n\tconst oriented = counts.reduce((a, b) => a + b, 0);\n\tconst smooth = (x: number, n: number, k: number): number =>\n\t\tn + model.smoothing === 0 ? x : (n * x + model.smoothing / k) / (n + model.smoothing);\n\tconst p = posterior(NAME_FORMATS.map((f) => orderLogLikelihood(counts, read, model, f))).map(\n\t\t(x) => smooth(x, oriented, NAME_FORMATS.length),\n\t);\n\tconst probabilities = Object.fromEntries(\n\t\tNAME_FORMATS.map((f, i) => [f, p[i] as number]),\n\t) as Record<NameFormat, number>;\n\tlet best = 0;\n\tfor (let i = 1; i < p.length; i++) if ((p[i] as number) > (p[best] as number)) best = i;\n\tconst leading = NAME_FORMATS[best] as NameFormat;\n\tconst against = nameFormatOrder(leading) === \"given-first\" ? \"surname-first\" : \"given-first\";\n\tconst dissent = readings.filter((r) => r.orderPoints === against);\n\tconst mixed =\n\t\tdissent.length > 0 &&\n\t\tbinomialTail(dissent.length, oriented, model.dissent[leading]) < model.mixedTail;\n\tconst verdict: NameFormatVerdict =\n\t\t!mixed && (p[best] as number) >= threshold ? leading : \"unknown\";\n\n\treturn {\n\t\tprobabilities,\n\t\tverdict,\n\t\thasSchool:\n\t\t\tevidence.school === null\n\t\t\t\t? null\n\t\t\t\t: smooth(partProbability(evidence.school, read, model.school), read, 2),\n\t\thasLocation: smooth(partProbability(evidence.location, read, model.location), read, 2),\n\t\tmixed,\n\t\tevidence,\n\t\tdissent,\n\t\treadings: [...readings],\n\t};\n}\n\n/**\n * Which printed-name order one collection of name cells uses, and whether the cells\n * carry a school or a place. See the module comment.\n */\nexport function deriveNameFormat(\n\tprints: Iterable<PrintedNameCell>,\n\toptions: NameFormatOptions = {},\n): NameFormatResult {\n\tconst cells = [...prints];\n\tconst threshold = options.threshold ?? DEFAULT_NAME_FORMAT_THRESHOLD;\n\tconst schoolRead =\n\t\tBoolean(options.segmenter) || cells.some((c) => typeof c !== \"string\" && Boolean(c.school));\n\tconst first = scoreReadings(\n\t\tcells.map((c) => readNameCell(c, options)),\n\t\tNAME_FORMAT_MODEL,\n\t\tthreshold,\n\t\tschoolRead,\n\t);\n\tif (first.hasLocation <= 0.5 || options.readLocation === false || options.placeColumn)\n\t\treturn first;\n\treturn scoreReadings(\n\t\tcells.map((c) => readNameCell(c, { ...options, placeColumn: true })),\n\t\tNAME_FORMAT_MODEL,\n\t\tthreshold,\n\t\tschoolRead,\n\t);\n}\n"
|
|
16
16
|
],
|
|
17
|
-
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
17
|
+
"mappings": "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",
|
|
18
|
+
"debugId": "E22D18DC92905B5E64756E2164756E21",
|
|
19
19
|
"names": []
|
|
20
20
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
phraseClassifier2
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
3
|
+
} from "./index-7j32khen.js";
|
|
4
|
+
import"./index-18z8akw8.js";
|
|
5
5
|
import"./index-0wpvbdgh.js";
|
|
6
6
|
export {
|
|
7
7
|
phraseClassifier2 as phraseClassifier
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
//# debugId=BD8F5B3E6DE1DCF664756E2164756E21
|
|
11
|
-
//# sourceMappingURL=phrase-
|
|
11
|
+
//# sourceMappingURL=phrase-hze7av6y.js.map
|
package/dist/classifier/index.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
createSegmenter2,
|
|
7
7
|
createClassifier2,
|
|
8
8
|
phraseClassifier2
|
|
9
|
-
} from "../chunks/index-
|
|
10
|
-
import"../chunks/index-
|
|
9
|
+
} from "../chunks/index-7j32khen.js";
|
|
10
|
+
import"../chunks/index-18z8akw8.js";
|
|
11
11
|
import"../chunks/index-0wpvbdgh.js";
|
|
12
12
|
export {
|
|
13
13
|
CONNECTORS2 as CONNECTORS,
|
package/dist/cli/census.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import"../chunks/index-0wpvbdgh.js";
|
|
3
3
|
import {
|
|
4
4
|
createNameCensus2
|
|
5
|
-
} from "../chunks/index-
|
|
6
|
-
import"../chunks/index-
|
|
5
|
+
} from "../chunks/index-17zzg7f3.js";
|
|
6
|
+
import"../chunks/index-gxw36cg3.js";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ async function main(argv) {
|
|
|
20
20
|
const limit = Number(value("limit") ?? 25);
|
|
21
21
|
const field = value("field") ?? "name";
|
|
22
22
|
const orderField = value("order-field") ?? "order";
|
|
23
|
-
const classifier = flag("classify") ? (await import("../chunks/phrase-
|
|
23
|
+
const classifier = flag("classify") ? (await import("../chunks/phrase-hze7av6y.js")).phraseClassifier() : undefined;
|
|
24
24
|
const census = createNameCensus2(classifier === undefined ? {} : { classifier });
|
|
25
25
|
for await (const line of createInterface({
|
|
26
26
|
input: process.stdin,
|
package/dist/index.js
CHANGED
|
@@ -38,10 +38,11 @@ import {
|
|
|
38
38
|
createSegmenter2,
|
|
39
39
|
createClassifier2,
|
|
40
40
|
phraseClassifier2
|
|
41
|
-
} from "./chunks/index-
|
|
41
|
+
} from "./chunks/index-7j32khen.js";
|
|
42
42
|
import"./chunks/index-jwx1mm4k.js";
|
|
43
43
|
import {
|
|
44
44
|
repairMojibake2,
|
|
45
|
+
middleFields2,
|
|
45
46
|
comparePosition2,
|
|
46
47
|
nameRelation2,
|
|
47
48
|
MAX_READINGS2,
|
|
@@ -89,7 +90,7 @@ import {
|
|
|
89
90
|
readNameCell2,
|
|
90
91
|
DEFAULT_NAME_FORMAT_THRESHOLD2,
|
|
91
92
|
deriveNameFormat2
|
|
92
|
-
} from "./chunks/index-
|
|
93
|
+
} from "./chunks/index-xtwbdzy1.js";
|
|
93
94
|
import"./chunks/index-qsznkk4s.js";
|
|
94
95
|
import {
|
|
95
96
|
composeEvalSet2,
|
|
@@ -101,13 +102,13 @@ import {
|
|
|
101
102
|
createGivenFamilyList2,
|
|
102
103
|
givenFamilyList2
|
|
103
104
|
} from "./chunks/index-qmn87bdh.js";
|
|
104
|
-
import"./chunks/index-
|
|
105
|
+
import"./chunks/index-18z8akw8.js";
|
|
105
106
|
import {
|
|
106
107
|
doubleMetaphone2
|
|
107
108
|
} from "./chunks/index-ebebeamh.js";
|
|
108
109
|
import {
|
|
109
110
|
createNameCensus2
|
|
110
|
-
} from "./chunks/index-
|
|
111
|
+
} from "./chunks/index-17zzg7f3.js";
|
|
111
112
|
import {
|
|
112
113
|
NAME_REFUSED2,
|
|
113
114
|
stripEveryAside2,
|
|
@@ -124,10 +125,15 @@ import {
|
|
|
124
125
|
COMPOUND_SURNAMES2,
|
|
125
126
|
isCompoundSurname2,
|
|
126
127
|
spaceAfterComma2,
|
|
128
|
+
NAME_SUFFIXES2,
|
|
129
|
+
isNameSuffix2,
|
|
127
130
|
inferNameOrder2,
|
|
128
131
|
commaReading2,
|
|
132
|
+
lexiconNameOrder2,
|
|
133
|
+
tippedNameOrder2,
|
|
129
134
|
resolveNameOrder2,
|
|
130
135
|
splitPersonName2,
|
|
136
|
+
givenNameGroups2,
|
|
131
137
|
classifyCell2,
|
|
132
138
|
capitalise2,
|
|
133
139
|
nameCase2,
|
|
@@ -152,7 +158,7 @@ import {
|
|
|
152
158
|
defaultPersonNameFactory2,
|
|
153
159
|
personName2,
|
|
154
160
|
personNameFromIcao2
|
|
155
|
-
} from "./chunks/index-
|
|
161
|
+
} from "./chunks/index-gxw36cg3.js";
|
|
156
162
|
import {
|
|
157
163
|
TEAM_WORD2,
|
|
158
164
|
TEAM_DESIGNATION_WORDS2,
|
|
@@ -193,6 +199,7 @@ export {
|
|
|
193
199
|
NAME_LEVEL_COLUMNS2 as NAME_LEVEL_COLUMNS,
|
|
194
200
|
NAME_PLACEHOLDERS2 as NAME_PLACEHOLDERS,
|
|
195
201
|
NAME_REFUSED2 as NAME_REFUSED,
|
|
202
|
+
NAME_SUFFIXES2 as NAME_SUFFIXES,
|
|
196
203
|
NAME_TRADITIONS2 as NAME_TRADITIONS,
|
|
197
204
|
ORDER_READINGS2 as ORDER_READINGS,
|
|
198
205
|
PARTICLE_SECTION2 as PARTICLE_SECTION,
|
|
@@ -241,6 +248,7 @@ export {
|
|
|
241
248
|
givenFamilyList2 as givenFamilyList,
|
|
242
249
|
givenFamilyTable2 as givenFamilyTable,
|
|
243
250
|
givenKeyAbbreviates2 as givenKeyAbbreviates,
|
|
251
|
+
givenNameGroups2 as givenNameGroups,
|
|
244
252
|
infeasibleClass2 as infeasibleClass,
|
|
245
253
|
inferNameOrder2 as inferNameOrder,
|
|
246
254
|
initialsBlock2 as initialsBlock,
|
|
@@ -257,6 +265,7 @@ export {
|
|
|
257
265
|
isMale2 as isMale,
|
|
258
266
|
isMultiWord2 as isMultiWord,
|
|
259
267
|
isNameParticle2 as isNameParticle,
|
|
268
|
+
isNameSuffix2 as isNameSuffix,
|
|
260
269
|
isNeutral2 as isNeutral,
|
|
261
270
|
isNoNamePrint2 as isNoNamePrint,
|
|
262
271
|
isPerson2 as isPerson,
|
|
@@ -271,10 +280,12 @@ export {
|
|
|
271
280
|
isTradename2 as isTradename,
|
|
272
281
|
levelOf2 as levelOf,
|
|
273
282
|
lexiconKey2 as lexiconKey,
|
|
283
|
+
lexiconNameOrder2 as lexiconNameOrder,
|
|
274
284
|
lookupKey2 as lookupKey,
|
|
275
285
|
meetReading2 as meetReading,
|
|
276
286
|
meetReadings2 as meetReadings,
|
|
277
287
|
metaphoneBlocks2 as metaphoneBlocks,
|
|
288
|
+
middleFields2 as middleFields,
|
|
278
289
|
middleForm2 as middleForm,
|
|
279
290
|
nameBlockKeys2 as nameBlockKeys,
|
|
280
291
|
nameCase2 as nameCase,
|
|
@@ -321,6 +332,7 @@ export {
|
|
|
321
332
|
surnameParts2 as surnameParts,
|
|
322
333
|
teamLetter2 as teamLetter,
|
|
323
334
|
teamRowDesignation2 as teamRowDesignation,
|
|
335
|
+
tippedNameOrder2 as tippedNameOrder,
|
|
324
336
|
titleCaseNamePart2 as titleCaseNamePart,
|
|
325
337
|
toAscii2 as toAscii,
|
|
326
338
|
traditionFromIndex2 as traditionFromIndex,
|
|
@@ -328,5 +340,5 @@ export {
|
|
|
328
340
|
traditionOf2 as traditionOf
|
|
329
341
|
};
|
|
330
342
|
|
|
331
|
-
//# debugId=
|
|
343
|
+
//# debugId=05E6D5B79CEDF96564756E2164756E21
|
|
332
344
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
package/dist/measure/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
} from "../chunks/index-a6f2y4aa.js";
|
|
5
5
|
import {
|
|
6
6
|
createNameCensus2
|
|
7
|
-
} from "../chunks/index-
|
|
8
|
-
import"../chunks/index-
|
|
7
|
+
} from "../chunks/index-17zzg7f3.js";
|
|
8
|
+
import"../chunks/index-gxw36cg3.js";
|
|
9
9
|
import"../chunks/index-0wpvbdgh.js";
|
|
10
10
|
export {
|
|
11
11
|
composeEvalSet2 as composeEvalSet,
|
package/dist/normalize/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
repairMojibake2,
|
|
3
|
+
middleFields2,
|
|
3
4
|
comparePosition2,
|
|
4
5
|
nameRelation2,
|
|
5
6
|
MAX_READINGS2,
|
|
@@ -47,14 +48,14 @@ import {
|
|
|
47
48
|
readNameCell2,
|
|
48
49
|
DEFAULT_NAME_FORMAT_THRESHOLD2,
|
|
49
50
|
deriveNameFormat2
|
|
50
|
-
} from "../chunks/index-
|
|
51
|
+
} from "../chunks/index-xtwbdzy1.js";
|
|
51
52
|
import {
|
|
52
53
|
sameGivenFamily2,
|
|
53
54
|
givenFamilyTable2,
|
|
54
55
|
createGivenFamilyList2,
|
|
55
56
|
givenFamilyList2
|
|
56
57
|
} from "../chunks/index-qmn87bdh.js";
|
|
57
|
-
import"../chunks/index-
|
|
58
|
+
import"../chunks/index-18z8akw8.js";
|
|
58
59
|
import {
|
|
59
60
|
NAME_REFUSED2,
|
|
60
61
|
stripEveryAside2,
|
|
@@ -71,10 +72,15 @@ import {
|
|
|
71
72
|
COMPOUND_SURNAMES2,
|
|
72
73
|
isCompoundSurname2,
|
|
73
74
|
spaceAfterComma2,
|
|
75
|
+
NAME_SUFFIXES2,
|
|
76
|
+
isNameSuffix2,
|
|
74
77
|
inferNameOrder2,
|
|
75
78
|
commaReading2,
|
|
79
|
+
lexiconNameOrder2,
|
|
80
|
+
tippedNameOrder2,
|
|
76
81
|
resolveNameOrder2,
|
|
77
82
|
splitPersonName2,
|
|
83
|
+
givenNameGroups2,
|
|
78
84
|
classifyCell2,
|
|
79
85
|
capitalise2,
|
|
80
86
|
nameCase2,
|
|
@@ -99,7 +105,7 @@ import {
|
|
|
99
105
|
defaultPersonNameFactory2,
|
|
100
106
|
personName2,
|
|
101
107
|
personNameFromIcao2
|
|
102
|
-
} from "../chunks/index-
|
|
108
|
+
} from "../chunks/index-gxw36cg3.js";
|
|
103
109
|
import {
|
|
104
110
|
TEAM_WORD2,
|
|
105
111
|
TEAM_DESIGNATION_WORDS2,
|
|
@@ -126,6 +132,7 @@ export {
|
|
|
126
132
|
NAME_LEVEL_COLUMNS2 as NAME_LEVEL_COLUMNS,
|
|
127
133
|
NAME_PLACEHOLDERS2 as NAME_PLACEHOLDERS,
|
|
128
134
|
NAME_REFUSED2 as NAME_REFUSED,
|
|
135
|
+
NAME_SUFFIXES2 as NAME_SUFFIXES,
|
|
129
136
|
NAME_TRADITIONS2 as NAME_TRADITIONS,
|
|
130
137
|
ORDER_READINGS2 as ORDER_READINGS,
|
|
131
138
|
PLATFORM_PLACEHOLDERS2 as PLATFORM_PLACEHOLDERS,
|
|
@@ -160,6 +167,7 @@ export {
|
|
|
160
167
|
givenFamilyList2 as givenFamilyList,
|
|
161
168
|
givenFamilyTable2 as givenFamilyTable,
|
|
162
169
|
givenKeyAbbreviates2 as givenKeyAbbreviates,
|
|
170
|
+
givenNameGroups2 as givenNameGroups,
|
|
163
171
|
infeasibleClass2 as infeasibleClass,
|
|
164
172
|
inferNameOrder2 as inferNameOrder,
|
|
165
173
|
initialsBlock2 as initialsBlock,
|
|
@@ -167,14 +175,17 @@ export {
|
|
|
167
175
|
isCompoundSurname2 as isCompoundSurname,
|
|
168
176
|
isIcaoName2 as isIcaoName,
|
|
169
177
|
isListJoiner2 as isListJoiner,
|
|
178
|
+
isNameSuffix2 as isNameSuffix,
|
|
170
179
|
isNoNamePrint2 as isNoNamePrint,
|
|
171
180
|
isPlaceholderPrint2 as isPlaceholderPrint,
|
|
172
181
|
isTeamPrint2 as isTeamPrint,
|
|
173
182
|
levelOf2 as levelOf,
|
|
174
183
|
lexiconKey2 as lexiconKey,
|
|
184
|
+
lexiconNameOrder2 as lexiconNameOrder,
|
|
175
185
|
meetReading2 as meetReading,
|
|
176
186
|
meetReadings2 as meetReadings,
|
|
177
187
|
metaphoneBlocks2 as metaphoneBlocks,
|
|
188
|
+
middleFields2 as middleFields,
|
|
178
189
|
middleForm2 as middleForm,
|
|
179
190
|
nameBlockKeys2 as nameBlockKeys,
|
|
180
191
|
nameCase2 as nameCase,
|
|
@@ -215,10 +226,11 @@ export {
|
|
|
215
226
|
surnameParts2 as surnameParts,
|
|
216
227
|
teamLetter2 as teamLetter,
|
|
217
228
|
teamRowDesignation2 as teamRowDesignation,
|
|
229
|
+
tippedNameOrder2 as tippedNameOrder,
|
|
218
230
|
titleCaseNamePart2 as titleCaseNamePart,
|
|
219
231
|
traditionFromIndex2 as traditionFromIndex,
|
|
220
232
|
traditionLookupOf2 as traditionLookupOf
|
|
221
233
|
};
|
|
222
234
|
|
|
223
|
-
//# debugId=
|
|
235
|
+
//# debugId=2FD5851B5C07803564756E2164756E21
|
|
224
236
|
//# sourceMappingURL=index.js.map
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* `FEATURE_NAMES` stays in the weights file it was generated with; a weights
|
|
7
7
|
* object is valid for this code only when its vectors are that long.
|
|
8
8
|
*/
|
|
9
|
-
import { isPlacePhrase } from "../lexicon/place.ts";
|
|
9
|
+
import { isCommaPlacePhrase, isPlacePhrase } from "../lexicon/place.ts";
|
|
10
10
|
import { FEATURE_NAMES } from "./weights-v4.ts";
|
|
11
|
-
export { FEATURE_NAMES, isPlacePhrase };
|
|
11
|
+
export { FEATURE_NAMES, isCommaPlacePhrase, isPlacePhrase };
|
|
12
12
|
/** The three phrase categories, as the weights and the exact-match short-circuit name them. */
|
|
13
13
|
export interface CategoryScores {
|
|
14
14
|
person: number;
|
|
@@ -31,3 +31,19 @@ export declare function isPlaceWordFlags(flags: string): boolean;
|
|
|
31
31
|
* phrase `location` without the regression, as it answers one word flagged G.
|
|
32
32
|
*/
|
|
33
33
|
export declare function isPlacePhrase(phrase: string, getFlags: (name: string) => string | null): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* A place cut by a comma: two or more printed words, every one a place (`G`), at least one
|
|
36
|
+
* before the last ending its field with `,`, and every word after the last such comma a
|
|
37
|
+
* place and nothing else (`isPlaceWordFlags`). The words before the comma may also be a
|
|
38
|
+
* given name or a school's name: `Victoria, Australia` (`Victoria:FG`, `Australia:G`) and
|
|
39
|
+
* `Sydney, Australia` (`Sydney:FGT`) are ones; `Victoria Australia` (no comma) and
|
|
40
|
+
* `Australia, Victoria` (a given name after the comma) are not.
|
|
41
|
+
*
|
|
42
|
+
* The comma is the signal only where the document prints given names first. A person is
|
|
43
|
+
* printed `Surname, Given`, and under a surname-first or an undeclared order a given name
|
|
44
|
+
* that is also a place may follow the comma; a school is printed `School, State`
|
|
45
|
+
* (`Claddagh, Utah`) in surname-first documents. So the runtime answers this phrase
|
|
46
|
+
* `location` only for a document that declares `given-first`; `isPlacePhrase` answers
|
|
47
|
+
* under every order.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isCommaPlacePhrase(phrase: string, getFlags: (name: string) => string | null): boolean;
|
|
@@ -14,14 +14,14 @@ export { type CellVerdict, type NameRefusalRule, type Refusal, classifyCell, } f
|
|
|
14
14
|
export { NAME_PLACEHOLDERS, type NamePlaceholder, PLATFORM_PLACEHOLDERS, isNoNamePrint, isPlaceholderPrint, placeholderOf, } from "./name-placeholder.ts";
|
|
15
15
|
export { capitalise, nameCase, type SpellingLookup } from "./name-case.ts";
|
|
16
16
|
export { type DisplayLexicon, GIVEN_SEPARATOR, type PersonNameParts, SURNAME_SEPARATOR, formatPersonDisplay, lexiconKey, parsePersonName, personDisplayName, spellingLookup, titleCaseNamePart, } from "./person-display.ts";
|
|
17
|
-
export { type CommaReading, type NameOrder, type NameSplit, type ResolvedNameOrder, commaReading, inferNameOrder, resolveNameOrder, spaceAfterComma, splitPersonName, } from "./name-split.ts";
|
|
17
|
+
export { type CommaReading, NAME_SUFFIXES, type NameOrder, type NameSplit, type ResolvedNameOrder, commaReading, givenNameGroups, inferNameOrder, isNameSuffix, lexiconNameOrder, resolveNameOrder, spaceAfterComma, splitPersonName, tippedNameOrder, } from "./name-split.ts";
|
|
18
18
|
export { TEAM_DESIGNATION_WORDS, TEAM_WORD, type TeamSuffixPartition, canonicalTeamName, isCanonicalTeamName, isTeamPrint, partitionTeamSuffix, teamLetter, teamRowDesignation, } from "./team-name.ts";
|
|
19
19
|
export { foldNameKey, nameFold } from "./name-fold.ts";
|
|
20
20
|
export { COMPOUND_SURNAMES, isCompoundSurname } from "./compound-surnames.ts";
|
|
21
21
|
export { givenFamilyTable, sameGivenFamily } from "./given-diminutives.ts";
|
|
22
22
|
export { type GivenFamilyList, type GivenFamilyListOptions, type GivenFamilyTier, createGivenFamilyList, givenFamilyList, } from "./given-families.ts";
|
|
23
23
|
export { type ClusterLinkage, type Clusters, type NameIndex, type NameIndexOptions, type NameMap, type NameMatch, type NameSet, createNameClusters, createNameIndex, createNameMap, createNameSet, nameCompare, probablySame, } from "./name-compare.ts";
|
|
24
|
-
export { type NameReading, type NameRelation, type NameRelationReason, comparePosition, nameRelation, } from "./name-middle.ts";
|
|
24
|
+
export { type NameReading, type NameRelation, type NameRelationReason, comparePosition, middleFields, nameRelation, } from "./name-middle.ts";
|
|
25
25
|
export { type GivenProvider, type GivenVia, KINSHIP_VIAS, type KinshipReason, type KinshipVia, type MiddleVia, type MiddleViasAreNn5Reasons, type NameKinship, type NameKinshipOptions, type NameKinshipRelation, createNameKinship, nameKinship, } from "./name-kinship.ts";
|
|
26
26
|
export * from "./name-compose.ts";
|
|
27
27
|
export { INFEASIBLE_CLASSES, type InfeasibleClass, compoundGiven, editDistance, infeasibleClass, middleForm, nearSpelling, } from "./name-infeasible.ts";
|
package/package.json
CHANGED