Wyszukiwanie produktów z wykorzystaniem grafów i LLM: architektura i przykłady
Wyszukiwanie produktów na podstawie zapytań tekstowych musi obsługiwać zapytania o długości 1–2 zdań. Oczekiwane scenariusze obejmują proste zapytania ("dżinsy"), wyszukiwanie semantyczne (sweter → bluzy), negacje ("sukienka nie z bawełny"), epitety ("efektowna sukienka"), opisy strukturalne ("długa sukienka z krótkimi rękawami"), wiele encji ("biały top i niebieskie dżinsy"), zapytania według przeznaczenia ("buty do sportu"), wzmianki o markach/cenach ("torebka Kors taniej niż 20 tys.") oraz odniesienia do znanych osób ("torebka jak u Dua Lipy").
Takie zapytania wykraczają poza wyszukiwanie słów kluczowych i wektorowe, wymagając analizy powiązań i kontekstu.
Zalety reprezentacji grafowej
Grafy przechowują nie tylko encje, ale także relacje między nimi. Dla zapytania "top" opis produktu "dżinsy Levi's, dobrze komponują się z topem" nie da fałszywie pozytywnego dopasowania: w grafie zapytania "top" jest powiązany z głównym obiektem, w produkcie — nie. Metryka podobieństwa grafów uwzględnia to, obniżając wynik.
Dla "dżinsy" wynik jest wysoki ze względu na semantyczne dopasowanie struktur.
Grafy pozwalają rozróżniać role węzłów: pożądany produkt, niepożądany atrybut, część obiektu.
Potok LLM Graph Search
Algorytm składa się z kolejnych kroków:
- Optymalizacja dynamicznych promptów: Analiza złożoności zapytania, ekstrakcja marek/cen. Dla prostych zapytań (1–2 słowa) — powrót do wyszukiwania słów kluczowych lub wektorowego. Tworzy prompt dla Text2Graph.
- Text2Graph: LLM buduje graf wiedzy z zapytania. Dzieli na podgrafy dla wielu encji.
- Wyszukiwanie grafowe: Porównanie grafu zapytania z grafami produktów według podobieństwa grafów. Zwraca top-N indeksów.
- LLM-ranker: Przeorganizowanie kandydatów dla zwiększenia precyzji.
- Ocena wyniku: Analiza dopasowań/rozbieżności (znaleziono typ, ale nie kolor). Przy niskim wyniku — iteracja lub powrót.
Opóźnienie 10–15 s jest akceptowalne dla systemów typu RAG.
Przykłady przetwarzania złożonych zapytań
Negacje
Zapytanie: "elegancka długa sukienka bez rękawów". Graf oznacza "rękawy" jako niepożądany atrybut. Wyszukiwanie wyklucza produkty z rękawami, skupiając się na sukience z atrybutami "elegancka", "długa".
Zapytania strukturalne
"Długa sukienka z krótkimi rękawami". Graf: sukienka (długa) → rękawy (krótkie). Algorytm znajduje produkty ze strukturą hierarchiczną, bez ograniczeń głębokości. Przydatne dla dokumentów z zagnieżdżonymi warunkami (wnioski z filtrami według statusu/dat).
Wiele encji
"Białe dżinsy i niebieska torebka". Text2Graph dzieli na podgrafy, wyszukiwanie uruchamiane równolegle. Możliwe dopasowanie zestawów (niebieski garnitur dla "niebieska marynarka i niebieskie spodnie"), ale wymaga dopracowania oceny, aby uniknąć fałszywych powrotów.
Przeznaczenie bez typu
"Buty do sportu". Graf rozszerza się do scenariusza użycia, dopasowuje według semantyki.
Marki i cena
"Dżinsy Levi's do 12 tys.". Filtry ekstrahowane w Text2Graph, integrowane w graf. Oceny tekstowe ("tanio") — według statystyki podobnych produktów.
Co jest ważne
- Wyszukiwanie grafowe przewyższa wektorowe w zapytaniach strukturalnych z negacjami i powiązaniami.
- Potok jest niezależny od domeny (oprócz optymalizacji promptów), adaptuje się do książek/dokumentów.
- Ocena wyniku pozwala na iteracje bez pokazywania użytkownikowi.
- Opóźnienie spada do 2–3 s przy wektoryzacji i opcjonalnym rankerze.
- Perspektywy: routing według złożoności, modele multimodalne, deep research.
— Editorial Team
Brak komentarzy.