این وبلاگ به عنوان نقطه شروع برای هر کسی که به دنبال استخراج جداول از فایل های PDF و تصاویر است عمل می کند. ما با یک آموزش کد پایتون شروع می کنیم که شما را در فرآیند پیاده سازی OCR روی فایل ها و تصاویر PDF برای شناسایی و استخراج جداول در قالب های ساختاریافته (لیست، شی json، قاب داده پانداها) راهنمایی می کند. سپس نگاهی به یک پلت فرم بدون کد برای استخراج خودکار جدولی می اندازیم و سپس چند ابزار استخراج جدول را که به صورت آنلاین به صورت رایگان در دسترس هستند را بررسی می کنیم.
معرفی
تعداد کل اسناد PDF در جهان از 3 تریلیون تخمین زده می شود. پذیرش این اسناد را میتوان به ماهیت ذاتی آنها نسبت داد که مستقل از پلتفرمها هستند، بنابراین تجربه رندر ثابت و قابل اعتمادی در محیطها دارند.
هر روز موارد زیادی وجود دارد که نیاز به خواندن و استخراج متن و اطلاعات جدولی از PDF وجود دارد. افراد و سازمان هایی که به طور سنتی این کار را به صورت دستی انجام می دادند، شروع به جستجوی جایگزین های تکنولوژیکی کرده اند که می تواند جایگزین تلاش دستی با استفاده از هوش مصنوعی شود.
OCR مخفف Optical Character Recognition است و از هوش مصنوعی برای تبدیل تصویر متن چاپ شده یا دست نویس به متن قابل خواندن توسط ماشین استفاده می کند. امروزه موتورهای OCR منبع باز و منبع بسته مختلفی وجود دارد. لازم به ذکر است که اغلب اوقات، پس از مطالعه OCR سند و خروجی ای متشکل از یک جریان متن، کار کامل نمی شود و لایه هایی از فناوری بر روی آن ساخته می شود تا از متن قابل خواندن با ماشین استفاده کند و ویژگی های مربوطه را استخراج کند. یک قالب ساختار یافته
برای استخراج جدول از فاکتور زیر استفاده می کنیم. هدف مطالعه مقدار، توضیحات، قیمت واحد، مقدار هر محصول در PDF فاکتور به صورت جدولی است.
اجازه دهید شروع کنیم.
پیش نیازها
OCR مورد نیاز برای پردازش فایل و استخراج جدول توسط یک فراخوانی API به Nanonets API مدیریت می شود.
برای برقراری فراخوانی API و گرفتن جداول استخراج شده از pdf، به این نیاز داریم درخواست کتابخانه برای کد پس پردازش که پاسخ API را به لیستی از دیتافریم ها تبدیل می کند، به آن نیاز داریم پانداها و بی حس کتابخانه با استفاده از pip می توانید آنها را در محیط پایتون خود نصب کنید.
pip install requests pandas numpy
برای دریافت اولین پیش بینی خود، قطعه کد زیر را اجرا کنید. برای احراز هویت باید API_KEY و MODEL_ID خود را اضافه کنید.
با ثبتنام میتوانید API_KEY و MODEL_ID رایگان خود را دریافت کنید https://app.nanonets.com/#/signup?redirect=tools.
پس از انجام، زیر قطعه کد را اجرا کنید.
import requests url = 'https://app.nanonets.com/api/v2/OCR/Model/REPLACE_MODEL_ID/LabelFile/?async=false' data = {'file': open('invoice.png', 'rb')} response = requests.post(url, auth=requests.auth.HTTPBasicAuth('REPLACE_API_KEY', ''), files=data)
خروجی زیر را دریافت می کنیم.
La result
شی شامل آرایه ای از اشیاء نتیجه صفحه است. هر شی شامل prediction
شی دارای تمام جداول شناسایی شده به عنوان عناصر آرایه است. سپس هر جدول شناسایی شده دارای یک آرایه به نام است cells
، که آرایه ای از تمام سلول های جدول شناسایی شده است. سطر، ستون و متن اصلی شناسایی شده به عنوان وجود دارد row
, col
, ocr_text
ویژگی هر شی سلول در cells
.
اکنون برخی از پردازش های پست را برای تبدیل پاسخ json به دیتافریم های پاندا انجام می دهیم. پس از دریافت پاسخ API در بالا، میتوانید قطعه کد زیر را اجرا کنید تا فهرستی از فریمهای داده حاوی جداول شناسایی شده را دریافت کنید.
import pandas as pd
import numpy as np alldfs = []
for item in response.json()["result"]: tables = [] dfs = [] for pred in item['prediction']: if pred['type'] == 'table': labels = ['none'] * 100 maxcol = 0 for cell in pred['cells']: if labels[cell['col'] - 1] == 'none': labels[cell['col'] - 1] = cell['label'] if cell['col'] > maxcol: maxcol = cell['col'] labels = labels[:maxcol] df = pd.DataFrame(index=np.arange(100), columns=np.arange(100)) for cell in pred['cells']: df[cell['col']][cell['row']] = cell['text'] df=df.dropna(axis=0,how='all') df=df.dropna(axis=1,how='all') df.columns = labels tables.append(df) alldfs.append(tables)
پس از اجرای این، alldfs
شی فهرستی است که در آن هر شیء فهرست حاوی پیشبینیهایی برای هر صفحه از سند است. علاوه بر این، هر یک از این شیها، خود فهرستی از قابهای داده است که شامل تمام جداول آن صفحه است.
می بینیم که دو جدول موجود در پی دی اف فاکتور شناسایی شده و به عنوان قاب داده در صفحه اول ذخیره شده اند. alldfs[0]
، و دو جدول قابل دسترسی هستند alldfs[0][0]
و alldfs[0][1]
.
بنابراین، ما OCR را بر روی اولین فایل PDF خود انجام داده و جداول را از آن استخراج کرده ایم. ما پاسخ json را بررسی کردیم و پسپردازش را با استفاده از پانداها و numpy انجام دادیم تا دادهها را در قالب دلخواه دریافت کنیم. همچنین میتوانید پس پردازش خود را برای پردازش و استفاده از دادههای پاسخ json با توجه به مورد استفاده خود اعمال کنید.
ما همچنین یک پلتفرم بدون کد همراه با Nanoents API با پشتیبانی اضافی برای آیتم های خط، واردات و صادرات خودکار از ERP ها / نرم افزارها / پایگاه های داده محبوب، چارچوبی برای تنظیم قوانین تأیید و اعتبارسنجی و موارد دیگر ارائه می دهیم.
یکی از کارشناسان هوش مصنوعی ما میتواند با یک تماس ۱۵ دقیقهای درباره موارد استفاده شما صحبت کند، یک نسخه نمایشی شخصی به شما ارائه دهد و بهترین طرح را برای شما بیابد.
بیشتر انجام دهید - موارد خط و فیلدهای مسطح را استخراج کنید
میتوانید عملکرد OCR Nanonets را برای تشخیص فیلدهای مسطح و موارد خطی به همراه جداول از فایلهای pdf و تصاویر گسترش دهید. تو می توانی مدل سفارشی خود را در 15 دقیقه آموزش دهید برای شناسایی هر مورد خطی یا فیلد مسطح در یک تصویر یا یک فایل pdf. Nanonets همچنین مدلهای از پیش ساخته شده با پشتیبانی از آیتمهای خطی را برای انواع اسناد محبوب مانند فاکتورها، رسیدها، گواهینامههای رانندگی، کارتهای شناسایی، رزومه و غیره ارائه میکند.
بنابراین، ایجاد یک مدل سفارشی یا استفاده از یکی از مدلهای از پیش ساخته شده به شما امکان میدهد موارد خط، فیلدهای مسطح و جداول را در یک تماس API شناسایی و استخراج کنید.
بیایید فاکتور بالا را مثال بزنیم. اکنون هدف شناسایی فیلدهای مسطح مانند نام فروشنده، آدرس فروشنده، شماره تلفن، ایمیل، مبلغ کل به همراه جداول فایل pdf فاکتور با استفاده از Nanonets OCR است.
شما می توانید بروید https://app.nanonets.com و مدل نوع سند فاکتور از پیش آموزش دیده را شبیه سازی کنید.
پس از انجام، به سمت ادغام بخش در صفحه ناوبری سمت چپ، که قطعات کد آماده برای استخراج موارد خط، فیلدهای مسطح و جداول را با استفاده از Nanonets API می دهد.
با اجرای قطعه کد بالا در فایل فاکتور، میتوانیم موارد خط را همراه با جداول در تماس API شناسایی کنیم.
همچنین میتوانید از پلتفرم آنلاین ما برای راهاندازی یک گردش کار خودکار و استخراج آیتمها و جداول خط از فایلها و تصاویر PDF، پیکربندی ادغامهای خارجی با ERP / نرمافزار / پایگاههای داده محبوب و تنظیم قوانین تأیید و تأیید استفاده کنید.
یکی از کارشناسان هوش مصنوعی ما میتواند با یک تماس ۱۵ دقیقهای درباره موارد استفاده شما صحبت کند، یک نسخه نمایشی شخصی به شما ارائه دهد و بهترین طرح را برای شما بیابد.
ما استخراج جدول را در پلتفرم آنلاین خود و همچنین از طریق Nanonets API ارائه می دهیم. هنگامی که حساب Nanonets شما راهاندازی شد، میتوانید از پلتفرم به جای API برای استخراج جداول از اسناد خود استفاده کنید.
شما می توانید گردش کار خود را در اینجا پیکربندی کنید. ما ادغام های آماده با چندین ERP / نرم افزار / پایگاه داده محبوب را ارائه می دهیم.
- واردات و صادرات خودکار به ERP / نرم افزار / پایگاه داده
- قوانین تأیید و اعتبار سنجی خودکار را تنظیم کنید
- پیکربندی پس پردازش پس از استخراج
یکی از کارشناسان هوش مصنوعی ما میتواند با یک تماس ۱۵ دقیقهای درباره موارد استفاده شما صحبت کند، یک نسخه نمایشی شخصی به شما ارائه دهد و بهترین طرح را برای شما بیابد.
مجموعه ای از ابزارهای آنلاین رایگان OCR وجود دارد که می توان از آنها برای انجام OCR و استخراج جداول به صورت آنلاین استفاده کرد. این به سادگی این است که فایل های ورودی خود را آپلود کنید، منتظر بمانید تا ابزار پردازش و خروجی بدهد، و سپس خروجی را با فرمت مورد نیاز دانلود کنید.
در اینجا لیستی از ابزارهای OCR آنلاین رایگان ارائه شده است -
آیا یک OCR سازمانی / مورد استفاده پردازش اسناد هوشمند دارید؟ Nanonets را امتحان کنید
ما راهحلهای OCR و IDP را برای موارد مختلف سفارشیسازی میکنیم - اتوماسیون حسابهای پرداختنی، اتوماسیون فاکتور، اتوماسیون حسابهای دریافتنی، رسید / کارت شناسایی / DL / پاسپورت OCR، ادغام نرمافزار حسابداری، اتوماسیون BPO، استخراج جدول، استخراج PDF و بسیاری موارد دیگر. محصولات و راه حل های ما را با استفاده از منوهای کشویی در سمت راست بالای صفحه کاوش کنید.
به عنوان مثال، فرض کنید تعداد زیادی فاکتور دارید که هر روز تولید می شود. با نانو شبکه ها، می توانید این تصاویر را آپلود کنید و به مدل خود آموزش دهید که به دنبال چه چیزی باشد. به عنوان مثال: در فاکتورها، می توانید یک مدل برای استخراج نام و قیمت محصول بسازید. هنگامی که حاشیه نویسی شما انجام شد و مدل شما ساخته شد، یکپارچه سازی آن به آسانی کپی کردن 2 خط کد است.
در اینجا چند دلیل وجود دارد که باید به استفاده از نانو شبکه ها فکر کنید:
- نانوشبکه ها استخراج متن، ساختار داده های مربوطه را در فیلدهای مورد نیاز و دور انداختن داده های نامربوط استخراج شده از تصویر را آسان می کند.
- با چندین زبان به خوبی کار می کند
- عملکرد خوبی روی متن در طبیعت دارد
- داده های خود را آموزش دهید تا برای مورد استفاده شما کار کند
- Nanonets OCR API به شما این امکان را میدهد که مدلهای خود را با دادههای جدید به آسانی دوباره آموزش دهید، بنابراین میتوانید عملیات خود را در هر کجا سریعتر خودکار کنید.
- هیچ تیم داخلی از توسعه دهندگان مورد نیاز نیست
بازدید نانوت برای راه حل های OCR و IDP سازمانی.
ثبت نام برای شروع یک آزمایش رایگان
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://nanonets.com/blog/extract-tables-from-pdf-in-python/
- :است
- $UP
- 1
- 100
- 7
- a
- بالاتر
- قابل دسترسی است
- مطابق
- حساب
- حسابداری (Accounting)
- حساب ها
- حساب های قابل پرداخت
- اتوماسیون حساب های پرداختنی
- در میان
- اضافه
- نشانی
- اتخاذ
- پس از
- AI
- معرفی
- اجازه می دهد تا
- جایگزین
- مقدار
- و
- هر کس
- هر جا
- API
- درخواست
- تصویب
- هستند
- صف
- AS
- At
- خواص
- اتهام
- تصدیق کردن
- خودکار بودن
- خودکار
- اتوماسیون
- در دسترس
- BE
- بودن
- در زیر
- بهترین
- بلاگ
- ساختن
- ساخته
- دسته
- by
- صدا
- نام
- CAN
- می توانید دریافت کنید
- کارت
- کارت ها
- مورد
- موارد
- سلول ها
- شخصیت
- شخصیت شناسی
- را انتخاب کنید
- رمز
- ستون
- ستون ها
- COM
- کامل
- در نظر بگیرید
- استوار
- شامل
- شامل
- تبدیل
- کپی برداری
- ایجاد
- گذشت
- سفارشی
- داده ها
- پایگاه های داده
- روز
- شرح
- مطلوب
- شناسایی شده
- توسعه دهندگان
- DID
- بحث و تبادل نظر
- سند
- اسناد و مدارک
- رانندگی
- هر
- تلاش
- عناصر
- پست الکترونیک
- کار می کند
- موتورهای حرفه ای
- سرمایه گذاری
- محیط
- محیط
- ERP
- برآورد
- و غیره
- هر
- هر روز
- هر روز
- مثال
- موجود
- تجربه
- کارشناسان
- اکتشاف
- صادرات
- گسترش
- خارجی
- عصاره
- سریعتر
- کمی از
- رشته
- زمینه
- پرونده
- فایل ها
- پیدا کردن
- نام خانوادگی
- صاف
- برای
- قالب
- چارچوب
- رایگان
- امتحان رایگان
- از جانب
- قابلیت
- بعلاوه
- تولید
- دریافت کنید
- گرفتن
- دادن
- داده
- می دهد
- Go
- هدف
- آیا
- داشتن
- اینجا کلیک نمایید
- HTTPS
- ID
- تصویر
- تصاویر
- اجرای
- واردات
- واردات
- in
- مستقل
- اطلاعات
- ذاتی
- ورودی
- نصب
- در عوض
- ادغام
- یکپارچگی
- هوشمند
- پردازش هوشمند اسناد
- معرفی
- IT
- اقلام
- خود
- کار
- json
- برچسب
- برچسب ها
- بزرگ
- لایه
- کتابخانه
- مجوزها
- پسندیدن
- لاین
- خطوط
- فهرست
- نگاه کنيد
- به دنبال
- دستگاه
- ساخت
- باعث می شود
- کتابچه راهنمای
- دستی
- بسیاری
- ماده
- مدل
- مدل
- بیش
- چندگانه
- نام
- نام
- طبیعت
- هدایت
- جهت یابی
- نیاز
- جدید
- اشاره کرد
- عدد
- بی حس
- هدف
- اشیاء
- OCR
- of
- ارائه
- پیشنهادات
- on
- ONE
- آنلاین
- ابزارهای آنلاین ocr
- منبع باز
- عملیات
- تشخیص شخصیت نوری
- سازمان های
- اصلی
- خود
- با ما
- پانداها
- قطعه
- گذرنامه
- مردم
- انجام
- انجام
- شخصی
- تلفن
- برنامه
- سکو
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- محبوب
- پست
- پیش گویی
- پیش بینی
- پیش نیازها
- در حال حاضر
- قیمت
- قیمت
- روند
- در حال پردازش
- محصول
- محصولات
- ارائه
- پــایتــون
- مقدار
- خواندن
- اماده
- دلایل
- رسید
- به رسمیت شناختن
- مربوط
- قابل اعتماد
- تفسیر
- جایگزین کردن
- درخواست
- ضروری
- پاسخ
- نتیجه
- ROW
- قوانین
- دویدن
- در حال اجرا
- خدمت
- تنظیم
- محیط
- چند
- باید
- امضای
- به سادگی
- تنها
- So
- نرم افزار
- مزایا
- برخی از
- می ایستد
- شروع
- آغاز شده
- راه افتادن
- ذخیره شده
- جریان
- ساختار
- ساخت یافته
- چنین
- پشتیبانی
- جدول
- استخراج جدول
- گرفتن
- طول می کشد
- تیم
- فنی
- پیشرفته
- که
- La
- جهان
- شان
- آنها
- اینها
- از طریق
- بار
- به
- امروز
- ابزار
- ابزار
- بالا
- جمع
- طرف
- به طور سنتی
- دگرگون کردن
- محاکمه
- تریلیون
- آموزش
- انواع
- واحد
- آپلود
- URL
- us
- استفاده کنید
- مورد استفاده
- اعتبار سنجی
- مختلف
- منتظر
- خوب
- چی
- که
- اراده
- WISE
- با
- مهاجرت کاری
- جهان
- شما
- شما
- خودت
- یوتیوب
- زفیرنت