ڈیپ لرننگ کا استعمال کرتے ہوئے ٹیبل کا پتہ لگانا اور معلومات نکالنا

ماخذ نوڈ: 1325422

ٹیبل نکالنے کا تعارف

ایپلی کیشنز، سافٹ ویئر اور آن لائن پلیٹ فارمز کی بڑھتی ہوئی تعداد کے ساتھ جمع کیے جانے والے ڈیٹا کی مقدار روز بروز تیزی سے بڑھ رہی ہے۔

اس بہت زیادہ ڈیٹا کو نتیجہ خیز طریقے سے ہینڈل کرنے/اس تک رسائی حاصل کرنے کے لیے، معلومات کو نکالنے کے قیمتی ٹولز تیار کرنا ضروری ہے۔

انفارمیشن ایکسٹریکشن فیلڈ میں جن ذیلی شعبوں میں توجہ طلب ہے ان میں سے ایک تصویروں سے ٹیبلز کو نکالنا یا فارم، پی ڈی ایف اور دستاویزات سے ٹیبلر ڈیٹا کا پتہ لگانا ہے۔

ٹیبل نکالنا ایک دستاویز میں ٹیبل کی معلومات کا پتہ لگانے اور گلنے کا کام ہے۔

ٹیبل او سی آر - ایک تصویر سے ٹیبل ڈیٹا نکالنے والے نانونیٹ!
ٹیبل او سی آر - نانونٹس ایک تصویر سے ٹیبل ڈیٹا نکال رہے ہیں!

تصور کریں کہ آپ کے پاس ٹیبلر ڈیٹا کے ساتھ بہت ساری دستاویزات ہیں جو آپ کو مزید پروسیسنگ کے لیے نکالنے کی ضرورت ہے۔ روایتی طور پر، آپ انہیں دستی طور پر کاپی کر سکتے ہیں (کاغذ پر) یا انہیں ایکسل شیٹس میں لوڈ کر سکتے ہیں۔

تاہم، ٹیبل OCR سافٹ ویئر کے ساتھ، آپ خود بخود ٹیبلز کا پتہ لگا سکتے ہیں اور ایک ہی بار میں دستاویزات سے تمام ٹیبلر ڈیٹا نکال سکتے ہیں۔ اس سے بہت وقت اور دوبارہ کام کی بچت ہوتی ہے۔

اس مضمون میں، ہم سب سے پہلے دیکھیں گے کہ کس طرح Nanonets خود بخود تصاویر یا دستاویزات سے ٹیبل نکال سکتے ہیں۔ اس کے بعد ہم دستاویزات میں ٹیبلز کا پتہ لگانے اور نکالنے کے لیے کچھ مشہور DL تکنیکوں کا احاطہ کریں گے۔


انوائسز، رسیدوں یا کسی اور قسم کی دستاویز سے ٹیبلر ڈیٹا نکالنا چاہتے ہیں؟ Nanonets' چیک کریں پی ڈی ایف ٹیبل ایکسٹریکٹر ٹیبلر ڈیٹا نکالنے کے لیے۔ ڈیمو شیڈول کریں۔ خودکار کے بارے میں مزید جاننے کے لیے میز نکالنا.


کی میز کے مندرجات

Nanonets Table OCR کے ساتھ تصویر سے ٹیبل نکالیں۔

  • سائن اپ کریں ایک مفت Nanonets اکاؤنٹ کے لیے

    • Nanonets Table OCR ماڈل پر تصاویر/فائلیں اپ لوڈ کریں۔
    • Nanonets خود بخود تمام ٹیبلر ڈیٹا کا پتہ لگاتا اور نکالتا ہے۔
    • ڈیٹا میں ترمیم اور جائزہ لیں (اگر ضرورت ہو)
    • پروسیس شدہ ڈیٹا کو Excel، csv یا JSON کے بطور ایکسپورٹ کریں۔

Nanonets کے ساتھ تصویر سے ٹیبل نکالیں۔

کرنا چاہتے ہیں پی ڈی ایف سے ڈیٹا سکریپ کریں۔ دستاویزات، پی ڈی ایف ٹیبل کو ایکسل میں تبدیل کریں۔ or خودکار ٹیبل نکالنا? پتہ چلانا کس طرح Nanonets پی ڈی ایف سکریپر or پی ڈی ایف پارسر آپ کے کاروبار کو زیادہ پیداواری بنانے کی طاقت دے سکتے ہیں۔


Nanonets Table OCR API

ٹیبل OCR Nanonets کے ساتھ
ٹیبل OCR Nanonets کے ساتھ

۔ Nanonets OCR API آپ کو آسانی سے OCR ماڈل بنانے کی اجازت دیتا ہے۔ آپ کو اپنی تصاویر کو پہلے سے پروسیس کرنے کے بارے میں فکر کرنے کی ضرورت نہیں ہے یا آپ کے OCR ماڈل کی درستگی کو بڑھانے کے لیے ٹیمپلیٹس کو ملانے یا اصول پر مبنی انجن بنانے کی فکر کرنے کی ضرورت نہیں ہے۔

آپ اپنا ڈیٹا اپ لوڈ کر سکتے ہیں، اس کی تشریح کر سکتے ہیں، ماڈل کو ٹریننگ کے لیے سیٹ کر سکتے ہیں اور براؤزر پر مبنی UI کے ذریعے کوڈ کی ایک لائن لکھے بغیر، GPUs کے بارے میں فکر کیے بغیر یا گہری سیکھنے والے ماڈلز کا استعمال کرتے ہوئے اپنے ٹیبل کا پتہ لگانے کے لیے صحیح آرکیٹیکچرز تلاش کرنے کا انتظار کر سکتے ہیں۔

آپ ہر پیشین گوئی کے JSON جوابات بھی حاصل کر سکتے ہیں تاکہ اسے اپنے سسٹمز کے ساتھ ضم کر سکیں اور جدید ترین الگورتھم اور مضبوط انفراسٹرکچر پر تیار کردہ مشین لرننگ پاورڈ ایپس بنا سکیں۔

https://nanonets.com/documentation/


کیا آپ کا کاروبار ڈیجیٹل دستاویزات، پی ڈی ایف یا امیجز میں ڈیٹا یا ٹیکسٹ کی شناخت سے متعلق ہے؟ کیا آپ نے سوچا ہے کہ ٹیبلر ڈیٹا کیسے نکالا جائے، تصاویر سے متن نکالیں , پی ڈی ایف سے ڈیٹا نکالیں۔ or پی ڈی ایف سے متن نکالیں درست طریقے سے اور مؤثر طریقے سے؟


جو ٹیبل نکالنا مفید پائے گا۔

جیسا کہ پچھلے حصے میں بحث کی گئی ہے، ٹیبلز کو صاف شکل میں ڈیٹا کی نمائندگی کرنے کے لیے کثرت سے استعمال کیا جاتا ہے۔ ہم انہیں کئی شعبوں میں اکثر دیکھ سکتے ہیں، جدولوں پر ڈیٹا کی ساخت کے ذریعے اپنے کام کو منظم کرنے سے لے کر کمپنیوں کے بڑے اثاثوں کو ذخیرہ کرنے تک۔ بہت ساری تنظیمیں ہیں جن کو روزانہ لاکھوں ٹیبلوں سے نمٹنا پڑتا ہے۔ سب کچھ دستی طور پر کرنے کے اس طرح کے محنتی کاموں کو آسان بنانے کے لیے، ہمیں تیز تر تکنیکوں کا سہارا لینے کی ضرورت ہے۔ آئیے استعمال کے چند معاملات پر بات کرتے ہیں جہاں میزیں نکالنا ضروری ہو سکتا ہے:

ماخذ: پیٹرک ٹوماسو, Unsplash

ذاتی استعمال کے معاملات

۔ میز نکالنا عمل چھوٹے ذاتی استعمال کے معاملات کے لیے بھی مددگار ثابت ہو سکتا ہے۔ بعض اوقات ہم موبائل فون پر دستاویزات حاصل کرتے ہیں اور بعد میں انہیں اپنے کمپیوٹر پر کاپی کر لیتے ہیں۔ اس عمل کو استعمال کرنے کے بجائے ہم دستاویزات کو براہ راست حاصل کر سکتے ہیں اور انہیں اپنے حسب ضرورت ٹیمپلیٹس میں قابل تدوین فارمیٹس کے طور پر محفوظ کر سکتے ہیں۔ ذیل میں استعمال کے چند معاملات ہیں کہ ہم اپنے ذاتی معمولات میں میز نکالنے کو کس طرح فٹ کر سکتے ہیں۔

