dense retrieval

Dense retrieval er en metode til informationssøgning, der bruger tætte vektorer (embeddings) til at repræsentere forespørgsler og dokumenter og beregner lighed mellem dem for at finde relevante resultater.

Kort fortalt

I stedet for at tælle overlappende ord som i traditionel søgning, omdanner dense retrieval forespørgsler og dokumenter til kompakte talvektorer og finder de mest lignende.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Dense retrieval betegner en informationssøgningsteknik, der indlejrer både forespørgsler og dokumenter i et fælles vektorrum ved hjælp af en neural model og derefter rangerer dokumenter baseret på vektorlighed (f.eks. cosinus-lighed).

    • I RAG-pipelines bruges dense retrieval ofte til at finde de mest relevante passager, før de sendes til en sprogmodel.
    • Modeller som DPR (Dense Passage Retrieval) er trænet på store datasæt for at forbedre dense retrieval-performance.

Hvornår bruges det

Dense retrieval anvendes typisk i RAG-systemer (Retrieval-Augmented Generation) for at hente relevante dokumenter til en given forespørgsel. Det er også centralt i værktøjer som DPR (Dense Passage Retrieval) og i moderne søgemaskiner, hvor semantisk forståelse er vigtig.

Kodeeksempel

from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('all-MiniLM-L6-v2')
query_emb = model.encode('What is AI?')
doc_emb = model.encode(['AI is artificial intelligence.', 'Dogs are cute.'])
scores = util.cos_sim(query_emb, doc_emb)
most_similar = scores.argmax()

Eksempel på dense retrieval med Sentence-BERT: en forespørgsel og dokumenter indlejres, og cosinus-lighed bruges til at finde det mest relevante dokument.

Oprindelse

Udtrykket 'dense' henviser til de tætte vektorer (embedding-vektorer) som har langt flere dimensioner end sparse vektorer (som i TF-IDF).

Afledte ord

2

Kilder

2