Zephyrnet-logo

Verbeter de nauwkeurigheid van factuurverwerking met Nanonets en ChatGPT

Datum:

Ik zou niet overdrijven als ik zou zeggen dat een gemiddeld persoon minstens 10 facturen per week verstuurt/ontvangt. Met de toenemende digitalisering hebben bedrijven dagelijks te maken met enorme hoeveelheden facturen. Factuurverwerking is van oudsher een handmatig en tijdrovend proces, waarvoor aanzienlijke middelen nodig zijn en dat gevoelig is voor fouten.

Met de komst van AI en Natural Language Processing kan de factuurverwerking nu worden geautomatiseerd en gestroomlijnd, wat leidt tot verbeterde efficiëntie en nauwkeurigheid. GPT staat voor "Generative Pre-trained Transformer" en verwijst naar een familie van krachtige taalverwerkingsmodellen ontwikkeld door OpenAI. De GPT-modellen zijn vooraf getraind op grote hoeveelheden tekstgegevens en kunnen vervolgens worden verfijnd voor specifieke taken, waaronder factuurverwerking.

Laten we het geval nemen van factuurverwerking voor de bestellingen van een boekhandel, een voorbeeldfactuur wordt weergegeven in de onderstaande afbeelding. Deze factuur bevat de informatie over de verzending, facturering, artikelen en prijzen. Stelt u zich eens voor dat u handmatig gegevens moet verzamelen van duizenden facturen! Gelukkig hebben we AI-tools die het proces versnellen.

In deze blog zal ik je door de stappen leiden om je factuur te verwerken met GPT-4 en Nanonets. Pak een kopje koffie en maak je klaar!

Stap 1: Maak een Nanonets-account aan en upload de afbeelding

De eerste stap is het extraheren van de tekstgegevens uit de afbeelding van onze factuur. OCR-technieken (Optical Character Recognition) maken gebruik van algoritmen voor patroonherkenning om tekens te identificeren en om te zetten in tekst op afbeeldingen of gescande documenten. Het cloudgebaseerde platform voor kunstmatige intelligentie (AI) Nanonets biedt gecureerde OCR-tools voor specifieke taken, waaronder OCR voor facturen. U kunt zich eenvoudig aanmelden hier en krijg gratis toegang tot hun Invoice OCR-tool.

Zodra u zich aanmeldt en op Factuur-OCR klikt, vindt u een optie "Bestanden uploaden". Nanonets is zeer gebruiksvriendelijk en stelt je in staat bestanden te uploaden van meer dan 6 apps.

Ik heb de voorbeeldfactuur van Agatha Book Store hier geüpload. De extractie zou binnen een paar minuten zijn voltooid en u zou de geschrapte resultaten krijgen zoals weergegeven. Hier wordt een vooraf getraind deep learning-model gebruikt om de entiteiten en hun waarden te extraheren.

Alle tekstvelden die door Nanonets worden geïdentificeerd, worden begrensd door afzonderlijke vakken. De waarden die voor deze velden zijn geëxtraheerd, zijn te zien op het tabblad 'DEFINITIEVE RESULTATEN' aan de rechterkant. Deze entiteitsextractie, gedaan door Nanonets, kan worden verbeterd door GPT-4 te gebruiken. Nanonets biedt ook opties om de veldnamen toe te voegen of te wijzigen, wat de aanpassing en gebruikerservaring voor klanten verbetert.


Wilt u uw handmatige AP-processen automatiseren? Boek een live demo van 30 minuten om te zien hoe Nanonets uw team kan helpen bij de end-to-end implementatie AP automatisering.

Stap 2: OCR-tekstgegevens downloaden

De geëxtraheerde OCR-tekstgegevens kunnen in meerdere vormen worden gedownload. Bekijk de onderstaande GIF om de demonstratie te zien van het downloaden van de factuurgegevens naar een Excel- of CSV-bestand. In het CSV-bestand worden alle entiteits-/gegevensveldnamen opgeslagen als kolommen en hun waarden in overeenkomstige rijen.

We kopiëren en plakken de gegevens van de gedownloade CSV en verkrijgen de door OCR gegenereerde tekst. Hier is de tekst die ik heb gedownload van onze voorbeeldfactuur in Nanonets.

De door OCR gegenereerde tekst kan worden verbeterd met behulp van Chat GPT3 met de volgende stappen.

De entiteitsextractie kan worden opgeschaald om verschillende vragen te ondersteunen als we GPT4-modellen bovenop de door Nanonets verwerkte tekst gebruiken. U kunt zich aanmelden voor een Open AI-account via hier en krijg toegang tot de Grote taalmodellen. Zodra u uw account heeft ingesteld, ontvangt u een unieke API-sleutel. Het is voor beveiligingsmaatregelen, om de verzoeken aan de servers van OpenAI te verifiëren en te autoriseren. Importeer het OpenAI-pakket en stel de API-sleutelwaarde in.