فون پر دستاویزات سکین کرنا: ہم اکثر اہم ٹیبلز کی تصاویر فون پر کیپچر کرتے ہیں اور انہیں محفوظ کرتے ہیں، لیکن ٹیبل نکالنے کی تکنیک کے ساتھ، ہم ٹیبل کی تصاویر کو کیپچر کر سکتے ہیں اور انہیں براہ راست ٹیبلر فارمیٹ میں، یا تو ایکسل یا گوگل شیٹس میں محفوظ کر سکتے ہیں۔ اس کے ساتھ، ہمیں تصاویر تلاش کرنے یا ٹیبل کے مواد کو کسی بھی نئی فائل میں کاپی کرنے کی ضرورت نہیں ہے، اس کے بجائے، ہم براہ راست درآمد شدہ ٹیبل استعمال کر سکتے ہیں اور نکالی گئی معلومات پر کام شروع کر سکتے ہیں۔

HTML کے لیے دستاویزات: ویب صفحات میں، ہمیں میزوں کا استعمال کرتے ہوئے پیش کی گئی معلومات کی بھرمار ملتی ہے۔ وہ اعداد و شمار کے مقابلے میں ہماری مدد کرتے ہیں اور ہمیں منظم طریقے سے نمبروں پر فوری نوٹ دیتے ہیں۔ ٹیبل نکالنے کے عمل کو استعمال کرکے، ہم پی ڈی ایف دستاویزات یا JPG/PNG امیجز کو اسکین کرسکتے ہیں، اور معلومات کو براہ راست اپنی مرضی کے مطابق خود ڈیزائن کردہ ٹیبل فارمیٹ میں لوڈ کرسکتے ہیں۔ ہم موجودہ جدولوں کی بنیاد پر اضافی جدولوں کو شامل کرنے کے لیے مزید اسکرپٹ لکھ سکتے ہیں، اور اس طرح معلومات کو ڈیجیٹل کر سکتے ہیں۔ اس سے ہمیں مواد میں ترمیم کرنے اور اسٹوریج کے عمل کو تیز کرنے میں مدد ملتی ہے۔


صنعتی استعمال کے معاملات

پوری دنیا میں ایسی کئی صنعتیں ہیں جو کاغذی کارروائی اور دستاویزات پر بہت زیادہ چلتی ہیں، خاص طور پر بینکنگ اور انشورنس کے شعبوں میں۔ صارفین کی تفصیلات کو ذخیرہ کرنے سے لے کر صارفین کی ضروریات کو پورا کرنے تک، میزیں بڑے پیمانے پر استعمال ہوتی ہیں۔ یہ معلومات ایک بار پھر ایک دستاویز (ہارڈ کاپی) کے طور پر مختلف برانچوں کو منظوریوں کے لیے بھیجی جاتی ہیں، جہاں بعض اوقات، میزوں سے معلومات حاصل کرنے کے دوران غلط مواصلت کی وجہ سے غلطی ہو سکتی ہے۔ اس کے بجائے، یہاں آٹومیشن کا استعمال ہماری زندگیوں کو بہت آسان بنا دیتا ہے۔ ایک بار جب ابتدائی ڈیٹا حاصل ہو جاتا ہے اور منظور ہو جاتا ہے، ہم ان دستاویزات کو براہ راست ٹیبلز میں سکین کر سکتے ہیں اور ڈیجیٹائزڈ ڈیٹا پر مزید کام کر سکتے ہیں۔ وقت کی کھپت اور خرابیوں کی کمی کو چھوڑ دیں، ہم صارفین کو اس وقت اور مقام کے بارے میں مطلع کر سکتے ہیں جہاں معلومات پر کارروائی کی جاتی ہے۔ لہذا، یہ ڈیٹا کی وشوسنییتا کو یقینی بناتا ہے، اور آپریشن سے نمٹنے کے ہمارے طریقے کو آسان بناتا ہے۔ آئیے اب دیگر ممکنہ استعمال کے معاملات کو دیکھتے ہیں:

کوالٹی کنٹرول: کوالٹی کنٹرول ان بنیادی خدمات میں سے ایک ہے جو اعلیٰ صنعتیں فراہم کرتی ہیں۔ یہ عام طور پر اندرون ملک اور اسٹیک ہولڈرز کے لیے کیا جاتا ہے۔ اس کے حصے کے طور پر، بہت سارے فیڈ بیک فارمز ہیں جو صارفین سے فراہم کردہ سروس کے بارے میں رائے لینے کے لیے جمع کیے جاتے ہیں۔ صنعتی شعبوں میں، وہ روزانہ چیک لسٹ اور نوٹ لکھنے کے لیے ٹیبل کا استعمال کرتے ہیں تاکہ یہ دیکھیں کہ پروڈکشن لائنز کیسے کام کر رہی ہیں۔ یہ سب آسانی کے ساتھ میز نکالنے کا استعمال کرتے ہوئے ایک ہی جگہ پر دستاویزی کیا جا سکتا ہے.

اثاثوں کا ٹریک: مینوفیکچرنگ انڈسٹریز میں، لوگ ہارڈ کوڈ شدہ میزیں استعمال کرتے ہیں تاکہ تیار شدہ اداروں جیسے اسٹیل، آئرن، پلاسٹک وغیرہ کا پتہ لگایا جاسکے۔ ہر تیار کردہ آئٹم کو ایک منفرد نمبر کے ساتھ لیبل کیا جاتا ہے جس میں وہ ہر روز تیار اور ڈیلیور کی جانے والی اشیاء کا ٹریک رکھنے کے لیے ٹیبل کا استعمال کرتے ہیں۔ آٹومیشن غلط جگہوں یا ڈیٹا کی عدم مطابقت کے لحاظ سے بہت زیادہ وقت اور اثاثوں کو بچانے میں مدد کر سکتی ہے۔


کاروباری استعمال کے معاملات

کئی کاروباری صنعتیں ہیں جو ایکسل شیٹس اور آف لائن فارم پر چلتی ہیں۔ لیکن ایک وقت میں، ان شیٹس اور شکلوں کے ذریعے تلاش کرنا مشکل ہے۔ اگر ہم ان ٹیبلز کو دستی طور پر داخل کر رہے ہیں تو اس میں وقت لگتا ہے اور ڈیٹا کے غلط داخل ہونے کا امکان زیادہ ہو گا۔ لہذا کاروباری استعمال کے معاملات کو حل کرنے کے لیے میز نکالنا ایک بہتر متبادل ہے جیسا کہ ذیل میں چند ہیں۔

انوائس آٹومیشن: بہت سی چھوٹی اور بڑی صنعتیں ہیں جن کی انوائس اب بھی ٹیبلر فارمیٹس میں تیار ہوتے ہیں۔ یہ مناسب طریقے سے محفوظ ٹیکس گوشوارے فراہم نہیں کرتے ہیں۔ اس طرح کی رکاوٹوں پر قابو پانے کے لیے، ہم سب کو تبدیل کرنے کے لیے ٹیبل نکالنے کا استعمال کر سکتے ہیں۔ انوائس ایک قابل تدوین شکل میں اور اس طرح، انہیں ایک نئے ورژن میں اپ گریڈ کریں۔

فارم آٹومیشن: آن لائن فارم اس آزمودہ اور درست طریقہ کار میں خلل ڈال رہے ہیں تاکہ کاروباروں کو ان کی ضرورت کی معلومات اکٹھا کرنے میں مدد مل سکے اور ساتھ ہی ساتھ اسے ان کے ورک فلو میں بنائے گئے دوسرے سافٹ ویئر پلیٹ فارمز سے منسلک کر سکیں۔ دستی ڈیٹا انٹری کی ضرورت کو کم کرنے کے علاوہ (کے ساتھ خودکار ڈیٹا انٹری) اور فالو اپ ای میلز، ٹیبل نکالنے سے پرنٹنگ، میلنگ، اسٹور کرنے، ترتیب دینے اور روایتی کاغذ کے متبادل کو تباہ کرنے کی لاگت کو ختم کیا جا سکتا ہے۔


ذہن میں OCR کا مسئلہ ہے؟ ڈیجیٹلائز کرنا چاہتے ہیں۔ انوائسپی ڈی ایف یا نمبر پلیٹس؟ کی طرف بڑھیں۔ نانونٹس اور مفت میں OCR ماڈل بنائیں!


ایکشن میں گہری سیکھنا

ڈیپ لرننگ مصنوعی عصبی نیٹ ورکس پر مبنی مشین لرننگ طریقوں کے وسیع خاندان کا ایک حصہ ہے۔

