Nu u uw testdocumenten en query's hebt verzameld en een documentanalyse hebt uitgevoerd in de voorbereidingsfase, wordt de volgende fase gesegmenteerd. Het opsplitsen van documenten in een verzameling segmenten van rechts formaat, elk met semantisch relevante inhoud, is een belangrijke factor in het succes van uw RAG-implementatie (Retrieval-Augmented Generation). Het doorgeven van volledige documenten of oversized segmenten is duur, kan de tokenlimieten van het model overbelasten en levert niet de beste resultaten op. Het doorgeven van informatie aan een taalmodel dat niet relevant is voor de query kan leiden tot halluïnaties. U moet het proces voor het doorgeven van relevante informatie optimaliseren en irrelevante informatie verwijderen. U doet deze optimalisatie door effectieve chunking- en zoekstrategieën te gebruiken om fout-positieven en fout-negatieven te minimaliseren en terecht-positieven en terecht-negatieven te maximaliseren.
Het doorgeven van segmenten die te klein zijn en onvoldoende context bevatten om de query aan te pakken, leidt ook tot slechte resultaten. Relevante context die bestaat in meerdere segmenten, wordt mogelijk niet vastgelegd. De kunst is het implementeren van effectieve segmenteringsmethoden voor uw specifieke documenttypen en hun structuren en inhoud. Er zijn verschillende segmenteringsmethoden waarmee u rekening moet houden, elk met hun eigen kosteneffecten en effectiviteit, afhankelijk van het type en de structuur van het document waarop ze worden toegepast.
In dit artikel worden verschillende segmenteringsmethoden beschreven en wordt onderzocht hoe de structuur van uw documenten van invloed kan zijn op de segmenteringsmethode die u kiest.
Dit artikel maakt deel uit van een serie. Lees de inleiding.
Segmentering van economie
Bij het bepalen van uw algehele segmenteringsstrategie moet u rekening houden met uw budget, samen met uw kwaliteits- en doorvoervereisten voor uw documentinhoud. Er zijn technische kosten voor het ontwerp en de implementatie van elke unieke segmenterings-implementatie en verwerkingskosten per document die verschillen, afhankelijk van de aanpak. Als uw documenten ingesloten of gekoppelde media hebben, moet u rekening houden met de economie van de verwerking van deze elementen. Voor segmentering worden bij deze verwerking doorgaans taalmodellen gebruikt om beschrijvingen van de media te genereren. Deze beschrijvingen worden vervolgens gesegmenteerd. Een alternatieve benadering met sommige media is om ze als zodanig door te geven aan een multimodale model tijdens deductietijd, maar die benadering zou geen invloed hebben op de segmenteringseconomie.
In deze sectie wordt de economie van zowel segmenteringsafbeeldingen als de algehele oplossing onderzocht.
Afbeelding segmentering economie
Er zijn kosten verbonden aan het gebruik van een taalmodel om een beschrijving van een afbeelding te genereren die vervolgens wordt gesegmenteerd. Cloudservices zoals Azure OpenAI brengen bijvoorbeeld kosten in rekening per transactie of op basis van vooraf betaalde inrichting. Voor grotere afbeeldingen worden grotere kosten in rekening gebracht. Via uw documentanalyse moet u bepalen welke afbeeldingen waardevol zijn om te segmenteren en welke afbeeldingen u moet negeren. Van daaruit moet u het aantal en de grootte van de afbeeldingen in uw oplossing begrijpen en moet u de waarde van het segmenteren van de afbeeldingsbeschrijvingen afwegen tegen de kosten voor het genereren van deze beschrijvingen.
Een manier om te bepalen welke afbeeldingen moeten worden verwerkt, is door een service zoals Azure AI Vision te gebruiken om afbeeldingen te classificeren, afbeeldingen te taggen of logodetectie uit te voeren. Vervolgens kunt u de resultaten en betrouwbaarheidsindicatoren gebruiken om te bepalen of de afbeelding zinvolle, contextuele waarde toevoegt en moet worden verwerkt. Aanroepen naar Azure AI Vision zijn mogelijk goedkoper dan aanroepen naar taalmodellen, dus deze benadering kan leiden tot kostenbesparingen. U moet experimenteren om te bepalen welke betrouwbaarheidsniveaus en welke classificaties of tags de beste resultaten bieden voor uw gegevens. Een andere optie is om uw eigen classificatiemodel te bouwen. U moet rekening houden met de kosten van het bouwen, hosten en onderhouden van uw eigen classificatiemodel.
Een andere kostenoptimalisatie is caching met behulp van het cache-aside-patroon. U kunt een sleutel genereren op basis van de hash van de installatiekopieën. Als eerste stap kunt u controleren of u een resultaat in de cache hebt van een eerder uitgevoerd of eerder verwerkt document. Als u dat doet, kunt u dat resultaat gebruiken. Deze aanpak zorgt ervoor dat u geen classificatie of een taalmodel hoeft aan te roepen. Als er geen cache is, wordt het resultaat in de cache opgeslagen wanneer u de classificatie of het taalmodel aanroept. Toekomstige aanroepen voor deze afbeelding maken gebruik van de cache.
Een eenvoudige werkstroom die al deze processen voor kostenoptimalisatie integreert, is:
- Controleer of de afbeeldingsverwerking in de cache is opgeslagen. Zo ja, gebruik dan de resultaten in de cache.
- Voer de classificatie uit om te bepalen of u de afbeelding moet verwerken. Sla het classificatieresultaat in de cache op. Ga alleen verder als uw classificatielogica u dit vertelt.
- Genereer de beschrijving voor uw afbeelding. Sla het resultaat op in de cache.
Economie van de algehele oplossing
Hier volgen factoren die u moet overwegen bij het bekijken van de kosten van uw algehele oplossing:
- Aantal unieke segmenterings-implementaties : elke unieke implementatie heeft zowel technische als onderhoudskosten. U moet rekening houden met het aantal unieke documenttypen in uw corpus en de kosten versus de kwaliteit van unieke implementaties voor elk document.
- Kosten per document van elke implementatie : sommige segmenteringsmethoden kunnen leiden tot betere kwaliteitssegmenten, maar hebben een hogere financiële en tijdelijke kosten om deze segmenten te genereren. Het gebruik van een vooraf samengesteld model in Azure AI Document Intelligence heeft bijvoorbeeld waarschijnlijk een hogere kosten per document dan een pure implementatie voor het parseren van tekst, maar kan leiden tot betere segmenten.
- Aantal initiële documenten : het aantal initiële documenten dat u moet verwerken om uw oplossing te starten.
- Aantal incrementele documenten : het aantal en de frequentie van nieuwe documenten die u moet verwerken voor doorlopend onderhoud van het systeem.
Laden en segmenteren
Logischerwijs moet u tijdens het segmenteren eerst het document in het geheugen laden in een bepaalde indeling. De segmenteringscode werkt vervolgens op basis van de in-memory weergave van het document. U kunt ervoor kiezen om de laadcode te combineren met segmentering, of u kunt het laden in een eigen fase scheiden. De benadering die u kiest, moet grotendeels zijn gebaseerd op architecturale beperkingen en uw voorkeuren. In deze sectie worden beide opties kort besproken en krijgt u vervolgens enkele algemene aanbevelingen.
Afzonderlijk laden en segmenteren
Er zijn verschillende redenen waarom u ervoor kunt kiezen om de laad- en segmenteringsfasen te scheiden. U kunt logica in de laadcode inkapselen. Mogelijk wilt u het resultaat van de laadcode behouden voordat u segmenteert, met name wanneer u experimenteert met verschillende segmenterings permutaties om te besparen op verwerkingstijd of -kosten. Ten slotte kunt u de laad- en segmenteringscode uitvoeren in afzonderlijke processen om architecturale redenen, zoals procesoverschot of beveiligingssegmentatie waarbij PII wordt verwijderd.
Logica inkapselen in de laadcode
U kunt ervoor kiezen om voorverwerkingslogica in de laadfase in te kapselen. Dit vereenvoudigt de segmenteringscode omdat deze geen voorverwerking hoeft uit te voeren. Voorverwerking kan net zo eenvoudig zijn als het verwijderen of toevoegen van aantekeningen aan delen van het document dat u hebt vastgesteld dat u wilt negeren in documentanalyse, zoals watermerken, kopteksten en voetteksten, of zo complex als het opnieuw opmaken van het document. Hier volgen enkele voorbeelden van voorverwerking die u in de laadfase kunt inkapselen:
- Verwijder of annotate items die u wilt negeren.
- Vervang afbeeldingsverwijzingen door afbeeldingsbeschrijvingen. Tijdens deze fase gebruikt u een LLM om een beschrijving voor de afbeelding te genereren en het document bij te werken met die beschrijving. Als u hebt vastgesteld in de documentanalyse dat er omringende tekst is die waardevolle context biedt voor de afbeelding, geeft u deze, samen met de afbeelding, door aan de LLM.
- Download of kopieer afbeeldingen naar bestandsopslag, zoals Azure Data Lake, die afzonderlijk van de documenttekst moeten worden verwerkt. Als u hebt vastgesteld in de documentanalyse dat er omringende tekst is die waardevolle context biedt voor de afbeelding, moet u deze tekst samen met de afbeelding opslaan in bestandsopslag.
- Tabellen opnieuw opmaken zodat ze gemakkelijker kunnen worden verwerkt.
Het resultaat van de laadcode behouden
Er zijn meerdere redenen waarom u het resultaat van de laadcode wilt behouden. Een van de redenen is dat u de documenten wilt controleren nadat ze zijn geladen en vooraf zijn verwerkt, maar voordat de segmenteringslogica wordt uitgevoerd. Een andere reden is dat u mogelijk verschillende segmenteringslogica wilt uitvoeren op dezelfde vooraf verwerkte code tijdens de ontwikkeling of in productie. Door de geladen code te behouden, wordt dit proces versneld.
Laad- en segmenteringscode uitvoeren in afzonderlijke processen
Door de code voor laden en segmenteren in afzonderlijke processen te scheiden, kunt u meerdere segmenterings-implementaties uitvoeren op basis van dezelfde vooraf verwerkte code. Met deze scheiding kunt u ook laad- en segmenteringscode uitvoeren in verschillende rekenomgevingen en op verschillende hardware. Bovendien kunt u met dit ontwerp de rekenkracht die wordt gebruikt voor het laden en segmenteren onafhankelijk schalen.
Laden en segmenteren combineren
Het combineren van de code voor laden en segmenteren is in de meeste gevallen een eenvoudigere implementatie. Veel van de bewerkingen die u kunt overwegen bij voorverwerking in een afzonderlijke laadfase, kunnen worden uitgevoerd in de segmenteringsfase. In plaats van afbeeldings-URL's bijvoorbeeld te vervangen door een beschrijving in de laadfase, kan de segmenteringslogica aanroepen naar de LLM maken om een tekstbeschrijving op te halen en de beschrijving te segmenteren.
Wanneer u documentindelingen hebt zoals HTML die tags met verwijzingen naar afbeeldingen bevatten, moet u ervoor zorgen dat de lezer of parser die de segmenteringscode gebruikt, de tags niet verwijdert. De segmenteringscode moet afbeeldingsverwijzingen kunnen identificeren.
Aanbevelingen
Hier volgen enkele aanbevelingen die u moet overwegen bij het bepalen of u de segmenteringslogica combineert of scheidt.
- Begin met het combineren van laad- en segmenteringslogica. Scheid ze wanneer uw oplossing dit vereist.
- Vermijd het converteren van documenten naar een tussenliggende indeling als u ervoor kiest om de processen te scheiden. Bewerkingen zoals die kunnen verliesachtig zijn.
Segmenteringsmethoden
In deze sectie vindt u een overzicht van enkele algemene segmenteringsmethoden. Deze lijst is niet bedoeld om volledig te zijn, in plaats van enkele veelgebruikte representatieve benaderingen. U kunt meerdere benaderingen in de implementatie gebruiken, zoals het combineren van het gebruik van een taalmodel om een tekstweergave van een afbeelding op te halen met veel van de vermelde benaderingen.
Elke benadering gaat gepaard met een samengevatte besluitvormingsmatrix waarin de hulpprogramma's, de bijbehorende kosten en meer worden gemarkeerd. De technische inspanning en verwerkingskosten zijn subjectief en zijn opgenomen voor relatieve vergelijking.
Parseren op basis van zinnen
Met deze eenvoudige benadering worden tekstdocumenten opgesplitst in segmenten die bestaan uit volledige zinnen. De voordelen van deze aanpak zijn dat het goedkoop is om te implementeren, dat het lage verwerkingskosten heeft en kan worden toegepast op elk op tekst gebaseerd document dat is geschreven in proza of volledige zinnen. Een uitdaging met deze benadering is dat elk segment mogelijk niet de volledige context van een gedachte of betekenis vastlegt. Vaak moeten meerdere zinnen samen worden genomen om de semantische betekenis vast te leggen.
Hulpprogramma's: SpaCy-zinstokenizer, LangChain recursieve tekstsplitser, NLTK-zinstokenizer
Technische inspanning: Laag
Verwerkingskosten: Laag
Gebruiksvoorbeelden: Ongestructureerde documenten die zijn geschreven in proza of volledige zinnen, en uw verzameling documenten bevat een verboden aantal verschillende documenttypen om afzonderlijke segmenteringsstrategieën te bouwen voor
Voorbeelden: Door de gebruiker gegenereerde inhoud, zoals open-beëindigde feedback van enquêtes, forumberichten, beoordelingen, e-mailberichten, een roman of een essay
Parseren met vaste grootte (met overlapping)
Deze benadering breekt een document op in segmenten op basis van een vast aantal tekens of tokens en maakt enige overlapping van tekens tussen segmenten mogelijk. Deze benadering heeft veel van dezelfde voor- en nadelen als parseren op basis van zinnen. Een voordeel van deze benadering is dat parseren op basis van zinnen mogelijk is dat het mogelijk is om segmenten te verkrijgen met semantische betekenis die meerdere zinnen omvat.
U moet de vaste grootte van de segmenten en de hoeveelheid overlapping kiezen. Omdat de resultaten verschillen voor verschillende documenttypen, kunt u het beste een hulpprogramma zoals de segmentvisualr HuggingFace gebruiken om verkennende analyses uit te voeren. Met dergelijke hulpprogramma's kunt u visualiseren hoe uw documenten worden gesegmenteerd, gezien uw beslissingen. Het is raadzaam OM BERT-tokens te gebruiken voor het aantal tekens wanneer u parseren met vaste grootte gebruikt. BERT-tokens zijn gebaseerd op zinvolle taaleenheden, zodat ze meer semantische informatie behouden dan het aantal tekens.
Hulpprogramma's: LangChain recursieve tekstsplitser, Face-segment visualiseren
Technische inspanning: Laag
Verwerkingskosten: Laag
Gebruiksvoorbeelden: Ongestructureerde documenten die zijn geschreven in proza of niet-proza met volledige of onvolledige zinnen. Uw verzameling documenten bevat een verboden aantal verschillende documenttypen voor het bouwen van afzonderlijke segmenteringsstrategieën voor
Voorbeelden: Door de gebruiker gegenereerde inhoud, zoals open-beëindigde feedback van enquêtes, forumberichten, beoordelingen, e-mailberichten, persoonlijke of onderzoeksnotities of lijsten
Aangepaste code
Met deze methode worden documenten geparseerd met behulp van aangepaste code om segmenten te maken. Deze methode is het meest succesvol voor op tekst gebaseerde documenten waarbij de structuur bekend is of kan worden afgeleid en een hoge mate van controle over het maken van segmenten is vereist. U kunt tekstparseringstechnieken zoals reguliere expressies gebruiken om segmenten te maken op basis van patronen in de structuur van het document. Het doel is om segmenten te maken met een vergelijkbare grootte in lengte en segmenten met afzonderlijke inhoud. Veel programmeertalen bieden ondersteuning voor reguliere expressies en sommige hebben bibliotheken of pakketten die elegantere functies voor het bewerken van tekenreeksen bieden.
Hulpprogramma's: Python (re, regex, BeautifulSoup, lxml, html5lib, marko), R (stringr, xml2), Julia (Gumbo.jl)
Technische inspanning: gemiddeld
Verwerkingskosten: Laag
Gebruiksvoorbeelden: Semi-gestructureerde documenten waar structuur kan worden afgeleid
Voorbeelden: Octrooiaanvrages, onderzoeksdocumenten, verzekeringsbeleid, scripts en screenplays
Uitbreiding van taalmodel
Taalmodellen kunnen worden gebruikt om segmenten te maken. Veelvoorkomende use cases zijn het gebruik van een groot taalmodel, zoals GPT-4, voor het genereren van tekstuele weergaven van afbeeldingen of samenvattingen van tabellen die kunnen worden gebruikt als segmenten. Taalmodelvergroting wordt gebruikt met andere segmenteringsmethoden, zoals aangepaste code.
Als u hebt vastgesteld in het gedeelte afbeeldingen van de sectie documentanalyse dat de tekst voor of na de afbeelding is vereist om enkele vragen te beantwoorden, moet u deze extra context doorgeven aan het taalmodel. Het is belangrijk om te experimenteren om te bepalen of deze aanvullende context wel of niet de prestaties van uw oplossing verbetert.
Als de segmenteringslogica de beschrijving van de afbeelding splitst in meerdere segmenten, moet u ervoor zorgen dat u de afbeeldings-URL in elk segment opneemt. Het opnemen van de afbeeldings-URL in elk segment zorgt ervoor dat metagegevens worden geretourneerd voor alle query's die de afbeelding dient, met name voor scenario's waarin de eindgebruiker de mogelijkheid nodig heeft om toegang te krijgen tot de bronafbeelding via die URL of onbewerkte afbeeldingen wilt gebruiken tijdens deductietijd.
Hulpprogramma's: Azure OpenAI, OpenAI
Technische inspanning: gemiddeld
Verwerkingskosten: hoog
Use cases: Afbeeldingen, tabellen
Voorbeelden: Tekstweergaven van tabellen en afbeeldingen genereren, transcripties van vergaderingen, spraak, interviews of podcasts samenvatten
Analyse van documentindeling
Analysebibliotheken en -services voor documentindeling combineren ocr-mogelijkheden (optical character recognition) met deep learning-modellen om zowel de structuur van documenten als tekst te extraheren. Structurele elementen kunnen kopteksten, voetteksten, titels, sectiekoppen, tabellen en afbeeldingen bevatten. Het doel is om een betere semantische betekenis te bieden aan inhoud in documenten.
In documentindelingsanalysebibliotheken en -services wordt een model weergegeven dat de inhoud, zowel structurele als tekst, van het document vertegenwoordigt. U moet nog steeds code schrijven die communiceert met het model.
Notitie
Azure AI Document Intelligence is een cloudservice waarvoor u uw document naar de service moet uploaden. U moet ervoor zorgen dat u met uw beveiligings- en nalevingsregels documenten kunt uploaden naar services zoals deze.
Hulpprogramma's: Azure AI Document Intelligence documentanalysemodellen, Donut, Layout Parser
Technische inspanning: gemiddeld
Verwerkingskosten: gemiddeld
Gebruiksvoorbeelden: Semi-gestructureerde documenten
Voorbeelden: Nieuwsartikelen, webpagina's, cv's
Vooraf samengesteld model
Er zijn services, zoals Azure AI Document Intelligence, die vooraf samengestelde modellen bieden waarvan u kunt profiteren voor verschillende documenttypen. Sommige modellen worden getraind voor specifieke documenttypen, zoals het formulier Us Tax W-2, terwijl andere modellen gericht zijn op een breder genre van documenttypen, zoals een factuur.
Hulpprogramma's: Vooraf samengestelde modellen van Azure AI Document Intelligence, Power Automate Intelligent Document Processing, LayoutLMv3
Technische inspanning: Laag
Verwerkingskosten: gemiddeld/hoog
Use cases: Gestructureerde documenten waarin een vooraf samengesteld model bestaat
Specifieke voorbeelden: Facturen, ontvangsten, zorgverzekeringskaart, W-2-formulier
Aangepast model
Voor zeer gestructureerde documenten waarin geen vooraf samengesteld model bestaat, moet u mogelijk een aangepast model maken. Deze aanpak kan effectief zijn voor afbeeldingen of documenten die zeer gestructureerd zijn, waardoor ze moeilijk te gebruiken zijn voor het parseren van tekst.
Hulpprogramma's: Aangepaste modellen van Azure AI Document Intelligence, Tesseract
Technische inspanning: Hoog
Verwerkingskosten: gemiddeld/hoog
Use cases: Gestructureerde documenten waarbij een vooraf samengesteld model niet bestaat
Voorbeelden: Planningen voor autoherstel en onderhoud, academische transcripties en records, technische handleidingen, operationele procedures, onderhoudsrichtlijnen
Documentstructuur
Documenten variëren in de hoeveelheid structuur die ze hebben. Sommige documenten, zoals overheidsformulieren, hebben een complexe en bekende structuur, zoals een W-2 Amerikaans belastingdocument. Aan het andere uiteinde van het spectrum zijn ongestructureerde documenten, zoals vrije notities. De mate van structuur tot een documenttype is een goed uitgangspunt voor het bepalen van een effectieve chunkingbenadering. Hoewel er geen vaste en snelle regels zijn, bevat deze sectie enkele richtlijnen die u kunt volgen.
Diagram met segmenteringsmethoden per documentstructuur.
Figuur 1. Segmenteringsbenadering past bij documentstructuur
Gestructureerde documenten
Gestructureerde documenten, ook wel documenten met een vaste indeling genoemd, hebben gedefinieerde indelingen. De gegevens in deze documenten bevinden zich op vaste locaties. De datum of de familienaam van de klant vindt u bijvoorbeeld op dezelfde locatie in elk document met dezelfde vaste indeling. Voorbeelden van documenten met vaste notatie zijn het amerikaanse belastingdocument W-2.
Documenten met een vaste indeling kunnen gescande afbeeldingen zijn van oorspronkelijke documenten die met de hand zijn gevuld of complexe indelingsstructuren hebben, waardoor ze moeilijk te verwerken zijn met een eenvoudige benadering voor het parseren van tekst. Een veelvoorkomende benadering voor het verwerken van complexe documentstructuren is het gebruik van machine learning-modellen om gegevens te extraheren en waar mogelijk semantische betekenis toe te passen op die gegevens.
Voorbeelden: W-2 formulier, Verzekeringskaart
Algemene benaderingen: vooraf samengestelde modellen, aangepaste modellen
Semi-gestructureerde documenten
Semi-gestructureerde documenten hebben geen vaste indeling of schema, zoals het W-2-formulier, maar ze bieden wel consistentie met betrekking tot indeling of schema. Alle facturen zijn bijvoorbeeld niet hetzelfde, maar in het algemeen hebben ze een consistent schema. U kunt verwachten dat een factuur een invoice number
en een vorm van bill to
naam ship to
en adres heeft, onder andere gegevens. Een webpagina heeft mogelijk geen schema-consistentie, maar ze hebben vergelijkbare structurele elementen of indelingselementen, zoals body
, title
en H1
p
die kunnen worden gebruikt om semantische betekenis toe te voegen aan de omringende tekst.
Net als gestructureerde documenten zijn semi-gestructureerde documenten met complexe indelingsstructuren moeilijk te verwerken met tekstparsering. Voor deze documenttypen zijn machine learning-modellen een goede benadering. Er zijn vooraf samengestelde modellen voor bepaalde domeinen met consistente schema's zoals facturen, contracten of zorgverzekeringen. Overweeg aangepaste modellen te bouwen voor complexe structuren waar geen vooraf samengesteld model bestaat.
Voorbeelden: Facturen, ontvangstbewijzen, webpagina's, Markdown-bestanden
Algemene benaderingen: Modellen voor documentanalyse
Uitgestelde structuur
Sommige documenten hebben een structuur, maar worden niet in markeringen geschreven. Voor deze documenten moet de structuur worden afgeleid. Een goed voorbeeld is het volgende document over eu-regelgeving.
Diagram met een EU-verordening als voorbeeld van een document met een afgeleide structuur.
Figuur 2. EU-verordening met een uitgestelde structuur
Omdat u de structuur van het document duidelijk begrijpt en er geen bekende modellen voor zijn, kunt u bepalen of u aangepaste code kunt schrijven. Een documentindeling zoals deze kan de moeite niet rechtvaardigen om een aangepast model te maken, afhankelijk van het aantal verschillende documenten van dit type waarmee u werkt. Als uw corpus bijvoorbeeld alle EU-regelgeving of Amerikaanse staatswetten is, kan een aangepast model een goede aanpak zijn. Als u met één document werkt, zoals de EU-verordening in het voorbeeld, is aangepaste code mogelijk rendabeler.
Voorbeelden: Wetdocumenten, scripts, productiespecificaties
Algemene benaderingen: Aangepaste code, aangepaste modellen
Niet-gestructureerde documenten
Een goede benadering voor documenten met weinig tot geen structuur zijn op zin gebaseerde of vaste grootte met overlappende benaderingen.
Voorbeelden: door de gebruiker gegenereerde inhoud, zoals open-beëindigde feedback van enquêtes, forumberichten of beoordelingen, e-mailberichten en persoonlijke of onderzoeksnotities
Algemene benaderingen: zinsgebasd of grensgebasd met overlap
Experimenten
Hoewel de beste oplossingen voor elk van de segmenteringsmethoden worden vermeld, zijn alle benaderingen in de praktijk mogelijk geschikt voor elk documenttype. Parsering op basis van zinnen kan bijvoorbeeld geschikt zijn voor zeer gestructureerde documenten of een aangepast model kan geschikt zijn voor ongestructureerde documenten. Onderdeel van het optimaliseren van uw RAG-oplossing is experimenteren met verschillende segmenteringsmethoden, rekening houdend met het aantal resources dat u hebt, de technische vaardigheid van uw resources en het aantal documenten dat u moet verwerken. Als u een optimale segmenteringsstrategie wilt bereiken, moet u de voordelen en afwegingen van elk van de methoden die u test, observeren om ervoor te zorgen dat u de juiste benadering kiest voor uw use-case.