Het op een duidelijke, gestructureerde manier ontwerpen van een prompt is het geheim om de kracht van grote taalmodellen te ontsluiten. Om gegevensvelden of entiteiten en hun waarden te extraheren, kunnen we de onderstaande prompt gebruiken.

#definieer je prompt

prompt_text=Dit is de door OCR gegenereerde tekst van facturen voor boekwinkelbestellingen” +ocr_generated_text” + “Extracteer entiteiten en hun waarden als een sleutel-waardepaar uit de verstrekte OCR-tekst en uitvoer in de indeling sleutel: waarde”

Zodra u een prompt hebt, kunt u deze doorgeven aan elk vooraf getraind model van OpenAI en een reactie krijgen via de " openai.Completion.create()”-functie. Er zijn een paar parameters die u kunt kiezen om de beste uitvoer te verkrijgen.

Parameters van GPT:

  • motor: Met deze parameter kunt u een specifiek vooraf getraind groot taalmodel (LLM) kiezen om te gebruiken voor het genereren van de tekst. Het kan worden ingesteld op een vooraf getraind model of een op maat afgestemd model. Tekst Davinci is een krachtige en efficiënte keuze.
  • prompt:  Het is de eerste tekstprompt die aan het model wordt gegeven om te beginnen met het genereren van de tekst. In ons geval de variabele "prompt_text" die we eerder hebben gedefinieerd.
  • Max_tokens:  Geeft het maximale aantal tokens aan dat het model voor een bepaalde prompt kan genereren. Hiermee kunt u de lengte van de gegenereerde tekst regelen.
  • Temperatuur: Gebruik het om de mate van willekeur of creativiteit in de gegenereerde tekst te regelen. Een lage temperatuurwaarde produceert een meer conservatieve en voorspelbare uitvoer, terwijl een hoge temperatuurwaarde leidt tot een meer creatieve en gevarieerde uitvoer. De temperatuurwaarde varieert van 0 tot 1, waarbij 1 de meest creatieve is.

Nu u bekend bent met GPT-parameters, gaan we de code schrijven om uitvoer te genereren door de prompttekst samen met andere parameters door te geven.

We hebben de uitvoer als:

De entiteiten en hun waarden zijn in slechts enkele stappen snel geëxtraheerd!

Stap 4: gegevenscorrecties verbeteren

Onder de duizenden facturen die in elk bedrijf circuleren, zijn inconsistenties en kleine fouten in klantgegevens onvermijdelijk. Sommige klanten hebben bijvoorbeeld een ongeldig e-mailformaat of contactnummers opgegeven of de datum kan een ander formaat hebben. Met Nanonets en GPT-4 kunt u deze problemen eenvoudig identificeren en gegevenscorrecties uitvoeren. We kunnen op regels gebaseerde validaties implementeren om de juistheid en het formaat te verifiëren en ook om te controleren op inconsistenties.

Ik geef GPT een prompt om de datum en e-mail voor ons te valideren.

prompt_text="In de hierboven geëxtraheerde entiteitsgegevens valideren of het formaat van datum (DD/MM/JJJJ) en e-mail correct zijn?"

De LLM biedt een Python-code met behulp van reguliere expressies om te controleren op het formaat, zoals weergegeven in de onderstaande afbeelding. In een reguliere expressie zoeken we naar een bepaald patroon en matchen het. De geëxtraheerde entiteiten worden opgeslagen in een woordenboek en functies worden afzonderlijk gedefinieerd om de e-mail en datums van de factuur te valideren.

Na het definiëren kan men elke datum zoals ('Factuurdatum'), e-mail-ID van de verkoper of koper aan deze functies doorgeven om het resultaat te krijgen.

GPT helpt u ook snel en gemakkelijk correcties en wijzigingen in de gegevens aan te brengen. Merk op dat op onze factuur de datum '02/05/2023' is. Ik geef de onderstaande prompt om de datum om te zetten in het formaat "MM/DD/JJ".

prompt=” het formaat van de gegevens in geëxtraheerde entiteiten wijzigen in 'MM/DD/YY'. Bewaar alleen de laatste 2 cijfers van het jaar”

In de uitvoer zijn de gegevens naar wens gecorrigeerd. We kunnen vergelijkbare prompts geven om te controleren of het contactnummer 10 cijfers heeft, of het adres de gewenste indeling heeft en ook controleren op ontbrekende gegevenswaarden.


Stel contactloze AP-workflows in en stroomlijnen van het crediteurenproces in seconden. Boek nu een live demo van 30 minuten.

Stap 5: Controleer op gegevensproblemen

Elke onsamenhangendheid in de gegevens kan eenvoudig worden geïdentificeerd met GPT-4. In ons voorbeeld kunt u controleren of het totale verschuldigde bedrag niet overeenkomt met de som van de afzonderlijke artikelprijzen. Laten we er een prompt voor geven.

