Zum Hauptinhalt springen

Architektur

Architektur der Fotosuche

Wie die Suche in meinem Fotoarchiv Metadaten, Bedeutung, Aussehen und Konzepte getrennt hält und ein bewerteter Benchmark über jede Änderung entscheidet.

Veröffentlicht am 5. Oktober 2026

Die Fotosuche ist das Retrieval-System hinter meinem Fotoarchiv. Sie findet die Fotos, die eine Frage beantworten, die Fotos, die einem gerade betrachteten Bild ähneln, und die Fotos, die eine fotografische Technik teilen. Ihre zentrale Entscheidung: Das sind verschiedene Fragen. Exakte Metadaten, beschreibende Bedeutung, visuelles Erscheinungsbild und fotografische Konzepte bekommen jeweils ein eigenes Signal mit einer klar begrenzten Aufgabe, und ein eingefrorener, von Menschen bewerteter Benchmark entscheidet, wann zwei davon kombiniert werden dürfen. Die meisten vorgeschlagenen Kombinationen sind an diesem Test gescheitert. Die ausgelieferten sind bewusst eng gefasst.

Das Problem

„Ähnliche Fotos finden“ klingt nach einem Problem. In einem Fotoarchiv sind es mindestens vier:

  • Wörtliche Übereinstimmung. „Mit dem 23-mm-Objektiv“, „Lissabon“, „schwarz-weiß“, „2023“. Die Antwort ist ein Fakt in den Metadaten, und ein Foto hat ihn oder eben nicht.
  • Beschreibende Bedeutung. „Ruhige Straßen bei Nacht“, „streets in the rain“. Kein einzelnes Feld enthält die Antwort. Sie muss aus Bildbeschreibungen, Tags und Stimmung erschlossen werden, auf Deutsch oder Englisch.
  • Visuelles Erscheinungsbild. „Mehr, die so aussehen wie dieses hier“: Farbe, Licht und Form, unabhängig davon, was die Bildbeschreibung sagt.
  • Fotografische Technik. Führende Linien, Gegenlicht. Das sind kompositorische Ideen, die weder Schlagwörter noch die Ähnlichkeit von Bildbeschreibungen zuverlässig erfassen.

Diese Signale widersprechen sich. Semantische Ähnlichkeit rankt ein Foto, das nur passend klingt, bereitwillig über eines, das nachweislich passt. Bildähnlichkeit findet eine ähnliche Farbpalette in einer völlig anderen Szene. Schlagwortsuche verfehlt ein relevantes Foto, dessen Beschreibung ein anderes Wort benutzt. Wer die Scores als austauschbar behandelt oder sie addiert, weil sie alle wie Zahlen aussehen, bekommt ein Ranking, das auf schwer erkennbare Weise falsch ist.

Was ich gebaut habe

Ich habe die Retrieval-Schicht hinter der Seite Fotografie entworfen und gebaut. Besucher erreichen sie an drei Stellen:

  • Fragen an den Kurator. Fragen in natürlicher Sprache durchlaufen das gemeinsame Retrieval und Ranking, das ich unten beschreibe. Der Kurator ergänzt anschließend seine eigene Evidenz-Zulassung und ein Sprachmodell, das die Antwort schreibt; diesen Teil beschreibt die Fallstudie zum Fotografie-Assistenten.
  • Ähnliche Fotos in der Fokusansicht. Eine standardmäßige „ähnlich“-Auswahl plus vier ausdrückliche Perspektiven.
  • Konzept-Erkundung. „Dieser Technik folgen“ für eine kleine Auswahl fotografischer Konzepte.

Die Text-Ranking-Funktion steht zusätzlich als eigenständige Suchprozedur bereit. Genau diese Prozedur misst der Offline-Benchmark, und sie ist der einzige Pfad, der visuelle Rangfusion nutzt (siehe unten). Es ist ein Produktivsystem über einem kleinen Korpus: einige hundert veröffentlichte Fotos, ein Eigentümer, anonyme Besucher.

Die Architektur im Überblick

Text-Retrieval: ein Pfad, zwei Kanäle.

Frage (DE / EN)
        │
        ▼
Anfrageinterpretation
  EXIF · Orte · Zeit ·
  Vokabular · Farbe · Stimmung
        │
   ┌────┴─────┐
   ▼          ▼
Lexikalisch Semantisch
+ Filter    (Textvektoren)
   └────┬─────┘
        ▼
Eignung
  jede angefragte Facette
        │
        ▼
