Files
jobtrackingapp/docs/global-jobs/00/CROSS_INDUSTRY_TAXONOMY.md
T

6.9 KiB
Raw Blame History

Cross-industry taxonomy — proposed

28 October 2026. Implements the design contract of GJ-03; no dataset import or model inference performed.

Taxonomy choice and evidence

Use versioned ESCO concept URIs/labels/aliases/skills as the shared vocabulary. The official site reports v1.2.1 and downloadable data/API, including English, Swedish and Norwegian no; that pack must not be relabelled as separately qualified Bokmål/Nynorsk. Prefer a pinned local data subset over bundling the reference local API software. Use ESCO, download, API/software licensing, accessed 2026-10-28.

Data and API software licences are different: API software is EUPL 1.2 with component licences; EU-owned web content defaults to attributed reuse under Commission notice. GJ03-A must retain the exact downloaded dataset licence/readme/checksum and attribution, identify exceptions and approve commercial redistribution of that artefact. General web reuse is not proof of every downloadable file's licence. No email/download registration was submitted here.

Swedish JobTech taxonomy is public CC0 and provides SSYK-2012/ISCO-08 relations, occupation aliases and skills. Pin its versioned export, preserving concept IDs distinct from numeric SSYK codes. Taxonomy service, versioned catalogue, accessed 2026-10-28.

UK ONS supplies SOC2020 and extended job-title indexes, with a 27 August 2026 edition visible at research time. Cross-referencing ESCO during classification development is not a validated one-to-one crosswalk. Import an explicitly licensed/pinned title index only after GJ03-A review; leave uncertain SOC↔ISCO↔ESCO mappings unmapped. ONS extended SOC, accessed 2026-10-28.

Contract and matching

OccupationConcept: namespace + immutable URI/code + taxonomy version, preferred/alternative labels keyed by original language tag, broader/related/skill edges with evidence, validity/deprecation/replacement and source/licence. Mapping edges carry source/target versions, exact/broad/narrow/related relation and reviewed confidence. A many-to-many crosswalk is not equality.

Occupation describes work; employer title remains original advert text; industry describes economic activity; skill is capability; qualification/licence is an explicit requirement/evidence; schedule and experience are separate facets. “Weekend work” is valid free text, not a forced occupation. Unknown terms never disappear when the taxonomy fails.

Query modes: exact resolves selected concept/approved aliases without broadening; related adds labelled related concepts only with user opt-in; keyword preserves unclassified input. Accent/case normalization supports lookup without rewriting displayed titles; ambiguous tokens (e.g. English “chef” versus Swedish “chef” manager) require language context/disambiguation. cook/kokk/kock is a proposed reviewed alias example, not an asserted frozen ESCO mapping. Skills only use explicit user choices or consented profile facts; no pooled private CV text.

Debounce/cancel suggestions, ignore stale responses, cap results, use locale-aware ranking and accessible combobox behavior. Order exact/local preferred labels before aliases and explicit related roles. Allow search without selecting a suggestion; taxonomy outage falls back to literal keyword. UI language affects labels, not an implicit advert-language restriction. Unsupported provider occupation/skill filters require auditable query expansion or disclosed exclusion.

Current JobImport/SkillTagger.cs is largely technical regex tags, used by JobImportService.PreviewAsync. Retain its existing caller contract while adding universal discovery vocabulary; it cannot define all-occupation search or candidate qualification. GJ-03/GJ-06 must trace every caller before changing shared tagging/matching behavior.

Frozen benchmark to create in GJ03-A

These are proposed human-reviewed query examples; translations are not yet linguistic acceptance or complete taxonomic equivalents.

Sector English queries Bokmål / Swedish candidates Required distinction
Education teacher, teaching assistant lærer, lærerassistent / lärare, lärarassistent Teacher versus assistant, subject/level
Hospitality chef, cook, kitchen assistant kokk, kjøkkenassistent / kock, köksbiträde Manager ambiguity, assistant not chef
Health nurse, care worker sykepleier, pleiemedarbeider / sjuksköterska, vårdbiträde Registration not inferred
Trades electrician, plumber, carpenter elektriker, rørlegger, tømrer / elektriker, rörmokare, snickare Different trade licences
Logistics driver, warehouse operator sjåfør, lagermedarbeider / chaufför, lagerarbetare Licence category, no inferred permission
Retail shop assistant butikkmedarbeider / butiksbiträde Part-time/evening availability
Cleaning cleaner renholder / lokalvårdare No formal qualification needed to search
Office/finance accountant, administrator regnskapsfører, administrator / redovisningsekonom, administratör Credential and role ambiguity
Agriculture farm worker gårdsarbeider / lantarbetare Seasonal roles, not farmer-owner only
Technology software developer programvareutvikler / systemutvecklare One sector with equal benchmark weight

Freeze at least these ten sector groups × three query languages, positive and confusing negative terms, unfamiliar/free-text jobs, shifts/apprenticeships/no experience and missing requirements. Record intended relevant concepts and allowed expansions with provenance and native review. Proposed GJ03-E targets: precision@5 >=0.90 and relevant suggestion recall@5 >=0.80 per sector/language; report macro averages and failures rather than hiding weak sectors in a tech-heavy total. Targets need owner approval before execution. Zero invented credentials is mandatory regardless of relevance scores.

Match explanation includes explicit profile fact reference/version, advert requirement field/source version, relation used, matched/not supplied/unknown, and no hiring-probability claim. Profile revision change invalidates cached explanation; AI remains optional and gated. Public taxonomy contains no tenant PII; profile-derived ranking remains owner-scoped.

The frozen corpus must also include waiter, mechanic and public administrator explicitly, as required by GJ-03. Test bounded typo tolerance without overriding exact-title mode or allowing broad roles to swamp precise titles.