نیورل نیٹ ورک ایک ایسا فریم ورک ہے جو دیے گئے ڈیٹا میں بنیادی تعلقات کو ایک ایسے عمل کے ذریعے پہچانتا ہے جو انسانی دماغ کے کام کرنے کے طریقے کی نقل کرتا ہے۔ ان کے پاس مختلف مصنوعی تہیں ہیں جن کے ذریعے ڈیٹا گزرتا ہے، جہاں وہ خصوصیات کے بارے میں سیکھتے ہیں۔ مختلف قسم کے ڈیٹا پر کارروائی کرنے کے لیے مختلف فن تعمیرات ہیں جیسے Convolution NNs، Recurrent NNs، Autoencoders، Generative Adversarial NNs۔ یہ پیچیدہ ہیں لیکن حقیقی وقت میں مسائل سے نمٹنے کے لیے اعلیٰ کارکردگی کو ظاہر کرتے ہیں۔ آئیے اب اس تحقیق کو دیکھتے ہیں جو ٹیبل نکالنے کے میدان میں نیورل نیٹ ورکس کا استعمال کرتے ہوئے کی گئی ہے اور آئیے ان کا مختصر جائزہ لیتے ہیں۔


ٹیبل نیٹ

کاغذ: ٹیبل نیٹ: ڈیپ لرننگ ماڈل برائے آخر تک ٹیبل کا پتہ لگانے اور اسکین شدہ دستاویز کی تصاویر سے ٹیبلر ڈیٹا نکالنے کے لیے

کا تعارف: ٹیبل نیٹ ایک جدید ڈیپ لرننگ آرکیٹیکچر ہے جسے TCS ریسرچ سال کی ایک ٹیم نے سال 2019 میں تجویز کیا تھا۔ اس کا بنیادی محرک موبائل فون یا کیمروں کے ذریعے اسکین شدہ میزوں سے معلومات نکالنا تھا۔

انہوں نے ایک ایسا حل تجویز کیا جس میں تصویر کے اندر ٹیبلر ریجن کا درست پتہ لگانا اور اس کے بعد پتہ لگانے والے ٹیبل کی قطاروں اور کالموں سے معلومات کا پتہ لگانا اور نکالنا شامل ہے۔

ڈیٹا سیٹ: استعمال شدہ ڈیٹاسیٹ مارموٹ تھا۔ اس کے پی ڈی ایف فارمیٹ میں 2000 صفحات ہیں جو متعلقہ زمینی حقائق کے ساتھ جمع کیے گئے تھے۔ اس میں چینی صفحات بھی شامل ہیں۔ لنک - http://www.icst.pku.edu.cn/cpdp/sjzy/index.htm

فن تعمیر: فن تعمیر لانگ ایٹ ال پر مبنی ہے، سیمنٹک سیگمنٹیشن کے لیے ایک انکوڈر-ڈیکوڈر ماڈل۔ وہی انکوڈر/ڈیکوڈر نیٹ ورک ٹیبل نکالنے کے لیے FCN فن تعمیر کے طور پر استعمال ہوتا ہے۔ کا استعمال کرتے ہوئے تصاویر کو پہلے سے پروسیس اور تبدیل کیا جاتا ہے۔ Tesseract OCR.

ان پٹ کو گہری سیکھنے کی تکنیکوں سے مشروط کرکے ماڈل کو دو مراحل میں اخذ کیا گیا ہے۔ پہلے مرحلے میں، انہوں نے پہلے سے تربیت یافتہ VGG-19 نیٹ ورک کا وزن استعمال کیا ہے۔ انہوں نے استعمال شدہ VGG نیٹ ورک کی مکمل طور پر منسلک تہوں کو 1×1 Convolutional تہوں سے تبدیل کر دیا ہے۔ تمام convolutional تہوں کے بعد ReLU ایکٹیویشن اور امکان 0.8 کی ڈراپ آؤٹ پرت ہوتی ہے۔ وہ دوسرے مرحلے کو ڈی کوڈ نیٹ ورک کہتے ہیں جو دو شاخوں پر مشتمل ہے۔ یہ اس وجدان کے مطابق ہے کہ کالم کا علاقہ ٹیبل ریجن کا سب سیٹ ہے۔ اس طرح، واحد انکوڈنگ نیٹ ورک ٹیبل اور کالم دونوں خطوں کی خصوصیات کا استعمال کرتے ہوئے بہتر درستگی کے ساتھ فعال علاقوں کو فلٹر کر سکتا ہے۔ پہلے نیٹ ورک سے حاصل ہونے والی پیداوار کو دو شاخوں میں تقسیم کیا جاتا ہے۔ پہلی شاخ میں، دو کنولوشن آپریشنز لاگو کیے جاتے ہیں اور حتمی فیچر میپ کو اصل تصویر کے طول و عرض کو پورا کرنے کے لیے بڑھایا جاتا ہے۔ کالموں کا پتہ لگانے کے لیے دوسری برانچ میں، ReLU ایکٹیویشن فنکشن کے ساتھ ایک اضافی کنولوشن لیئر ہے اور ڈراپ آؤٹ پرت ہے جس میں ڈراپ آؤٹ امکان ہے جیسا کہ پہلے بتایا گیا ہے۔ خصوصیت کے نقشوں کو ایک (1×1) کنولوشن پرت کے بعد جزوی طور پر سٹرائڈ کنوولوشنز کا استعمال کرتے ہوئے نمونہ بنایا گیا ہے۔ ذیل میں فن تعمیر کی ایک تصویر ہے:

ٹیبل نیٹ کا فن تعمیر

نتائج: ماڈل کا استعمال کرتے ہوئے دستاویزات پر کارروائی کے بعد، میزوں اور کالموں کے ماسک تیار کیے جاتے ہیں۔ یہ ماسک تصویر سے ٹیبل اور اس کے کالم کے علاقوں کو فلٹر کرنے کے لیے استعمال کیے جاتے ہیں۔ اب Tesseract OCR کا استعمال کرتے ہوئے، معلومات کو منقسم علاقوں سے نکالا جاتا ہے۔ ذیل میں ایک تصویر دی گئی ہے جس میں ماسک دکھائے گئے ہیں جو تیار کیے گئے ہیں اور بعد میں میزوں سے نکالے گئے ہیں۔

انہوں نے وہی ماڈل بھی تجویز کیا جو ICDAR کے ساتھ ٹھیک ہے جس نے اصل ماڈل سے بہتر کارکردگی کا مظاہرہ کیا۔ فائن ٹیونڈ ماڈل کے ریکال، پریسجن، اور F1-اسکور بالترتیب 0.9628، 0.9697، 0.9662 ہیں۔ اصل ماڈل میں اسی ترتیب میں 0.9621، 0.9547، 0.9583 کے ریکارڈ شدہ میٹرکس ہیں۔ آئیے اب ایک اور فن تعمیر میں غوطہ لگاتے ہیں۔


ڈیپ ڈی ایس آر ٹی

کاغذ: ڈیپ ڈی ایس آر ٹی: دستاویزی امیجز میں ٹیبلز کی کھوج اور ساخت کی شناخت کے لیے گہری تعلیم

کا تعارف: DeepDeSRT ایک نیورل نیٹ ورک فریم ورک ہے جو دستاویزات یا تصاویر میں موجود ٹیبلز کا پتہ لگانے اور سمجھنے کے لیے استعمال ہوتا ہے۔ اس کے دو حل ہیں جیسا کہ عنوان میں بتایا گیا ہے:

  1. یہ دستاویز کی تصاویر میں ٹیبل کا پتہ لگانے کے لیے گہری سیکھنے پر مبنی حل پیش کرتا ہے۔
  2. یہ ٹیبل کے ڈھانچے کی شناخت کے لیے ایک ناول ڈیپ لرننگ پر مبنی اپروچ تجویز کرتا ہے، یعنی پتہ لگائے گئے ٹیبلز میں قطاروں، کالموں اور سیل کی پوزیشنوں کی نشاندہی کرنا۔

مجوزہ ماڈل مکمل طور پر ڈیٹا پر مبنی ہے، اس کے لیے دستاویزات یا تصاویر کے ہیورسٹکس یا میٹا ڈیٹا کی ضرورت نہیں ہے۔ ٹریننگ کے حوالے سے ایک اہم فائدہ یہ ہے کہ انہوں نے بڑے ٹریننگ ڈیٹا سیٹس کا استعمال نہیں کیا، اس کے بجائے انہوں نے ٹیبل کا پتہ لگانے اور ٹیبل کی ساخت کی شناخت دونوں کے لیے ٹرانسفر لرننگ اور ڈومین موافقت کا تصور استعمال کیا۔