Ranking
  lexikalisch + gedeckelt
  semantisch
        │
        ▼
Diversitätsgrenzen
        │
        ▼
Ergebnisse + ein wahrer Grund

Ähnliche Fotos und Konzept-Erkundung sind eigene Pfade mit eigenen Signalen:

Ähnliche Fotos (Fokusansicht)
  Allgemein ─ Bedeutungsvektor
  Motiv · Atmosphäre ·
  Komposition ─ Facettenvektoren
  Aussehen ─ Bildvektor

Konzept-Erkundung
  gespeicherte Konzept-Aussage
  → mittleres Ähnlichkeitsband
  → bis zu sechs Fotos

Nichts im zweiten Diagramm wird mit etwas anderem fusioniert. Das ist eine gemessene Entscheidung, kein Versäumnis.

Warum hybrides Retrieval

Keiner der Kanäle reicht allein. Deshalb bekommt jeder die Aufgabe, die er zuverlässig erfüllt.

Lexikalisches Retrieval und Filter sind für exakte Bedingungen zuständig. Die Anfrageinterpretation übersetzt erkennbare Formulierungen in strukturierte Filter, bevor überhaupt gerankt wird:

  • EXIF-Prädikate („f/1.4“, „weitwinkliger als 23 mm“, „lange Belichtung“);
  • Orte, Länder, Regionen und Entfernung („in der Nähe von Lissabon“);
  • Datum, Jahreszeit und relative Zeitangaben;
  • Ausrichtung, wahrnehmungsbasierte Farbfamilien und kuratierte Stimmungsfamilien;
  • Tags, über ein kontrolliertes Vokabular zugeordnet.

Die lexikalische Bewertung ist eine Summe fester Punkte pro passendem Feld: ein exakter Tag oder Ort zählt 5, eine Stimmung 4, eine Farbe 3. Sie läuft über jedes veröffentlichte Foto. Ein Foto mit echter Metadaten-Evidenz kann also nie fehlen, nur weil kein Vektor passt.

Semantisches Retrieval ist für beschreibende Bedeutung zuständig. Was die Filter von der Frage nicht verbraucht haben, wird eingebettet und mit Fotobeschreibungen abgeglichen. Tragen die übrigen Wörter keinen Inhalt, etwa bei einer rein strukturierten Frage („Hochformat-Fotos von 2023 bei f/1.4“), läuft gar kein semantisches Retrieval. Die Filter sind maßgeblich, und Ähnlichkeit würde nur Fotos ergänzen, die passend klingen.

Das Vokabular verbindet beide, mit Leitplanken. Ein Wort aus der Frage, das kein bekannter Tag, keine Stimmung, kein Ort und keine Farbe ist, kann per Embedding-Ähnlichkeit auf den nächstgelegenen bekannten Begriff gehoben werden. Ein zugeordnetes Wort wird zu exakter Evidenz mit vollen lexikalischen Punkten; eine falsche Zuordnung überholt also alles Semantische. Deshalb hat jede Kategorie ihren eigenen, kalibrierten Schwellenwert (Tags 0,55, Stimmungen 0,62, Orte 0,65, Farben 0,70). Funktionswörter und die Anfragesprache selbst sind ausgeschlossen. Bevor es diese Regel gab, konnte das deutsche „und“ beim Tag „dock“ landen.

Eignung kommt vor dem Ranking. Kombiniert eine Frage mehrere Anforderungen („regnerische Straße bei Nacht“), muss ein Kandidat jede Anforderung erfüllen, die eine harte Eigenschaft des Fotos ist, bevor er überhaupt gerankt wird. Weichere, erlebnishafte Begriffe schließen niemanden aus. Auf dem Pfad des Kurators darf eine Anforderung gelockert werden, wenn nichts alle erfüllt, und die Antwort sagt das ausdrücklich. Die eigenständige Suche liefert dann stattdessen ehrlich ein leeres Ergebnis.

Semantisches Retrieval

Das Dokument. Jedes veröffentlichte Foto hat ein Textdokument, gebaut aus seinen gespeicherten Metadaten: Titel, Bildbeschreibung und Alt-Text auf Deutsch und Englisch, sortierte Tags, Stimmung, Farben und Ort. Es wird mit OpenAIs text-embedding-3-small (1.536 Dimensionen) eingebettet und in einem sqlite-vec-Index in der SQLite-Datenbank der Anwendung gespeichert.

