Winnie-the-Pooh in 768 Dimensionen: Semantische Suche für Codex Pets auf YDB
Яндекс
Ein Entwickler hat eine semantische Suche für den Codex-Pets-Katalog mit Embeddings in YDB aufgebaut. Das System kombiniert lexikalische, textuell-semantische und visuell-semantische Rankings. Tests zeigen im Vergleich zur rein lexikalischen Suche verbesserte NDCG- und Recall-Metriken.
Der Codex-Pets-Katalog enthält 153 zugelassene animierte Haustiere, die KI-Agenten begleiten. Als der Katalog wuchs, wurde die Suche auf Basis von Tags unpraktikabel und fand Haustiere nicht, die eher durch ihr Aussehen als durch exakte Tags beschrieben wurden. Der Autor implementierte eine semantische Suche: Textfelder (Name, Beschreibung, Tags) werden in 768-dimensionale Vektoren kodiert, und ein multimodales Modell generiert Bildunterschriften für vier ausgewählte Animationsframes, die ebenfalls vektorisiert werden. YDB speichert die Vektoren und berechnet die Kosinus-Ähnlichkeit über Knn::CosineSimilarity. Es wurden vier neue Tabellen hinzugefügt, um Einbettungen, Bildunterschriften, Empfehlungen und Versionierung zu verwalten. Die Suche kombiniert drei Ranglisten mittels Weighted Reciprocal Rank Fusion, wobei lexikalische und textuelle Gewichte bei 1 liegen und ein abgestimmtes visuelles Gewicht verwendet wird. Der visuelle Zweig kann unabhängig ausfallen und fällt auf lexikalische Ergebnisse zurück. Tests zeigten, dass die semantische Suche den NDCG@5 von 0,539 auf 0,724 und das Recall@5 von 0,528 auf 0,743 bei der vollständigen Menge von 14 Abfragen verbessert.
Quelle: Habr — хаб ML —
Original