prompt=”Controleer of het totale verschuldigde saldo op de factuur overeenkomt met de hoeveelheid en artikelprijzen op de factuur”

GPT-4 voert een functie uit in Python die de som van de prijzen van alle bestellingen berekent, door de hoeveelheid en de individuele artikelprijs te vermenigvuldigen. Als het totale saldo niet overeenkomt met het bedrag dat op de factuur staat, wordt de betreffende factuur gemarkeerd en onderzocht. Dit kan bedrijven helpen fouten en discrepanties te voorkomen en hun financiële gegevens te valideren.

Als u een grote gegevensset met facturen heeft, kunt u ook controleren op consistentie tussen meerdere facturen. U kunt bijvoorbeeld de informatie van de verkoper en de koper over meerdere facturen vergelijken om eventuele discrepanties of afwijkingen op te sporen.

Stap 6: Query's uitvoeren met GPT

Nadat u de entiteiten hebt geëxtraheerd, kan GPT worden gebruikt om ook uit de volledige informatie antwoorden op specifieke vragen te krijgen. Wat als u bijvoorbeeld de informatie over de verzendgegevens van een bepaald factuurnummer wilt weten?

Laten we er een prompt voor maken:

#definieer je prompt

prompt_text=“Haal de details over verzending uit de sleutel-waardeparen Entiteit”

De voltooiing die voor deze prompt werd gegenereerd, was:

>> Zeker! Op basis van de verstrekte OCR-gegevens kunnen we de verzendinformatie en factuurinformatie als volgt in twee groepen extraheren:

Verzend informatie:

"factuurnummer": "3522"

verzendnaam: Gayathri Natarajan

verzendadres: 600053 No.22B, Chetpet, Chennai, Tamil Nadu, India: Tanaya Pakahale

Een vergelijkbare query kan ook worden uitgevoerd om verkopersgegevens te verkrijgen. Hier is de geëxtraheerde informatie over verkopers uit de verstrekte gegevens:

  • verkopernaam: AGATHA BOEKHUIS
  • verkoper_adres: No.13 , 2nd avenue , Indiranagar, Bangalore , Karnataka , India , 721302
  • verkoper_telefoon: 6783456723

Wanneer we met meerdere documenten werken, kunnen we ook de facturen zoeken en filteren met een totaal verschuldigd saldo van meer dan Rs.5000 om de bulkbestellingen te analyseren. Aangezien GPT de mogelijkheid heeft om eerdere prompts in het geheugen te bewaren, biedt het het beste gebruiksgemak.


Wilt u uw handmatige AP-processen automatiseren? Boek een live demo van 30 minuten om te zien hoe Nanonets uw team kan helpen bij de end-to-end implementatie AP automatisering.

Waarom kiezen voor Nanonets + Chat GPT voor factuurverwerking?

  • GPT kan de tekst op facturen analyseren en relevante entiteiten nauwkeurig identificeren en extraheren, zelfs als ze in verschillende formaten zijn geschreven of variaties in spelling of formulering hebben. Dit kan helpen fouten te verminderen en de nauwkeurigheid te vergroten
  • Automatiseer en de datapijplijn voor bedrijven opschalen
  • De meest efficiënte methode om grote hoeveelheden facturen te verwerken. Vermindert de tijd die nodig is voor het invoeren en verwerken van gegevens aanzienlijk.
  • De tools bieden flexibiliteit en aanpassingsvermogen. Deze hulpmiddelen kunnen zijn gemakkelijk geïntegreerd in bestaande systemen en kan worden aangepast aan specifieke bedrijfsbehoeften
  • Een van de voordelen van de OCR-oplossing voor facturen van Nanonets is de mogelijkheid om leren van zijn fouten. Het systeem maakt gebruik van machine learning om de nauwkeurigheid in de loop van de tijd te verbeteren, waardoor het nauwkeuriger wordt bij elke nieuwe factuur die wordt verwerkt. Het platform stelt gebruikers ook in staat om eventuele fouten handmatig te bekijken en te corrigeren, zodat de geëxtraheerde gegevens nauwkeurig en betrouwbaar zijn.

Hoewel er veel voordelen zijn, moeten we ook de beperkingen van deze methode begrijpen. De nauwkeurigheid is slecht in situaties waarin de beeld-/pdf-kwaliteit laag is. Al-gebaseerde tools zijn ook onderhevig aan vooroordelen of fouten die inherent zijn aan de trainingsgegevens.

Over het algemeen kan het gebruik van GPT voor entiteitsextractie bij factuurverwerking bedrijven helpen hun activiteiten te stroomlijnen, handmatig werk te verminderen en de nauwkeurigheid te verbeteren, wat leidt tot beter financieel beheer en betere besluitvorming.


Stel contactloze AP-workflows in en stroomlijnen van het crediteurenproces in seconden. Boek nu een live demo van 30 minuten.

spot_img

VC Café

LifeSciVC

Laatste intelligentie

VC Café

LifeSciVC

spot_img