استخراج داده های جدولی، هوش داده PlatoBlockchain. جستجوی عمودی Ai.

استخراج داده های جدولی

می خواهند استخراج کنند داده های جدولی از فاکتورها، رسیدها یا هر نوع سند دیگری؟ وارسی نانوتOCR مبتنی بر هوش مصنوعی برای استخراج داده های جدولی.


معرفی

جدول اکسل با تکیه بر سادگی آن، غالب ترین راه برای ذخیره سازی داده های ساخت یافته به صورت دیجیتالی بوده است. صفحات گسترده به ظاهر ساده در واقع به طور محکم با پردازش داده های روزانه توسط شرکت ها و سازمان های بزرگ مرتبط هستند. با چند کلیک، شرکت‌ها اکنون می‌توانند وظایف را بین کارگران مختلف توزیع کنند، بودجه‌ها را از جریان‌های نقدی متعدد پیگیری کنند، و حتی پیش‌بینی‌های دقیقی از داده‌های گذشته انجام دهند.

با این حال، در حالی که وقتی همه داده‌ها به درستی به اکسل وارد می‌شوند، می‌توانیم کارهای زیادی را به راحتی انجام دهیم، فرآیند استخراج داده‌ها از جداول، اسکن‌ها یا حتی تصاویر از قبل موجود در وهله اول آسان نیست. از آنجایی که نمایش صفحه گسترده در حال حاضر مزایای زیادی برای پردازش و تجسم داده ها به ارمغان می آورد، وظیفه استخراج داده ها از طریق بینایی کامپیوتری، پردازش تصویر و رویکردهای یادگیری عمیق یکی از موضوعات داغ در جامعه تحقیقاتی امروزی است - ارائه جدول بدون خطا. به نظر می رسد استخراج داده ها چیزی بسیار نزدیک و در عین حال بسیار دشوار است.

این مقاله مراحل سطح بالای مقابله با این کار را معرفی می‌کند و به دنبال آن آخرین پیشرفت‌ها در روش‌های استخراج داده‌ها و آموزش‌هایی برای دستیابی به چنین وظایفی به صورت دستی و خودکار ارائه می‌شود و در نهایت با برجسته‌سازی مختصری در مورد راه‌حل‌های فعلی بازار برای انجام این وظایف همراه است.

تجزیه مشکل

وظیفه استخراج داده های جدولی را می توان به دو مشکل فرعی تقسیم کرد: 1) استخراج جداول از اسکن ها/تصاویر/ اسناد PDF که در آن قالب توسط ماشین ها قابل تشخیص نیست و 2) درک/تفسیر کلمات داخل سلول های جدول به طوری که بتوان آن را تشخیص داد. به درستی به فایل های CSV برای صفحات گسترده وارد شده است.

از موارد استخراج داده های جدولی استفاده کنید

استخراج داده های جدولی - موارد استفاده
استخراج داده های جدولی - موارد استفاده

ردیابی جریان نقدی تجاری

اگر منابع خرید و فروش شرکت شما از یک منبع باشد، می توانید به سرعت رسیدها را به صورت دستی برای ردیابی آسان مقایسه کنید. با این حال، این اغلب به خصوص برای شرکت های بزرگ صدق نمی کند. وجوه می تواند از منابع مختلف وارد و خارج از شرکت شود و اغلب دارای فرمت های مختلف دریافت و فاکتور هستند. سرمایه گذاران، خریداران و فروشندگان همگی می توانند متمایز باشند و می توانند از مکان ها یا حتی کشورهای مختلف آمده باشند. این مشکل زمانی تشدید می‌شود که پرداخت‌ها به زبان‌های دیگر انجام شود.

سال به سال، منابع زیادی برای استخدام کارمندان برای انجام این وظایف به ظاهر ساده اما مستعد خطا مورد نیاز است. یک روش خودکار اسکن و استخراج داده های جدولی به طور چشمگیری به این شرکت ها کمک می کند تا در هزینه، زمان و منابع صرفه جویی کنند. علاوه بر این، یک صفحه گسترده مستند به خوبی می تواند پردازش پست برای تجزیه و تحلیل داده ها را بسیار ساده تر کند. شرکت ها به راحتی می توانند بودجه و پیش بینی های مالی را از طریق الگوریتم های یادگیری ماشینی به سادگی با استخراج داده ها از چندین برگه اکسل سازماندهی شده انجام دهند.

انتقال رکورد بین کسب و کار

استخراج داده های جدولی - مورد استفاده
استخراج داده های جدولی - مورد استفاده

