#
Suchmethoden im Detail
#
Vektorsuche
Die Vektorsuche (auch semantische Suche genannt) basiert auf der Umwandlung von Texten in numerische Vektoren (Zahlenreihen), die die Bedeutung des Inhalts repräsentieren.
Funktionsweise: Texte werden in einen hochdimensionalen Vektorraum eingebettet (Embeddings). Ähnliche Bedeutungen liegen im Vektorraum nahe beieinander.
💡 Hinweis: Eigennamen wie Produktnamen, Firmennamen oder spezifische Bezeichnungen haben oft keine aussagekräftigen Vektoren, da sie keine allgemeinsprachliche Bedeutung besitzen und im Training der Modelle selten oder gar nicht vorkommen.
➡️ Beispiel: Suche nach "Wie kann ich Geld sparen?" findet auch "Spartipps", "Kosten reduzieren" oder "finanzielle Optimierung".
#
Keywordsuche
Die Keywordsuche (lexikalische Suche) ist die klassische Suchmethode, die auf exakten Wortübereinstimmungen basiert.
Funktionsweise: Direkte Suche nach Wörtern oder Wortteilen im Text. Chunks werden nach Häufigkeit und Relevanz der Suchbegriffe bewertet.
➡️ Beispiel: Suche nach "Artikelnummer A-12345" findet exakt Dokumente mit dieser Bestellnummer, aber nicht "das neue Modell" oder "die verbesserte Version".
#
Hybride Suche
Die hybride Suche kombiniert Vektor- und Keywordsuche, um die Stärken beider Ansätze zu nutzen und ihre Schwächen auszugleichen.
Funktionsweise: Beide Suchmethoden werden parallel ausgeführt und die Ergebnisse gewichtet kombiniert. Ein Gewichtungsparameter bestimmt das Verhältnis: 0% = reine Keywordsuche, 50% = ausgeglichen, 100% = reine Vektorsuche.
➡️ Beispiel: Suche nach "Nachhaltigkeit im Unternehmen" – Keyword-Anteil findet exakt "Nachhaltigkeit" und "Unternehmen", Vektor-Anteil findet auch "Corporate Social Responsibility", "umweltfreundliche Geschäftspraktiken" oder "ökologische Firmenstrategien".
#
Rechenbeispiel: Wie funktioniert die Gewichtung?
Suchanfrage: "Reisekosten Richtlinie"
Zwei Chunks werden gefunden:
Die Berechnung des Gesamtscores erfolgt mit: Gesamt-Score = α × Vektorscore + (1-α) × Keyword-Score
#
Bei α = 0.8 (80% Vektorsuche, 20% Keywordsuche):
- Chunk A: 0.8 \times 0.90 + 0.2 \times 0.30 = 0.72 + 0.06 = \textbf{0.78} ✅
- Chunk B: 0.8 \times 0.70 + 0.2 \times 0.90 = 0.56 + 0.18 = 0.74
→ Chunk A wird höher gerankt, da die semantische Ähnlichkeit stärker gewichtet wird.
#
Bei α = 0.4 (40% Vektorsuche, 60% Keywordsuche):
- Chunk A: 0.4 \times 0.90 + 0.6 \times 0.30 = 0.36 + 0.18 = 0.54
- Chunk B: 0.4 \times 0.70 + 0.6 \times 0.90 = 0.28 + 0.54 = \textbf{0.82} ✅
→ Chunk B wird höher gerankt, da die exakte Keyword-Übereinstimmung stärker gewichtet wird.