Versionierung. Jeder Vektor trägt eine Dokumentversion und einen Hash des Texts, aus dem er entstand. Ein Vektor wird nur verwendet, solange beides zu den aktuellen Metadaten des Fotos passt. Eine geänderte Bildbeschreibung kann also keinen veralteten Vektor zurücklassen, der weiter Anfragen beantwortet.

Die Anfrageseite. Die Frage, oder der Teil, den die Filter nicht verbraucht haben, wird mit demselben Modell eingebettet und per exakter k-Nächste-Nachbarn-Suche abgeglichen. Das Recall-Fenster beträgt das Dreifache der angeforderten Ergebniszahl, begrenzt auf 20 bis 150.

Fehlerfall. Fällt der Embedding-Anbieter aus, liefert der semantische Kanal nichts, und die lexikalischen Ergebnisse werden trotzdem gerankt und ausgeliefert.

Was semantische Ähnlichkeit belegen kann: dass die Beschreibung eines Fotos inhaltlich nah an der Frage ist. Was sie nicht belegen kann: dass das Foto eine Eigenschaft hat. Fotos von einer „Straße bei Nacht“ und einer „Straße im Morgengrauen“ liegen im Embedding-Raum nah beieinander, aber nur eines beantwortet die Frage. Deshalb trägt semantische Ähnlichkeit zum Ranking bei, entscheidet aber nie über die Eignung.

Das zweisprachige Dokument ist tragend. Deutsche Fragen werden fast vollständig über den semantischen Kanal beantwortet: In einer gepaarten deutsch-englischen Untersuchung kamen 84,7 % der relevanten deutschen Treffer über das semantische Retrieval, gegenüber 27,0 % der englischen, weil englische Wörter viel häufiger direkt einem Tag entsprechen. Ohne die deutsche Hälfte des Dokuments sank der deutsche NDCG@10 in einem separaten Experiment von 0,7392 auf 0,6872. Eine mehrsprachige Alternative, die Frage und Fototext im Raum von Cohere einbettete, schnitt noch schlechter ab (0,5527). Das zweisprachige Dokument blieb.

Ranking und Fusion

Jeder geeignete Kandidat erhält genau einen Score: finalScore = lexicalScore + min(2 × semanticScore, 2).

Die Obergrenze ist der Kern der Formel. Semantische Ähnlichkeit kann höchstens 2 Punkte beitragen, ein einziger exakter Tag-Treffer zählt 5. Keine noch so hohe semantische Ähnlichkeit kann exakte Evidenz überholen: Ein Foto mit dem Tag „street“ rankt immer über einem Foto ohne diesen Tag, das nur nach Straße klingt.

Eine frühere Version machte es umgekehrt. Sie rankte primär nach Ähnlichkeit, mit kleinen Aufschlägen für Filter, und ein Foto mit dem gesuchten Tag konnte gegen ein unverwandtes Foto mit hoher Ähnlichkeit verlieren. Ein gewichteter Durchschnitt hätte das unwahrscheinlich gemacht; die Obergrenze macht es unmöglich.

In der Praxis hat der semantische Term zwei Aufgaben:

  • Er ordnet rein semantische Kandidaten untereinander.
  • Er entscheidet knappe Gleichstände zwischen lexikalischen Kandidaten. Ein Experiment schrumpfte ihn für lexikalisch passende Fotos auf einen reinen Tie-Breaker, und das Ranking war auf allen 99 bewerteten Benchmark-Fragen bitgenau identisch mit der Produktion.

Exakte Gleichstände sind häufig auf einem kuratierten Korpus, weil viele Fotos dieselben Tags tragen: Die Hälfte aller geeigneten Kandidaten teilt Score und Evidenzstufe. Sie werden zuerst nach Evidenzstärke aufgelöst: strukturierter exakter Treffer, dann kuratierte Äquivalenz, dann schwache Farbevidenz, dann rein semantisch, dann keine Evidenz. Erst danach gilt eine feste Fotoreihenfolge. Wie der Abschnitt zur Evaluation zeigt, war dieser letzte Schritt folgenreicher, als er aussieht.