هنگام جابجایی به مکان‌ها، کشورها، یا انتخاب خدمات مختلف، مشتریان باید داده‌های یکسانی را از سیستم‌های قبلی به ارائه‌دهنده خدمات جدید منتقل کنند. چنین داده‌هایی می‌تواند شامل داده‌های پزشکی، صورت‌حساب‌های بانکی و غیره باشد، اما محدود به آن نیست.

با ترکیب سیستم‌هایی برای درک و ترجمه داده‌ها از یک سرویس به سرویس دیگر، شرکت‌ها می‌توانند تا حد زیادی با کاهش هزینه‌ها سود ببرند.


می خواهند استخراج کنند داده های جدولی از فاکتورها، رسیدها یا هر نوع سند دیگری؟ وارسی نانوتOCR مبتنی بر هوش مصنوعی برای استخراج داده های جدولی.


شرکت های حسابداری

شرکت‌های حسابداری یک مشکل دوگانه دارند: تطبیق جریان نقدی دشوار برای هر یک از شرکت‌های مشتری و فرمت‌های مختلف جدولی و ذخیره‌سازی داده‌ها در بین شرکت‌ها از کشورهای مختلف. در طول فصل‌های گزارش‌دهی مالیاتی شلوغ که زمان بیشترین اهمیت را دارد، یک راه‌حل استخراج خودکار داده‌ها با حداقل میزان خطا در کاهش کار سنگین یدی مفید خواهد بود.

چگونه کار می کند؟

استخراج داده های جدولی برای حسابداری
استخراج داده های جدولی برای حسابداری

در حالی که تقریباً همه می‌دانند که یادگیری ماشینی می‌تواند به تسهیل این اتوماسیون کمک کند، تعداد کمی از مفاهیم پشت آن را می‌دانند.

در واقع، آنچه در این مورد استفاده می کنیم مفهومی به نام یادگیری عمیق است که زیرشاخه ای از یادگیری ماشین است: یک شاخه کلی از درک / یادگیری سیستم میانی / عملکرد بین مجموعه ای از ورودی ها و خروجی ها، به طوری که ما می توانیم از تابع برای پیش بینی های آینده استفاده کنید. به طور خلاصه، یادگیری عمیق عملکرد را از طریق ابزار قدرتمندی به نام شبکه‌های عصبی شبیه‌سازی می‌کند که شبیه شبکه‌های عصبی بیولوژیکی است. ما وزن ها و نورون های مناسب را از طریق به حداقل رساندن تفاوت بین پیش بینی خود و حقیقت واقعی واقعی یاد می گیریم.

تغییرات زیادی در مورد نحوه ساخت این شبکه وجود دارد. در زیر انواع ضروری مورد نیاز برای استخراج داده های جدولی را شرح می دهیم

CNN

شبکه‌های عصبی کانولوشنال (CNN) از نورون‌هایی با وزن‌ها و سوگیری‌های قابل یادگیری تشکیل شده‌اند که بسیار شبیه به شبکه‌های عصبی هستند. تفاوت اصلی این است که فرض می‌کنیم ورودی‌ها تصاویری برای CNN‌ها هستند و به ما اجازه می‌دهند تا ویژگی‌های خاصی را در معماری به نام Kernels تعبیه کنیم، که یک پنجره کشویی است که ویژگی‌های همسایه را به عنوان یک مجموع وزن دار برای تغذیه به لایه بعدی جمع می‌کند. در نتیجه، عملکرد رو به جلو برای پیاده سازی کارآمدتر است و به طور قابل توجهی بهبود می یابد. CNN ها زمانی مفید هستند که بخواهیم اشیاء خاصی را در داخل یک تصویر و در این مورد، یک جدول پیدا کنیم.

RNN

از سوی دیگر، شبکه‌های عصبی بازگشتی (RNNs)، دسته‌ای از شبکه‌ها هستند که اجازه می‌دهند خروجی‌های قبلی به عنوان ورودی برای پیش‌بینی بعدی استفاده شوند. این امر به ویژه زمانی مفید است که پیش‌بینی به نتایج زمان قبلی وابسته باشد (به عنوان مثال، در پیش‌بینی آب و هوا، این سوال که آیا امروز باران خواهد بارید یا نه، به شدت به این بستگی دارد که آیا روز قبل باران می‌باریده است). این نوع معماری هنگام تلاش برای درک معنای جمله ای که کلمات قبلی ممکن است بر معنای کلمه فعلی تأثیر بگذارند مفید است.

کنار هم قرار دادن مفاهیم