ڈیٹا سیٹ: استعمال شدہ ڈیٹاسیٹ ایک ICDAR 2013 ٹیبل مقابلہ ڈیٹاسیٹ ہے جس میں مجموعی طور پر 67 صفحات پر مشتمل 238 دستاویزات ہیں۔

فن تعمیر:

  • ٹیبل کا پتہ لگانا مجوزہ ماڈل نے فاسٹ آر سی این این کو میزوں کا پتہ لگانے کے لیے بنیادی فریم ورک کے طور پر استعمال کیا۔ فن تعمیر کو دو مختلف حصوں میں تقسیم کیا گیا ہے۔ پہلے حصے میں، انہوں نے نام نہاد ریجن پروپوزل نیٹ ورک (RPN) کے ذریعے ان پٹ امیج کی بنیاد پر علاقائی تجاویز تیار کیں۔ دوسرے حصے میں، انہوں نے فاسٹ-آر سی این این کا استعمال کرتے ہوئے علاقوں کی درجہ بندی کی۔ اس فن تعمیر کی پشت پناہی کرنے کے لیے، انہوں نے استعمال کیا۔ زیڈ ایف نیٹ اور VGG-16 کا وزن۔
  • ساخت کی پہچان جب کسی ٹیبل کا کامیابی سے پتہ چل جاتا ہے اور سسٹم کو اس کا محل وقوع معلوم ہوجاتا ہے، اس کے مواد کو سمجھنے میں اگلا چیلنج ان قطاروں اور کالموں کو پہچاننا اور تلاش کرنا ہے جو میز کی جسمانی ساخت کو بناتے ہیں۔ لہذا انہوں نے VGG-16 کے وزن کے ساتھ ایک مکمل طور پر منسلک نیٹ ورک استعمال کیا ہے جو قطاروں اور کالموں سے معلومات نکالتا ہے۔ ذیل میں DeepDeSRT کے نتائج ہیں:

نتائج:

ٹیبل کا پتہ لگانے کے نتائج
ساخت کی شناخت کے نتائج [6]

تشخیص کے نتائج سے پتہ چلتا ہے کہ DeepDeSRT ٹیبل کا پتہ لگانے اور ساخت کی شناخت کے لیے جدید ترین طریقوں سے بہتر کارکردگی کا مظاہرہ کرتا ہے اور 1 تک ٹیبل کا پتہ لگانے اور ڈھانچے کی شناخت کے لیے بالترتیب 96.77% اور 91.44% کے F2015 اقدامات حاصل کرتا ہے۔


گراف نیورل نیٹ ورکس

کاغذ: گراف نیورل نیٹ ورکس کا استعمال کرتے ہوئے ٹیبل کی شناخت پر دوبارہ غور کرنا

کا تعارف: اس تحقیق میں ڈیپ لرننگ لیبارٹری، نیشنل سینٹر آف آرٹیفیشل انٹیلی جنس (NCAI) کے مصنفین نے ٹیبل سے معلومات نکالنے کے لیے گراف نیورل نیٹ ورکس کی تجویز پیش کی۔ انہوں نے استدلال کیا کہ گراف نیٹ ورک ان مسائل کے لیے زیادہ فطری انتخاب ہیں اور مزید دو گریڈینٹ پر مبنی گراف نیورل نیٹ ورکس کی کھوج کی۔

یہ مجوزہ ماڈل دونوں کے فوائد کو یکجا کرتا ہے، بصری خصوصیت نکالنے کے لیے عصبی عصبی نیٹ ورکس اور مسئلے کی ساخت سے نمٹنے کے لیے گراف نیٹ ورک۔

ڈیٹا سیٹ: مصنفین نے 0.5 ملین جدولوں کا ایک نیا بڑا مصنوعی طور پر تیار کردہ ڈیٹاسیٹ کی تجویز پیش کی جسے چار اقسام میں تقسیم کیا گیا ہے۔

  1. امیجز سادہ امیجز ہیں جن میں کوئی انضمام نہیں ہے اور ان میں رولنگ لائنز ہیں۔
  2. امیجز میں مختلف سرحدی اقسام ہیں جن میں حکمران لائنوں کی کبھی کبھار غیر موجودگی بھی شامل ہے۔
  3. سیل اور کالم انضمام کا تعارف
  4. کیمرے نے لکیری نقطہ نظر کی تبدیلی کے ساتھ تصاویر کھینچ لیں۔

فن تعمیر: انہوں نے ایک اتلی ارتعاشی نیٹ ورک کا استعمال کیا جو متعلقہ convolutional خصوصیات پیدا کرتا ہے۔ اگر آؤٹ پٹ فیچرز کی مقامی جہتیں ان پٹ امیج جیسی نہیں ہیں، تو وہ ان پوزیشنز کو اکٹھا کرتے ہیں جو ان پٹ اور آؤٹ پٹ ڈائمینشنز کے درمیان تناسب کے لحاظ سے لکیری طور پر چھوٹے ہوتے ہیں اور انہیں ایک انٹرایکشن نیٹ ورک پر بھیجتے ہیں جس میں دو گراف نیٹ ورک ہوتے ہیں جنہیں DGCNN کہا جاتا ہے۔ اور GravNet. گراف نیٹ ورک کے پیرامیٹرز اصل CNN جیسے ہی ہیں۔ آخر میں، انہوں نے رن ٹائم پیئر سیمپلنگ کا استعمال کیا ہے تاکہ نکالے گئے مواد کی درجہ بندی کی جا سکے جس نے اندرونی طور پر مونٹی کارلو پر مبنی الگورتھم کا استعمال کیا ہے۔ ذیل میں آؤٹ پٹ ہیں:

نتائج:

گراف نیورل نیٹ ورکس کے ذریعہ تیار کردہ آؤٹ پٹ

ذیل میں ٹیبل شدہ درستگی کے اعداد ہیں جو نیٹ ورک کے ذریعے نیٹ ورک کی چار اقسام کے لیے تیار کیے گئے ہیں جیسا کہ میں پیش کیا گیا ہے۔ ڈیٹا بیس سیکشن:


CGANs اور جینیاتی الگورتھم

کاغذ: مشروط جنریٹو ایڈورسریل نیٹ ورک اور جینیاتی الگورتھم کا استعمال کرتے ہوئے دستاویزات سے میزیں نکالنا

کا تعارف: اس تحقیق میں، مصنفین نے نیچے سے اوپر (خلیوں، قطاروں یا کالموں میں لائنوں کو ضم کرنے) کے نقطہ نظر کو استعمال کرنے کے بجائے اوپر سے نیچے کا طریقہ استعمال کیا۔

اس طریقہ میں، ایک جنریٹو مخالف نیٹ ورک کا استعمال کرتے ہوئے، انہوں نے ٹیبل امیج کو ایک معیاری 'کنکال' ٹیبل فارم میں نقش کیا۔ یہ سکیلیٹن ٹیبل ٹیبل کے مواد کے بغیر تخمینی قطار اور کالم کی سرحدوں کی نشاندہی کرتا ہے۔ اس کے بعد، وہ ایک جینیاتی الگورتھم کی طرف سے بہتر کردہ فاصلے کی پیمائش کا استعمال کرتے ہوئے کنکال کے ڈھانچے میں امیدواروں کے لیٹنٹ ٹیبل ڈھانچے کے رینڈرنگ کو فٹ کرتے ہیں۔

ڈیٹا سیٹ: مصنفین نے اپنا ڈیٹاسیٹ استعمال کیا جس میں 4000 میزیں ہیں۔

فن تعمیر: تجویز کردہ ماڈل دو حصوں پر مشتمل ہے۔ پہلے حصے میں، ان پٹ امیجز کو کنڈیشنل جنریٹو ایڈورسریل نیورل نیٹ ورک کا استعمال کرتے ہوئے اسکیلیٹن ٹیبلز میں خلاصہ کیا جاتا ہے۔ ایک GAN کے دوبارہ دو نیٹ ورک ہوتے ہیں، جنریٹر جو بے ترتیب نمونے تیار کرتا ہے اور امتیازی سلوک جو بتاتا ہے کہ آیا تیار کردہ تصاویر جعلی ہیں یا اصلی۔ جنریٹر جی ایک انکوڈر-ڈیکوڈر نیٹ ورک ہے جہاں ایک ان پٹ امیج کو بتدریج نیچے کے نمونے لینے والی تہوں کی ایک سیریز سے گزرا جاتا ہے یہاں تک کہ ایک رکاوٹ کی پرت جہاں عمل کو الٹ دیا جاتا ہے۔ ضابطہ کشائی کرنے والی پرتوں کو کافی معلومات دینے کے لیے، اسکپ کنکشن کے ساتھ ایک U-Net فن تعمیر کا استعمال کیا جاتا ہے اور پرتوں i اور n − i کے درمیان کنکٹیشن کے ذریعے ایک سکپ کنکشن جوڑا جاتا ہے، جہاں n تہوں کی کل تعداد ہے، اور i پرتوں کا نمبر ہے۔ انکوڈر میں ایک PatchGAN فن تعمیر کو امتیاز کرنے والے D کے لیے استعمال کیا جاتا ہے۔ یہ پیچ کے پیمانے پر آؤٹ پٹ امیج ڈھانچہ کو جرمانہ کرتا ہے۔ یہ کنکال کی میز کے طور پر آؤٹ پٹ تیار کرتے ہیں۔