Visuelle Rangfusion ist die einzige Stelle, an der das Erscheinungsbild ins Text-Ranking einfließt:

  • Die Frage. Sie wird mit Coheres multimodalem Modell (embed-v4.0, 1.536 Dimensionen) in denselben Raum eingebettet wie die Bildvektoren der Fotos.
  • Die Fusion. Die fünf nächstgelegenen Bilder werden per Reciprocal Rank Fusion (k = 60) mit der Produktionsreihenfolge kombiniert. Fusioniert werden Ränge, weil Kosinus-Ähnlichkeit in einem Bildraum und ein additiver Evidenz-Score nicht auf vergleichbaren Skalen liegen; jede getestete Mischung der Rohwerte ist gescheitert.
  • Was sie ändern darf. Sie sortiert um und bewertet nie neu. Einen reinen Bildtreffer darf sie nur ergänzen, wenn die Frage keine strukturierte Bedingung enthält.
  • Wann sie läuft. Nur auf dem eigenständigen Suchpfad, nur bei Fragen mit visuell beschreibendem Inhalt, und nur, wenn die beiden besten Produktionsergebnisse deutlich auseinanderliegen (mehr dazu unten).

Das Retrieval des Kurators nutzt keine visuelle Fusion. Es verwendet das Ranking mit einer strengeren lexikalischen Obergrenze pro Tag und wendet dann seine eigene Evidenz-Zulassung an.

Diversität

Auch reines Relevanz-Ranking kann eine schlechte Galerie ergeben. Passt eine Frage auf dreißig Fotos von einem Abend in einer Stadt, liefert sie diesen Abend dreißigmal. Nach dem Ranking gelten deshalb zwei Grenzen:

  • höchstens fünf Ergebnisse pro Ort;
  • höchstens sechs pro Stimmung.

Das bestplatzierte Ergebnis bleibt immer erhalten, und Fotos ohne Ort oder Stimmung werden nie begrenzt. Fragt jemand ausdrücklich nach einem Ort, entfällt die Ortsgrenze: Venedig-Fotos in einer Antwort auf „Venedig“ herabzustufen, wäre Diversität gegen die Frage.

Die Kosten sind real: Ein begrenztes Foto kann relevanter sein als das, das es ersetzt. Die Grenze tauscht etwas Präzision am Ende der Liste gegen eine Ergebnisseite, die die Bandbreite des Archivs zeigt. Die gemeldete Trefferzahl wird vor der Diversität ermittelt, die Grenze verschleiert also nie, wie viele Fotos tatsächlich gepasst haben.

Visuelle Ähnlichkeit

„Ähnliche Fotos“ ist eine andere Absicht als die Textsuche: Es gibt keine Frage, nur das Foto, das der Besucher gerade ansieht.

Der Standard („Allgemein“) nutzt denselben Bedeutungsvektor wie das semantische Retrieval: die sechs nächstgelegenen Fotos nach Beschreibung, ohne das Ausgangsfoto, nur veröffentlichte. Bildähnlichkeit nutzt er bewusst nicht. Zwei Fotos mit derselben Palette und ohne gemeinsames Motiv sind eine schlechte Standardantwort auf „mehr davon“.

Daneben stehen vier ausdrückliche Perspektiven, jede ein einzelner Vektorraum ohne Mischung:

  • Motiv, Atmosphäre und Komposition: Vektoren kurzer Beschreibungen des jeweiligen Aspekts, die ein Vision-Modell beim Upload schreibt und die getrennt eingebettet werden.
  • Aussehen: der Bildvektor des Fotos selbst (Cohere embed-v4.0). Operativ bedeutet Aussehen, wie die Pixel aussehen (Farbe, Licht, Tonwerte, Form), nicht, wovon das Foto handelt. Die Vektoren entstehen beim Upload; diese Perspektive braucht zur Anfragezeit keinen Anbieteraufruf.

Aussehen ist stark bei „gleiches Licht, gleiche Tonalität, ähnlicher Bildaufbau“. Es scheitert genau dort, wo eine Bildbeschreibung gewinnen würde: Einen Hafen in der Dämmerung kann es nicht von einem Parkplatz in der Dämmerung unterscheiden, wenn beide dasselbe Licht haben.

Ich habe getestet, die Perspektiven zu einem „vereinten“ Ergebnis zu fusionieren. Über mehrere Runden sah das auf Kalibrierungs-Fotos vielversprechend aus. Auf 13 unberührten Ausgangsfotos mit 540 neuen Bewertungen lag die festgeschriebene Fusionskonfiguration unter „Allgemein“, bei NDCG@6 (−0,031) und P@6 (−0,026), und war bei 6 der 13 Fotos schlechter. „Allgemein“ blieb der Standard, die Perspektiven blieben getrennt und ausdrücklich.

Visuelle Konzepte