با آموزش مجموعه داده های مناسب، اکنون می توانیم داده های جدولی را از طریق روش زیر استخراج کنیم:

  1. استفاده از CNN برای طبقه بندی نوع سند در یک تصویر است. این به ما امکان می دهد هنگام انتخاب ردیاب های مختلف میز آموزش دیده که به طور بالقوه می توانند در سناریوهای مختلف بهتر عمل کنند (به عنوان مثال، یکی برای فاکتور و دیگری برای صورتحساب های بانکی) دقیق تر عمل کنیم.
  2. استفاده از CNN برای شناسایی بیشتر جداول، ردیف ها و ستون ها.
  3. ترکیب CNN و RNN برای انجام تشخیص نوری کاراکتر، که به ما امکان می‌دهد بفهمیم دقیقاً چه چیزی در هر جدول، ردیف یا ستون ذخیره می‌شود. درک «زبان» می‌تواند به ما امکان دهد داده‌های استخراج‌شده خود را در قالب‌های تعیین‌شده (مانند CSV یا JSON) قرار دهیم، جایی که بتوانیم آن‌ها را برای تجزیه و تحلیل‌های آماری و مقایسه‌های متقابل استفاده کنیم.

می خواهند استخراج کنند داده های جدولی از فاکتورها، رسیدها یا هر نوع سند دیگری؟ وارسی نانوتOCR مبتنی بر هوش مصنوعی برای استخراج داده های جدولی.


آموزش

تبدیل پی دی اف به عکس

استخراج داده‌های جدولی با استفاده از بینایی رایانه در نهایت به این معنی است که داده‌ها باید در قالب‌های تصویر پیش پردازش شوند، اگر قبلاً این کار انجام نشده است. رایج ترین نوع سندی که باید تبدیل شود PDF است و بنابراین اولین قدم ما تبدیل فایل های pdf به فایل های تصویری برای پردازش بیشتر خواهد بود. برای انجام این کار، ما به کتابخانه pdf2image نیاز داریم که می تواند به صورت زیر ذخیره شود.

pip install pdf2image

پس از آن، می توانیم موارد زیر را برای پیش پردازش فایل های pdf بنویسیم.

from pdf2image import convert_from_path, convert_from_bytes
from pdf2image.exceptions import ( PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError
) images = convert_from_path('example.pdf')
images = convert_from_bytes(open('example.pdf','rb').read())

کد ارائه شده هم از بایت و هم از مسیر ارائه می شود. مناسب برای نیازهای خود را انتخاب کنید.

یافتن جداول

برای یافتن جداول در یک تصویر، یک راه ساده، تشخیص خطوط و مرزهایی است که شبیه یک جدول هستند. ساده‌ترین راه استفاده از روش‌های بینایی رایانه‌ای سنتی از طریق OpenCV است (آموزش‌های زیادی را می‌توانید در اینجا پیدا کنید. وب سایت رسمی). برای استفاده از آن به سادگی آن را با:

pip install opencv-python

با این حال، اگر شرکت شما داده‌های فراوانی از شکل ظاهری جداول معمولی در پایگاه داده فایل‌های شما دارد، می‌توانید از روش‌های تشخیص شی برای یافتن جداول نیز پیروی کنید. برخی از روش های قابل توجه عبارتند از Faster RCNN و YOLO. توجه داشته باشید که با آموزش مدل خود برای این کار، به منابع محاسباتی مانند پردازنده‌های گرافیکی در طول آموزش، همراه با مقدار قابل توجهی از داده‌های مختلف از انواع سناریوهایی که تصویر/PDF اسکن شده در آن ضبط می‌شود، نیاز دارید.

استخراج محتوا از طریق Google Vision API

در نهایت، با ایجاد کادر محدود سلول‌های جدول، اکنون می‌توانیم به OCR برویم، که به نظر می‌رسد Google Vision API برای بازیابی OCR یکی از بهترین گزینه‌ها است. Google vision API بر اساس جمع سپاری گسترده به دلیل پایگاه مشتریان گسترده خود آموزش دیده است. بنابراین، به جای آموزش OCR شخصی، استفاده از خدمات آنها ممکن است دقت بسیار بالاتری داشته باشد.

راه اندازی کل Google Vision API آسان است. می توان به راهنمای رسمی آن در مورد مراجعه کرد https://cloud.google.com/vision/docs/quickstart-client-libraries برای روش دقیق تنظیم

کد زیر برای بازیابی OCR است:

def detect_document(path): """Detects document features in an image.""" from google.cloud import vision import io client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.document_text_detection(image=image) for page in response.full_text_annotation.pages: for block in page.blocks: print('nBlock confidence: {}n'.format(block.confidence)) for paragraph in block.paragraphs: print('Paragraph confidence: {}'.format( paragraph.confidence)) for word in paragraph.words: word_text = ''.join([ symbol.text for symbol in word.symbols ]) print('Word text: {} (confidence: {})'.format( word_text, word.confidence)) for symbol in word.symbols: print('tSymbol: {} (confidence: {})'.format( symbol.text, symbol.confidence)) if response.error.message: raise Exception( '{}nFor more info on error messages, check: ' 'https://cloud.google.com/apis/design/errors'.format( response.error.message))