دوسرے حصے میں، وہ ہر امیدوار اور کنکال کے درمیان فاصلے کی پیمائش کا استعمال کرتے ہوئے تیار کردہ سکیلیٹن امیج میں امیدوار کے خفیہ ڈیٹا ڈھانچے کے فٹ کو بہتر بناتے ہیں۔ اس طرح تصاویر کے اندر موجود متن کو نکالا جاتا ہے۔ ذیل میں ایک تصویر ہے جس میں فن تعمیر کو دکھایا گیا ہے:

نقطہ نظر کی عمومی منصوبہ بندی

آؤٹ پٹ: تخمینہ شدہ جدول کے ڈھانچے کا موازنہ کرکے اندازہ کیا جاتا ہے - قطار اور کالم نمبر، اوپری بائیں کونے کی پوزیشن، قطار کی اونچائی اور کالم کی چوڑائی

جینیاتی الگورتھم نے جدولوں سے معلومات نکالتے وقت 95.5% درستگی قطار وار اور 96.7% درستگی کالم وار دی۔


دستاویزات کو ڈیجیٹائز کرنے کی ضرورت ہے، رسیدیں or انوائس لیکن کوڈ کرنے میں بہت سست؟ کی طرف بڑھیں۔ نانونٹس اور مفت میں OCR ماڈل بنائیں!


[کوڈ] روایتی نقطہ نظر

اس سیکشن میں، ہم ڈیپ لرننگ اور اوپن سی وی کا استعمال کرتے ہوئے ٹیبلز سے معلومات نکالنے کا طریقہ سیکھیں گے۔ آپ اس وضاحت کو ایک تعارف کے طور پر سوچ سکتے ہیں، تاہم، جدید ترین ماڈلز بنانے کے لیے بہت زیادہ تجربہ اور مشق کی ضرورت ہوگی۔ اس سے آپ کو ان بنیادی باتوں کو سمجھنے میں مدد ملے گی کہ ہم کمپیوٹر کو مختلف ممکنہ طریقوں اور الگورتھم کے ساتھ کس طرح تربیت دے سکتے ہیں۔

مسئلے کو زیادہ درست طریقے سے سمجھنے کے لیے، ہم کچھ بنیادی اصطلاحات کی وضاحت کرتے ہیں، جو پورے مضمون میں استعمال ہوں گی:

  • متن: ایک تار اور پانچ صفات پر مشتمل ہے (اوپر، بائیں، چوڑائی، اونچائی، فونٹ)
  • لائن: ٹیکسٹ آبجیکٹ پر مشتمل ہے جو فرض کیا جاتا ہے کہ اصل فائل میں ایک ہی لائن پر ہے۔
  • سنگل لائن۔: صرف ایک ٹیکسٹ آبجیکٹ کے ساتھ لائن آبجیکٹ۔
  • ملٹی لائن: ایک سے زیادہ ٹیکسٹ آبجیکٹ کے ساتھ لائن آبجیکٹ۔
  • ملٹی لائن بلاک: مسلسل ملٹی لائن اشیاء کا ایک سیٹ۔
  • صف: ٹیبل میں افقی بلاکس
  • کالم: ٹیبل میں عمودی بلاکس
  • سیل: ایک قطار اور کالم کا سنگم
  • سیل - پیڈنگ: سیل کے اندر اندرونی پیڈنگ یا جگہ۔

اوپن سی وی کے ساتھ ٹیبل کا پتہ لگانا

ہم سکین شدہ میزوں سے معلومات نکالنے کے لیے کمپیوٹر ویژن کی روایتی تکنیک استعمال کریں گے۔ یہاں ہماری پائپ لائن ہے؛ ہم ابتدائی طور پر عام کیمروں کا استعمال کرتے ہوئے ڈیٹا (وہ میزیں جہاں سے ہمیں معلومات نکالنے کی ضرورت ہوتی ہے) حاصل کرتے ہیں، اور پھر کمپیوٹر ویژن کا استعمال کرتے ہوئے، ہم سرحدوں، کناروں اور خلیات کو تلاش کرنے کی کوشش کریں گے۔ ہم مختلف فلٹرز اور شکلیں استعمال کریں گے، اور ہم میزوں کی بنیادی خصوصیات کو اجاگر کریں گے۔

ہمیں ایک میز کی تصویر کی ضرورت ہوگی۔ ہم اسے فون پر کیپچر کر سکتے ہیں یا کوئی بھی موجودہ تصویر استعمال کر سکتے ہیں۔ ذیل میں کوڈ کا ٹکڑا ہے،

file = r’table.png’
table_image_contour = cv2.imread(file, 0)
table_image = cv2.imread(file)

یہاں، ہم نے ایک ہی امیج امیج کے دو متغیر لوڈ کیے ہیں جب سے ہم استعمال کریں گے۔ table_image_contour جب بھری ہوئی تصویر پر ہمارے کھوئے ہوئے شکلیں کھینچتے ہیں۔ ذیل میں اس ٹیبل کی تصویر ہے جسے ہم اپنے پروگرام میں استعمال کر رہے ہیں۔

میز کی تصویر

ہم ایک تکنیک کو استعمال کریں گے جسے کہتے ہیں۔ الٹا امیج تھریشولڈنگ جو دی گئی تصویر میں موجود ڈیٹا کو بڑھاتا ہے۔

ret, thresh_value = cv2.threshold( table_image_contour, 180, 255, cv2.THRESH_BINARY_INV)

ایک اور اہم پری پروسیسنگ مرحلہ ہے۔ تصویر کی بازی. بازی ایک سادہ ریاضی کا عمل ہے جو بائنری امیجز (بلیک اینڈ وائٹ) پر لاگو ہوتا ہے جو بتدریج پیش منظر کے پکسلز کے علاقوں کی حدود کو بڑھاتا ہے (یعنی سفید پکسلز، عام طور پر)۔

kernel = np.ones((5,5),np.uint8)
dilated_value = cv2.dilate(thresh_value,kernel,iterations = 1)

OpenCV میں، ہم طریقہ استعمال کرتے ہیں، Contours تلاش کریں موجودہ تصویر میں شکلیں حاصل کرنے کے لیے۔ یہ طریقہ تین دلائل لیتا ہے، پہلی ہے ڈیلیٹڈ امیج (وہ تصویر جو ڈیلیٹڈ امیج بنانے کے لیے استعمال ہوتی ہے table_image_contour ہے - FindContours طریقہ صرف بائنری امیجز کو سپورٹ کرتا ہے)، دوسرا cv2.RETR_TREE جو ہمیں کنٹور بازیافت موڈ استعمال کرنے کے لیے کہتا ہے، تیسرا ہے۔  cv2.CHAIN_APPROX_SIMPLE جو سموچ کے قریب ہونے کا موڈ ہے۔ دی Contours تلاش کریں دو قدروں کو کھولتا ہے، اس لیے ہم ایک اور متغیر کا نام شامل کریں گے۔ درجہ بندی. جب امیجز نیسٹڈ ہوتے ہیں تو شکلیں ایک دوسرے پر انحصار کرتی ہیں۔ ایسے رشتوں کی نمائندگی کرنے کے لیے، درجہ بندی کا استعمال کیا جاتا ہے۔

