{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/reranking","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/reranking/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/reranking/"},"term":{"en":"Reranking","da":"Genrangering (reranking)"},"aka":{"en":["re-ranking"],"da":["re-ranking"]},"domain":["ai"],"cluster":"retrieval","layer":"application","status":"current","summary":{"en":"A second, more careful pass that reorders a first rough list of search results so the most useful ones end up on top.","da":"En anden og mere grundig gennemgang, der sorterer en første grov liste af søgeresultater om, så de mest brugbare ender øverst."},"body":{"formal":{"en":"A step in which a slower, more exact scorer - often a transformer that reads the question and each found text together - gives every candidate from a fast first search a new score, and only the top few are kept.","da":"Et trin, hvor en langsommere og mere præcis bedømmer - ofte en transformer, der læser spørgsmålet og hver fundet tekst sammen - giver hver kandidat fra en hurtig første søgning en ny score, og kun de øverste få beholdes."},"plain":{"en":"Like a hiring manager who lets a quick sort pick fifty applications from a thousand, then reads those fifty properly before choosing five to interview.","da":"Som en ansættende leder, der lader en hurtig sortering vælge halvtreds ansøgninger ud af tusind og så læser de halvtreds ordentligt, før fem kaldes til samtale."},"inPractice":{"en":"A legal officer in a ministry asks the department's search tool about a rule; it pulls 100 possible passages in a split second, then reranking reads each against the question and passes the best eight to the language model.","da":"En fuldmægtig i et ministerium spørger afdelingens søgeværktøj om en regel; det henter 100 mulige afsnit på et splitsekund, hvorefter genrangering læser hvert op mod spørgsmålet og giver de otte bedste til sprogmodellen."},"whyItMatters":{"en":"Only a few passages fit in front of the model, so getting the right ones to the top often matters more for answer quality than the first search itself.","da":"Kun få afsnit kan komme foran modellen, så at få de rigtige øverst betyder ofte mere for svarets kvalitet end selve den første søgning."}},"deepDive":{"en":"Reranking is the second stage of a retrieve-then-rerank cascade. The first stage (BM25, dense retrieval or a hybrid) optimises recall over the whole corpus with scores that can be precomputed per document; the second stage spends far more compute on a short candidate list, typically 50 to 200 items, to optimise precision at the top, measured with nDCG@10 or MRR@10. The division of labour is strict: a reranker can only reorder what the first stage returned, so first-stage recall at the candidate depth is a hard ceiling on end-to-end quality.\n\nThe standard neural reranker is a cross-encoder. Query and passage are concatenated into one input, for BERT-style models [CLS] query [SEP] passage [SEP], and full self-attention runs across both, so every query token can attend to every passage token; a linear head on the pooled output gives a relevance logit. Nogueira and Cho (2019) showed with monoBERT that this substantially outperformed BM25 on the MS MARCO passage ranking task, and monoT5 later framed relevance as the probability of generating \"true\" versus \"false\". Because nothing can be precomputed, cost is one full forward pass per query-candidate pair, and latency grows linearly with candidate depth and passage length; inputs beyond the model's maximum length, often 512 tokens, are truncated, so long chunks may be judged on their beginning only. Training uses pointwise binary cross-entropy or pairwise and listwise losses, with hard negatives mined from the first-stage retriever.\n\nSeveral alternatives sit around the cross-encoder. Late-interaction models such as ColBERT (Khattab and Zaharia, 2020) store one vector per document token and score with a sum of per-query-token maximum similarities (MaxSim), keeping document encoding offline at the cost of much larger indexes. LLM-based rerankers work pointwise, pairwise or listwise; RankGPT (Sun et al., 2023) prompts a model with a numbered list of passages and asks for a permutation, using sliding windows for long lists, but it is expensive and sensitive to the order in which candidates are presented. Before neural models, learning-to-rank methods such as LambdaMART combined hand-crafted features with gradient-boosted trees, and they remain common in e-commerce search.\n\nIn practice reranker scores are relative, not calibrated probabilities, so a fixed cut-off threshold needs validation on labelled data before it is used to drop passages or trigger an \"I don't know\" answer. Language coverage matters: an English-only reranker can reorder Danish passages worse than the first stage did. And because the reranker decides which few passages reach the generator, it is a natural place to enforce diversity, deduplicate near-identical chunks and, importantly, never to reintroduce passages that permission filtering removed earlier.","da":"Genrangering er andet trin i en retrieve-then-rerank-kaskade. Første trin (BM25, dense retrieval eller en hybrid) optimerer recall over hele korpusset med scorer, der kan forudberegnes pr. dokument; andet trin bruger langt mere regnekraft på en kort kandidatliste, typisk 50 til 200 elementer, for at optimere præcisionen i toppen, målt med nDCG@10 eller MRR@10. Arbejdsdelingen er skarp: En reranker kan kun ændre rækkefølgen af det, første trin returnerede, så første trins recall ved kandidatdybden er et hårdt loft over kvaliteten fra ende til anden.\n\nDen gængse neurale reranker er en cross-encoder. Forespørgsel og passage sættes sammen til ét input, for BERT-lignende modeller [CLS] forespørgsel [SEP] passage [SEP], og fuld self-attention kører hen over begge, så hvert token i forespørgslen kan se hvert token i passagen; et lineært hoved på det samlede output giver en relevans-logit. Nogueira og Cho (2019) viste med monoBERT, at det klart slog BM25 på MS MARCO-opgaven med rangering af passager, og monoT5 formulerede senere relevans som sandsynligheden for at generere \"true\" frem for \"false\". Da intet kan forudberegnes, koster hvert par af forespørgsel og kandidat et fuldt forward-gennemløb, og ventetiden vokser lineært med kandidatdybden og passagelængden; input ud over modellens maksimale længde, ofte 512 tokens, afkortes, så lange stykker risikerer kun at blive bedømt på deres begyndelse. Træningen bruger punktvis binær krydsentropi eller par- og listevise tab med hårde negativer udvundet fra første trins søgning.\n\nFlere alternativer ligger omkring cross-encoderen. Late interaction-modeller som ColBERT (Khattab og Zaharia, 2020) gemmer én vektor pr. dokumenttoken og scorer med summen af hvert forespørgselstokens maksimale lighed (MaxSim), så dokumenterne kan kodes offline, mod at indekset bliver meget større. LLM-baserede rerankere arbejder punktvis, parvist eller listevis; RankGPT (Sun m.fl., 2023) giver en model en nummereret liste af passager og beder om en permutation med glidende vinduer for lange lister, men det er dyrt og følsomt over for den rækkefølge, kandidaterne præsenteres i. Før de neurale modeller kombinerede learning to rank-metoder som LambdaMART håndlavede features med gradient-boostede træer, og de er stadig almindelige i søgning i webshops.\n\nI praksis er reranker-scorer relative og ikke kalibrerede sandsynligheder, så en fast tærskel skal valideres på mærkede data, før den bruges til at smide passager væk eller udløse et \"det ved jeg ikke\"-svar. Sprogdækning betyder noget: En rent engelsk reranker kan sortere danske passager dårligere, end første trin gjorde. Og fordi rerankeren afgør, hvilke få passager der når frem til generatoren, er den et naturligt sted at sikre variation, fjerne næsten identiske stykker og ikke mindst aldrig genindføre passager, som rettighedsfiltreringen tidligere har fjernet."},"edges":[{"type":"requires","to":"ai/transformer","confidence":"high","strength":"normal"},{"type":"part-of","to":"ai/retrieval-augmented-generation","why":{"en":"It sits between the search step and the model, choosing which found passages actually go into the prompt.","da":"Det ligger mellem søgetrinnet og modellen og vælger, hvilke fundne afsnit der faktisk kommer med i prompten."},"confidence":"high","strength":"normal"},{"type":"used-with","to":"ai/semantic-search","why":{"en":"Semantic search is fast but rough, so its top results are commonly passed to a reranking step for a closer look.","da":"Semantisk søgning er hurtig men grov, så dens øverste resultater sendes ofte videre til et genrangeringstrin for et nærmere kig."},"confidence":"high","strength":"primary"}],"depth":2,"sources":[{"title":"Nogueira & Cho (2019), Passage Re-ranking with BERT","tier":"reference"},{"title":"Gao et al. (2023), Retrieval-Augmented Generation for Large Language Models - A Survey","tier":"reference"}],"draft":true}