{"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/semantic-search","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/semantic-search/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/semantic-search/"},"term":{"en":"Semantic search","da":"Semantisk søgning"},"aka":{"en":[],"da":[]},"domain":["ai"],"cluster":"retrieval","layer":"application","status":"current","summary":{"en":"Finding text by what it means rather than by the exact words it uses, so a question can match a passage phrased differently.","da":"At finde tekst ud fra dens betydning frem for dens præcise ord, så et spørgsmål kan ramme et anderledes formuleret afsnit."},"body":{"formal":{"en":"A way of searching in which the question and the stored texts are turned into embeddings and the texts whose embeddings score highest on a closeness measure, most often cosine similarity, are returned.","da":"En søgemetode, hvor spørgsmålet og de gemte tekster laves om til embeddings, og de tekster, hvis embeddings scorer højest på et nærhedsmål, oftest cosinuslighed, returneres."},"plain":{"en":"Like asking a friend who has seen every film for “that one where the big ship sinks” - they know what you mean even though you never said the title.","da":"Som at spørge en ven, der har set alle film, om “den, hvor det store skib synker” - vedkommende ved, hvad du mener, selvom du aldrig sagde titlen."},"inPractice":{"en":"A teacher at a primary school types “can I bring my dog to work?” into the staff portal, and semantic search returns the section of the school rules headed “animals on school grounds”.","da":"En lærer på en folkeskole skriver “må jeg tage min hund med på arbejde?” i personaleportalen, og semantisk søgning finder afsnittet i skolens regler med overskriften “dyr på skolens område”."},"whyItMatters":{"en":"It finds answers that word matching misses, but it can also return passages that feel related yet say something different, and it is weak on exact names and codes.","da":"Den finder svar, som ordmatch overser, men kan også returnere afsnit, der føles beslægtede, men siger noget andet, og den er svag til præcise navne og koder."}},"deepDive":{"en":"In current usage semantic search means dense retrieval: an embedding model maps documents (or chunks) to vectors at indexing time, the query is embedded with the same model at search time, and an approximate nearest-neighbour index returns the k vectors with the highest cosine similarity or inner product. The idea of matching on latent meaning is older: latent semantic indexing (Deerwester et al., 1990) applied a truncated singular value decomposition to the term-document matrix. The term is also used loosely for web-search features built on knowledge graphs and for the Semantic Web's RDF-based querying, which are different technologies.\n\nThe modern turning point was Dense Passage Retrieval (Karpukhin et al., 2020): two BERT encoders, one for questions and one for passages, trained with in-batch negatives, outperformed a strong Lucene BM25 baseline by 9-19 percentage points in top-20 passage retrieval accuracy across open-domain QA datasets. The BEIR benchmark (Thakur et al., 2021) then showed the limit of that result: evaluated zero-shot on domains they were not trained on, several dense retrievers fell below BM25, whereas lexical matching transferred robustly. Much of the progress since then, in large-scale contrastive pretraining of general-purpose embedding models, is aimed at that out-of-domain gap.\n\nTwo design distinctions matter in practice. Symmetric search compares texts of the same kind (duplicate detection, similar cases), whereas asymmetric search matches a short question with a longer passage that answers it; many embedding models are trained for one or the other and expect query and document prefixes or instructions accordingly. Query-side techniques can reduce the asymmetry: HyDE (Gao et al., 2022) has a language model write a hypothetical answer and embeds that instead of the question. Multilingual embedding models place translations close together, so a Danish query can retrieve an English document, which is useful but can surprise users and complicate relevance judgements.\n\nThe characteristic failure modes follow from compressing text into one vector. Embeddings are weak on negation and polarity (\"allowed\" and \"not allowed\" can score almost identically), on exact identifiers, numbers and dates, and on rare proper names; they measure topical relatedness rather than whether a passage answers the question. A dense retriever also always returns k nearest neighbours, even when nothing relevant exists, so an application must decide, with a calibrated threshold or a reranker, when to answer \"not found\". These properties are why semantic search is usually combined with keyword search in hybrid retrieval and followed by reranking, and why its quality should be measured with recall@k and nDCG on labelled queries from the target domain.","da":"I nutidig brug betyder semantisk søgning dense retrieval: En embedding-model afbilder dokumenter (eller stykker) til vektorer ved indeksering, forespørgslen laves om til en embedding med samme model ved søgning, og et indeks til approksimativ nærmeste-nabo-søgning returnerer de k vektorer med højest cosinuslighed eller indre produkt. Idéen om at matche på latent betydning er ældre: Latent semantic indexing (Deerwester m.fl., 1990) anvendte en afkortet singulærværdidekomposition på term-dokument-matricen. Begrebet bruges også løst om funktioner i websøgning bygget på vidensgrafer og om Semantic Webs RDF-baserede forespørgsler, som er andre teknologier.\n\nDet moderne vendepunkt var Dense Passage Retrieval (Karpukhin m.fl., 2020): To BERT-encodere, én til spørgsmål og én til passager, trænet med in-batch negatives, slog en stærk Lucene-BM25-basislinje med 9-19 procentpoint i top-20-nøjagtighed for genfinding af passager på tværs af datasæt til åben spørgsmålsbesvarelse. BEIR-benchmarket (Thakur m.fl., 2021) viste derefter grænsen for resultatet: Evalueret zero-shot på domæner, de ikke var trænet på, faldt flere dense retrievers under BM25, mens leksikalsk matchning holdt robust. Meget af fremskridtet siden, i storskala kontrastiv fortræning af generelle embedding-modeller, har sigtet mod netop det hul uden for domænet.\n\nTo designskel betyder noget i praksis. Symmetrisk søgning sammenligner tekster af samme slags (dubletfinding, lignende sager), mens asymmetrisk søgning matcher et kort spørgsmål med en længere passage, der besvarer det; mange embedding-modeller er trænet til det ene eller det andet og forventer præfikser eller instruktioner til forespørgsel og dokument i overensstemmelse med det. Teknikker på forespørgselssiden kan mindske asymmetrien: HyDE (Gao m.fl., 2022) lader en sprogmodel skrive et hypotetisk svar og laver embedding af det i stedet for spørgsmålet. Flersprogede embedding-modeller placerer oversættelser tæt på hinanden, så en dansk forespørgsel kan finde et engelsk dokument, hvilket er nyttigt, men kan overraske brugerne og gøre relevansvurderinger sværere.\n\nDe typiske fejl følger af, at teksten presses ned i én vektor. Embeddings er svage på negation og polaritet (\"tilladt\" og \"ikke tilladt\" kan score næsten ens), på præcise identifikatorer, tal og datoer og på sjældne egennavne; de måler emnemæssig sammenhæng og ikke, om en passage besvarer spørgsmålet. En dense retriever returnerer også altid k nærmeste naboer, selv når intet relevant findes, så en applikation må afgøre, med en kalibreret tærskel eller en reranker, hvornår svaret skal være \"ikke fundet\". Disse egenskaber er grunden til, at semantisk søgning som regel kombineres med nøgleordssøgning i hybrid søgning og efterfølges af genrangering, og til at kvaliteten bør måles med recall@k og nDCG på mærkede forespørgsler fra måldomænet."},"edges":[{"type":"requires","to":"ai/embedding","confidence":"high","strength":"normal"},{"type":"requires","to":"ai/cosine-similarity","why":{"en":"Search results are ranked by how close each text's embedding is to the question's, and cosine similarity is the usual score for that.","da":"Resultaterne rangeres efter, hvor tæt hver teksts embedding er på spørgsmålets, og cosinuslighed er det sædvanlige mål for det."},"confidence":"high","strength":"primary"},{"type":"used-with","to":"ai/vector-database","why":{"en":"Comparing a question with millions of stored embeddings is only fast enough when they sit in a store built for that job.","da":"At sammenligne et spørgsmål med millioner af gemte embeddings er kun hurtigt nok, når de ligger i et lager bygget til netop det."},"confidence":"high","strength":"normal"}],"depth":3,"sources":[{"title":"Reimers & Gurevych (2019), Sentence-BERT - Sentence Embeddings using Siamese BERT-Networks","tier":"reference"},{"title":"Karpukhin et al. (2020), Dense Passage Retrieval for Open-Domain Question Answering","tier":"reference"}],"draft":true}