Van ruwe documenten naar slimme kennisbanken
/
Van ruwe documenten naar slimme kennisbanken
In veel organisaties zit waardevolle kennis opgesloten in PDF's, Word-bestanden, presentaties en gescande documenten - ongestructureerd, inconsistent en moeilijk doorzoekbaar. Document Intelligence is de technologie die ruwe documenten omzet naar gestructureerde informatie die AI-systemen effectief kunnen gebruiken.
Bij Howest AI Lab werken we regelmatig aan projecten waarbij documentverwerking een cruciale rol speelt. In deze blogpost delen we onze aanpak, de tools die we gebruiken en twee concrete cases waarbij Document Intelligence het verschil maakte.
Main section
Kerngegevens
/
Garbage in = garbage out bij RAG toepassingen
/
Lokaal documenten structureren kan met Docling en Ollama
/
Metadata verrijken met bounding boxes -> Traceerbaarheid van bronnen
Waarom Document Intelligence?
Retrieval-Augmented Generation (RAG) is vandaag een van de populairste methodes om taalmodellen te combineren met domeinspecifieke kennis. Het basisprincipe is eenvoudig: je geeft het model toegang tot een kennisbank van relevante documenten.
Maar hier wringt vaak het schoentje: de kwaliteit van de gegenereerde antwoorden staat of valt met de kwaliteit van de opgehaalde chunks. Slechte documentstructuur of onleesbare tekst uit slecht geconverteerde PDF's leiden onvermijdelijk tot slechte output. Garbage in, garbage out.
Document Intelligence richt zich op precies dit probleem. Het gaat verder dan simpele tekstextractie. Denk maar aan het herkennen van documentstructuur zoals titels, paragrafen, tabellen en lijsten. Het begrijpt de semantische samenhang tussen secties en verrijkt elk fragment met nuttige metadata zoals paginanummer, positie in het document of het type element.
Datakwaliteit als Fundament
Een veelgemaakte fout bij het bouwen van RAG-systemen is te snel beginnen chunken. Documenten worden ongefilterd ingevoerd, opgesplitst in stukken van vaste lengte en opgeslagen in een vectordatabank. Bijgevolg bevat deze chunks die halverwege een zin afbreken, corrupte formattering van tabellen, of titels die losgekoppeld raken van hun inhoud.
Dit zijn enkele tips om die problemen te vermijden:
- Zet elk document om naar een uniform formaat zoals Markdown zodat koppen, lijsten en tabellen bewaard blijven.
- Gebruik slimmere chunking algoritmes die secties en subsecties intact houden zodat de hiërarchische context niet verloren gaat.
- Verrijk de metadata door aan elk fragment informatie te koppelen over herkomst, positie en documenttype.
Deze investering in datakwaliteit betaalt zich dubbel en dik terug: betere retrieval zorgt voor meer correcte antwoorden en je kan de exacte oorsprong van bronnen traceren.
Cloud vs Lokaal
Cloudproviders
Er bestaan heel wat cloud services die kant-en-klare oplossingen aanbieden. Enkele voorbeelden zijn Azure AI Document Intelligence, Amazon Textract en Google Document AI. Ze zijn heel krachtig en gemakkelijk te implementeren via hun API. Het grote nadeel is dat je data je eigen omgeving verlaat. Voor gevoelige documenten - denk aan financiële dossiers of medische rapporten - kan dit een onoverkomelijk bezwaar zijn.
Lokaal met Docling
Docling is een open-source Python library, ontwikkeld door IBM Research. Het herkent documentlay-outs en koppelt bounding boxes aan elk gevonden element. Dat laatste is bijzonder waardevol: het maakt het mogelijk om achteraf exact aan te wijzen waar in het originele document een bepaald fragment vandaan komt.
Onze Aanpak: Docling + LangChain + Ollama + Pydantic
Naast het klaarmaken van documenten voor RAG toepassingen, kan Docling ook gebruikt worden voor het extraheren van velden uit een document.
Voor beide cases hieronder gebruikten we dezelfde pipeline:
- We definiëren een Pydantic-schema dat het gewenste outputformaat beschrijft.
- Docling converteert het ruwe document (PDF, Word, …) naar Markdown formaat.
- De Markdown en het Pydantic schema worden doorgegeven aan een lokaal taalmodel via LangChain en Ollama. Het taalmodel krijgt de opdracht: “Giet deze tekst in dit specifieke formaat. Laat velden leeg die niet in de tekst voorkomen.”
- LangChain’s Pydantic Output Parser valideert de output, zodat we een correct JSON-object overhouden.
Stel dat er in een tekst staat “De wagen is vijf jaar oud.” en het Pydantic model een numeriek veld genaamd “leeftijd” vereist. Het redeneringsvermogen van taalmodellen zorgt ervoor dat ze “5” kunnen invullen, ondanks het feit dat zowel het woord “leeftijd” als het getal “5” niet letterlijk in de tekst voorkomen. Ze kunnen dus zaken uit de context afleiden.
Praktijkcases
AI Square
Kwaliteitslabels voor Financieel Advies
AI Square wil een objectief en universeel kwaliteitslabel voor financieel advies op de markt brengen. Ze beschikken over duizenden verzekeringsdocumenten, afkomstig van verschillende makelaarskantoren, elk met hun eigen datatype, lay-out, terminologie en structuur.
Howest AI Lab ontwikkelde een pipeline om al deze documenten te standaardiseren naar een voorspelbaar JSON-formaat. Alle code en modellen draaien lokaal op onze AI server om privacy te garanderen.
Met deze gestructureerde dataset bouwden we vervolgens een recommender systeem. Dit stelde ons in staat om een verzekeringsvoorstel te vergelijken met de verzekeringen van mensen met een gelijkaardig profiel of situatie.
Smart Symbols
AI-gegenereerde Lesplannen voor het Onderwijs
Smart Symbols biedt een all-in-one digitaal platform aan voor kleuter- en lagere scholen. Zij willen generatieve AI inzetten om lesplannen te genereren die rekening houden met land-, school- en klasspecifieke context. Bovendien moeten de lesplannen ook pedagogisch en didactisch onderbouwd zijn.
Lesplannen bestaan vaak als Word-documenten of PDF's, aangeleverd door leerkrachten van verschillende scholen, elk met hun eigen structuur en aanpak.
Onze pipeline standaardiseert deze documenten en extraheert velden zoals leerdoelen, thema en lesinhoud. Hiermee hebben we een databank van kwalitatieve lesplannen opgebouwd. Een leerkracht of AI agent kan deze raadplegen om zich te baseren op kwalitatieve voorbeelden en aanpassingen te doen op basis van enkele criteria.
Bottom section
Samenvatting
Met open-source tools zoals Docling, Ollama, LangChain en Pydantic is het vandaag mogelijk om pipelines te bouwen die betrouwbaar zijn en volledig lokaal draaien. De cases van AI Square en Smart Symbols tonen aan dat dit geen theoretisch verhaal is en soms zelfs cruciaal is.
Ben je benieuwd hoe Document Intelligence jouw datapijplijn kan versterken? Howest AI Lab denkt graag met je mee.
Bronnen
Docling (IBM Research): https://github.com/docling-project/docling
LangChain: https://python.langchain.com
Pydantic: https://docs.pydantic.dev
Azure AI DocumentIntelligence: https://azure.microsoft.com/en-us/products/ai-services/ai-document-intelligence
AmazonTextract: https://aws.amazon.com/textract/
Google Document AI: https://cloud.google.com/document-ai
