
Yapay Zekâ ile OCR Görevlerini Çözmek
Yapay zekâ destekli OCR'nin veri çıkarımını nasıl dönüştürdüğünü, belge işlemlerini otomatikleştirdiğini ve finans, sağlık ve perakende gibi sektörlerde verimli...
FlowHunt’in API’si ile yapay zekâ tabanlı OCR ve Python kullanarak fatura veri çıkarımını otomatikleştirmeyi, hızlı, doğru ve ölçeklenebilir belge işlemenin yolunu öğrenin.
Yapay zekâ destekli OCR, geleneksel OCR’ın ötesine geçerek bağlamı anlamak, çok çeşitli yerleşimlerle başa çıkmak ve en karmaşık belgelerden bile yüksek kaliteli yapılandırılmış veri çıkarımı yapmak için yapay zekâ kullanır. Geleneksel OCR sabit bir formattaki metni yakalamak için tasarlanırken, Yapay Zekâ OCR, faturalarda ve diğer iş belgelerinde yaygın olan farklı türde yerleşim ve yapılandırmaları işleyebilir.
Faturaların, muhasebe, lojistik veya satın alma departmanlarında olsun, hızlı ve yüksek doğrulukla işlenmesi gerekir. Yapay Zekâ OCR, veri çıkarımını otomatikleştirir ve iş akışlarını düzene sokarak veri doğruluğunu artırır.
Çoğu geleneksel şirket, faturalardan veri çıkarmak için bu işleri çalışanlara yaptırarak manuel olarak gerçekleştirir. Bu, çok zaman alan ve maliyetli bir işlemdir ve vergi, hukuk ve finans şirketleri gibi birçok alanda ve şirkette otomatikleştirilebilir.
Bu işlem 5 ila 15 saniye sürer ve 0,01 – 0,02 krediye mal olur; oysa aynı işi bir çalışanın yapması için saatte 15 – 30 dolar ödemeniz gerekirdi.
İşleyici | Yıllık Maliyet | Yıllık İşlenen Fatura | Fatura Başına Maliyet |
---|---|---|---|
İnsan | $30,000 | 12,000 | $2.50 |
FlowHunt | $162 | 12,000 | $0.013 |
FlowHunt (30.000$’da) | $30,000 | 2,250,000 | $0.0133 |
Bence FlowHunt çok büyük bir farkla daha verimli.
OCR oldukça faydalı olsa da bazı zorlukları vardır:
Bu zorlukların üstesinden gelmek için güçlü ve esnek bir OCR aracı kullanmak önemlidir. FlowHunt’in API’si, karmaşık belge yapılarıyla başa çıkabilen sağlam bir OCR çözümü sunar ve büyük ölçekli OCR projeleri için idealdir.
Süreci otomatikleştirmek için aşağıdaki Python kütüphanelerini kurmalısınız:
pip install requests pdf2image git+https://github.com/QualityUnit/flowhunt-python-sdk.git
Bu kurulum şunları içerir:
Bu kod, bir PDF’i alır, görsele çevirir, her görseli FlowHunt’a OCR için gönderir ve çıktıyı CSV formatında kaydeder.
Kütüphaneleri Dahil Etme
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
ve time
JSON işlemleri, dosya yönetimi, regex ve zaman aralıkları için kullanılır.requests
: HTTP isteklerini (ör. OCR sonuçlarını indirme) yönetmek için.flowhunt
: FlowHunt’in SDK’sı kimlik doğrulama ve OCR API ile iletişim sağlar.pdf2image
: PDF sayfalarını görsele çevirir, böylece her sayfa ayrı OCR yapılabilir.PDF Sayfalarını Görsele Çevirme Fonksiyonu
def convert_pdf_to_image(path: str) -> None:
"""
PDF dosyasını görsele çevirir, her sayfayı JPEG olarak kaydeder.
"""
images = convert_from_path(path)
for i in range(len(images)):
images[i].save('data/images/' + 'page' + str(i) + '.jpg', 'JPEG')
convert_from_path
: Her PDF sayfasını görsele çevirir.images[i].save
: Her sayfayı OCR işlemi için ayrı JPEG olarak kaydeder.Çıktı Eki (Attachment) URL’sini Çıkarma
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 Yapılandırması ve Kimlik Doğrulama
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 İstemcisini Başlatma
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
alır.Akış Oturumu Başlatma
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)
OCR İşleme için Görselleri Yükleme
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 İşlemini Çağırma ve Sonuçlar için Sorgulama
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 Çıktısını İndirme ve Kaydetme
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)
Scripti çalıştırmak için:
data/
klasörüne yerleştirin.<FLOW_ID_HERE>
ve <API_KEY_HERE>
alanlarını FlowHunt kimlik bilgilerinizle güncelleyin.Bu Python scripti, OCR süreçlerini ölçeklemek için verimli bir çözüm sunar ve yüksek belge işleme ihtiyacı olan sektörler için idealdir. FlowHunt API ile belgeyi CSV’ye dönüştürme işlemini hızlıca gerçekleştirir, iş akışlarını kolaylaştırır ve verimliliği artırır.
Gist versiyonu için BURAYA tıklayın.
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)
Yapay zekâ tabanlı OCR, belge bağlamını anlamak, karmaşık yerleşimleri yönetmek ve faturalardan yapılandırılmış veri çıkarmak için makine öğrenmesi ve NLP’den yararlanır; geleneksel OCR ise sabit formatlı metin tanımaya dayanır.
Yapay Zekâ OCR; hız, doğruluk, ölçeklenebilirlik ve yapılandırılmış çıktı sunarak manuel işi azaltır, hataları en aza indirir ve iş sistemleriyle sorunsuz entegrasyon sağlar.
FlowHunt’in Python SDK’sını kullanarak PDF’leri görsele çevirebilir, FlowHunt’in API’sine OCR için gönderebilir ve yapılandırılmış verileri CSV formatında alarak tüm çıkarım sürecini otomatikleştirebilirsiniz.
Yaygın zorluklar; düşük görsel kalitesi, karmaşık belge yerleşimleri ve farklı dillerdeki belgeleri içerir. FlowHunt’in API’si, gelişmiş yapay zekâ modelleri ve esnek işleme yetenekleriyle bunların üstesinden gelir.
FlowHunt’in yapay zekâ OCR’ı faturaları saniyeler içinde, insan maliyetinin çok altında işler; büyüyen işletmeler için büyük verimlilik ve ölçeklenebilirlik sağlar.
Arshia, FlowHunt'ta bir Yapay Zeka İş Akışı Mühendisidir. Bilgisayar bilimi geçmişi ve yapay zekaya olan tutkusu ile, yapay zeka araçlarını günlük görevlere entegre eden verimli iş akışları oluşturmada uzmanlaşmıştır ve bu sayede verimlilik ile yaratıcılığı artırır.
FlowHunt’in güçlü yapay zekâ OCR’ı ile fatura veri çıkarımını otomatikleştirin. Zaman kazanın, hataları azaltın ve PDF’leri saniyeler içinde yapılandırılmış veriye dönüştürerek iş akışınızı kolaylaştırın.
Yapay zekâ destekli OCR'nin veri çıkarımını nasıl dönüştürdüğünü, belge işlemlerini otomatikleştirdiğini ve finans, sağlık ve perakende gibi sektörlerde verimli...
Optik Karakter Tanıma (OCR), taranmış belgeler, PDF'ler veya görseller gibi dokümanları düzenlenebilir ve aranabilir verilere dönüştüren dönüştürücü bir teknolo...
Bir Fatura Veri Çıkarıcı OCR Akışının, fatura verilerinin çıkarılması ve düzenlenmesinin otomasyonu ile finansal süreçlerinizi nasıl kolaylaştırabileceğini keşf...