
Riešenie úloh OCR pomocou AI
Objavte, ako AI-poháňané OCR mení extrakciu dát, automatizuje spracovanie dokumentov a zvyšuje efektivitu v odvetviach ako financie, zdravotníctvo a maloobchod....
Naučte sa, ako automatizovať extrakciu údajov z faktúr pomocou AI OCR a Pythonu s FlowHunt API, čo umožňuje rýchle, presné a škálovateľné spracovanie dokumentov.
AI poháňané OCR ide nad rámec tradičného OCR, pretože využíva umelú inteligenciu na pochopenie kontextu, zvládnutie rôznych rozložení a extrakciu kvalitných štruktúrovaných dát aj z najkomplexnejších dokumentov. Zatiaľ čo tradičné OCR je určené na extrakciu textu z pevného formátu, AI OCR zvláda rôzne typy rozložení a konfigurácií bežných vo faktúrach a iných firemných dokumentoch.
Faktúry je potrebné spracovať efektívne a s vysokou presnosťou, či už v účtovníctve, logistike alebo nákupe. AI OCR automatizuje extrakciu dát a zjednodušuje procesy, čím zvyšuje presnosť údajov.
Väčšina tradičných firiem extrahuje údaje z faktúr manuálne prostredníctvom zamestnancov. Je to časovo náročný a nákladný proces, ktorý je možné automatizovať v rôznych oblastiach ako sú daňové, právne či finančné spoločnosti.
Tento proces trvá 5 až 15 sekúnd a stojí 0,01 – 0,02 kreditu, pričom bežne by ste za tú istú prácu museli zaplatiť zamestnancovi 15 – 30 dolárov na hodinu.
Procesor | Náklady za rok | Počet spracovaných faktúr za rok | Náklady na 1 faktúru |
---|---|---|---|
Človek | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (pri $30,000) | $30,000 | 2,250,000 | $0.0133 |
Myslím, že FlowHunt je oveľa efektívnejší.
Aj keď je OCR veľmi užitočné, prináša so sebou aj niektoré výzvy:
Na zvládnutie týchto výziev je dôležité používať výkonný a flexibilný OCR nástroj. API FlowHunt poskytuje robustné OCR riešenie pripravené na komplexné štruktúry dokumentov, čo ho robí ideálnym pre veľké OCR projekty.
Na automatizáciu procesu si nainštalujte tieto Python knižnice:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Týmto nainštalujete:
Tento kód vezme PDF, prevedie ho na obrázky, každý obrázok odošle do FlowHunt na OCR spracovanie a uloží výstup vo formáte CSV.
Import knižníc
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ú so spracovaním JSON, správou súborov, regulárnymi výrazmi a časovaním.requests
: Na obsluhu HTTP požiadaviek, napríklad na stiahnutie OCR výsledkov.flowhunt
: SDK FlowHunt sa stará o autentifikáciu a komunikáciu s OCR API.pdf2image
: Prevedie stránky PDF na obrázky, čo umožní OCR pre každú stránku samostatne.Funkcia na prevod PDF strán na obrázky
def convert_pdf_to_image(path: str) -> None:
"""
Prevedie PDF súbor na obrázky, uloží každú stranu ako 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
: Konvertuje každú stránku PDF na obrázok.images[i].save
: Uloží každú stránku ako samostatný JPEG pre OCR spracovanie.Extrakcia URL prílohy s výstupom
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
Nastavenie API a autentifikácie
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>"}
)
Inicializácia 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
pre ďalšie API volania.Spustenie session pre Flow
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)
Nahranie obrázkov na OCR spracovanie
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()
)
Spustenie OCR spracovania a polling na výsledky
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)
Stiahnutie a uloženie 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)
Na spustenie skriptu:
data/
.<FLOW_ID_HERE>
a <API_KEY_HERE>
svojimi prihlasovacími údajmi FlowHunt.Tento Python skript ponúka efektívne riešenie na škálovanie OCR procesov, ideálne pre odvetvia s vysokými nárokmi na spracovanie dokumentov. S API FlowHunt zvládnete konverziu dokumentov na CSV, zefektívnite procesy a zvýšite 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 OCR využíva strojové učenie a NLP na pochopenie kontextu dokumentu, zvládnutie zložitých rozložení a extrakciu štruktúrovaných údajov z faktúr, na rozdiel od tradičného OCR, ktoré je založené na rozpoznávaní textu v pevnom formáte.
AI OCR poskytuje rýchlosť, presnosť, škálovateľnosť a štruktúrované výstupy, čím znižuje manuálnu prácu, minimalizuje chyby a umožňuje bezproblémovú integráciu s firemnými systémami.
Pomocou Python SDK od FlowHunt môžete konvertovať PDF na obrázky, odoslať ich do FlowHunt API na OCR a získať štruktúrované dáta vo formáte CSV, čím automatizujete celý proces extrakcie.
Bežné výzvy zahŕňajú nízku kvalitu obrázkov, zložité rozloženia dokumentov a rôzne jazyky. API FlowHunt je navrhnuté tak, aby tieto prekážky zvládalo pomocou pokročilých AI modelov a flexibilného spracovania.
AI OCR od FlowHunt dokáže spracovať faktúry za sekundy za zlomok ceny ľudskej práce, čím prináša výrazné úspory a škálovateľnosť pre rastúce firmy.
Arshia je inžinierka AI workflowov v spoločnosti FlowHunt. S pozadím v informatike a vášňou pre umelú inteligenciu sa špecializuje na tvorbu efektívnych workflowov, ktoré integrujú AI nástroje do každodenných úloh, čím zvyšuje produktivitu a kreativitu.
Automatizujte extrakciu údajov z faktúr pomocou robustného AI OCR od FlowHunt. Ušetrite čas, znížte chybovosť a zefektívnite svoje procesy konvertovaním PDF na štruktúrované dáta za pár sekúnd.
Objavte, ako AI-poháňané OCR mení extrakciu dát, automatizuje spracovanie dokumentov a zvyšuje efektivitu v odvetviach ako financie, zdravotníctvo a maloobchod....
Zistite, ako môže OCR Flow na extrakciu údajov z faktúr zjednodušiť vaše finančné procesy automatizovaním extrakcie a organizácie údajov z faktúr. Zoznámte sa s...
Optické rozpoznávanie znakov (OCR) je prelomová technológia, ktorá prevádza dokumenty, ako sú naskenované papiere, PDF súbory alebo obrázky, na editovateľné a v...