peopleanalyst

Platform · Building · new here

Dense semantic job-to-job similarity (US12524739B2 design-around)

Scores how similar two JOB descriptions are (role-to-role) — each a bundle of role/responsibility/skill TEXT or precomputed dense EMBEDDINGS — by COSINE similarity in a shared vector space with standard facet-weighted HIERARCHICAL aggregation, returning the aggregate similarity in [0,1] + a per-facet cosine breakdown; also ranks a candidate job set against a query job. Embedding-provider AGNOSTIC: supply precomputed embeddings, OR let the spoke embed free text via a pluggable EMBEDDER PORT with a deterministic in-repo mock (feature-hashing; no live API key) — the same seam JobFrame's `semantic` coordinate space staged (FU-3) but left unimplemented. Deterministic, stateless, pure compute. IP-clean design-around of in-force US12524739B2: that patent parses a job description into a CUSTOM TRIPLET schema and scores hierarchical job-similarity over that proprietary structure; this uses a DIFFERENT representation — dense semantic-role EMBEDDINGS + standard cosine + standard hierarchical aggregation. The non-infringement is the representation (a dense embedding vector, NOT a triplet structure): no triplet extraction, no triplet-similarity schema, no structured-relation scoring; similarity == cosine over dense vectors. Job<->job is a DIFFERENT pair than JobFrame's candidate<->role two-sided matcher and is the missing concrete implementation of JobFrame's staged semantic seam — it complements (does not fork) the matcher + coordinate engine.

Cluster
Platform
Type
algo
Status
Building
Used by
Not yet integrated into a consumer product

Maturity evidence

Functioning
core/job-similarity.ts (per-facet cosine + renormalized facet-weighted hierarchical aggregation, honest-empty on no shared facet) + core/embedder.ts (pluggable Embedder port + deterministic feature-hashing mock, no API key) + REST (POST /api/spokes/job-similarity/score + /rank, service-key gated; GET /health) + MCP (job-similarity.score/rank/health) wired from one contract; passing tests (tsx --test src/spokes/job-similarity/tests/job-similarity.test.ts) incl. similar-jobs-high, dissimilar-low, paraphrase-with-no-shared-tokens-still-similar (score == embedding cosine, not token overlap, not triplet schema), precomputed-embedding path, facet aggregation, ranking + topK, determinism, honest-empty, validation guards; check:spokes (0 required gaps) + check:standards green.
Valuable
Job-to-job dense-similarity scorer routed from the patent-radar sweep; the missing concrete implementation of JobFrame's staged `semantic` coordinate space (FU-3) and the unwired `semantic: 0.05` matcher signal. No live consumer yet; the default embedder is a deterministic mock (not a calibrated semantic model), and IN-FORCE patent -- pending legal review on the non-infringement path before any commercial use.
Understood
spoke README (claim-vs-design-around table, synthesis decision vs JobFrame two-sided matcher + coordinate engine's staged semantic space, mermaid of job texts -> embeddings -> cosine + hierarchical aggregation -> job-similarity) + docs/SURFACE.md + CHANGELOG.
Integrated
REST + MCP from one declaration on branch feat/job-similarity-us12524739b2 (PR open, NOT merged); registry + discovery + register-tools + health-aggregate + drizzle TOOLBOX_SCHEMAS + db-barrel wired. No live consumer wiring yet.

How to use it

REST
/api/spokes/job-similarity/score
MCP
job-similarity.score
Data
src/spokes/job-similarity/core/job-similarity.ts

Other Platform capabilities

← Every platform capability

Capability detail sourced from the People Analytics Toolbox capability feed (source of truth), snapshot retrieved 2026-07-23.