Visuelle Konzepte ermöglichen es Besuchern, fotografische Strukturen zu erkunden: „Zeig mir mehr führende Linien.“ Das Ziel war, das zu ermöglichen, ohne daraus eine undurchsichtige KI-Kategorisierung zu machen.

  • Ein kleines, festes Vokabular. Vier Konzepte sind im Code definiert: führende Linien, Gegenlicht, atmosphärische Perspektive und Freistellung des Motivs. Ein Modell kann kein fünftes erfinden.
  • Aussagen mit Belegen. Beim Upload darf das Vision-Modell höchstens vier Konzepte pro Foto behaupten, jeweils mit einer Konfidenz und einem Satz als Beleg zu genau diesem Foto. Die Erkundung zeigt diesen gespeicherten Satz, nie eine generierte Behauptung darüber, wie Fotos zusammenhängen.
  • Eine engere Auswahl für die Erkundung. Nur führende Linien und Gegenlicht werden als Erkundungspfade angeboten. Auf genau diesen beiden Konzepten wurde die unten beschriebene Auswahlregel evaluiert.

Die interessante Entscheidung ist, welche Konzept-Fotos gezeigt werden. Alle Fotos mit dem Konzept zu zeigen, lieferte von jedem Ausgangsfoto fast dieselbe Menge: Die Überschneidung zwischen Ausgangsfotos (Jaccard) lag bei 0,46–0,52. Nach Ähnlichkeit zum aktuellen Foto zu sortieren, wiederholte, was „Ähnliche Fotos“ ohnehin schon zeigte.

Die ausgelieferte Regel behält nur das mittlere Drittel der Ähnlichkeitsverteilung: verwandt mit dem aktuellen Foto, aber nicht seine nächsten Nachbarn. Innerhalb dieses Bands ist die Reihenfolge fest, damit Ähnlichkeit nicht über die Sortierung zurückkehrt. Die Regel wurde nach einer vorab festgelegten Auswahlregel bestimmt. Sie gewann bei der verblindet bewerteten Qualität (2,50 von 3, gegenüber 2,44 für die nächstbeste zulässige Strategie) und hielt auf einem Holdout-Satz. Die Stichproben waren klein (9 Kalibrierungs- und 6 Holdout-Ausgangsfotos), auch deshalb bleibt die Funktion eng gefasst.

Ein Folgeversuch, aus Konzepten Empfehlungspfade zu machen, wurde verworfen. Konzepte bleiben Provenienz (warum ein Foto dazugehört), keine Navigationsmaschine.

Warum dieses Ergebnis passt

Jedes Ergebnis kann zeigen, warum es passt. Diese Erklärung ist eine Projektion der Evidenz, die das Retrieval festgehalten hat, keine nachträglich geschriebene Geschichte.

Jeder Kandidat trägt eine Aufzeichnung darüber, welche Signale genau gepasst haben: welche Tags, welcher Ort, welche Kameraeigenschaft, ob der Treffer aus semantischer Ähnlichkeit kam. Die Oberfläche wählt einen Grund, den wichtigsten, der zutrifft (Tag vor Ort vor Kamera und so weiter, semantische Ähnlichkeit zuletzt), oder zeigt nichts, wenn kein konkretes Signal greift.

Zwei frühere Verhaltensweisen wurden entfernt, weil sie mehr behaupteten, als das Retrieval wusste:

  • Ein generisches Label „starker Treffer“. Es erschien, sobald mehrere schwache Signale zusammenfielen.
  • Ein sichtbarer Prozentwert. Er war relativ zum besten Ergebnis, keine Wahrscheinlichkeit, und wirkte wie eine Sicherheit, die er nicht hatte. Er wird intern weiter berechnet, aber Besuchern nicht mehr gezeigt.

Die Regel: Eine Erklärung darf nie stärker sein als die Evidenz dahinter.

Evaluation

Änderungen an der Suche werden offline gegen einen eingefrorenen Benchmark entschieden. Ein lebender Korpus verändert sich unter einem, und Live-Eindrücke verwechseln „sieht besser aus“ mit „ist besser“.

Der Benchmark:

  • 106 Fragen über einen eingefrorenen Stand von 191 Fotos, in 21 Anfragefamilien. Sie reichen von wörtlichen über natürlichsprachliche, strukturierte, relationale und gemischte Formulierungen, schließen Negativfragen ein und decken Deutsch und Englisch ab.
  • 2.460 menschliche Relevanzurteile auf einer Skala von 0 bis 3, verblindet bewertet, mit allen Modellsignalen ausgeblendet.
  • Die Kandidaten stammen aus sechs unabhängigen Retrieval-Kanälen, damit der Benchmark nicht auf die eigene Ausgabe der Produktion zugeschnitten ist.
  • Als bei 17 Fragen jeder Kandidat relevant war, wurden sie mit doppelter Tiefe neu zusammengestellt. Fünf blieben gesättigt, das ist als Einschränkung dokumentiert statt kaschiert.

