
Řešení úloh OCR pomocí AI
Objevte, jak AI poháněné OCR mění extrakci dat, automatizuje zpracování dokumentů a zvyšuje efektivitu v odvětvích jako finance, zdravotnictví a maloobchod. Pro...
Naučte se automatizovat extrakci dat z faktur pomocí AI-based OCR a Pythonu s FlowHunt API, což umožňuje rychlé, přesné a škálovatelné zpracování dokumentů.
AI-driven OCR překonává možnosti tradičního OCR tím, že využívá umělou inteligenci k pochopení kontextu, zvládnutí mnoha rozvržení a produkci vysoce kvalitních strukturovaných dat i z těch nejsložitějších dokumentů. Zatímco tradiční OCR je navrženo pro získávání textu z pevných formátů, AI OCR zvládá mnoho typů rozvržení a konfigurací běžných ve fakturách a dalších firemních dokumentech.
Faktury je potřeba zpracovávat efektivně a s vysokou přesností, ať už jde o účetnictví, logistiku nebo nákupní oddělení. AI OCR automatizuje extrakci dat a zefektivňuje pracovní postupy, čímž zvyšuje přesnost dat.
Většina tradičních společností extrahuje data z faktur ručně prostřednictvím zaměstnanců. Je to časově náročná a nákladná činnost, kterou lze automatizovat v mnoha oblastech a firmách, jako jsou daňové, právní, finanční společnosti a další.
Tento proces trvá 5 až 15 sekund a stojí 0,01 – 0,02 kreditu, přičemž za stejnou práci byste jinak zaplatili zaměstnanci 15 až 30 dolarů za hodinu.
Zpracovatel | Náklady za rok | Zpracované faktury za rok | Cena za fakturu |
---|---|---|---|
Člověk | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (při $30,000) | $30,000 | 2,250,000 | $0.0133 |
Řekl bych, že FlowHunt je efektivnější o obrovský rozdíl.
Ačkoliv je OCR velmi přínosné, přináší i určité výzvy:
K překonání těchto výzev je nezbytné používat výkonný a flexibilní OCR nástroj. API FlowHunt poskytuje robustní OCR řešení schopné zvládnout složité struktury dokumentů, což je ideální pro rozsáhlé OCR projekty.
Pro automatizaci procesu je třeba nainstalovat následující Python knihovny:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Tím nainstalujete:
Tento kód vezme PDF, převede ho na obrázky, každý obrázek odešle do FlowHunt na zpracování OCR a uloží výstup ve formátu CSV.
Import knihoven
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
a time
pomáhají se zpracováním JSON, správou souborů, regulárními výrazy a časováním.requests
: Slouží k obsluze HTTP požadavků, například pro stažení výsledků OCR.flowhunt
: SDK FlowHunt řeší autentizaci a komunikaci s OCR API.pdf2image
: Převádí stránky PDF na obrázky, což umožňuje OCR každé jednotlivé stránky.Funkce pro převod stránek PDF na obrázky
def convert_pdf_to_image(path: str) -> None:
"""
Převod PDF souboru na obrázky, každá stránka jako 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
: Převede každou stránku PDF na obrázek.images[i].save
: Uloží každou stránku samostatně jako JPEG pro OCR zpracování.Extrakce odkazu na výstupní přílohu
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
Nastavení API a autentizace
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>"}
)
Inicializace API klienta
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
pro další API volání.Zahájení 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)
Nahrání obrázků pro OCR zpracování
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()
)
Vyvolání OCR zpracování a periodické dotazování na výsledek
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)
Stažení a uložení OCR výstupu
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)
Pro spuštění tohoto skriptu:
data/
.<FLOW_ID_HERE>
a <API_KEY_HERE>
svými přihlašovacími údaji k FlowHunt.Tento Python skript nabízí efektivní řešení pro škálování OCR procesů, ideální pro odvětví s vysokými nároky na zpracování dokumentů. Díky FlowHunt API zvládne převod dokumentů na CSV, zjednoduší pracovní postupy a zvýší produktivitu.
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-based OCR využívá strojové učení a NLP k pochopení kontextu dokumentu, zvládá složité rozvržení a extrahuje strukturovaná data z faktur, na rozdíl od tradičního OCR, které se spoléhá na rozpoznávání textu v pevném formátu.
AI OCR přináší rychlost, přesnost, škálovatelnost a strukturované výstupy, snižuje ruční práci, minimalizuje chyby a umožňuje bezproblémovou integraci s firemními systémy.
Použitím Python SDK od FlowHunt můžete převést PDF do obrázků, odeslat je do FlowHunt API na OCR a získat strukturovaná data ve formátu CSV, čímž celý proces extrakce zautomatizujete.
Mezi běžné výzvy patří špatná kvalita obrázků, složité rozvržení dokumentů a různé jazyky. API FlowHunt je navrženo tak, aby tyto problémy zvládlo pomocí pokročilých AI modelů a flexibilních zpracovatelských možností.
AI OCR od FlowHunt zvládne zpracovat faktury během vteřin za zlomek lidských nákladů, což přináší obrovské úspory a škálovatelnost pro rostoucí firmy.
Arshia je inženýr AI pracovních postupů ve FlowHunt. S vzděláním v oboru informatiky a vášní pro umělou inteligenci se specializuje na vytváření efektivních workflow, které integrují AI nástroje do každodenních úkolů a zvyšují tak produktivitu i kreativitu.
Automatizujte extrakci dat z faktur s robustním AI OCR od FlowHunt. Ušetřete čas, snižte chybovost a zefektivněte své pracovní postupy převodem PDF na strukturovaná data během vteřin.
Objevte, jak AI poháněné OCR mění extrakci dat, automatizuje zpracování dokumentů a zvyšuje efektivitu v odvětvích jako finance, zdravotnictví a maloobchod. Pro...
Optické rozpoznávání znaků (OCR) je transformační technologie, která převádí dokumenty, jako jsou skeny, PDF nebo obrázky, na editovatelná a vyhledávatelná data...
Objevte, jak může OCR Flow pro extrakci dat z faktur zefektivnit vaše finanční procesy automatizací získávání a organizace údajů z faktur. Seznamte se s jeho fu...