Grafový model dokumentů místo vektorového RAG: zkušenosti s normativní dokumentací
Standardní RAG – rozdělení textu na části, vektorizace a vyhledávání – selhává u normativních dokumentů. Sémantické vyhledávání najde relevantní bod, ale ignoruje související podbody, poznámky nebo křížové odkazy. Výsledek: neúplné odpovědi, kdy model staví závěry na základě izolovaného fragmentu a ztrácí povinný kontext.
Pro dotazy s řetězcem norem retrieval přináší šum nebo vynechává klíčové prvky. Problém není v LLM, ale v ploché reprezentaci dokumentů, kde minimální jednotka uložení neodpovídá jednotce významu.
Strukturovaný model: od textu k hierarchii uzlů
Dokumenty modelujeme jako strom adresovatelných prvků:
- Kořenový uzel – celý dokument.
- Oddíly, body, podbody.
- Tabulky a vzorce jako samostatné uzly.
- Vazby mezi uzly.
- Samostatná vrstva termínů s definicemi.
Indexace probíhá podle normalizované struktury, nikoli podle surových částí po parsování. To zachovává hierarchii a umožňuje cíleně přistupovat k prvkům.
Seskupování kontextu: proč jeden uzel nestačí
Atomární uzly (jeden bod) ztrácejí lokální kontext. Pro dotaz „minimální evakuační východy“ je potřeba nejen hlavní bod, ale:
- Sousední podbody stejné úrovně.
- Poznámky.
- Související tabulky.
- Křížové odkazy na jiné oddíly nebo dokumenty.
Seskupování probíhá podle společného rodiče a úrovně vnoření, s limitem velikosti. Neexistuje univerzální chunk size: malé skupiny – ztráta významu, velké – šum v retrieval. Strukturní seskupování zvyšuje stabilitu odpovědí, zahrnuje významové bloky do indexu.
Více režimů retrieval: za hranicemi vector search
Sémantické vyhledávání je vhodné pro volné dotazy, ale normativní dokumentace vyžaduje přesnost:
- Cílené vyhledávání podle čísla bodu (6.2.2).
- Vyhledávání tabulek (tabulka 7.1).
- Lexikální a hybridní vyhledávání.
- Terminologická vrstva.
- Vyhledávání podle křížových odkazů.
Jeden dotaz spustí několik strategií paralelně: cílené podle bodu + klíčová slova + termíny. Výsledky se slučují v context builder vyhledávacím agentem.
Terminologická vrstva pro synonymii
Uživatel a dokument používají různé formulace: oficiální termíny, zkratky, roztříštěné definice. Termíny se vyčleňují samostatně:
- Extrakce z dokumentu.
- Přiřazení definic.
- Samostatná indexace.
- Použití jako dodatečný signál v retrieval.
To spojuje dotazy podle pojmů s relevantními fragmenty, zvyšuje recall.
Graf vazeb: povinný kontext
Hierarchie nezaručuje přitažení souvisejících norem. Graf přidává typizované vztahy:
mandatory– povinný průvodce uzlu.cross– křížový odkaz.- Dokument ↔ uzel.
- Uzel ↔ tabulka.
- Mezi dokumenty.
Při relevantním hitu retrieval nuceně přidává související uzly, i když nejsou v top-k podle sémantiky. Tím se předchází neúplným odpovědím.
Praktická vylepšení systému
Grafový model činí odpovědi stabilními:
- Přesné odkazy na body s kontextem.
- Práce s tabulkami bez ztráty popisu.
- Rozlišení termínů a podobných frází.
- Řetězce norem místo izolovaných fragmentů.
Systém přestává být chatem – stává se nástrojem pro verifikovatelné odpovědi.
Co je důležité:
- Dokumenty – ne plochý text, ale adresovatelná hierarchie s grafem vazeb.
- Retrieval je vícevrstvý: vector + cílený + termíny + vazby.
- Seskupování podle struktury, nikoli podle tokenů, pro zachování kontextu.
- Povinné vazby jsou explicitně vyjádřeny v datech.
- Jeden dotaz – několik vyhledávání s kompozicí výsledků.
Lekce pro složité domény
Kvalita RAG v normativní dokumentaci je určena daty, nikoli modelem. Klíčové závěry:
- Strukturovejte dokumenty jako graf uzlů.
- Chunking podle hierarchie, s adaptivní velikostí.
- Komponujte retrieval strategie.
- Vyčleňujte termíny a mandatory vazby.
To je škálovatelné na jiné domény s pevnou strukturou: kód, specifikace, smlouvy.
— Editorial Team
Zatím žádné komentáře.