Die Metriken, und warum es mehrere sind:

  • NDCG: Qualität der abgestuften Reihenfolge.
  • MRR: wie früh das erste relevante Foto erscheint.
  • P@5 / P@10: Präzision der sichtbaren Seite.
  • R@10 / R@20: Recall innerhalb dieser Seite.

Sie widersprechen sich oft genug, dass keine Änderung auf Basis einer einzigen ausgeliefert wird. Die Ergebnisse werden zusätzlich nach Anfragefamilie und Sprache aufgeschlüsselt. Deutsch und Englisch finden ihre Treffer über verschiedene Kanäle (siehe oben), und ein gemeinsamer Durchschnitt kann eine Verschlechterung in einer der beiden verdecken.

Die Messung messen. Der folgenreichste Befund der Evaluation betraf den Benchmark selbst:

  • Die Hälfte aller geeigneten Kandidaten (50,3 %) stand in exakten Gleichständen, mit gleichem Score und gleicher Evidenzstufe.
  • Gleichstände wurden nach Fotoreihenfolge aufgelöst, und zufällig lag jedes bewertete Foto vor jedem unbewerteten, das als irrelevant zählt.
  • Der Tie-Break der Produktion schob bewertete Fotos also systematisch nach oben und schönte jede Metrik.

Über 200 zufällige Gleichstandsreihenfolgen neu bewertet:

  • NDCG fiel von 0,634 auf einen gleichstandsneutralen Mittelwert von 0,593 (95-%-Intervall 0,584–0,604).
  • MRR fiel von 0,671 auf 0,633.
  • P@5 fiel von 0,533 auf 0,475.

Die Produktion schlug trotzdem alle 200 Reihenfolgen auf jeder Metrik, frühere Ranking-Urteile hielten also. Absolute Ausgangswerte waren damit aber ungültig, und Rankings werden seitdem als gleichstandsneutraler Mittelwert mit Intervall berichtet.

Was gescheitert ist

Ein besseres Ranking, das ein Messartefakt war.

  • Problem: Deutsche und beschreibende Anfragen schienen darunter zu leiden, dass semantische Evidenz gegenüber lexikalischen Punkten zu schwach gewichtet war.
  • Hypothese: Eine neue Balance der beiden Terme verbessert das Ranking.
  • Experiment: Sieben Formulierungen auf 99 bewerteten Benchmark-Fragen, darunter eine höhere Obergrenze, rangbasierte Skalierung, rollenabhängige Gewichte und das Weglassen des semantischen Terms bei lexikalischen Kandidaten.
  • Ergebnis: Nichts bewegte sich, außer dem Weglassen des semantischen Terms, das 4,16 NDCG-Punkte gewann. Dieser Gewinn entstand vollständig durch das Gleichstandsartefakt oben. Im gepaarten, gleichstandsneutralen Vergleich war dieselbe Änderung schlechter (−1,70 Punkte, Intervall −3,07 bis −0,36).
  • Architektonische Konsequenz: Die Score-Formel blieb. Gleichstandsneutrales Berichten wurde zum Standardprotokoll für jedes Ranking-Experiment.

