cross-encoder model
En cross-encoder model er en transformer-baseret arkitektur, der tager to tekster som input og direkte producerer en sammenligningsscore, typisk til re-ranking eller parvis klassifikation.
Kort fortalt
En cross-encoder model sammenligner to tekster ved at lade dem interagere gennem alle transformer-lag for at give en præcis, men langsommere, relevansscore.
- Kategori
- model
- Niveau
- øvet
Betydninger
1- 1
En transformer-model, der tager to sekvenser som input og anvender delte opmærksomhedslag (cross-attention) til at beregne en interaktionsscore mellem dem.
- I et QA-system kan en cross-encoder model vurdere, om et givet svar er relevant for et spørgsmål ved at tage spørgsmål og svar som input.
- Cross-encoder modellen bruges ofte til re-ranking, fordi den giver mere præcise scores end bi-encodere.
Hvornår bruges det
Cross-encoder modeller bruges primært til re-ranking i informationssøgning, hvor en hurtig bi-encoder først henter kandidater, og cross-encoderen genrangerer dem. De anvendes også til entailment detection, svarklassifikation og parvis sammenligning, hvor nøjagtighed er vigtigere end hastighed.
Kodeeksempel
from sentence_transformers import CrossEncoder
model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
scores = model.predict([['query', 'doc1'], ['query', 'doc2']])Brug af Sentence-Transformers biblioteket til at instantiere en cross-encoder model og få relevansscorer for par.
Oprindelse
Udtrykket kommer af, at modellen 'krydser' (cross) de to input-tekster ved at anvende self-attention på tværs af dem, i modsætning til bi-encodere, som behandler teksterne uafhængigt.
Afledte ord
2Kilder
2- Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (2019)
- Cross-Encoder for Re-ranking (Hugging Face documentation)