🧑💼 Abbinatore Curriculum-Lavoro — Similarità di Embedding dal Vivo
Osserva curriculum e descrizioni di lavoro venire incorporati in uno spazio vettoriale condiviso e abbinati per similarità del coseno, con una shortlist classificata dal vivo che si aggiorna mentre regoli la ponderazione tra competenze ed esperienza.
Informazioni sull'Abbinatore Curriculum-Lavoro
I sistemi di applicant-tracking un tempo si affidavano quasi interamente all'abbinamento di parole chiave — un curriculum che non capitava mai di scrivere esattamente la frase "project management" veniva filtrato anche se descriveva la gestione di tre lanci interfunzionali. L'abbinamento basato su embedding risolve questo problema convertendo sia i curriculum che gli annunci di lavoro in vettori numerici in uno spazio condiviso, poi classificando i candidati in base a quanto strettamente la direzione del loro vettore si allinea a quella del lavoro, anziché in base alla sovrapposizione letterale di stringhe. La stessa tecnica — codificare entrambi i lati in un'unica geometria, poi misurare l'angolo tra loro — sta alla base della moderna ricerca semantica, dei sistemi di raccomandazione e della generazione potenziata dal recupero, non solo del software di assunzione.
Questa simulazione costruisce una versione piccola e completamente trasparente di quella pipeline anziché una demo scatola nera. Una tassonomia fissa di otto categorie di competenze più gli anni di esperienza definisce un vettore a nove dimensioni per sedici candidati e per qualsiasi annuncio di lavoro tu selezioni. Spostare il cursore competenze-vs-esperienza riscala quelle dimensioni e ricalcola la vera similarità del coseno tra ogni candidato e il lavoro, riclassificando istantaneamente la shortlist. Una vera analisi delle componenti principali — calcolata dal vivo tramite iterazione di potenza sulla matrice di covarianza, non un layout 2D precostituito — proietta lo spazio a nove dimensioni sul grafico a dispersione che vedi, così il grafico stesso si riorganizza visibilmente man mano che la ponderazione o l'annuncio di lavoro cambiano.
Domande frequenti
Che cos'è un embedding, e perché rappresentare curriculum e annunci di lavoro come vettori?
Un embedding è un vettore numerico che colloca un elemento in uno spazio di coordinate condiviso così che elementi simili finiscano vicini tra loro. In questa simulazione ogni curriculum e annuncio di lavoro è rappresentato da un piccolo vettore interpretabile dall'uomo: un numero per competenza (competenza da 0 a 1) più un numero per gli anni di esperienza. I veri sistemi in produzione di solito usano vettori densi da qualche centinaio a qualche migliaio di dimensioni prodotti da un modello linguistico, ma l'idea di fondo è identica — trasformare testo non strutturato in un punto nello spazio così che distanza e angolo tra i punti diventino segnali matematicamente significativi.
Perché la similarità del coseno invece della distanza euclidea?
La similarità del coseno misura l'angolo tra due vettori indipendentemente dalla loro lunghezza: cos θ = (A·B)/(|A||B|). Questo conta qui perché un candidato con alta competenza su tutta la linea e un candidato con lo stesso profilo ridotto (valutato un gradino più in basso su ogni competenza) dovrebbero comunque essere considerati un abbinamento direzionale ugualmente buono per un lavoro — la distanza euclidea penalizzerebbe il secondo candidato solo per avere una magnitudine minore, mentre la similarità del coseno riporta correttamente che puntano nella stessa direzione. Questa è la scelta standard per gli embedding di curriculum e documenti nei veri sistemi di applicant-tracking e ricerca.
Cosa cambia effettivamente dal punto di vista matematico il cursore di peso competenze-vs-esperienza?
Ogni vettore di candidato e di lavoro viene riscalato prima che la similarità venga calcolata: le otto dimensioni di competenza vengono moltiplicate per il peso delle competenze w, e la dimensione dell'esperienza viene moltiplicata per (1 − w). Poiché la similarità del coseno dipende dalle proporzioni relative tra le dimensioni, non dalla loro dimensione assoluta, cambiare w ruota genuinamente ogni vettore nello spazio — un candidato forte nelle competenze ma leggero in esperienza ottiene un punteggio più alto mentre w sale verso 1, e un generalista esperto con una profondità di competenze modesta risale la lista mentre w scende verso 0. La riclassificazione che vedi è una conseguenza diretta e reale di quel riscalamento, non un'animazione scriptata.
Come viene calcolata la posizione nel grafico a dispersione 2D da un vettore a nove dimensioni?
La simulazione esegue una vera analisi delle componenti principali (PCA) sull'insieme corrente di vettori ponderati. Centra tutti i punti sulla loro media, costruisce la matrice di covarianza delle dimensioni riscalate, e trova i primi due autovettori tramite iterazione di potenza con deflazione — lo stesso metodo iterativo usato in produzione per approssimare la PCA quando un'autoscomposizione completa non è necessaria. Ogni punto viene poi proiettato su quelle due direzioni, motivo per cui spostare il cursore del peso non solo riclassifica la shortlist ma anche rimescola visibilmente il grafico a dispersione: gli assi di massima varianza si spostano mentre la ponderazione cambia.
Quali limitazioni reali della tassonomia delle competenze ha un modello piccolo e costruito a mano come questo?
Questa simulazione riduce ogni curriculum a otto categorie di competenze e un numero di esperienza, il che è una semplificazione didattica utile ma una vera sovrasemplificazione del contenuto effettivo di un curriculum. I sistemi in produzione affrontano problemi più difficili che questo modello elude completamente: l'abbinamento di sinonimi e abbreviazioni ("JS" contro "JavaScript" contro "ECMAScript"), la recency e il decadimento delle competenze (una competenza elencata ma non usata da otto anni dovrebbe contare meno), segnali di anzianità sepolti nei titoli di lavoro e nei risultati anziché in valutazioni esplicite, e il fatto che due persone possono descrivere la stessa competenza sottostante con un vocabolario completamente diverso. I veri modelli di embedding sono addestrati specificamente per essere robusti a quella discrepanza di vocabolario.
Perché cambiare l'annuncio di lavoro rimescola così tanto la classifica?
Ogni preset di lavoro in questa simulazione porta il proprio vettore di competenze richieste e valore di esperienza richiesta, quindi cambiare lavoro sposta il punto rispetto al quale ogni candidato viene confrontato — il punto del lavoro stesso si ricolloca nello spazio di embedding. Un candidato che era l'abbinamento migliore per un requisito "Data Scientist" (forte in Dati e ML, SQL) può scendere a metà classifica per un requisito "Product Manager" (forte in Prodotto/UX, Leadership, Comunicazione) perché l'angolo del suo vettore rispetto al nuovo vettore di lavoro è semplicemente meno allineato, anche se le competenze del candidato stesso non sono mai cambiate.
Quali bias e insidie influenzano gli embedding reali di abbinamento curriculum che questa simulazione non può mostrare?
È stato dimostrato che gli strumenti di assunzione reali basati su embedding codificano e amplificano il bias presente nei loro dati di addestramento — per esempio declassando sistematicamente i curriculum che menzionano college femminili, certi nomi, o interruzioni di carriera non tradizionali, perché il modello ha appreso quelle correlazioni dai pattern storici di assunzione anziché da un genuino segnale di competenza. I vettori di competenza costruiti a mano e trasparenti di questa simulazione non possono riprodurre quella modalità di fallimento, che è esattamente il punto: i sistemi reali hanno bisogno di audit espliciti sull'equità, di rimozione degli attributi protetti, e di revisione umana proprio perché i loro embedding sono opachi in un modo che questo modello giocattolo a otto dimensioni deliberatamente non è.
Osserva curriculum e descrizioni di lavoro venire incorporati in uno spazio vettoriale condiviso e abbinati per similarità del coseno, con una shortlist classificata dal vivo che si aggiorna mentre regoli la ponderazione tra competenze ed esperienza.
3D · renderer Three.js / WebGL · target 60 FPS · funziona interamente lato client, senza installazione