اگر از تصاویر راه دور از Google cloud استفاده می کنید، می توانید به جای آن از کد زیر استفاده کنید:

def detect_text_uri(uri): """Detects text in the file located in Google Cloud Storage or on the Web. """    from google.cloud import vision client = vision.ImageAnnotatorClient() image = vision.Image() image.source.image_uri = uri response = client.text_detection(image=image) texts = response.text_annotations    print('Texts:') for text in texts: print('n"{}"'.format(text.description)) vertices = (['({},{})'.format(vertex.x, vertex.y)                  for vertex in text.bounding_poly.vertices])        print('bounds: {}'.format(','.join(vertices))) if response.error.message: raise Exception( '{}nFor more info on error messages, check: '            'https://cloud.google.com/apis/design/errors'.format(                response.error.message))

API گوگل بسیار منعطف است به این معنا که مدل یادگیری ماشینی آنها بسیار قوی و مقاوم در برابر بسیاری از سناریوهای چالش برانگیز است. توجه داشته باشید که تابع document_text_detection مخصوصاً در متون بسیار فشرده که بیشتر در فایل‌های PDF ظاهر می‌شوند، آموزش دیده و متخصص است. در حالی که این مورد نیاز بسیاری را برآورده می کند، اگر PDF شما کلمات کمی کمیاب تر دارد، ممکن است بهتر باشد از عملکرد تشخیص متن دیگر آنها استفاده کنید که بیشتر بر روی تصاویر در طبیعت متمرکز است.

کدهای بیشتر در مورد استفاده از Google API را می توان در اینجا بازیابی کرد: https://cloud.google.com/vision; اگر با آنها آشنایی بیشتری دارید، می‌توانید به کدهای زبان‌های دیگر (مانند جاوا یا Go) نیز مراجعه کنید.

همچنین سایر سرویس‌ها/APIهای OCR از آمازون و مایکروسافت وجود دارد و همیشه می‌توانید از آن‌ها استفاده کنید PyTesseract کتابخانه ای برای آموزش مدل خود برای اهداف خاص.


می خواهند استخراج کنند داده های جدولی از فاکتورها، رسیدها یا هر نوع سند دیگری؟ وارسی نانوتOCR مبتنی بر هوش مصنوعی برای استخراج داده های جدولی.


کدنویسی بلد نیستی؟ نانو شبکه ها را امتحان کنید!

اگر فردی بدون پیش زمینه علوم کامپیوتر هستید یا کسب و کار شما به چنین قابلیتی نیاز دارد، نانونتز یکی از بهترین فناوری های استخراج جدول را ارائه می دهد که می تواند فراتر از یک نوع داده واحد عمل کند. در اینجا یک آموزش کوتاه از نحوه استفاده از آن آورده شده است:

گام 1.

به nanonets.com بروید و ثبت نام کنید/ورود شوید.

استخراج داده های جدولی، هوش داده PlatoBlockchain. جستجوی عمودی Ai.
استخراج داده های جدولی - نانو شبکه ها

گام 2.

پس از ثبت نام، به قسمت «انتخاب برای شروع کار» بروید، جایی که تمام استخراج کننده های از پیش ساخته شده ساخته شده اند و روی تب «جدول» برای استخراج کننده طراحی شده برای استخراج داده های جدولی کلیک کنید.

گام 3.

استخراج داده های جدولی، هوش داده PlatoBlockchain. جستجوی عمودی Ai.

پس از چند ثانیه، صفحه استخراج داده ها ظاهر می شود که آماده است. فایل را برای استخراج آپلود کنید.

استخراج داده های جدولی، هوش داده PlatoBlockchain. جستجوی عمودی Ai.

گام 4.

پس از پردازش، نانوشبکه ها تمام اطلاعات جدولی را با دقت استخراج می کنند، حتی از فضاهای خالی پرش می کنند! همچنین می توان داده ها را برای دانلود و محاسبات بیشتر در JSON قرار داد.

استخراج داده های جدولی، هوش داده PlatoBlockchain. جستجوی عمودی Ai.

نتیجه

و شما آن را دارید! تاریخچه مختصری از پیشرفت تکنیک‌ها در استخراج داده‌های جدولی و نحوه ادغام آسان آن در کسب‌وکارتان. امیدواریم این کار باعث صرفه جویی در کار زیادی شود که قبلاً برای کلید زدن و بررسی مضاعف داده ها لازم بود.

تمبر زمان:

بیشتر از هوش مصنوعی و یادگیری ماشین