SPLADE: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 31: | Riga 31: | ||
|title=Your page title | |title=Your page title | ||
|title_mode=append | |title_mode=append | ||
|keywords= | |keywords=SPLADE, Sparse Lexical and Expansion Model, modello linguistico, embedding, rappresentazione semantica, BERT, Word-Pieces, espansione dei termini, apprendimento automatico, Pinecone, Masked-Language-Modeling, matrice di embedding, HuggingFace, Naver Labs | ||
|description= | |description=Questo articolo descrive SPLADE (Sparse Lexical and Expansion Model), un modello che combina la sparsità degli approcci tradizionali come TF-IDF con la ricchezza semantica dei modelli densi come BERT. SPLADE apprende a espandere i termini e a generarne di nuovi, migliorando la rappresentazione del testo e le attività di recupero delle informazioni. | ||
|image=Temexpansion.png | |image=Temexpansion.png | ||
}} | }} |
Versione attuale delle 16:26, 17 ago 2024
Acronimo di Sparse Lexical and Expansion model: modello che produce embedding sparsi come gli approcci Bag-Of-Words, TF-IDF o BM25, ma arricchiti da una rappresentazione semantica come nei modelli densi.
L'idea di base è che un modello di linguaggio pre-addestrato come BERT possa identificare dei collegamenti fra parole/sub-words (chiamati Word-Pieces) e utilizzare quella conoscenza per aumentare l'embedding sparso.

In tal modo si pesa il contributo di termini diversi (per esempio l'articolo il avrà meno rilevanza di una parola meno comune, e permette l'espansione dei termini, ovvero l'inclusione di termini relativi ma rilevanti al di là di quelli che si trovano nella sequenza originale.
La cosa più importante di SPLADE non è necessariamente che possa creare termini sostitutivi, ma che possa apprenderli: esso può utilizzare i migliori modelli di linguaggio per imparare queste somiglianze e anche personalizzarli in base al contesto della frase.
Apprendimento in SPLADE

Normalmente si parte da BERT utilizzando una head di Masked-Language-Modeling (MLM): per maggiori dettagli si veda il link sul sito di Pinecone in basso. Quello che più importa è che, alla fine del processo di apprendimento del transformer, in cui le distribuzioni di probabilità per tutti i token di input su tutto il vocabolario (I x V) vengono aggretate per ottenere l'importanza di ogni parola del vocabolario rispetto alla nostra frase: questo è il vettore sparso prodotto da SPLADE.
Implementazioini
Esistono diverse implementazioni, tra cui:
- L'implementazione fine-tuned su HuggingFace: naver/splade-cocondenser-ensembledistil
- L'implementazione di Naver Labs: https://github.com/naver/splade.git
Links
SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval
SPLADE for Sparse Vector Search Explained (Pinecone)