semantisk indeksering

Semantisk indeksering er en teknik, der kortlægger dokumenter og forespørgsler til et semantisk vektorrum ved hjælp af maskinlæring, således at information kan genfindes baseret på betydning snarere end nøjagtige ordmatch.

Kort fortalt

Semantisk indeksering gør det muligt at søge efter information ved at forstå betydningen af ord, ikke bare matche præcise ord.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Teknik til at opbygge et indeks, hvor dokumenter og forespørgsler repræsenteres som vektorer i et semantisk rum, så lighed måles ved vektorafstand (fx cosinus-lighed) og ikke ved ordoverlap.

    • Virksomheden implementerede semantisk indeksering for at forbedre søgeresultaterne på deres vidensbase.
    • Semantisk indeksering kan håndtere polysemi og synonymi, hvilket traditionel søgning ikke kan.

Hvornår bruges det

Semantisk indeksering anvendes i søgemaskiner, anbefalingssystemer og informationsgenfinding, hvor den forbedrer resultaterne ved at fange synonymer og kontekst. Teknikken kræver en model, typisk en transformer eller en indlejringsmodel, til at generere vektorrepræsentationer, og en vektordatabase til effektiv lagring og søgning.

Kodeeksempel

from sentence_transformers import SentenceTransformer
import numpy as np

model = SentenceTransformer('all-MiniLM-L6-v2')
docs = ['Katten sidder på måtten.', 'Hunden løber i parken.']
query = 'Et dyr på en måtte'
doc_embeddings = model.encode(docs)
query_embedding = model.encode([query])
similarities = np.dot(doc_embeddings, query_embedding.T).flatten()
print(similarities)  # [0.92, 0.21]

Eksempel på semantisk indeksering med sentence-transformers: dokumenter og forespørgsel omdannes til vektorer, og cosinus-lighed beregnes.

Oprindelse

Fra 'semantisk' (vedrørende betydning) og 'indeksering' (det at opbygge et indeks).

Kilder

1
  • Latent Semantic Analysis (Deerwester et al., 1990)