
Løse OCR-oppgaver med AI
Oppdag hvordan AI-drevet OCR forvandler datauttrekk, automatiserer dokumentbehandling og øker effektiviteten i bransjer som finans, helsevesen og detaljhandel. ...
Lær hvordan du automatiserer fakturauttrekking ved hjelp av AI-basert OCR og Python med FlowHunt sin API, som gir rask, nøyaktig og skalerbar dokumentbehandling.
AI-drevet OCR går lenger enn tradisjonell OCR ved å bruke kunstig intelligens for å forstå kontekst, håndtere mange ulike oppsett, og levere høykvalitets strukturell datauttrekking selv fra de mest komplekse dokumentene. Mens tradisjonell OCR er laget for å hente ut tekst fra et fast format, kan AI OCR håndtere mange typer oppsett og konfigurasjoner som ofte finnes i fakturaer og andre forretningsdokumenter.
Fakturaer må behandles effektivt og med høy grad av nøyaktighet, enten det gjelder regnskap, logistikk eller innkjøp. AI OCR automatiserer datauttrekking og strømlinjeformer arbeidsflyten, og forbedrer datanøyaktigheten.
De fleste tradisjonelle selskaper trekker ut data fra fakturaer manuelt ved hjelp av ansatte. Dette er en svært tidkrevende og kostbar prosess som kan automatiseres i mange ulike bransjer og selskaper, som skatt, jus, finans med mer.
Denne prosessen tar 5 til 15 sekunder og koster 0.01 – 0.02 kreditter, der du normalt ville betalt $15 – $30 per time for at en ansatt skulle utført samme oppgave.
Prosessor | Kostnad per år | Fakturaer behandlet per år | Kostnad per 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 si at FlowHunt er langt mer effektiv.
Selv om OCR er svært gunstig, finnes det noen utfordringer:
For å møte disse utfordringene er det viktig å bruke et kraftig og fleksibelt OCR-verktøy. FlowHunt sin API gir en robust OCR-løsning som kan håndtere komplekse dokumentstrukturer, og egner seg perfekt for store OCR-prosjekter.
For å automatisere prosessen må du installere følgende Python-biblioteker:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Dette installerer:
Denne koden tar en PDF, konverterer den til bilder, sender hvert bilde til FlowHunt for OCR-prosessering, og lagrer resultatet i CSV-format.
Importer 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
hjelper med JSON-håndtering, filbehandling, regulære uttrykk og tidsintervaller.requests
: Brukes for å håndtere HTTP-forespørsler, som å laste ned OCR-resultater.flowhunt
: FlowHunt sin SDK håndterer autentisering og kommunikasjon med OCR-API-et.pdf2image
: Konverterer PDF-sider til bilder, slik at hver side kan OCR-behandles individuelt.Funksjon for å konvertere PDF-sider til bilder
def convert_pdf_to_image(path: str) -> None:
"""
Convert a PDF file to images, storing each page as a 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
: Gjør hver PDF-side om til et bilde.images[i].save
: Lagrer hver side som en individuell JPEG for OCR-prosessering.Ekstrahere utdata-vedleggs-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-konfigurasjon og autentisering
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>"}
)
Initialisere API-klient
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
for påfølgende API-kall.Starte en flyt-økt
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)
Laste opp bilder for 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()
)
Starte OCR-prosessering og polle etter resultat
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)
Laste ned og lagre OCR-utdata
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)
For å kjøre skriptet:
data/
-mappen.<FLOW_ID_HERE>
og <API_KEY_HERE>
med FlowHunt-legitimasjon.Dette Python-skriptet gir en effektiv løsning for å skalere OCR-prosesser, ideelt for bransjer med store dokumentbehandlingsbehov. Med FlowHunt sin API håndterer denne løsningen konvertering fra dokument til CSV, strømlinjeformer arbeidsflyt og øker 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-basert OCR benytter maskinlæring og NLP for å forstå dokumentkontekst, håndtere komplekse oppsett og trekke ut strukturerte data fra fakturaer, i motsetning til tradisjonell OCR som baserer seg på fast format tekstgjenkjenning.
AI OCR gir fart, nøyaktighet, skalerbarhet og strukturerte utdata, reduserer manuelt arbeid, minimerer feil og muliggjør sømløs integrasjon med forretningssystemer.
Ved å bruke FlowHunt sin Python SDK kan du konvertere PDF-filer til bilder, sende dem til FlowHunt sin API for OCR, og hente ut strukturerte data i CSV-format, og automatisere hele utvinningsprosessen.
Vanlige utfordringer inkluderer dårlig bildekvalitet, komplekse dokumentoppsett og ulike språk. FlowHunt sin API er designet for å håndtere dette med avanserte AI-modeller og fleksible prosesseringsmuligheter.
FlowHunt sin AI OCR kan behandle fakturaer på sekunder til en brøkdel av menneskelig kostnad, og gir store effektivitetsgevinster og skalerbarhet for voksende virksomheter.
Arshia er en AI Workflow Engineer hos FlowHunt. Med bakgrunn i informatikk og en lidenskap for kunstig intelligens, spesialiserer han seg på å lage effektive arbeidsflyter som integrerer AI-verktøy i daglige oppgaver, og dermed øker produktivitet og kreativitet.
Automatiser fakturauttrekking med FlowHunt sin robuste AI OCR. Spar tid, reduser feil og effektiviser arbeidsflyten ved å konvertere PDF-filer til strukturerte data på sekunder.
Oppdag hvordan AI-drevet OCR forvandler datauttrekk, automatiserer dokumentbehandling og øker effektiviteten i bransjer som finans, helsevesen og detaljhandel. ...
Oppdag hvordan et OCR-basert faktura datauttrekksverktøy kan effektivisere dine økonomiske prosesser ved å automatisere utvinning og organisering av fakturadata...
Optisk tegngjenkjenning (OCR) er en transformerende teknologi som konverterer dokumenter som skannede papirer, PDF-filer eller bilder til redigerbare og søkbare...