Brongegevens opschonen en dedupliceren
Leer ruis in documenten op te schonen en dubbele inhoud vóór ingestion te verwijderen, zodat uw RAG-index klein en accuraat blijft en geen tegenstrijdige antwoorden bevat.
Brongegevens opschonen en dedupliceren is een gratis LLM-toepassingen in productie (RAG + vectordatabase + caching)-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject LLM-toepassingen in productie (RAG + vectordatabase + caching). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat in totaal 4 lessen.
Garbage in, garbage out
De kwaliteit van RAG wordt begrensd door de kwaliteit van wat u opneemt. Standaardtekst, HTML-tags, dubbele pagina's en beschadigde codering vervuilen allemaal het ophalen.
Opschonen en deduplicatie gebeuren vóór het opdelen in fragmenten en het maken van embeddings.
Veelvoorkomende bronnen van ruis
Typische rommel in onbewerkte documenten:
- Navigatiemenu's, kopteksten en voetteksten
- Cookiemeldingen en advertenties
- Herhaalde juridische disclaimers
- Mojibake door slechte codering
- Overtollige witruimte en besturingstekens
Basisnormalisatie van tekst
Normaliseer eerst witruimte en verwijder besturingstekens.
import re
def clean(text):
text = re.sub(r'[\t\r]+', ' ', text)
text = re.sub(r' {2,}', ' ', text)
text = re.sub(r'\n{3,}', '\n\n', text)
return text.strip()
print(clean('Hello world\n\n\n\nbye'))Standaardtekst verwijderen
Verwijder herhaalde standaardtekst die op veel pagina's voorkomt. Een eenvoudige aanpak is om regels te verzamelen die in meerdere documenten terugkomen en ze te verwijderen.
- Voetteksten en copyrightregels
- Widgets voor delen
- Identieke navigatieblokken
Coderingsproblemen oplossen
Mojibake zoals 'caf\u00c3\u00a9' in plaats van 'caf\u00e9' verstoort embeddings. Detecteer de broncodering en decodeer vóór opslag consequent naar UTF-8.
Exacte duplicaten detecteren
De goedkoopste vorm van deduplicatie: maak een hash van de genormaliseerde tekst en verwijder exacte duplicaten.
import hashlib
seen = set()
def is_dup(text):
h = hashlib.sha256(text.encode()).hexdigest()
if h in seen:
return True
seen.add(h)
return False
print(is_dup('a'))
print(is_dup('a'))Bijna-duplicaten detecteren
Exact hashen mist pagina's die verschillen door een datum of een woord. Gebruik technieken voor bijna-duplicaten:
- MinHash + Jaccard-overeenkomst
- SimHash-vingerafdrukken
- Cosinusovereenkomst van embeddings boven een drempelwaarde
Jaccard-overeenkomst
Een snelle score voor overlap tussen tokenverzamelingen om bijna-duplicaten te markeren.
def jaccard(a, b):
sa, sb = set(a.split()), set(b.split())
return len(sa & sb) / len(sa | sb)
print(round(jaccard('the cat sat', 'the cat ran'), 2))Waarom duplicaten RAG schaden
Dubbele chunks verspillen indexruimte en vertekenen het ophalen: de top-k-resultaten staan vol met kopieën van dezelfde passage, waardoor divers bewijs wordt verdrongen. Tegenstrijdige bijna-duplicaten (oud versus nieuw beleid) kunnen zelfs tegenstrijdige antwoorden opleveren.
Een opschoningspijplijn bouwen
Koppel de stappen in deze volgorde: normaliseren -> codering herstellen -> boilerplate verwijderen -> exacte deduplicatie -> deduplicatie van bijna-duplicaten. Leg vast hoeveel er is verwijderd, zodat je agressieve filters kunt controleren.
Idempotente herinname
Gebruik bij het opnieuw inlezen van documenten een stabiele inhoudshash als sleutel van het record, zodat updates de oude versie vervangen in plaats van duplicaten te maken. Zo blijft de index na verloop van tijd schoon.
Snelle controle
Test je begrip van deduplicatie.
Samenvatting
Je hebt geleerd hoe je schone brongegevens voorbereidt: tekst normaliseren, codering herstellen, boilerplate verwijderen en daarna zowel exacte als bijna-duplicaten verwijderen. Gebruik stabiele inhoudshashes voor idempotente herinname. Schonere invoer betekent een kleinere index en nauwkeurigere, niet-tegenstrijdige resultaten.
Leer LLM-toepassingen in productie (RAG + vectordatabase + caching) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Brongegevens opschonen en dedupliceren” gratis?
Ja — de volledige tekst van “Brongegevens opschonen en dedupliceren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat in totaal 4 lessen.
Wat leer ik in “Brongegevens opschonen en dedupliceren”?
Leer ruis in documenten op te schonen en dubbele inhoud vóór ingestion te verwijderen, zodat uw RAG-index klein en accuraat blijft en geen tegenstrijdige antwoorden bevat. Je oefent met LLM-toepassingen in productie (RAG + vectordatabase + caching) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met LLM-toepassingen in productie (RAG + vectordatabase + caching) te beginnen?
Ervaring vooraf is niet nodig. LLM-toepassingen in productie (RAG + vectordatabase + caching) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Brongegevens opschonen en dedupliceren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over LLM-toepassingen in productie (RAG + vectordatabase + caching)?
Ja. Elke les over LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Verschillende documentindelingen laden
- Contextbewuste strategieën voor het opsplitsen van tekst
- Metadatabeheer en filtering
- Brongegevens opschonen en dedupliceren