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
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)