PDF یکی از پرکاربردترین فرمت های داده برای اسناد تجاری است. بسیاری از مشاغل و سازمان ها برای ایجاد و خواندن این اسناد PDF به ابزارهای مختلفی وابسته هستند.
با این حال، استخراج داده های خاص/مهم از فایل های PDF به طور انتخابی دشوار است.
اینجا جایی است که JSON (جاوا اسکریپت نشانه گذاری شی) به تصویر می آید.
این یکی از محبوب ترین فرمت های داده برای تبادل اطلاعات است. به خصوص وقتی صحبت از برنامه های کاربردی وب به میان می آید، بیشتر داده ها با استفاده از JSON از طریق API ها و پرس و جوهای DB.
در این پست وبلاگ به موارد زیر خواهیم پرداخت:
- چگونه Nanonets تبدیل داده های پیچیده را از اسناد پی دی اف تجاری پیچیده به فایل های JSON ساختاریافته خودکار می کند.
- چند تکنیک منبع باز رایگان برای تبدیل PDF به JSON با استفاده از ماژول های پایتون، لینوکس و جاوا اسکریپت.
- نحوه استخراج داده های خاص/پیچیده از فایل های PDF مانند جداول و رشته های خاص متن.
- گردش کار سفارشی که میتواند به خودکارسازی فرآیند تبدیل PDF به JSON کمک کند.
آیا می خواهید داده های خاصی را از اسناد PDF استخراج کنید و به JSON تبدیل کنید؟ وارسی Nanonets API برای خودکار کردن تبدیل دسته ای PDF به JSON از هر نوع سند فنی!
تبدیل خودکار PDF به JSON توسط نانو شبکه
- ثبت نام برای طرح رایگان Nanonets که اعتبار 100 صفحه را ارائه می دهد - بدون نیاز به کارت اعتباری.
- دسته ای از فایل های PDF کسب و کار خود را اضافه کنید
- نانوشبکهها فیلدها را از طیف وسیعی از انواع اسناد (فاکتورها، رسیدها، گواهینامه رانندگی، گذرنامهها و جداول) به صورت خودکار ضبط میکنند.
- همچنین میتوانید هوش مصنوعی نانوشبکهها را برای شناسایی/گرفتن فقط فیلدهای داده مورد علاقهتان از هر نوع سندی آموزش دهید!
- داده های استخراج شده را تأیید کنید و به عنوان خروجی JSON صادر کنید
- همچنین می توانید نانو شبکه ها را با میزبانی از نرم افزارهای ERP ادغام کنید – یک تماس را برنامه ریزی کنید با کارشناسان هوش مصنوعی ما برای آزمایش مورد استفاده شما.
- ما را بررسی کنید OCR API برای خودکار کردن گردش کار PDF به JSON
می خواهم به گرفتن اطلاعات از اسناد PDF و تبدیل به JSON، csv یا اکسل? دریابید که نانو شبکه ها چگونه می توانند کمک کنند.
نیاز به تبدیل PDF به JSON
تقریباً هر تجارتی برای به اشتراک گذاری اطلاعات به اسناد متکی است. اینها می توانند اسناد، فاکتورها، پرونده های مالیاتی، رسیدها، گزارش های پزشکی و موارد دیگر باشند.
این اسناد اغلب به صورت PDF به اشتراک گذاشته می شوند/دریافت می شوند.
اما اگر میخواهید اطلاعات حیاتی را جستجو کنید یا داشبوردی برای تجزیه و تحلیل و ذخیره تمام اطلاعات مهم بسازید، جمعآوری دستی دادهها از این فایلهای PDF میتواند کار دشواری باشد.
اگر پی دی اف ها به صورت الکترونیکی تولید شوند، می توانیم اطلاعات را در منابع داده کپی-پیست کنیم. در غیر این صورت، ممکن است مجبور شویم از OCR استفاده کنید و تکنیک های یادگیری ماشین برای استخراج اطلاعات.
همچنین، دادههای موجود در فایلهای PDF سازماندهی شده یا مستقیماً قابل خواندن توسط ماشین نیستند. بنابراین، ممکن است مجبور شویم اطلاعات را به صورت دستی جستجو کنیم.
اما وقتی صحبت از JSON می شود، همه چیز در جفت های کلید-مقدار سازماندهی می شود. در اینجا یک مثال است.
{
"company_name": "Company Name",
"Invoice_date": "Date ",
"Invoice_total":"$0.00",
"Invoice_line_items: "",
"Invoice_tax": ""
}
اگر میتوانید فرمت JSON بالا را ببینید، دادهها سازماندهیتر میشوند و همچنین میتوانید این اطلاعات را راحتتر در وب به اشتراک بگذارید. به همین دلیل است که صادرات داده ها از فایل های PDF به JSON برای بسیاری از شرکت ها بسیار مهم است.
مزایای تجاری که با JSON همراه است
فرمت داده JSON مزایای زیادی نسبت به PDF برای مشاغل دارد:
- JSON سریعتر است: استفاده از نحو JSON آسان است. هر زمان که میخواهید هر داده JSON را تجزیه کنید، در مقایسه با فایلهای PDF و سایر فرمتهای داده، اجرای آن بسیار سریعتر است. این به این دلیل است که نحو سبک است و پاسخ را به سرعت اجرا می کند.
- خواندنی تر: داده های JSON قابل خواندن تر است. ما یک نگاشت داده ساده با کلیدها و مقادیر خواهیم داشت. بنابراین، اگر به دنبال چیزی هستید یا دادهها را از فایلهای PDF سازماندهی میکنید، JSON راحتتر خواهد بود. علاوه بر این، JSON از تودرتوی داده ها پشتیبانی می کند و با این کار، داده های جداول را می توان به طور موثرتری ذخیره کرد.
- طرحواره مناسب: JSON برای اکثر سیستم عامل ها و زبان های برنامه نویسی جهانی است. بنابراین، اگر نرمافزار یا برنامه وب را برای خودکارسازی کسبوکار خود میسازید، JSON باید فرمت داده مناسبی باشد. همچنین، اکثر مرورگرهای وب از فرمت JSON پشتیبانی می کنند. از این رو ما نیازی به تلاش اضافی برای استفاده از نرم افزار شخص ثالث برای خواندن داده های JSON نداریم.
- اشتراک گذاری آسان: JSON بهترین ابزار برای به اشتراک گذاری داده ها در هر اندازه است، حتی جداول بزرگ یا متن و غیره. این به این دلیل است که JSON داده ها را در آرایه ها ذخیره می کند، بنابراین انتقال داده باعث دسترسی بیشتر به آن می شود. به همین دلیل، JSON یک فرمت فایل برتر برای APIهای وب و توسعه وب است.
در بخش بعدی، بیایید به برخی از چالشهایی که ممکن است هنگام تبدیل فایلهای PDF به فرمت JSON با آنها مواجه شویم، نگاهی بیاندازیم.
نانوشبکه ها بسیار جالب هستند موارد استفاده که می تواند عملکرد کسب و کار شما را بهینه کند، در هزینه ها صرفه جویی کند و رشد را افزایش دهد. پیدا کردن چگونه موارد استفاده نانوشبکه ها می تواند برای محصول شما اعمال شود.
چالش های تبدیل از PDF به JSON
بیایید به برخی از چالشهای صادرات از PDF به JSON نگاه کنیم.
- تشخیص فونت: افراد از فونت ها، رنگ ها و ترازهای مختلف در اسناد PDF استفاده می کنند. بنابراین، خواندن اینها برای تجزیه کننده ها واقعا سخت است. همچنین، هنگام صادرات این، باید قوانین خاصی را تعریف کنیم تا پس از تجزیهکننده دادهها، همه اطلاعات به درستی در قالب JSON نگاشت شوند. در چنین مواردی، عبارات منظم به طور گسترده برای انتخاب متن خاص و سپس صادر کردن آن به کلید صحیح در قالب JSON استفاده می شود.
- تشخیص متن از اسناد اسکن شده: همانطور که بحث شد، زمانی که PDF ها به صورت الکترونیکی تولید نمی شوند، باید از OCR استفاده کنیم و انتخاب OCR بسیار مهم است. اگرچه بسیاری از کاربران ابزارهای منبع باز مانند tesseract را امتحان می کنند، آنها مجموعه ای از محدودیت های خاص خود را دارند. به عنوان مثال، اگر متن هنگام عکسبرداری به درستی ثبت نشده باشد یا در تراز نادرست باشد، ممکن است tesseract کار نکند و انتخاب ابزارهای دیگر میتواند گران باشد.
- جداول شناسایی: اکثر اسناد تجاری حاوی اطلاعات جدولی هستند و تعیین این جداول از اسناد PDF و تبدیل آنها به JSON یک کار چالش برانگیز است. چند کتابخانه مبتنی بر پایتون و جاوا وجود دارند که می توانند به استخراج جداول از اسناد PDF ساخته شده الکترونیکی کمک کنند.
- شناسایی جداول از فایل های PDF اسکن شده: وقتی فایلهای PDF اسکن میشوند، اکثر بستهها کار نمیکنند. در این مورد، اگر یک OCR منبع باز مانند tesseract را انتخاب کنیم، می تواند متن را استخراج کند اما می تواند تمام قالب بندی جدول را از دست بدهد. بنابراین، انتخاب موارد طرح کلی در قالب نادرست چالش برانگیز است. اینجاست که باید از یادگیری ماشینی و الگوریتمهای مبتنی بر یادگیری عمیق استفاده کنیم. برخی از الگوریتمهای محبوب مبتنی بر CNN هستند و تحقیقات زیادی برای بهبود این الگوریتمها در حال انجام است.
در زیر برخی از مقالات تحقیقی که مشکل استخراج جدول از اسناد را حل می کنند آورده شده است:
در بخش بعدی، بیایید نحوه تجزیه داده ها از PDF برای تولید فایل های JSON را بررسی کنیم.
تجزیه داده ها از فایل های PDF و تولید فایل های JSON با استفاده از پایتون و لینوکس
اگر تجربه توسعه دهنده ای داشته باشید، تجزیه از طریق فایل های PDF کار پیچیده ای نیست.
در ابتدا، باید بررسی کنیم که آیا فایلهای PDF ما حاوی دادههای متنی هستند یا از تصاویر اسکن شده تشکیل شدهاند. اگر متنی برگردانده نشد، باید بررسی کنیم که آیا میتوانیم دادههای متنی را استخراج کنیم یا فایلها را از طریق یک کتابخانه OCR لوله کنیم.
این را می توان با استفاده از کتابخانه پایتون یا با تکیه بر برخی ابزارهای خط فرمان لینوکس به دست آورد.
Pdfttext یکی از محبوب ترین کتابخانه ها برای تجزیه PDF های الکترونیکی است. میتوانیم از این برای تبدیل تمام دادههای PDF به فرمت متنی و سپس فشار دادن آن به فرمت JSON استفاده کنیم.
در اینجا برخی از دستورالعمل ها در مورد نحوه استفاده از ما آورده شده است pdftotext
و از طریق PDF در یک ماشین لینوکس تجزیه کنید.
ابتدا ابزارهای خط فرمان را نصب کنید:
sudo apt-get install poppler-utils
بعد از استفاده از pdftotext
دستور دهید و مسیر منبع فایل PDF و محل فایل متنی مقصد را اضافه کنید.
pdftotext {PDF-file} {text-file}
با این کار باید بتوانیم تمام متن های قابل خواندن را از فایل های PDF استخراج کنیم.
برای تولید یک فایل JSON، باید دوباره بر روی یک اسکریپت بر اساس دادههایمان کار کنیم که میتواند متن را تجزیه کند و آنها را به جفتهای کلید-مقدار مربوطه صادر کند.
در اینجا یک نمونه اسکریپت است که در پایتون نوشتیم که یک اسکریپت ساده را تبدیل می کند .txt
فایل به فرمت JSON
import json
filename = 'data.txt'
dict1 = {}
with open(filename) as fh:
for line in fh:
command, description = line.strip().split(None, 1)
dict1[command] = description.strip()
# creating json file
# the JSON file is named as test1
out_file = open("test1.json", "w")
json.dump(dict1, out_file, indent = 4, sort_keys = False)
out_file.close()
داده های داخل فایل متنی را به صورت زیر در نظر بگیرید:
invoice_id #234
invoice_name Invoice from AWS
invoice_total $345
در اینجا، ابتدا کتابخانه JSON داخلی را وارد کردیم. اکنون یک نوع داده فرهنگ لغت ایجاد می کنیم تا تمام جفت های کلید-مقدار از فایل های متنی ذخیره شود. در مرحله بعد، هر خط را در فایل تکرار می کنیم و آن را به دستور، توضیحات بر می کنیم و در فرهنگ لغت ایجاد می کنیم. در نهایت، یک فایل JSON جدید می سازیم و از آن استفاده می کنیم json.dump
روشی برای ریختن فرهنگ لغت در فایل JSON با یک پیکربندی خاص که شامل مرتبسازی و تورفتگی است.
با این حال، دادههای ما از فایلهای پیدیاف بهاندازهای که در مثال ذکر شده سازماندهی نشدهاند. بنابراین، ممکن است مجبور شویم از خطوط لوله و اسکریپت های سفارشی برای انجام قالب بندی متن پیچیده استفاده کنیم. در چنین مواردی ابزارهایی مانند نانوت انتخاب بسیار خوبی خواهد بود، و همچنین در بخشهای بعدی به نحوه حل این مشکل توسط نانو شبکهها به روشی بسیار سادهتر خواهیم پرداخت.
قبل از آن، بیایید به یک کتابخانه دیگر نگاه کنیم که PDF را با استفاده از node.js به JSON تبدیل می کند:
pdf2json
هست یک node.js ماژولی که PDF را از باینری به فرمت JSON تجزیه و تبدیل می کند. ساخته شده است با pdf.js و آن را با عناصر فرم تعاملی و تجزیه محتوای متنی در خارج از مرورگر گسترش می دهد.
در اینجا نمونه ای از استفاده از این ماژول برای تجزیه فایل های JSON آورده شده است:
ابتدا مطمئن شوید که داشته باشید npm
نصب و ماژول را با استفاده از دستور زیر نصب کنید:
npm install pdf2json
بعد، در سرور گره خود، می توانید از قطعه زیر استفاده کنید که بارگذاری می شود pdf2json و pdf را به JSON صادر می کند:
let fs = require('fs'),
PDFParser = require("pdf2json");
let pdfParser = new PDFParser();
pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError) );
pdfParser.on("pdfParser_dataReady", pdfData => {
fs.writeFile("./pdf2json/test/F1040EZ.json", JSON.stringify(pdfData));
});
pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");
قطعه کد بالا از یک نمونه فایل JSON از ماژول استفاده می کند و آن را به یک فایل JSON صادر می کند، ما می توانیم این را در قسمت بررسی کنیم. ./test/target/
پوشه در پروژه شما ب
elow، یک اسکرین شات از نحوه صادرات فایلهای JSON توسط ماژول پیدا خواهید کرد:
برای تجزیه از طریق PDF در جداول، این کتابخانه ها ممکن است کار نکنند!
برای استخراج داده های جدولی در JSON، باید از الگوریتم های OCR و یادگیری ماشین استفاده کنید. همانطور که در زیر می بینید، نانونت ها دقیقاً این کار را انجام می دهند:
تبدیل سفارشی داده از PDF به JSON
گاهی اوقات، هنگام استخراج داده ها از اسناد تجاری، ممکن است نیاز به سفارشی سازی داشته باشیم. به عنوان مثال، بگوییم اگر فقط صفحات یا جداول خاصی را می خواهیم، نمی توانیم مستقیماً این کار را انجام دهیم. در این مورد، ممکن است نیاز به ارائه قوانین اضافی به تجزیه کننده ها داشته باشیم که باز هم زمان بر است. اما بیایید ببینیم چگونه میتوانیم سفارشیسازی و اقداماتی را که بیشتر مردم به آن نیاز دارند انجام دهیم.
در زیر برخی از اقدامات لازم برای سفارشی سازی در تبدیل PDF به JSON آورده شده است:
- فقط متن یا صفحات خاصی را از PDF استخراج کنید
- تمام جداول را از اسناد PDF استخراج کنید
- استخراج ستون های خاص از جداول خاص در PDF
- متن را از فایلهای PDF قبل از صادرات به JSON فیلتر کنید
- ایجاد JSON تودرتو بر اساس داده های استخراج شده از PDF
- ساختار JSON را بر اساس داده ها قالب بندی کنید
- ایجاد، حذف، به روز رسانی مقادیر فیلدهای خاص در JSON پس از استخراج
اینها برخی از اقداماتی هستند که اغلب برای ذخیره داده های ما به روش های مختلف مورد نیاز هستند، یا می گویند آیا ما در حال ساخت API برای یک برنامه هستیم. بیایید ببینیم چگونه می توانیم به اینها برسیم.
استخراج متن خاص: در فایلهای PDF، میتوانیم متن خاصی را با استفاده از عبارات منظم استخراج کنیم. برای مثال، بگوییم اگر همه ایمیلها و شمارههای تلفن را با استفاده از regex میخواهیم، میتوانیم آنها را انتخاب کنیم. اگر فایلهای PDF در قالب اسکن شده هستند، باید آنها را بر اساس یک الگوریتم یادگیری عمیق آموزش دهیم که بتواند طرحبندی فایلهای PDF را بفهمد و فیلدها را بر اساس مختصات و حاشیهنویسیهای دادههای آموزشی استخراج کند. یکی از محبوبترین مخازن منبع باز برای درک طرحبندی اسناد و استخراج متن، LayoutML است و بر روی مدلهای BERT برای استخراج متن سفارشی آموزش میدهد. با این حال، ما باید داده های کافی برای دستیابی به دقت بالاتر در استخراج متن داشته باشیم.
سفارشی سازی جدول: همانطور که بحث شد، جداول را می توان با استفاده از کتابخانه هایی مانند Camelot و Tabula-py یا با استفاده از OCR و الگوریتم های مبتنی بر یادگیری عمیق استخراج کرد. اما برای سفارشی سازی، باید از کتابخانه هایی مانند پانداها استفاده کنیم. این به ما امکان میدهد تا دادهها را از جداول ایجاد، بهروزرسانی و سریالسازی کنیم. از یک نوع داده سفارشی به نام قاب داده استفاده می کند که به طور گسترده برای دستکاری و سفارشی کردن داده های جدول استفاده می شود. از دیگر مزایای استفاده از پانداها می توان به نوشتن توابع سفارشی اشاره کرد که می توانند عملیات ریاضی خاصی را در طول فرآیند استخراج انجام دهند.
قالب بندی داده های JSON: پس از صادرات PDF به JSON، قالببندی آنها کار سادهای است، زیرا ما یک نوع داده قابل تنظیمتر داریم که جفتهای کلید-مقدار است. ما میتوانیم اسکریپتهای ساده ایجاد کنیم یا از ابزارهای آنلاین برای جستجو در این جفتهای کلید-مقدار و قالببندی آنها استفاده کنیم. برخی از رایج ترین پارامترها برای قالب بندی عبارتند از تورفتگی، جداکننده، کلیدهای مرتب سازی، بررسی های دایره ای، بررسی داده ها. اگر از JSON به عنوان یک API استفاده میشود، میتوانیم از Postman یا هر برنامه افزودنی مرورگر برای قالببندی دادهها و تعامل با APIها استفاده کنیم.
آیا می خواهید اطلاعات را از اسناد PDF استخراج کنید و آنها را به فرمت JSON تبدیل کنید؟ برای صدور خودکار هرگونه اطلاعات از هر سند PDF به JSON، Nanonets را بررسی کنید.
- AI
- هوش مصنوعی و یادگیری ماشین
- آی هنر
- مولد هنر ai
- ربات ai
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- اتوماسیون
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- تبدیل pdf به json
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- OCR
- pdf به json
- تبدیل pdf به json
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت