Hvad betyder Parent document retrieval?
Parent document retrieval adskiller den tekststørrelse, der bruges til at finde et match, fra den tekststørrelse, der efterfølgende gives som kontekst. Små uddrag kan være præcise at søge i, mens et større afsnit kan være nødvendigt for at forstå undtagelser og henvisninger.
Systemet gemmer derfor en relation mellem et mindre uddrag og dets overordnede tekst. Når søgningen finder uddraget, bruges relationen til at hente den større enhed. En parent kan være hele originaldokumentet eller blot et større kapitelafsnit, afhængigt af opsætningen.
Metoden kan hjælpe ved tab af sammenhæng, men større er ikke altid bedre. Et langt overordnet dokument kan bringe mange uvedkommende oplysninger med og øge forbruget af kontekst. Størrelsen skal passe til de spørgsmål, løsningen skal besvare.
Bevar en stabil forbindelse mellem barn og parent
Hvert lille uddrag skal pege på den rigtige større enhed og version. Hvis en opdatering ændrer afsnittenes rækkefølge, må gamle relationer ikke pege ind i en anden del af dokumentet.
Metadata og adgangsregler skal følge begge niveauer. Et tilladt lille uddrag må ikke bruges som vej til en større tekst, der indeholder oplysninger, brugeren ikke må se. Det overordnede opslag kræver derfor sin egen korrekte afgrænsning og ikke blot tillid til et fundet ID.
Saml overlap og behold det nødvendige
Flere fundne uddrag kan have samme parent. Hvis hele parentteksten indsættes én gang pr. match, bliver konteksten unødvendigt gentaget. Sammenlæg resultater efter stabile ID’er og bevar samtidig, hvilke små uddrag der udløste fundet.
En hierarkisk løsning kan også vælge større kontekst ud fra flere fund i samme område. Uanset metode bør teamet kontrollere, at det endelige modelinput indeholder de relevante undtagelser og ikke blot mere tekst. Mål både svarkvalitet og den ekstra behandling.
Et eksempel fra praksis
En medarbejder spørger til opsigelse af en intern serviceordning. Det lille match beskriver fristen, men næste afsnit indeholder en vigtig undtagelse for en bestemt aftaletype. Parent-opslaget henter hele det relevante aftaleafsnit.
Testen kontrollerer, at undtagelsen kommer med, og at andre fortrolige bilag ikke følger med blot på grund af samme mappe. Hvis flere matches peger på afsnittet, indsættes det én gang. Svaret henviser til den konkrete frist og undtagelse, så medarbejderen kan kontrollere fortolkningen i originalen.
Typiske faldgruber
- En parent bliver så stor, at vigtig information drukner i uvedkommende tekst.
- Relationer peger på en gammel eller forkert dokumentversion.
- Et tilladt uddrag åbner adgang til en større tekst med andre rettigheder.
Det skal I afklare
- Definér passende størrelser og stabile relationer mellem niveauer.
- Kontrollér adgang og version ved det overordnede opslag.
- Fjern gentagen kontekst og test spørgsmål med vigtige naboundtagelser.
Spørgsmål og svar
Skal parent altid være hele filen?
Nej. Den kan være et større afsnit. Valget bør give tilstrækkelig sammenhæng uden at fylde svarets grundlag med unødvendigt materiale.
Er det det samme som at lave store chunks fra starten?
Nej. Søgningen kan stadig ske i små præcise uddrag, mens den større tekst først hentes bagefter. Det adskiller matchstørrelse fra kontekststørrelse.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- LangChain: ParentDocumentRetriever ↗Små søgeuddrag med opslag af større parentdokumenter.
- LlamaIndex: Auto Merging Retriever ↗Beslægtet hierarkisk metode til at samle fund i større kontekst.