Fusion, die dort schadete, wo das Ranking unsicher war.

  • Problem: Visuelle Rangfusion war auf einem früheren Benchmark ausgeliefert worden (+1,8 NDCG-Punkte, +10,6 MRR-Punkte), abgesichert durch eine Prüfung auf visuelle Absicht.
  • Experiment: Ein Audit auf 117 eingefrorenen, bewerteten Anfragen.
  • Ergebnis: Die Prüfung ließ 42 der 49 Anfragen durch, denen die Fusion schadete. Unterm Strich war die Fusion 1,9 Punkte pro Anfrage schlechter als gar keine, während ein nicht einsetzbares Orakel 7 Punkte Spielraum zeigte. Kein zur Laufzeit verfügbares Merkmal (Poolgröße, Anzahl der Facetten, visuelle Ähnlichkeit) trennte hilfreiche von schädlichen Aktivierungen.
    • Eine Folgeuntersuchung auf 136 bewerteten Anfragen fand, wo der Schaden lag: fast ausschließlich bei Fragen, deren beste Produktionsergebnisse gleichauf oder fast gleichauf lagen.
  • Architektonische Konsequenz: Fusion läuft nur noch, wenn die beiden besten Produktionsergebnisse mindestens 0,05 auseinanderliegen.
    • Gegenüber gar keiner Fusion sind das +1,58 NDCG@10-Punkte (0,6879 gegenüber 0,6721) und +0,88 bei P@5. Die Aktivierung sank von 89,7 % auf 31,6 %, das Verhältnis hilfreich/schädlich von 41/43 auf 23/8.
    • Die Regel schlug den Verzicht auf Fusion in 182 von 200 zurückgehaltenen Aufteilungen, und jeder Schwellenwert zwischen 0,02 und 0,70 verhielt sich ähnlich. Es ist also eine Mechanismusgrenze, keine angepasste Konstante.
    • Die Fusion ganz abzuschaffen, wurde geprüft und verworfen: Die Bildvektoren bleiben für „Ähnliche Fotos“ und Konzepte ohnehin bestehen, die Abschaffung hätte nichts vereinfacht und den Gewinn gekostet.

Mehr Recall, den nichts erreichen konnte.

  • Problem: Vielleicht erreichen relevante Fotos die Ergebnisse nie, weil die Kandidatengenerierung sie verfehlt.
  • Experiment 1: Ein BM25-Index über Bildbeschreibungen als zusätzlicher Kanal. Er fand echte zusätzliche Kandidaten (+1,17 Punkte Kandidaten-Recall), aber keiner davon erreichte die Top 5, 10 oder 20, unter keiner Zulassungsregel, auch nicht mit einem Orakel auf Basis der echten Urteile (NDCG +0,00).
  • Experiment 2: Ein tieferes semantisches Recall-Fenster (150 statt 60). Es hob den Kandidaten-Recall von 93,2 % auf 97,1 % und senkte NDCG um 0,35 Punkte; kein neu gefundenes relevantes Foto erreichte die Top 20.
  • Architektonische Konsequenz: Die Kandidatengenerierung ist nicht der Engpass, sondern Bewertung und Evidenz. Es kam kein neuer Retrieval-Kanal hinzu. Die Frage „Was würde ein perfektes Orakel gewinnen?“ steht seitdem vor dem Bau eines Kanals.

Abwägungen

  • Mehr als ein Retrieval-Pfad. Lexikalische, semantische, Bild- und Konzeptsignale brauchen jeweils eigene Speicherung, Versionierung und eigenes Fehlerverhalten. Das sind mehr bewegliche Teile als bei reiner Vektorsuche, akzeptiert, weil jeder Pfad eine Frage beantwortet, die die anderen schlecht beantworten.
  • Eine Obergrenze statt einer gelernten Gewichtung. Die additive Obergrenze ist einfach und garantiert, dass exakte Evidenz gewinnt, aber sie ist eine von Hand gesetzte Struktur, kein auf Relevanz trainiertes Modell. Ein gelernter Ranker wäre im Mittel vielleicht besser. Auf einigen hundert Fotos gibt es aber nicht genug bewertete Daten, um einen ohne Overfitting zu trainieren, und die Garantie ginge verloren.
  • Diversität stuft relevante Fotos herab. Die Grenzen tauschen Präzision am Listenende gegen eine Seite, die das Archiv repräsentiert.
  • Visuelle Ähnlichkeit ist keine Relevanz. Das Aussehen beantwortet eine andere Frage, deshalb liegt es hinter einer ausdrücklichen Perspektive und einer engen Fusionsprüfung, nie im Standard.
  • Gehostete Embedding-Anbieter. Semantisches Retrieval und Fusion hängen von externen Modellen ab. Beide fallen auf den lexikalischen Pfad zurück; ein Ausfall kostet Qualität, nicht Verfügbarkeit.
  • Offline-Metriken sind nur so gut wie die Urteile. Alle stammen von einer einzigen menschlichen Bewertungsperson. Fünf Fragen sind gesättigt, und der deutsche Anteil ist klein (11 Fragen). Mehrere Befunde oben entstanden dadurch, dass der Benchmark korrigiert wurde, nicht der Ranker.
  • Einfache Infrastruktur, weil der Korpus klein ist. Exakte Nächste-Nachbarn-Suche, lexikalische Bewertung im Speicher und ein Vektorindex in der Anwendungsdatenbank sind für einige hundert Fotos die richtige Wahl. In einem anderen Maßstab würde ich sie nicht beibehalten.