contours, hierarchy = cv2.findContours( dilated_value, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

شکلیں نشان زد کرتی ہیں کہ تصویر میں بالکل ڈیٹا کہاں موجود ہے۔ اب، ہم شکلوں کی فہرست پر اعادہ کرتے ہیں جسے ہم نے پچھلے مرحلے میں شمار کیا تھا اور مستطیل خانوں کے نقاط کا حساب لگاتے ہیں جیسا کہ طریقہ استعمال کرتے ہوئے اصل تصویر میں دیکھا گیا ہے،  cv2.boundingRect. آخری تکرار میں، ہم نے طریقہ استعمال کرتے ہوئے ان بکسوں کو اصل امیج table_image پر ڈال دیا، cv2.rectangle().

for cnt in contours: x, y, w, h = cv2.boundingRect(cnt) # bounding the images if y < 50: table_image = cv2.rectangle(table_image, (x, y), (x + w, y + h), (0, 0, 255), 1) 

یہ ہمارا آخری مرحلہ ہے۔ یہاں ہم طریقہ استعمال کرتے ہیں۔ ونڈو کا نام دیا گیا۔ ہمارے ٹیبل کو نکالے گئے مواد اور اس پر سرایت شدہ شکلوں کے ساتھ رینڈر کرنے کے لیے۔ ذیل میں کوڈ کا ٹکڑا ہے:

plt.imshow(table_image)
plt.show()
cv2.namedWindow('detecttable', cv2.WINDOW_NORMAL)

نتائج

مندرجہ بالا کوڈ کے ٹکڑوں میں y کی قدر کو 300 میں تبدیل کریں، یہ آپ کا آؤٹ پٹ ہوگا:

ایک بار جب آپ میزیں نکال لیں، تو آپ ٹیسریکٹ OCR انجن کے ذریعے ہر کونٹور کراپ کو چلا سکتے ہیں، جس کے لیے ٹیوٹوریل مل سکتا ہے۔ یہاں. ایک بار جب ہمارے پاس ہر متن کے خانے ہوں، تو ہم ان کو ان کے x اور y نقاط کی بنیاد پر کلسٹر کر سکتے ہیں تاکہ یہ اخذ کیا جا سکے کہ وہ کس متعلقہ قطار اور کالم سے تعلق رکھتے ہیں۔

اس کے علاوہ، آپ کے پی ڈی ایف دستاویزات کو ایچ ٹی ایم ایل فائلوں میں تبدیل کرنے کے لیے پی ڈی ایف مائنر استعمال کرنے کا آپشن موجود ہے جسے ہم اپنی میزیں حاصل کرنے کے لیے ریگولر ایکسپریشنز کا استعمال کر کے تجزیہ کر سکتے ہیں۔ یہاں یہ ہے کہ آپ اسے کیسے کرسکتے ہیں۔


PDFMiner اور Regex تجزیہ

چھوٹی دستاویزات سے معلومات نکالنے کے لیے، گہرے سیکھنے کے ماڈلز کو ترتیب دینے یا کمپیوٹر ویژن الگورتھم لکھنے میں وقت لگتا ہے۔ اس کے بجائے، ہم Python to میں ریگولر ایکسپریشن استعمال کر سکتے ہیں۔ متن نکالیں پی ڈی ایف دستاویزات سے۔ یہ بھی یاد رکھیں کہ یہ تکنیک تصاویر کے لیے کام نہیں کرتی۔ ہم اسے صرف HTML فائلوں یا پی ڈی ایف دستاویزات سے معلومات نکالنے کے لیے استعمال کر سکتے ہیں۔ اس کی وجہ یہ ہے کہ، جب آپ ریگولر ایکسپریشن استعمال کر رہے ہوں، تو آپ کو مواد کو ماخذ کے ساتھ ملانے اور معلومات نکالنے کی ضرورت ہوگی۔ تصاویر کے ساتھ، آپ متن سے میل نہیں کر پائیں گے، اور ریگولر ایکسپریشنز ناکام ہو جائیں گے۔ آئیے اب ایک سادہ پی ڈی ایف دستاویز کے ساتھ کام کریں اور اس میں موجود ٹیبلز سے معلومات نکالیں۔ ذیل میں تصویر ہے:

پہلے مرحلے میں، ہم پی ڈی ایف کو اپنے پروگرام میں لوڈ کرتے ہیں۔ ایک بار یہ ہو جانے کے بعد، ہم پی ڈی ایف کو ایچ ٹی ایم ایل میں تبدیل کر دیتے ہیں تاکہ ہم براہ راست ریگولر ایکسپریشنز استعمال کر سکیں اور اس طرح ٹیبلز سے مواد نکال سکیں۔ اس کے لیے ہم جو ماڈیول استعمال کرتے ہیں وہ ہے۔ pdfminer یہ PDF سے مواد کو پڑھنے اور اسے HTML فائل میں تبدیل کرنے میں مدد کرتا ہے۔

ذیل میں کوڈ کا ٹکڑا ہے:

from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.converter import HTMLConverter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
import re def convert_pdf_to_html(path): rsrcmgr = PDFResourceManager() retstr = StringIO() codec = 'utf-8' laparams = LAParams() device = HTMLConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) fp = file(path, 'rb') interpreter = PDFPageInterpreter(rsrcmgr, device) password = "" maxpages = 0 #is for all caching = True pagenos=set() for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,password=password,caching=caching, check_extractable=True): interpreter.process_page(page) fp.close() device.close() str = retstr.getvalue() retstr.close() return str

کوڈ کریڈٹ: زیوراس

ہم نے ریگولر ایکسپریشن اور پی ڈی ایف سے متعلقہ لائبریریوں سمیت بہت سارے ماڈیولز درآمد کیے ہیں۔ طریقہ کار میں تبدیل_pdf_to_html، ہم پی ڈی ایف فائل کا راستہ بھیجتے ہیں جسے HTML فائل میں تبدیل کرنے کی ضرورت ہے۔ طریقہ کار کی آؤٹ پٹ ایک HTML سٹرنگ ہوگی جیسا کہ ذیل میں دکھایا گیا ہے۔

'<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">Changing Echoesn<br>7632 Pool Station Roadn<br>Angels Camp, CA 95222n<br>(209) 785-3667n<br>Intake: (800) 633-7066n<br>SA </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> TX DT BU </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> RS RL OP PH </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> CO CJ n<br></span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> SF PI </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> AH SPn<br></span></div>' 

ریگولر ایکسپریشن پیٹرن میچنگ کے لیے استعمال ہونے والی سب سے مشکل اور بہترین پروگرامنگ تکنیکوں میں سے ایک ہے۔ یہ کوڈ فارمیٹنگ، ویب سکریپنگ، اور توثیق کے مقاصد کے لیے کئی ایپلی کیشنز میں بڑے پیمانے پر استعمال ہوتے ہیں۔ اس سے پہلے کہ ہم اپنے HTML ٹیبلز سے مواد نکالنا شروع کریں، آئیے فوری طور پر ریگولر ایکسپریشنز کے بارے میں کچھ چیزیں سیکھیں۔

یہ لائبریری نمونوں کو ملانے اور تلاش کرنے کے لیے مختلف ان بلٹ طریقے فراہم کرتی ہے۔ ذیل میں چند ایک ہیں:

