
OCR-tehtävien ratkaiseminen tekoälyllä
Tutustu, miten tekoälyyn perustuva OCR mullistaa tiedon poiminnan, automatisoi asiakirjakäsittelyn ja tehostaa toimintaa muun muassa rahoitus-, terveys- ja vähi...
Opi automatisoimaan laskudatan poiminta tekoälypohjaisella OCR:llä ja Pythonilla FlowHuntin API:lla – mahdollistaa nopean, tarkan ja skaalautuvan dokumenttien käsittelyn.
Tekoälyohjattu OCR ylittää perinteisen OCR:n kyvykkyydet hyödyntämällä tekoälyä asiayhteyksien ymmärtämiseen, monipuolisten asettelujen käsittelyyn sekä korkealaatuisen rakenteisen datan poimintaan monimutkaisistakin asiakirjoista. Siinä missä perinteinen OCR on suunniteltu poimimaan tekstiä kiinteästä muodosta, AI-OCR pystyy käsittelemään monia erilaisia asetteluja ja rakenteita, joita laskuissa ja muissa yritysasiakirjoissa esiintyy.
Laskut tulee käsitellä tehokkaasti ja erittäin tarkasti, oli kyse sitten taloushallinnosta, logistiikasta tai hankinnoista. AI-OCR automatisoi tiedon poiminnan ja virtaviivaistaa työnkulkuja, parantaen tietojen tarkkuutta.
Useimmat yritykset poimivat laskudataa manuaalisesti työntekijöiden avulla. Tämä on aikaa vievää ja kallista, vaikka prosessi voitaisiin automatisoida monilla eri toimialoilla, kuten vero-, laki- ja talousyrityksissä sekä muissa.
Tämä prosessi vie 5–15 sekuntia ja maksaa 0,01–0,02 krediittiä, kun taas työntekijälle samasta työstä pitäisi maksaa 15–30 dollaria tunnilta.
Prosessori | Kustannus/vuosi | Laskuja vuodessa | Kustannus/lasku |
---|---|---|---|
Ihminen | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (hintaan $30,000) | $30,000 | 2,250,000 | $0.0133 |
Väitän, että FlowHunt on huomattavasti tehokkaampi.
Vaikka OCR on erittäin hyödyllinen, siihen liittyy joitakin haasteita:
Näiden haasteiden ratkaisemiseksi on tärkeää käyttää tehokasta ja joustavaa OCR-työkalua. FlowHuntin API tarjoaa vankan OCR-ratkaisun, joka kykenee käsittelemään monimutkaisia dokumenttirakenteita – ihanteellinen laajamittaisiin OCR-projekteihin.
Prosessin automatisoimiseksi sinun tulee asentaa seuraavat Python-kirjastot:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Tämä asentaa:
Tämä koodi ottaa PDF:n, muuntaa sen kuviksi, lähettää jokaisen kuvan FlowHuntiin OCR-käsittelyä varten ja tallentaa tuloksen CSV-muodossa.
Kirjastojen tuonti
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
ja time
auttavat JSON:n käsittelyssä, tiedostojen hallinnassa, säännöllisissä lausekkeissa ja aikaväleissä.requests
: HTTP-pyyntöjen hallintaan, esimerkiksi OCR-tulosten lataamiseen.flowhunt
: FlowHuntin SDK huolehtii autentikoinnista ja yhteyksistä OCR-API:in.pdf2image
: Muuntaa PDF-sivut kuviksi mahdollistaen yksittäisen sivun OCR:n.Funktio PDF-sivujen muuntamiseen kuviksi
def convert_pdf_to_image(path: str) -> None:
"""
Muunna PDF-tiedosto kuviksi, tallentaen jokaisen sivun JPEG-muodossa.
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page' + str(i) + '.jpg', 'JPEG')
convert_from_path
: Muuntaa jokaisen PDF-sivun kuvaksi.images[i].save
: Tallentaa jokaisen sivun erilliseksi JPEG-kuvaksi OCR-käsittelyä varten.Output Attachment -URL:n poiminta
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-konfigurointi ja autentikointi
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>"}
)
API-asiakasohjelman alustaminen
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
jatkokäyttöä varten.Flow-istunnon aloitus
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)
Kuvien lataaminen OCR-käsittelyyn
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-prosessoinnin käynnistäminen ja tulosten polling
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-tuloksen lataaminen ja tallennus
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)
Skriptin suorittamiseksi:
data/
-kansioon.<FLOW_ID_HERE>
ja <API_KEY_HERE>
FlowHunt-tunnuksillasi.Tämä Python-skripti tarjoaa tehokkaan ratkaisun OCR-prosessien skaalaamiseen – ihanteellinen aloille, joilla on suuri dokumenttien käsittelytarve. FlowHuntin API:lla tämä ratkaisu hoitaa dokumenttien muunnon CSV-muotoon, virtaviivaistaa työnkulkuja ja lisää tuottavuutta.
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)
Tekoälypohjainen OCR hyödyntää koneoppimista ja NLP:tä ymmärtääkseen asiakirjan kontekstia, käsitelläkseen monimutkaisia asetteluja ja poimiakseen rakenteista dataa laskuista – toisin kuin perinteinen OCR, joka perustuu kiinteämuotoiseen tekstintunnistukseen.
AI-OCR tarjoaa nopeutta, tarkkuutta, skaalautuvuutta ja rakenteisia tulosteita, vähentää manuaalista työtä, minimoi virheet ja mahdollistaa helpon integroinnin liiketoimintajärjestelmiin.
Käyttämällä FlowHuntin Python SDK:ta voit muuntaa PDF:t kuviksi, lähettää ne FlowHuntin API:in OCR:ää varten ja hakea rakenteisen datan CSV-muodossa – koko poimintaprosessi automatisoituu.
Yleisiä haasteita ovat huono kuvanlaatu, monimutkaiset dokumenttiasettelut ja vaihtelevat kielet. FlowHuntin API on kehitetty ratkaisemaan näitä kehittyneillä AI-malleilla ja joustavilla prosessointiominaisuuksilla.
FlowHuntin AI-OCR käsittelee laskut sekunneissa murto-osalla ihmistyön kustannuksista, tuoden merkittäviä tehokkuushyötyjä ja skaalautuvuutta kasvaville yrityksille.
Arshia on AI-työnkulkuinsinööri FlowHuntilla. Tietojenkäsittelytieteen taustalla ja intohimolla tekoälyyn hän erikoistuu luomaan tehokkaita työnkulkuja, jotka integroivat tekoälytyökaluja arjen tehtäviin, parantaen tuottavuutta ja luovuutta.
Automatisoi laskudatan poiminta FlowHuntin tehokkaalla AI-OCR:llä. Säästä aikaa, vähennä virheitä ja tehosta työnkulkujasi muuntamalla PDF:t rakenteiseksi dataksi sekunneissa.
Tutustu, miten tekoälyyn perustuva OCR mullistaa tiedon poiminnan, automatisoi asiakirjakäsittelyn ja tehostaa toimintaa muun muassa rahoitus-, terveys- ja vähi...
Optinen merkintunnistus (OCR) on mullistava teknologia, joka muuntaa asiakirjoja, kuten skannattuja papereita, PDF-tiedostoja tai kuvia, muokattavaksi ja haetta...
Tekstin tunnistus luonnollisista kuvista (STR) on optisen tekstintunnistuksen (OCR) erikoisala, joka keskittyy tekstin tunnistamiseen ja tulkitsemiseen luonnoll...