Introduzione

La cosine similarity Γ¨ una misura del grado di similaritΓ  tra due vettori in uno spazio multidimensionale. Viene comunemente utilizzata nell’intelligenza artificiale e nell’elaborazione del linguaggio naturale per confrontare Embeddings, che sono rappresentazioni numeriche di parole o altri oggetti in modo indipendente dalla loro lunghezza e dimensione. La similaritΓ  cosinusoidale tra due vettori viene calcolata prendendo il prodotto scalare dei due vettori e dividendo il risultato per il prodotto delle loro magnitudini. CiΓ² produce un valore compreso tra -1 e 1, dove 1 indica che i due vettori sono identici, 0 indica che sono ortogonali (cioΓ¨ non hanno correlazione) e -1 indica che sono opposti. La similaritΓ  cosinusoidale Γ¨ particolarmente utile quando si lavora con dati ad alta dimensionalitΓ , come gli embedding di parole, perchΓ© tiene conto sia della magnitudine che della direzione di ogni vettore. CiΓ² la rende piΓΉ robusta rispetto ad altre misure come la distanza euclidea, che considera solo la magnitudine.

Calcolo della similaritΓ 

Per calcolare la similaritΓ  del coseno tra due vettori, Γ¨ necessario eseguire i seguenti passaggi:

  1. Normalizzare i vettori: Γ¨ importante normalizzare i vettori per rimuovere le differenze di lunghezza. Questo puΓ² essere fatto dividendo ciascun vettore per la sua norma euclidea.
  2. Calcolare il prodotto scalare: moltiplicare i vettori componente per componente e sommare i risultati.
  3. Calcolare le norme dei vettori: calcolare la norma euclidea dei due vettori.
  4. Applicare la formula della similaritΓ  del coseno: dividere il prodotto scalare ottenuto per il prodotto delle norme dei vettori.

La formula per calcolare la similaritΓ  del coseno tra due vettori π‘Ž e 𝑏 Γ¨ la seguente:

similarita' = π‘Ž β€’ 𝑏 / (β€–π‘Žβ€– Γ— ‖𝑏‖)

Casi d’uso

  • Parole simili. Ad esempio, dato un embedding per β€œgatto”, possiamo utilizzare la cosine similarity per trovare altre parole con embeddings simili, come β€œgattino” o β€œfelino”. CiΓ² puΓ² essere utile per compiti come la classificazione del testo o l’analisi del sentiment, dove vogliamo raggruppare parole semanticamente correlate.
  • Sistemi di raccomandazione: Rappresentando gli elementi (ad esempio, film, prodotti) come vettori, possiamo utilizzare la similaritΓ  cosinusoidale per trovare elementi simili tra loro o a un particolare elemento di interesse. CiΓ² ci consente di fornire raccomandazioni personalizzate basate sul comportamento o sulle preferenze passate dell’utente.
  • Riconoscimento di immagini: la similaritΓ  cosinusoidale puΓ² essere utilizzata per confrontare gli incorporamenti di due immagini, il che puΓ² aiutare nei compiti di riconoscimento delle immagini.
  • Elaborazione del linguaggio naturale: la similaritΓ  cosinusoidale puΓ² essere utilizzata per misurare la similaritΓ  semantica tra due frasi o paragrafi confrontando i loro vettori di incorporamento.
  • Clustering: la similaritΓ  cosinusoidale puΓ² essere utilizzata come metrica di distanza per algoritmi di clustering, aiutando a raggruppare insieme punti dati simili.
  • Rilevamento di anomalie: la similaritΓ  cosinusoidale puΓ² essere utilizzata per identificare anomalie in un Dataset trovando punti dati che hanno una bassa similaritΓ  cosinusoidale con gli altri punti dati nel dataset.

Nel complesso, la similaritΓ  cosinusoidale Γ¨ uno strumento essenziale per gli sviluppatori che lavorano con intelligenza artificiale e embeddings. La sua capacitΓ  di catturare sia la magnitudine che la direzione la rende adatta per dati ad alta dimensionalitΓ , e le sue applicazioni nell’elaborazione del linguaggio naturale e nei sistemi di raccomandazione la rendono uno strumento prezioso per la creazione di applicazioni intelligenti.