import re # Match the pattern in the string
re.match(pattern, string) # Search for a pattern in a string
re.search(pattern, string) # Finds all the pattern in a string
re.findall(pattern, string) # Splits string based on the occurrence of pattern
re.split(pattern, string, [maxsplit=0] # Search for the pattern and replace it with the given string
re.sub(pattern, replace, string)

حروف/اظہار جو آپ عام طور پر ریگولر ایکسپریشنز میں دیکھتے ہیں ان میں شامل ہیں:

  • [AZ] - کوئی بھی بڑا حرف
  • d - ہندسہ
  • w - لفظ کا کردار (حروف، ہندسے، اور انڈر سکور)
  • s - خالی جگہ (خالی جگہ، ٹیبز، اور سفید جگہ)

اب HTML میں کسی خاص پیٹرن کو جاننے کے لیے، ہم ریگولر ایکسپریشنز کا استعمال کرتے ہیں اور پھر اس کے مطابق پیٹرن لکھتے ہیں۔ ہم نے پہلے ڈیٹا کو اس طرح تقسیم کیا کہ ایڈریس کے ٹکڑوں کو پروگرام کے نام (اینجلس کیمپ، ایپل ویلی، وغیرہ) کے مطابق الگ الگ بلاکس میں تقسیم کیا گیا ہے۔

pattern = '(?<=<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">)(.*?)(?=<br></span></div>)' for programinfo in re.finditer(pattern, biginputstring, re.DOTALL): do looping stuff…

بعد میں، ہمیں پروگرام کا نام، شہر، ریاست اور زپ ملتا ہے جو ہمیشہ ایک ہی پیٹرن کی پیروی کرتے ہیں (ٹیکسٹ، کوما، دو ہندسوں کے بڑے حروف، 5 نمبر (یا 5 نمبر ہائفن چار نمبر) - یہ پی ڈی ایف فائل میں موجود ہیں جو ہمیں ان پٹ کے طور پر سمجھا جاتا ہے)۔ درج ذیل کوڈ کا ٹکڑا چیک کریں:

# To identify the program name
programname = re.search('^(?!<br>).*(?=\n)', programinfo.group(0))
# since some programs have odd characters in the name we need to escape
programname = re.escape(programname) citystatezip =re.search('(?<=>)([a-zA-Zs]+, [a-zA-Zs]{2} d{5,10})(?=\n)', programinfo.group(0))
mainphone =re.search('(?<=<br>)(d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)', programinfo.group(0))
altphones = re.findall('(?<=<br>)[a-zA-Zs]+: (d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)(?=\n)', programinfo.group(0)) 

یہ ایک سادہ سی مثال ہے جس کی وضاحت کرتے ہوئے کہ ہم پی ڈی ایف فائلوں سے ریگولر ایکسپریشن کا استعمال کرتے ہوئے معلومات کیسے نکالتے ہیں۔ تمام مطلوبہ معلومات نکالنے کے بعد، ہم اس ڈیٹا کو CSV فائل میں لوڈ کرتے ہیں۔

def createDirectory(instring, outpath, split_program_pattern): i = 1 with open(outpath, 'wb') as csvfile: filewriter = csv.writer(csvfile, delimiter=',' , quotechar='"', quoting=csv.QUOTE_MINIMAL) # write the header row filewriter.writerow(['programname', 'address', 'addressxtra1', 'addressxtra2', 'city', 'state', 'zip', 'phone', 'altphone', 'codes']) # cycle through the programs for programinfo in re.finditer(split_program_pattern, instring, re.DOTALL): print i i=i+1 # pull out the pieces programname = getresult(re.search('^(?!<br>).*(?=\n)', programinfo.group(0))) programname = re.escape(programname) # some facilities have odd characters in the name

تو یہ ایک سادہ سی مثال ہے جس میں بتایا گیا ہے کہ آپ اپنے نکالے گئے HTML کو CSV فائل میں کیسے دھکیل سکتے ہیں۔ سب سے پہلے ہم ایک CSV فائل بناتے ہیں، اپنی تمام صفات تلاش کرتے ہیں، اور ان کے متعلقہ کالموں میں ایک ایک کرکے آگے بڑھاتے ہیں۔ ذیل میں ایک اسکرین شاٹ ہے:

ریگولر ایکسپریشنز کا استعمال کرتے ہوئے ٹیبلز سے نکالے گئے آئٹمز کا اسکرین شاٹ

بعض اوقات، اوپر زیر بحث تکنیکیں پیچیدہ لگتی ہیں اور پروگرامرز کے لیے چیلنجز کا باعث بنتی ہیں اگر تمام میزیں گھوںسلا اور پیچیدہ ہوں۔ یہاں، سی وی یا ڈیپ لرننگ ماڈل کا انتخاب بہت وقت بچاتا ہے۔ آئیے دیکھتے ہیں کہ ان روایتی طریقوں کے استعمال میں کون سی خامیاں اور چیلنجز رکاوٹ ہیں۔


روایتی طریقوں کے ساتھ چیلنجز

اس سیکشن میں، ہم اس بارے میں گہرائی سے سیکھیں گے کہ ٹیبل نکالنے کے عمل کہاں ناکام ہو سکتے ہیں، اور ڈیپ لرننگ سے پیدا ہونے والے جدید طریقوں کا استعمال کرتے ہوئے ان رکاوٹوں کو دور کرنے کے طریقوں کو مزید سمجھیں گے۔ اگرچہ یہ عمل کیک واک نہیں ہے۔ اس کی وجہ یہ ہے کہ میزیں عام طور پر پوری طرح مستقل نہیں رہتی ہیں۔ اعداد و شمار کی نمائندگی کرنے کے لیے ان کے مختلف ڈھانچے ہوتے ہیں، اور جدولوں کے اندر موجود ڈیٹا مختلف فارمیٹنگ اسٹائل (فونٹ اسٹائل، رنگ، فونٹ سائز، اور اونچائی) کے ساتھ کثیر لسانی ہوسکتا ہے۔ اس لیے ایک مضبوط ماڈل بنانے کے لیے، کسی کو ان تمام چیلنجوں سے آگاہ ہونا چاہیے۔ عام طور پر، اس عمل میں تین مراحل شامل ہوتے ہیں: ٹیبل کا پتہ لگانا، نکالنا، اور تبدیلی۔ آئیے ایک ایک کرکے تمام مراحل میں مسائل کی نشاندہی کریں:


ٹیبل کا پتہ لگانا

اس مرحلے میں، ہم اس بات کی نشاندہی کرتے ہیں کہ دی گئی ان پٹ میں میزیں کہاں موجود ہیں۔ ان پٹ کسی بھی شکل کا ہو سکتا ہے، جیسے امیجز، پی ڈی ایف/ورڈ دستاویزات اور بعض اوقات ویڈیوز۔ ہم ٹیبلز کا پتہ لگانے کے لیے مختلف تکنیک اور الگورتھم استعمال کرتے ہیں، یا تو لائنوں کے ذریعے یا نقاط کے ذریعے۔ بعض صورتوں میں، ہمیں ٹیبلز کا سامنا ہو سکتا ہے جن کی سرحدیں نہیں ہیں، جہاں ہمیں مختلف طریقوں کا انتخاب کرنے کی ضرورت ہے۔ ان کے علاوہ، یہاں چند دیگر چیلنجز ہیں:

  • تصویری تبدیلی: تصویر کی تبدیلی لیبلز کا پتہ لگانے میں ایک بنیادی قدم ہے۔ اس میں ٹیبل میں موجود ڈیٹا اور بارڈرز کو بڑھانا شامل ہے۔ ہمیں ٹیبل میں پیش کردہ ڈیٹا کی بنیاد پر مناسب پری پروسیسنگ الگورتھم کا انتخاب کرنے کی ضرورت ہے۔ مثال کے طور پر، جب ہم امیجز کے ساتھ کام کر رہے ہوتے ہیں، تو ہمیں تھریشولڈنگ اور ایج ڈٹیکٹر لگانے کی ضرورت ہوتی ہے۔ تبدیلی کا یہ مرحلہ ہمیں مواد کو زیادہ درست طریقے سے تلاش کرنے میں مدد کرتا ہے۔ کچھ صورتوں میں، شکلیں غلط ہو سکتی ہیں اور الگورتھم تصویر کو بڑھانے میں ناکام رہتے ہیں۔ لہذا، تصویر کی تبدیلی کے صحیح مراحل کا انتخاب اور پری پروسیسنگ بہت ضروری ہے۔
  • تصویر کا معیار: جب ہم معلومات نکالنے کے لیے ٹیبلز کو اسکین کرتے ہیں، تو ہمیں اس بات کو یقینی بنانا ہوگا کہ یہ دستاویزات روشن ماحول میں اسکین کی گئی ہیں جو اچھی کوالٹی کی تصاویر کو یقینی بناتی ہیں۔ جب روشنی کے حالات خراب ہوتے ہیں، CV اور DL الگورتھم دیے گئے ان پٹس میں ٹیبلز کا پتہ لگانے میں ناکام ہو سکتے ہیں۔ اگر ہم ڈیپ لرننگ استعمال کر رہے ہیں، تو ہمیں یہ یقینی بنانا ہوگا کہ ڈیٹاسیٹ مطابقت رکھتا ہے اور اس میں معیاری امیجز کا ایک اچھا سیٹ ہے۔ اگر ہم ان ماڈلز کو پرانے کچے ہوئے کاغذوں میں موجود میزوں پر استعمال کرتے ہیں، تو پہلے ہمیں ان تصویروں میں موجود شور کو پری پروسیس کرنے اور ختم کرنے کی ضرورت ہے۔
  • ساختی ترتیب اور ٹیمپلیٹس کی مختلف قسمیں: تمام میزیں منفرد نہیں ہیں۔ ایک خلیہ کئی خلیوں پر پھیل سکتا ہے، یا تو عمودی یا افقی طور پر، اور پھیلے ہوئے خلیوں کے امتزاج سے ساختی تغیرات کی ایک بڑی تعداد پیدا ہو سکتی ہے۔ اس کے علاوہ، کچھ متن کی خصوصیات پر زور دیتے ہیں، اور ٹیبل لائنیں ٹیبل کی ساخت کو سمجھنے کے طریقے کو متاثر کر سکتی ہیں۔ مثال کے طور پر، افقی لکیریں یا بولڈ ٹیکسٹ ٹیبل کے متعدد ہیڈرز پر زور دے سکتا ہے۔ جدول کی ساخت بصری طور پر خلیات کے درمیان تعلقات کی وضاحت کرتی ہے۔ جدولوں میں بصری تعلقات کمپیوٹیشنل طور پر متعلقہ خلیات کو تلاش کرنا اور ان سے معلومات نکالنا مشکل بنا دیتے ہیں۔ اس لیے الگورتھم بنانا ضروری ہے جو میزوں کے مختلف ڈھانچے کو سنبھالنے میں مضبوط ہوں۔
  • سیل پیڈنگ، مارجن، بارڈرز: یہ کسی بھی ٹیبل کے ضروری ہیں - پیڈنگ، مارجن اور بارڈرز ہمیشہ ایک جیسے نہیں رہیں گے۔ کچھ ٹیبلز میں سیلز کے اندر بہت زیادہ پیڈنگ ہوتی ہے، اور کچھ میں نہیں ہوتی۔ اچھی کوالٹی کی تصاویر کا استعمال اور پری پروسیسنگ کے مراحل سے ٹیبل نکالنے کے عمل کو آسانی سے چلانے میں مدد ملے گی۔

ٹیبل نکالنا

یہ وہ مرحلہ ہے جہاں ٹیبلز کی شناخت کے بعد معلومات کو نکالا جاتا ہے۔ مواد کی ساخت کے بارے میں بہت سے عوامل ہیں اور ٹیبل میں کون سا مواد موجود ہے۔ اس لیے الگورتھم بنانے سے پہلے تمام چیلنجز کو سمجھنا ضروری ہے۔

  • گھنا مواد: خلیات کا مواد یا تو عددی یا متنی ہو سکتا ہے۔ تاہم، متنی مواد عام طور پر گھنا ہوتا ہے، جس میں مخففات اور مخففات کے استعمال کے ساتھ متن کے مبہم چھوٹے چھوٹے حصے ہوتے ہیں۔ جدولوں کو سمجھنے کے لیے، متن کو واضح کرنے کی ضرورت ہے، اور مخففات اور مخففات کو بڑھانے کی ضرورت ہے۔
  • مختلف فونٹس اور فارمیٹس: فونٹس عام طور پر مختلف انداز، رنگ اور اونچائی کے ہوتے ہیں۔ ہمیں یہ یقینی بنانے کی ضرورت ہے کہ یہ عام اور شناخت میں آسان ہیں۔ چند فونٹ فیملیز خاص طور پر وہ جو کرسیو یا ہاتھ سے لکھے ہوئے کے تحت آتے ہیں، نکالنا قدرے مشکل ہے۔ لہذا اچھے فونٹ اور مناسب فارمیٹنگ کا استعمال الگورتھم کو معلومات کو زیادہ درست طریقے سے شناخت کرنے میں مدد کرتا ہے۔
  • متعدد پیج پی ڈی ایف اور پیج بریکس: ٹیبلز میں ٹیکسٹ لائن پہلے سے طے شدہ حد کے لیے حساس ہے۔ نیز متعدد صفحات پر پھیلے ہوئے خلیوں کے ساتھ، میزوں کی شناخت کرنا مشکل ہو جاتا ہے۔ ملٹی ٹیبل پیج پر، مختلف ٹیبلز کو ایک دوسرے سے الگ کرنا مشکل ہے۔ ویرل اور فاسد میزوں کے ساتھ کام کرنا مشکل ہے۔ لہٰذا، گرافک رولنگ لائنز اور مواد کی ترتیب کو اسپاٹنگ ٹیبل ریجنز کے لیے اہم ذرائع کے طور پر ایک ساتھ استعمال کیا جانا چاہیے۔

ٹیبل کی تبدیلی

آخری مرحلے میں ٹیبل سے نکالی گئی معلومات کو ایک قابل تدوین دستاویز کے طور پر مرتب کرنا، یا تو ایکسل میں یا دوسرے سافٹ ویئر کا استعمال کرنا شامل ہے۔ آئیے چند چیلنجز کے بارے میں جانتے ہیں۔

  • ترتیب ترتیب دیں: جب اسکین شدہ دستاویزات سے ٹیبل کے مختلف فارمیٹس نکالے جاتے ہیں، تو ہمیں مواد کو آگے بڑھانے کے لیے ایک مناسب ٹیبل لے آؤٹ کی ضرورت ہوتی ہے۔ بعض اوقات، الگورتھم خلیات سے معلومات نکالنے میں ناکام ہوجاتا ہے۔ لہذا، مناسب ترتیب کو ڈیزائن کرنا بھی اتنا ہی اہم ہے۔
  • ویلیو پریزنٹیشن پیٹرن کی مختلف قسمیں: خلیوں میں اقدار کو مختلف نحوی نمائندگی کے نمونوں کا استعمال کرتے ہوئے پیش کیا جاسکتا ہے۔ جدول میں متن کو 6 ± 2 ہونے پر غور کریں۔ الگورتھم اس مخصوص معلومات کو تبدیل کرنے میں ناکام ہو سکتا ہے۔ اس لیے عددی قدروں کو نکالنے کے لیے پیش کش کے ممکنہ نمونوں کا علم درکار ہوتا ہے۔
  • تصور کے لیے نمائندگی: میزوں کے لیے زیادہ تر نمائندگی کے فارمیٹس، جیسے مارک اپ لینگوئجز جن میں ٹیبلز کو بیان کیا جا سکتا ہے، ویژولائزیشن کے لیے بنائے گئے ہیں۔ لہذا، میزوں پر خود بخود کارروائی کرنا مشکل ہے۔

یہ وہ چیلنجز ہیں جن کا ہمیں روایتی تکنیکوں کا استعمال کرتے ہوئے میز نکالنے کے عمل کے دوران سامنا کرنا پڑتا ہے۔ اب دیکھتے ہیں کہ ڈیپ لرننگ کی مدد سے ان پر کیسے قابو پایا جائے۔ اس پر مختلف شعبوں میں وسیع پیمانے پر تحقیق کی جا رہی ہے۔



دستاویزات، رسیدوں یا کو ڈیجیٹائز کرنے کی ضرورت ہے۔ انوائس لیکن کوڈ کرنے میں بہت سست؟ کی طرف بڑھیں۔ نانونٹس اور مفت میں OCR ماڈل بنائیں!


خلاصہ

اس مضمون میں، ہم نے جدولوں سے معلومات نکالنے کے بارے میں تفصیل سے جائزہ لیا ہے۔ ہم نے دیکھا ہے کہ کس طرح ڈیپ لرننگ اور کمپیوٹر ویژن جیسی جدید ٹیکنالوجیز درست نتائج دینے میں مضبوط الگورتھم بنا کر دنیاوی کاموں کو خودکار کر سکتی ہیں۔ ابتدائی حصوں میں، ہم نے افراد، صنعتوں اور کاروباری شعبوں کے کاموں کو سہولت فراہم کرنے میں ٹیبل نکالنے کے کردار کے بارے میں سیکھا ہے، اور پی ڈی ایف/ایچ ٹی ایم ایل سے ٹیبل نکالنے، فارم آٹومیشن، انوائس آٹومیشن، وغیرہ۔ ہم نے کمپیوٹر وژن کا استعمال کرتے ہوئے ایک الگورتھم کو کوڈ کیا ہے تاکہ ٹیبل میں معلومات کی پوزیشن کا پتہ لگایا جا سکے جس میں تھریش ہولڈنگ، ڈیلیشن، اور کنٹور کا پتہ لگانے کی تکنیک شامل ہیں۔ ہم نے ان چیلنجوں پر تبادلہ خیال کیا ہے جن کا ہمیں روایتی تکنیکوں کا استعمال کرتے ہوئے جدول کی کھوج، نکالنے، اور تبدیلی کے عمل کے دوران سامنا ہو سکتا ہے، اور بتایا ہے کہ کس طرح گہری تعلیم ان مسائل پر قابو پانے میں ہماری مدد کر سکتی ہے۔ آخر میں، ہم نے کچھ نیورل نیٹ ورک آرکیٹیکچرز کا جائزہ لیا ہے اور دیے گئے ٹریننگ ڈیٹا کی بنیاد پر ٹیبل نکالنے کے ان کے طریقوں کو سمجھا ہے۔



: اپ ڈیٹ کریں
ٹیبل کا پتہ لگانے اور گہری سیکھنے کا استعمال کرتے ہوئے معلومات نکالنے کے مختلف طریقوں کے بارے میں مزید پڑھنے کا مواد شامل کیا گیا۔

ٹائم اسٹیمپ:

سے زیادہ اے آئی اور مشین لرننگ