Skalierung

Heute: ein persönliches Archiv mit einigen hundert Fotos, ein Upload-Workflow mit einem einzigen Eigentümer, der jedes Foto einmal anreichert und einbettet, und anonyme öffentliche Zugriffe. Was sich ändern würde:

  • 10.000 Fotos. Der lexikalische Durchlauf im Speicher wird pro Anfrage messbar. Das lexikalische Matching würde auf einen invertierten Index umziehen, als Indexstruktur für Tags und Filter, nicht als BM25-Ranking, das nachweislich geschadet hat. Exakte Vektorsuche bleibt machbar. Der Benchmark müsste neu zusammengestellt werden, weil Urteile über 191 Fotos keine 10.000 abdecken.
  • 1.000.000 Fotos. Exakte Nächste-Nachbarn-Suche und Bildähnlichkeit per Volldurchlauf sind nicht mehr tragbar; approximative Indizes (HNSW oder ähnlich) in einem eigenen Vektorspeicher würden sie ersetzen. Approximation verändert den Recall, also müssten Recall-Fenster, Diversitätsgrenzen und der Abstandsschwellenwert der Fusion neu gemessen werden. Menschliche Urteile müssten stichprobenbasiert statt erschöpfend erhoben werden.
  • Mehrere Nutzer oder Mandanten. Der Mandantenbezug wird Teil von Retrieval und Autorisierung, nicht nur des Veröffentlichungsstatus. Vokabular, Stimmungsfamilien und Konzeptregister sind heute global und werden von einer Person gepflegt; sie bräuchten mandantenbezogene Zuständigkeit oder ein gemeinsames Governance-Modell.
  • Mehr Anfragen. Jede Frage kann mehrere Anbieteraufrufe auslösen (Vokabularzuordnung, semantisches Embedding, Konzeptauflösung, Fusion). Embeddings werden heute zwischengespeichert; bei Last bräuchte es Batching, Budgets und Limits pro Client, und der zusätzliche Aufruf der Fusion wäre der erste Kandidat zum Wegfallen.
  • Inkrementelle Indizierung. In kleiner Form schon vorhanden: Vektoren sind über Dokumentversion und Inhalts-Hash versioniert, eine erneute Anreicherung ersetzt also genau das, was sich geändert hat. Im großen Maßstab wird daraus eine Warteschlange mit Backfill- und Reindex-Jobs.

Was bleiben würde: getrennte Signale mit begrenzten Aufgaben, exakte Evidenz, die Ähnlichkeit nicht überholen kann, Eignung vor dem Ranking, Diversität als bewusster letzter Schritt und ein eingefrorener, von Menschen bewerteter Benchmark mit gleichstandsneutralem Berichten, der entscheidet, was ausgeliefert wird.

Erkenntnisse

  1. Verschiedene Bedeutungen von „ähnlich“ sollten getrennt bleiben, bis eine Messung etwas anderes sagt. Jede Fusion, die ich getestet habe, wirkte vernünftig. Nur eine hat überlebt, und nur in eingeschränkter Form.
  2. Die Aufgabe eines Signals strukturell begrenzen. Die semantische Obergrenze ist eine Garantie, kein abgestimmtes Gewicht, und ein Experiment bestätigte, dass sie dort, wo exakte Evidenz existiert, ohnehin nur als Tie-Breaker wirkt.
  3. Die Messung messen. Eine Tie-Break-Reihenfolge schönte die Produktion um vier NDCG-Punkte und ließ ein schlechteres Ranking kurzzeitig besser aussehen.
  4. Ein Durchschnitt kann verbergen, wo der Schaden liegt. Der Nettoverlust der Fusion konzentrierte sich auf gleichauf liegende Rankings; diese Grenze zu finden, machte aus einer netto schädlichen Funktion eine netto nützliche.
  5. Vor mehr Recall fragen, was ein perfektes Orakel gewinnen würde. Zweimal stellten sich zusätzliche Kandidaten als unerreichbar für das Ranking heraus, das sie hätte nutzen müssen.

Weiterlesen

Die Fallstudie zum Fotografie-Assistenten beschreibt, wie der Kurator aus diesem Retrieval belegte Antworten macht. Das Engineering Journal erzählt Teile der Suchgeschichte ausführlicher: Suche für Erinnerungen gestalten und Jeder Treffer braucht eine Erklärung.