Cv-import met AI: van losse tekst naar een voorstel
Door Pim Plaatsman ·
Een werkbare cv-import doet een controleerbaar voorstel. Over vaste velden, bewerkbare gegevens en de regie van de kandidaat bij het vullen van een profiel.
Een cv is gemaakt om gelezen te worden, niet om zonder tussenstap een database te vullen. Functies, werkgevers en opleidingen staan niet altijd op dezelfde plek. Soms ontbreken maanden, lopen banen door elkaar of lijkt een cursus op een volledige opleiding. Bij cv-import met AI is de uitdaging daarom groter dan tekst uit een document halen: het resultaat moet ook begrijpelijk en corrigeerbaar zijn.
In mijn werk aan een platform voor arbeidsbemiddeling heb ik het herkennen van gegevens losgemaakt van het opslaan ervan. De import levert eerst een bewerkbaar voorstel op. De kandidaat bepaalt welke onderdelen kloppen en aan het profiel worden toegevoegd. Voor HR-professionals en productowners is dat een wezenlijke productkeuze: ondersteuning bij invullen mag niet ongemerkt veranderen in het vaststellen van iemands loopbaan.
Cv-import met AI moet aansluiten op het werk van de kandidaat
Het doel van de functie is een kandidaatprofiel vullen met werkervaring, opleidingen en cursussen. Een vrij geschreven samenvatting kan daarbij onvoldoende zijn. Iemand moet kunnen controleren of een functie bij de juiste werkgever staat en of begin- en einddatums goed zijn overgenomen. De uitvoer moet daarom dezelfde onderdelen bevatten die de gebruiker later kan bekijken en aanpassen.
Dat maakt de taak kleiner dan “begrijp dit hele cv”. Vaardighedenlijsten, persoonlijke introducties en contactgegevens hebben niet automatisch een plek in deze import. Het gaat om onderdelen die als afzonderlijke ervaring of opleiding kunnen worden toegevoegd. Die afbakening helpt de verwerking, maar voorkomt geen interpretatiefouten. Een model kan een opleiding nog steeds verkeerd indelen, ook wanneer het antwoord technisch in de juiste velden past.
Eerst bekijken en corrigeren, daarna opslaan
De import die ik heb uitgewerkt toont gevonden onderdelen in een controlescherm. Titels, organisaties en datums zijn daar bewerkbaar. De gebruiker kan afzonderlijk selecteren welke onderdelen worden toegevoegd. Pas na bevestiging verandert het profiel. Daarmee krijgt een gevonden gegeven eerst de status van voorstel, in plaats van direct als vastgelegde informatie te worden behandeld.
Een verkeerd overgenomen opleiding is immers geen kleine tekstvariatie. Het verandert wat het profiel over iemand vertelt. Daarom hoort correctie vóór het opslaan bij de route. De kandidaat hoeft niet eerst te ontdekken wat er in het profiel is misgegaan om dat vervolgens weer te herstellen. Ontbrekende werkervaring kan ook handmatig worden toegevoegd; volledige herkenning van ieder document is geen voorwaarde om verder te kunnen.
Controle kost aandacht en een extra handeling. Die stap moet daarom overzichtelijk blijven. Eén lange tekst is lastig te vergelijken. Afzonderlijke, bewerkbare onderdelen maken duidelijk wat wordt overgenomen en waar iemand kan ingrijpen.
Bestaande gegevens blijven onderdeel van het proces
Een kandidaat begint niet altijd met een leeg profiel. Er kan al werkervaring zijn toegevoegd voordat een nieuw cv wordt geïmporteerd. De bevestigde onderdelen worden daarom met bestaande gegevens samengevoegd. Een import is geen aanleiding om alles opnieuw te schrijven. Bij een herhaalde import wordt bovendien gecontroleerd of overeenkomstige onderdelen al aanwezig zijn.
Dat voorkomt niet iedere dubbeling. Eenzelfde functie kan anders zijn omschreven en daardoor als een ander onderdeel worden herkend. De gebruiker moet het resultaat dus blijven beoordelen. Identieke gegevens herkennen is eenvoudiger dan vaststellen of twee verschillende beschrijvingen hetzelfde betekenen.
Vaste velden houden de uitvoer bespreekbaar
Voor de AI-structurering heb ik de uitvoer afgebakend tot werkervaring, opleidingen en cursussen. Per onderdeel zijn er velden voor onder meer titel, organisatie en datums. Dat sluit aan op het controlescherm en op de gegevens die uiteindelijk worden opgeslagen. De kandidaat hoeft daardoor geen vrije tekst terug te vertalen naar de structuur van het profiel.
De applicatie controleert ook of de gegevens bruikbaar zijn. Een maand heeft een bijbehorend jaar nodig en een einddatum mag niet vóór een begindatum liggen. Bij een lopende functie is een einddatum niet van toepassing. Zulke regels horen in de software, omdat dezelfde invoer dezelfde controle moet krijgen. Een instructie aan het model vervangt die controle niet.
Vóór de AI-stap worden herkenbare contactgegevens lokaal vervangen in de uitgelezen tekst. Dat beperkt gegevens die voor deze taak niet nodig zijn. Het maakt de loopbaanbeschrijving niet automatisch anoniem: werkgevers en functies kunnen nog steeds identificerend zijn. Die beperking hoort bij een eerlijke uitleg van de functie.
Een werkbare import heeft meerdere uitwegen
Naast de AI-route blijft een parser op basis van herkenningsregels beschikbaar wanneer AI is uitgeschakeld of geen bruikbaar resultaat teruggeeft. Beide routes hebben beperkingen. Regels herkennen niet iedere opmaak en AI kan verbanden verkeerd leggen. Daarom blijft de gebruikersroute hetzelfde uitgangspunt houden:
Van document naar bevestigd profiel
- Lees het document uit. Maak duidelijk wanneer geen bruikbare tekst is gevonden.
- Toon gevonden onderdelen. Presenteer de gegevens als bewerkbaar voorstel.
- Laat selecteren en corrigeren. Geef de kandidaat controle over de toevoegingen.
- Valideer en voeg samen. Bewaar bestaande gegevens en controleer wat wordt opgeslagen.
De kans zit in een import die ondersteuning biedt zonder de kandidaat de regie te ontnemen. Niet ieder cv hoeft foutloos te worden begrepen om bruikbaar verder te kunnen. Wel moet duidelijk zijn wat is gevonden, wat nog onzeker is en wat daadwerkelijk wordt toegevoegd. Wil je cv-import toevoegen aan een kandidaatplatform? Bespreek de route van document naar bevestigd profiel. Een goed voorstel is pas waardevol als iemand er verantwoord mee kan werken.