Fase 2: Embeddings e Ricerca Semantica
La ricerca per parole chiave fallisce quando le parole non corrispondono esattamente.
Se un curriculum riporta "team management" e una descrizione del lavoro richiede "leadership", una ricerca di base restituirà zero risultati. Le parole sono diverse, ma il significato è lo stesso.
La Fase 2 risolve questo problema utilizzando gli embedding e la ricerca semantica.
Come funziona:
• Tokenizzazione: I computer non leggono parole. Leggono numeri. Un tokenizer suddivide il testo in piccoli pezzi chiamati token e li converte in Token ID. Le parole comuni diventano un singolo token. Le parole rare vengono suddivise in più token.
• Embeddings: Un Token ID è solo un'etichetta. Lo strato di embedding trasforma quell'ID in un vettore. Un vettore è una lunga lista di numeri che rappresenta il significato. Invece di un singolo numero, un modello utilizza molte dimensioni per descrivere un concetto.
• Dimensioni: Pensa a questi numeri come a delle coordinate. Una dimensione potrebbe rappresentare "frontend vs backend". Un'altra potrebbe rappresentare "web vs systems". I vettori ad alta dimensionalità consentono al modello di posizionare "React" e "JavaScript" vicini tra loro in uno spazio matematico.
• Ricerca Semantica: Quando poni una domanda, il sistema converte la tua domanda in un vettore. Successivamente, confronta il tuo vettore con i vettori dei documenti archiviati.
• Similarità del coseno: Questa misura l'angolo tra due vettori. Se i vettori puntano nella stessa direzione, sono simili. Ciò consente al sistema di trovare "requisiti di dimissioni" anche se hai cercato solo "periodo di preavviso".
Lezioni chiave per la produzione:
- Database vettoriali: Cercare tra milioni di vettori è lento. Database come Pinecone o Qdrant utilizzano l'indicizzazione per trovare i vicini più prossimi in millisecondi.
- Migrazione dei modelli: Ogni modello di embedding utilizza uno spazio matematico differente. Non è possibile confrontare un vettore OpenAI con un vettore Cohere. Se cambi modello, devi eseguire nuovamente l'embedding di tutti i tuoi dati.
- Costo vs ROI: Eseguire nuovamente l'embedding di milioni di chunk è costoso. Le aziende spesso rimangono con modelli più vecchi, a meno che il miglioramento dell'accuratezza non giustifichi il costo della migrazione.
- Archivia sempre i tuoi chunk di testo grezzo. Se in seguito aggiornerai il modello, potrai utilizzare il testo originale per creare nuovi vettori.
La Fase 2 è dove avviene l'intelligenza.
Fonte: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco
Community di apprendimento opzionale: https://t.me/GyaanSetuAi
