
Løsning af OCR-opgaver med AI
Opdag, hvordan AI-drevet OCR transformerer dataudtræk, automatiserer dokumentbehandling og øger effektiviteten i brancher som finans, sundhedsvæsen og detailhan...
Lær at automatisere udtræk af fakturadata ved hjælp af AI-baseret OCR og Python med FlowHunt’s API, så du får hurtig, præcis og skalerbar dokumentbehandling.
AI-drevet OCR går ud over traditionel OCR’s kapaciteter ved at bruge kunstig intelligens til at forstå kontekst, håndtere mange forskellige layouts og levere struktureret dataudtræk selv fra de mest komplekse dokumenter. Hvor traditionel OCR er designet til at hente tekst fra et fast format, kan AI OCR håndtere mange typer layouts og konfigurationer, som er almindelige i fakturaer og andre forretningsdokumenter.
Fakturaer skal behandles effektivt og med høj nøjagtighed, uanset om det er i regnskabs-, logistik- eller indkøbsafdelingen. AI OCR automatiserer dataudtræk og glatter arbejdsgange, hvilket forbedrer datanøjagtigheden.
De fleste almindelige virksomheder udtrækker data fra fakturaer manuelt ved at bruge medarbejdere til disse opgaver. Det er en meget tidskrævende og dyr proces, som kan automatiseres i mange forskellige brancher og virksomheder, såsom skat, jura, finans og flere.
Denne proces tager 5 til 15 sekunder og koster 0,01 – 0,02 credits, hvor du normalt skulle betale 15 – 30 USD i timen for en medarbejder til at udføre samme opgave.
Processor | Årlig omkostning | Fakturaer behandlet pr. år | Omkostning pr. faktura |
---|---|---|---|
Menneske | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (ved $30,000) | $30,000 | 2,250,000 | $0.0133 |
Jeg vil sige, at FlowHunt er langt mere effektiv.
Selvom OCR er meget gavnligt, er der nogle udfordringer:
For at tackle disse udfordringer er det vigtigt at bruge et kraftfuldt og fleksibelt OCR-værktøj. FlowHunt’s API leverer en robust OCR-løsning, der kan håndtere komplekse dokumentstrukturer, hvilket gør den ideel til storskala OCR-projekter.
For at automatisere processen skal du installere følgende Python-biblioteker:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Dette installerer:
Denne kode tager en PDF, konverterer den til billeder, sender hvert billede til FlowHunt til OCR-behandling og gemmer outputtet i CSV-format.
Importér biblioteker
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
og time
hjælper med JSON-håndtering, filstyring, regulære udtryk og tidsintervaller.requests
: Bruges til at håndtere HTTP-forespørgsler, f.eks. download af OCR-resultater.flowhunt
: FlowHunt’s SDK håndterer godkendelse og kommunikation med OCR API’et.pdf2image
: Konverterer PDF-sider til billeder, så hver side kan OCR-behandles.Funktion til at konvertere PDF-sider til billeder
def convert_pdf_to_image(path: str) -> None:
"""
Konverter en PDF-fil til billeder, hvor hver side gemmes som JPEG.
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page' + str(i) + '.jpg', 'JPEG')
convert_from_path
: Konverterer hver PDF-side til et billede.images[i].save
: Gemmer hver side som individuel JPEG til OCR-behandling.Udtræk af output-attachment-URL
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-konfiguration og autentificering
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>"}
)
Initialisering af API-klienten
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
til efterfølgende API-kald.Start en Flow-session
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)
Upload af billeder til OCR-behandling
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()
)
Udløsning af OCR-behandling og polling efter resultater
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)
Download og gem OCR-output
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)
Sådan kører du scriptet:
data/
-mappen.<FLOW_ID_HERE>
og <API_KEY_HERE>
med dine FlowHunt-legitimationsoplysninger.Dette Python-script tilbyder en effektiv løsning til at skalere OCR-processer, ideelt til brancher med stort dokumentbehandlingsbehov. Med FlowHunt’s API håndterer denne løsning konvertering fra dokument til CSV, strømline arbejdsgange og øger produktiviteten.
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-baseret OCR udnytter maskinlæring og NLP til at forstå dokumentkontekst, håndtere komplekse layouts og udtrække strukturerede data fra fakturaer, i modsætning til traditionel OCR, der er baseret på tekstgenkendelse med fast format.
AI OCR giver hastighed, nøjagtighed, skalerbarhed og strukturerede output, hvilket reducerer manuelt arbejde, minimerer fejl og muliggør problemfri integration med forretningssystemer.
Ved at bruge FlowHunt’s Python SDK kan du konvertere PDF'er til billeder, sende dem til FlowHunt’s API til OCR og hente strukturerede data i CSV-format, så hele udtræksprocessen automatiseres.
Almindelige udfordringer omfatter dårlig billedkvalitet, komplekse dokumentlayouts og forskellige sprog. FlowHunt’s API er designet til at håndtere disse med avancerede AI-modeller og fleksible behandlingsmuligheder.
FlowHunt’s AI OCR kan behandle fakturaer på få sekunder til en brøkdel af menneskelig omkostning, hvilket giver enorme effektivitetsgevinster og skalerbarhed for voksende virksomheder.
Arshia er AI Workflow Engineer hos FlowHunt. Med en baggrund inden for datalogi og en passion for AI, specialiserer han sig i at skabe effektive workflows, der integrerer AI-værktøjer i daglige opgaver og øger produktivitet og kreativitet.
Automatiser udtræk af fakturadata med FlowHunt’s robuste AI OCR. Spar tid, reducer fejl, og strømline dine arbejdsgange ved at konvertere PDF'er til strukturerede data på få sekunder.
Opdag, hvordan AI-drevet OCR transformerer dataudtræk, automatiserer dokumentbehandling og øger effektiviteten i brancher som finans, sundhedsvæsen og detailhan...
Optisk Tegngenkendelse (OCR) er en banebrydende teknologi, der omdanner dokumenter som scannede papirer, PDF'er eller billeder til redigerbare og søgbare data. ...
Opdag hvordan en Faktura Data Udlæser OCR Flow kan effektivisere dine finansielle processer ved at automatisere udtræk og organisering af fakturadata. Læs om de...