
OCR-taken oplossen met AI
Ontdek hoe AI-gestuurde OCR de data-extractie transformeert, documentverwerking automatiseert en de efficiëntie verhoogt in sectoren als financiën, gezondheidsz...
Leer hoe je factuurgegevens automatisch extraheert met AI-gebaseerde OCR en Python via FlowHunt’s API, voor snelle, nauwkeurige en schaalbare documentverwerking.
AI-gestuurde OCR gaat verder dan de mogelijkheden van traditionele OCR doordat het kunstmatige intelligentie gebruikt om context te begrijpen, talloze lay-outvarianten aan te kunnen en hoogwaardige gestructureerde data te extraheren uit zelfs de meest complexe documenten. Waar traditionele OCR is ontworpen om tekst uit een vast formaat te halen, kan AI OCR omgaan met veel verschillende lay-outs en configuraties die vaak voorkomen in facturen en andere zakelijke documenten.
Facturen moeten efficiënt en met hoge nauwkeurigheid verwerkt worden, of het nu gaat om de boekhouding, logistiek of inkoopafdeling. AI OCR automatiseert gegevensextractie en stroomlijnt workflows, waardoor de datanauwkeurigheid verbetert.
De meeste conventionele bedrijven halen gegevens uit facturen handmatig door medewerkers hiervoor in te zetten. Dit is een zeer tijdrovende en kostbare operatie die in veel verschillende sectoren en bedrijven geautomatiseerd kan worden, zoals belasting-, juridische en financiële bedrijven, en meer.
Dit proces duurt 5 tot 15 seconden en kost 0,01 – 0,02 credits, terwijl je normaal $15 – $30 per uur zou moeten betalen voor een medewerker om dezelfde taak uit te voeren.
Processor | Kosten per jaar | Facturen per jaar verwerkt | Kosten per factuur |
---|---|---|---|
Menselijk | $30.000 | 12.000 | $2,50 |
FlowHunt | $162 | 12.000 | $0,013 |
FlowHunt (bij $30.000) | $30.000 | 2.250.000 | $0,0133 |
Ik zou zeggen dat FlowHunt veel efficiënter is, met een enorme marge.
Hoewel OCR veel voordelen biedt, zijn er ook enkele uitdagingen:
Om deze uitdagingen aan te pakken, is het essentieel om een krachtige en flexibele OCR-tool te gebruiken. FlowHunt’s API biedt een robuuste OCR-oplossing die complexe documentstructuren aankan, en is daardoor ideaal voor grootschalige OCR-projecten.
Om het proces te automatiseren, dien je de volgende Python-bibliotheken te installeren:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Dit installeert:
Deze code neemt een PDF, converteert deze naar afbeeldingen, stuurt elke afbeelding naar FlowHunt voor OCR-verwerking en slaat het resultaat op in CSV-formaat.
Bibliotheken importeren
import json
import os
import re
import time
import requests
import flowhunt
from flowhunt.rest import ApiException
from pprint import pprint
from pdf2image import convert_from_path
json
, os
, re
, en time
helpen bij JSON-verwerking, bestandsbeheer, reguliere expressies en tijdsintervallen.requests
: Wordt gebruikt voor HTTP-verzoeken, zoals het downloaden van de OCR-resultaten.flowhunt
: FlowHunt’s SDK regelt de authenticatie en communicatie met de OCR API.pdf2image
: Converteert PDF-pagina’s naar afbeeldingen, zodat elke pagina apart kan worden verwerkt.Functie om PDF-pagina’s naar afbeeldingen te converteren
def convert_pdf_to_image(path: str) -> None:
"""
Converteer een PDF-bestand naar afbeeldingen, waarbij elke pagina als JPEG wordt opgeslagen.
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page' + str(i) + '.jpg', 'JPEG')
convert_from_path
: Converteert elke PDF-pagina naar een afbeelding.images[i].save
: Slaat elke pagina op als een aparte JPEG voor OCR-verwerking.De output attachment-URL extraheren
def extract_attachment_url(data_string):
pattern = r'```flowhunt\n({.*})\n```'
match = re.search(pattern, data_string, re.DOTALL)
if match:
json_string = match.group(1)
try:
json_data = json.loads(json_string)
return json_data.get('download_link', None)
except json.JSONDecodeError:
print("Error: Failed to decode JSON.")
return None
return None
API-configuratie en authenticatie
convert_pdf_to_image("data/test.pdf")
FLOW_ID = "<FLOW_ID_HERE>"
configuration = flowhunt.Configuration(
host="https://api.flowhunt.io",
api_key={"APIKeyHeader": "<API_KEY_HERE>"}
)
De API-client initialiseren
with flowhunt.ApiClient(configuration) as api_client:
auth_api = flowhunt.AuthApi(api_client)
api_response = auth_api.get_user()
workspace_id = api_response.api_key_workspace_id
workspace_id
op voor volgende API-aanvragen.Een Flow-sessie starten
flows_api = flowhunt.FlowsApi(api_client)
from_flow_create_session_req = flowhunt.FlowSessionCreateFromFlowRequest(flow_id=FLOW_ID)
create_session_rsp = flows_api.create_flow_session(workspace_id, from_flow_create_session_req)
Afbeeldingen uploaden voor OCR-verwerking
for image in os.listdir("data/images"):
image_name, image_extension = os.path.splitext(image)
with open("data/images/" + image, "rb") as file:
try:
flow_sess_attachment = flows_api.upload_attachments(
create_session_rsp.session_id,
file.read()
)
OCR-verwerking starten en peilen naar resultaat
invoke_rsp = flows_api.invoke_flow_response(
create_session_rsp.session_id,
flowhunt.FlowSessionInvokeRequest(message="")
)
while True:
get_flow_rsp = flows_api.poll_flow_response(
create_session_rsp.session_id, invoke_rsp.message_id
)
print("Flow response: ", get_flow_rsp)
if get_flow_rsp.response_status == "S":
print("done OCR")
break
time.sleep(3)
OCR-uitvoer downloaden en opslaan
attachment_url = extract_attachment_url(get_flow_rsp.final_response[0])
if attachment_url:
response = requests.get(attachment_url)
with open("data/results/" + image_name + ".csv", "wb") as file:
file.write(response.content)
Om dit script uit te voeren:
data/
.<FLOW_ID_HERE>
en <API_KEY_HERE>
in met je FlowHunt-gegevens.Dit Python-script biedt een efficiënte oplossing voor het opschalen van OCR-processen, ideaal voor sectoren met een hoge documentverwerkingsbehoefte. Met de FlowHunt API verwerkt deze oplossing document-naar-CSV-conversie, stroomlijnt workflows en verhoogt de productiviteit.
Klik HIER voor de Gist-versie.
import json
import os
import re
import time
import requests
import flowhunt
from flowhunt.rest import ApiException
from pprint import pprint
from pdf2image import convert_from_path
def convert_pdf_to_image(path: str) -> None:
"""
Convert a pdf file to an image
:return:
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page'+ str(i) +'.jpg', 'JPEG')
def extract_attachment_url(data_string):
pattern = r'```flowhunt\n({.*})\n```'
match = re.search(pattern, data_string, re.DOTALL)
if match:
json_string = match.group(1)
try:
json_data = json.loads(json_string)
return json_data.get('download_link', None)
except json.JSONDecodeError:
print("Error: Failed to decode JSON.")
return None
return None
convert_pdf_to_image("data/test.pdf")
FLOW_ID = "<FLOW_ID_HERE>"
configuration = flowhunt.Configuration(host = "https://api.flowhunt.io",
api_key = {"APIKeyHeader": "<API_KEY_HERE>"})
with flowhunt.ApiClient(configuration) as api_client:
auth_api = flowhunt.AuthApi(api_client)
api_response = auth_api.get_user()
workspace_id = api_response.api_key_workspace_id
flows_api = flowhunt.FlowsApi(api_client)
from_flow_create_session_req = flowhunt.FlowSessionCreateFromFlowRequest(
flow_id=FLOW_ID
)
create_session_rsp = flows_api.create_flow_session(workspace_id, from_flow_create_session_req)
for image in os.listdir("data/images"):
image_name, image_extension = os.path.splitext(image)
with open("data/images/" + image, "rb") as file:
try:
flow_sess_attachment = flows_api.upload_attachments(
create_session_rsp.session_id,
file.read()
)
invoke_rsp = flows_api.invoke_flow_response(create_session_rsp.session_id, flowhunt.FlowSessionInvokeRequest(
message="",
))
while True:
get_flow_rsp = flows_api.poll_flow_response(create_session_rsp.session_id, invoke_rsp.message_id)
print("Flow response: ", get_flow_rsp)
if get_flow_rsp.response_status == "S":
print("done OCR")
attachment_url = extract_attachment_url(get_flow_rsp.final_response[0])
if attachment_url:
print("Attachment URL: ", attachment_url, "\n Downloading the file...")
response = requests.get(attachment_url)
with open("data/results/" + image_name + ".csv", "wb") as file:
file.write(response.content)
break
time.sleep(3)
except ApiException as e:
print("error for file ", image)
print(e)
AI-gebaseerde OCR maakt gebruik van machine learning en NLP om documentcontext te begrijpen, complexe lay-outs te verwerken en gestructureerde data uit facturen te halen, in tegenstelling tot traditionele OCR die afhankelijk is van tekstherkenning in vaste formaten.
AI OCR biedt snelheid, nauwkeurigheid, schaalbaarheid en gestructureerde output, waardoor handmatig werk wordt verminderd, fouten worden geminimaliseerd en naadloze integratie met bedrijfsxadsystemen mogelijk is.
Door gebruik te maken van FlowHunt’s Python SDK kun je PDF’s omzetten naar afbeeldingen, deze naar FlowHunt’s API sturen voor OCR en gestructureerde data ophalen in CSV-formaat, waarmee het hele extractieproces wordt geautomatiseerd.
Veelvoorkomende uitdagingen zijn slechte beeldkwaliteit, complexe documentlay-outs en verschillende talen. FlowHunt’s API is ontworpen om deze aan te pakken met geavanceerde AI-modellen en flexibele verwerkingsmogelijkheden.
FlowHunt’s AI OCR kan facturen in enkele seconden verwerken tegen een fractie van de menselijke kosten, wat enorme efficiëntiewinst en schaalbaarheid oplevert voor groeiende bedrijven.
Arshia is een AI Workflow Engineer bij FlowHunt. Met een achtergrond in computerwetenschappen en een passie voor AI, specialiseert zij zich in het creëren van efficiënte workflows die AI-tools integreren in dagelijkse taken, waardoor productiviteit en creativiteit worden verhoogd.
Automatiseer factuurgegevens-extractie met FlowHunt’s krachtige AI OCR. Bespaar tijd, verminder fouten en stroomlijn je workflows door PDF's om te zetten naar gestructureerde data in enkele seconden.
Ontdek hoe AI-gestuurde OCR de data-extractie transformeert, documentverwerking automatiseert en de efficiëntie verhoogt in sectoren als financiën, gezondheidsz...
Optische tekenherkenning (OCR) is een baanbrekende technologie die documenten zoals gescande papieren, pdf's of afbeeldingen omzet in bewerkbare en doorzoekbare...
Ontdek hoe een Factuurgegevens Extractor OCR Flow uw financiële processen kan stroomlijnen door het automatisch extraheren en organiseren van factuurgegevens. L...