تحويل بيانات PDF إلى إدخالات قاعدة البيانات PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تحويل بيانات PDF إلى إدخالات قاعدة البيانات

تعتمد العديد من المؤسسات والشركات على مستندات PDF لمشاركة المستندات المهمة مثل الفواتير وإشعارات الدفع والبيانات المالية وأوامر العمل والإيصالات والمزيد. ومع ذلك ، فإن ملفات PDF ليست تنسيقات الانتقال لتخزين البيانات التاريخية حيث لا يمكن تصديرها وتنظيمها بسهولة في مهام سير العمل. لذلك يستخدم الأشخاص خوارزميات استخراج المعلومات لرقمنة ملفات PDF والمستندات الممسوحة ضوئيًا إلى تنسيقات منظمة مثل JSON أو CSV أو الجداول أو Excel التي يمكن تحويلها بسهولة إلى مهام سير عمل تنظيمية أخرى.

في بعض الحالات ، تحتوي ملفات PDF على معلومات أساسية لتتم معالجتها في أنظمة تخطيط موارد المؤسسات (ERP) المختلفة ونظام إدارة المحتوى (CMS) وأنظمة أخرى تعتمد على قواعد البيانات. لسوء الحظ ، لا تحتوي مستندات PDF على وظيفة PDF سهلة لقاعدة البيانات ، كما أن كتابة البرامج النصية أو بناء سير عمل حول هذه المهمة أمر معقد بعض الشيء. هذا هو المكان الذي تدخل فيه خوارزميات OCR و Deep Learning (DL) إلى الصورة لاستخراج البيانات من تنسيقات PDF هذه وتصديرها إلى قاعدة بيانات. في منشور المدونة هذا ، سننظر في طرق مختلفة لكيفية تحقيق ذلك باستخدام تقنيات DL بالإضافة إلى بعض واجهات برمجة التطبيقات الشائعة في السوق.

ما هو تحويل PDF إلى قاعدة بيانات؟

تحويل PDF إلى قاعدة بيانات هي مهمة تصدير البيانات من ملفات PDF إلى قاعدة بيانات مثل Postgres و Mongo و MySQL وما إلى ذلك.

لنفترض أنه كان علينا إنشاء تطبيق ويب أو نظام تخطيط موارد المؤسسات (ERP) الذي يحتفظ بمعلومات الفواتير من مصادر مختلفة ويحافظ عليها. تعد إضافة الفواتير التاريخية يدويًا إلى قاعدة البيانات مهمة شاقة وهي عرضة للخطأ بدرجة كبيرة. من ناحية أخرى ، قد لا يؤدي استخدام OCR البسيط إلى استخراج الجداول من الفواتير بدقة.

هذا هو المكان الذي يكون فيه تحويل PDF إلى قاعدة بيانات مدفوع بالذكاء الاصطناعي في متناول يدي!

هل يمكن أتمتة عملية تحويل ملفات PDF إلى قاعدة بيانات مدفوعة بالذكاء الاصطناعي؟ - نعم.

في الأقسام أدناه ، نستخدم رؤية الكمبيوتر والتعلم العميق لاكتشاف مناطق الجدول من المستندات الممسوحة ضوئيًا. يتم تخزين هذه الجداول بشكل إضافي في تنسيق بيانات معين مثل CSV أو Excel وسيتم دفعها مباشرة إلى قواعد البيانات.

قبل مناقشة هذه ، دعونا نفهم بعض حالات الاستخدام حيث يمكن أن يكون اكتشاف قاعدة البيانات من PDF مفيدًا.

حالات استخدام مختلفة لقواعد البيانات من PDF

قواعد البيانات هي أفضل الطرق لتخزين المعلومات على التخزين السحابي والمحلي. إنها تسمح لنا بإجراء عمليات وتلاعبات مختلفة باستخدام استعلامات بسيطة. فيما يلي بعض حالات الاستخدام التي يمكن تحسينها بشكل كبير باستخدام ملف PDF آلي لتحويل قاعدة البيانات:

  1. إدارة الفواتير على الويب: تتعامل الشركات والمنظمات مع العديد من الفواتير كل يوم ؛ ويصعب عليهم معالجة كل فاتورة يدويًا. أيضًا ، في بعض الأحيان ، يقومون برفع واستلام الفواتير بتنسيق غير رقمي ، مما يجعل تتبعها أكثر صعوبة. ومن ثم ، فإنهم يعتمدون على التطبيقات المستندة إلى الويب التي يمكنها تخزين جميع فواتيرهم في مكان واحد. يمكن لمحول PDF إلى قاعدة البيانات أتمتة استخراج البيانات من الفواتير إلى تطبيق الويب. لأتمتة هذه المهام بكفاءة ، يمكننا تشغيل وظائف cron ودمجها مع خدمات الجهات الخارجية مثل n8n و Zapier - عندما يتم فحص فاتورة جديدة وتحميلها ، يمكن تشغيل الخوارزمية ودفعها تلقائيًا إلى الجداول.
  2. إدارة الجرد في EComt: لا يزال الكثير من إدارة المخزون الإلكتروني يعمل من خلال الإدخال اليدوي للمنتجات من ملفات PDF والنسخ الممسوحة ضوئيًا. ومع ذلك ، فهم بحاجة إلى تحميل جميع بياناتهم في برنامج إدارة الفواتير لتتبع جميع منتجاتهم ومبيعاتهم. ومن ثم ، فإن استخدام الجدول لخوارزمية تحويل قاعدة البيانات يمكن أن يساعد في أتمتة الإدخال اليدوي وحفظ الموارد. تتضمن هذه العملية عادةً مسح قائمة الجرد من المستندات الممسوحة ضوئيًا وتصديرها إلى جداول قاعدة بيانات محددة بناءً على قواعد وشروط العمل المختلفة.
  3. استخراج البيانات من الاستطلاعات: لجمع التعليقات والمعلومات القيمة الأخرى ، نجري عادةً استبيانًا. إنها توفر مصدرًا مهمًا للبيانات والرؤى لكل شخص تقريبًا منخرط في اقتصاد المعلومات ، من الشركات ووسائل الإعلام إلى الحكومة والأكاديميين. عندما يتم جمعها عبر الإنترنت ، يكون من السهل استخراج حالة بيانات الجدول بناءً على استجابة المستخدم وتحميلها إلى قاعدة بيانات. ومع ذلك ، في معظم الحالات ، تكون ردود الاستطلاع على الورق. في مثل هذه الحالات ، من الصعب جدًا جمع المعلومات يدويًا منها وتخزينها بتنسيق رقمي. لذلك ، يمكن أن يؤدي الاعتماد على جدول لخوارزميات قاعدة البيانات إلى توفير الوقت وتقليل التكاليف الإضافية أيضًا.

كيف تستخرج المعلومات من ملفات PDF إلى قواعد البيانات العلائقية وغير العلائقية؟

يُنظر إلى ملف PDF على أنه نوعين مختلفين ، يتم إنشاؤهما إلكترونيًا وغير المُنشأة إلكترونيًا.

  1. ملفات PDF الإلكترونية: قد يحتوي مستند PDF الممسوح ضوئيًا على نص مخفي خلف الصورة ؛ يشار إليها أيضًا باسم ملفات PDF التي تم إنشاؤها إلكترونيًا.
  2. ملفات PDF غير الإلكترونية: في هذا النوع ، نرى المزيد من المحتوى المشفر كصور. هذا هو الحال عندما يكون لديك نسخة مطبوعة من المستند ممسوحة ضوئيًا في ملف PDF.

يمكننا الاعتماد على أطر عمل ولغات برمجة بسيطة مثل Python و Java للنوع الأول (تم إنشاؤه إلكترونيًا). بالنسبة لملفات PDF غير المُنشأة إلكترونيًا ، سنحتاج إلى استخدام تقنيات رؤية الكمبيوتر مع التعرف الضوئي على الحروف والتعلم العميق. ومع ذلك ، قد لا تكون هذه الخوارزميات هي نفسها لجميع خوارزميات استخراج الجدول ، وسوف تحتاج إلى التغيير اعتمادًا على نوع البيانات لتحقيق دقة أعلى. يتم استخدام NLP (معالجة اللغة الطبيعية) أيضًا لفهم البيانات داخل الجداول واستخراجها في بعض الحالات.

من ناحية أخرى ، هناك نوعان من قواعد البيانات (العلائقية وغير العلائقية) ؛ تحتوي كل قاعدة من قواعد البيانات هذه على مجموعات مختلفة من القواعد بناءً على بنيتها. يتم تنظيم قاعدة البيانات العلائقية ، مما يعني أن البيانات منظمة في جداول. تتضمن بعض الأمثلة MySQL و Postgres وما إلى ذلك.

في المقابل ، فإن قاعدة البيانات غير العلائقية موجهة نحو المستندات ، مما يعني أنه يتم تخزين جميع المعلومات في ترتيب قائمة الغسيل. ضمن مستند مُنشئ واحد ، سيكون لديك جميع بياناتك مُدرجة - على سبيل المثال ، MongoDB.

تحويل PDF إلى قاعدة بيانات عندما يتم إنشاء المستندات إلكترونيًا

كما تمت مناقشته ، بالنسبة لملفات PDF التي تم إنشاؤها إلكترونيًا ، فإن عملية استخراج الجداول واضحة ومباشرة. الفكرة هي استخراج الجداول ثم استخدام البرامج النصية البسيطة لتحويلها أو إضافتها إلى جداول. لاستخراج الجدول من ملفات PDF ، هناك تقنيتان أساسيتان.

تقنية # 1 تيار: تحلل الخوارزمية من خلال الجداول بناءً على المسافات البيضاء بين الخلايا لمحاكاة بنية الجدول — تحديد مكان عدم وجود النص. إنه مبني على وظيفة PDFMiner لتجميع الأحرف على الصفحة في كلمات وجمل باستخدام الهوامش. في هذه التقنية ، أولاً ، يتم اكتشاف الصفوف عن طريق إجراء تخمينات تقريبية بناءً على موضع محور ص لبعض النص (أي الارتفاع). يعتبر كل النص الموجود في نفس السطر جزءًا من نفس الصف. بعد ذلك ، يتم تجميع القارئ وتجميعه كمجموعة مختلفة لتحديد الأعمدة في الجدول. أخيرًا ، يتم تعيين الجدول معًا بناءً على الصفوف والأعمدة المكتشفة في الخطوات السابقة.

تقنية # 2 شعرية: على عكس الدفق ، فإن Lattice أكثر حتمية. بمعنى أنه لا يعتمد على التخمينات. يوزع أولاً من خلال الجداول التي تحتوي على خطوط محددة بين الخلايا. بعد ذلك ، يمكنه تحليل جداول متعددة موجودة على الصفحة تلقائيًا. تعمل هذه التقنية بشكل أساسي من خلال النظر إلى شكل المضلعات وتحديد النص داخل خلايا الجدول. سيكون هذا بسيطًا إذا كان ملف PDF يحتوي على ميزة يمكنها تحديد المضلعات. إذا كان لديه ، فمن المعقول أن يكون لديه طريقة لقراءة ما بداخله. ومع ذلك ، فهي لا تفعل ذلك. ومن ثم ، يتم استخدام رؤية الكمبيوتر على نطاق واسع لتحديد هذه الأشكال واستخراج محتويات الجدول.

يتم حفظ الجداول المستخرجة بشكل أساسي في تنسيق إطار البيانات. إنه أحد أنواع البيانات الأصلية التي يقدمها أحد أشهر حيوانات الباندا في مكتبة Python. هناك مزايا عديدة لتخزين بيانات الجدول في إطار بيانات. يمكن التعامل معها ومعالجتها وتصديرها بسهولة إلى تنسيقات مختلفة مثل JSON أو CSV أو الجداول. ومع ذلك ، قبل دفع إطارات البيانات هذه إلى الجداول ، يجب علينا أولاً الاتصال بقاعدة بيانات DB-Client ثم ترحيل الجدول. باستخدام لغات مثل Python ، يمكننا العثور على العديد من المكتبات التي يمكنها الاتصال بمصادر البيانات هذه وتصدير البيانات.

PDF إلى قاعدة البيانات عندما لا يتم إنشاء المستندات إلكترونيًا

قد لا تعمل الأساليب التي تمت مناقشتها أعلاه مع ملفات PDF غير المُنشأة إلكترونيًا ، حيث يتم مسح البيانات هنا يدويًا من خلال مصدر مختلف. هذا هو السبب في أننا سنستخدم تقنيات التعرف الضوئي على الحروف والتعلم العميق لاستخراج البيانات من المستندات الممسوحة ضوئيًا وتصديرها إلى قواعد البيانات.

باختصار ، التعرف الضوئي على الحروف ، OCR هي أداة خاصة تحول الحروف المطبوعة من المستندات الممسوحة ضوئيًا إلى نص قابل للتحرير. لتحديد جداول PDF من المستندات ، نحتاج أولاً إلى تحديد موضع الجدول ثم تطبيق OCR لاستخراج البيانات من خلايا الجدول. فيما يلي خطوات كيفية تحقيق ذلك:

  1. أولاً ، نكتشف مقاطع الخط من خلال تطبيق ملامح أفقية ورأسية.
  2. يتم الكشف عن تقاطعات الخط بين الخطوط من خلال النظر في شدة البكسل لجميع الخطوط. إذا كان لبكسل الخط شدة أكثر من باقي البكسل ، فهو جزء من سطرين ، وبالتالي ، تقاطع.
  3. يتم تحديد حواف الجدول بالنظر إلى كثافة وحدات البكسل للخطوط المتقاطعة. هنا ، يتم أخذ جميع وحدات البكسل في الخط ، وتمثل معظم الخطوط الخارجية حدود الجدول.
  4. يتم ترجمة تحليل الصورة إلى إحداثيات PDF ، حيث يتم تحديد الخلايا. يتم تعيين النص لخلية بناءً على إحداثياتها x و y.
  5. يتم تطبيق OCR على الإحداثيات لاستخراج النص
  6. يتم تصدير النص المستخرج إلى إطار بيانات بناءً على موضع الجدول.

هذه هي الطريقة التي يمكننا بها استخراج الجداول باستخدام السيرة الذاتية. ومع ذلك ، هناك بعض العيوب هنا. تفشل هذه الخوارزميات للجداول الكبيرة والجداول ذات أنماط القوالب المختلفة. هذا هو المكان الذي يأتي فيه التعلم العميق ؛ يستخدمون نوعًا خاصًا من إطار عمل الشبكة العصبية للتعلم من البيانات وتحديد الأنماط المماثلة بناءً على التعلم. على مدار العقد الماضي ، حققوا أداءً متطورًا ، خاصةً لمهام مثل استخراج المعلومات. الآن ، دعونا نلقي نظرة على مدى عمق الشبكات العصبية التي يمكن أن تتعلم من البيانات واستخراج الجداول من أي مستند.

يتضمن تدريب الشبكات العصبية العميقة سير عمل محددًا ؛ غالبًا ما يتم تغيير تدفقات العمل هذه بناءً على نوع البيانات التي نعمل بها وأداء نموذجها. تتضمن المرحلة الأولى من سير العمل جمع البيانات ومعالجتها بناءً على نموذجنا. في حالة استخراج الجداول من مستندات PDF ، يجب أن تحتوي مجموعة البيانات بشكل مثالي على مستندات غير منظمة. يتم تحويل هذه المستندات إلى صور ، وتحميلها كموترات ، وتصبح جاهزة كصف محمل بيانات للتدريب. بعد ذلك ، نحدد عادةً جميع المعلمات الفائقة المطلوبة للتدريب. تتضمن هذه عادةً إعداد حجم الدُفعة ، ووظيفة الخسارة ، ومحسن النموذج. أخيرًا ، يتم تعريف بنية الشبكة العصبية أو بناؤها فوق نموذج محدد مسبقًا. سيتم تدريب هذا النموذج على أعلى البيانات وصقله بناءً على مقاييس الأداء.

فيما يلي لقطة شاشة لخطوات مختلفة متضمنة في تدريب نموذج التعلم العميق:

سير عمل ML النموذجي (مصدر)

استخراج البيانات من ملف pdf وتصديرها إلى قاعدة بيانات SQL باستخدام لغة Python

حتى الآن ، تعلمنا ما هو تحويل pdf إلى قاعدة بيانات وناقشنا بعض حالات الاستخدام حيث يمكن أن يكون مفيدًا. سيعالج هذا القسم هذه المشكلة عمليًا باستخدام Computer Vision ويكشف عن الجداول في ملفات PDF الممسوحة ضوئيًا وتصديرها إلى قواعد البيانات. للمتابعة ، تأكد من تثبيت Python و OpenCV على جهازك المحلي. بدلاً من ذلك ، يمكنك استخدام دفتر ملاحظات Google Collab عبر الإنترنت.

الخطوة 1: قم بتثبيت Tabula و Pandas

في هذا المثال ، سنستخدم Tabula و Pandas لاستخراج الجداول ودفعها إلى قواعد البيانات. دعنا نثبتها عبر نقطة ونستوردها في برنامجنا.

import tabula
import pandas as pd

الخطوة 2: قراءة الجداول في Dataframe

الآن ، سنستخدم ملف read_pdf وظيفة من الجدول لقراءة الجداول من ملفات PDF ؛ لاحظ أن هذه المكتبة تعمل فقط على مستندات PDF التي يتم إنشاؤها إلكترونيًا. فيما يلي مقتطف الشفرة:

table = tabula.read_pdf("sample.pdf",pages='all',multiple_tables=False)

df = pd.concat(table)

هنا ، كما نرى ، أولاً ، نستخدمها لقراءة محتويات ملف PDF ، نقوم بتعيين المعلمة multiple_tables إلى False ، لأن المستند المستخدم في المثال يحتوي على جدول واحد فقط.

الآن ، سنقوم بتحميل هذه القائمة في إطار بيانات باستخدام الباندا ، ويمكنك التحقق من نوع الجدول باستخدام طريقة الكتابة ؛ سيؤدي هذا إلى إرجاع إطار بيانات الباندا الأصلي.

الخطوة 3: ترحيل Dataframe إلى Postres

قبل أن ندفع الجدول الخاص بنا إلى قواعد البيانات ، أولاً ، يجب أن ننشئ اتصالاً به من برنامجنا ، ويمكننا القيام بذلك باستخدام sqlalchemy العميل في بيثون. وبالمثل ، تقدم لغات البرمجة المختلفة هذا النوع من عملاء قواعد البيانات للتفاعل مع قواعد البيانات مباشرة من برامجنا.

في هذا البرنامج ، سنستخدم ملف create_engine الطريقة التي تتيح لنا الاتصال بقاعدة البيانات ؛ تأكد من استبدال بيانات اعتماد قاعدة البيانات في السلسلة المحددة للحصول على هذا العمل. بعد ذلك ، نستخدم ملف write_frame وظيفة لتصدير الجدول المستخرج إلى قاعدة البيانات المتصلة.

engine = create_engine('postgresql+psycopg2://username:password@host:port/database')

sql.write_frame(df, 'table_name', con, flavor='postgresql')

وبهذه الطريقة ، تمكنا من تصدير جداول من ملفات PDF إلى قاعدة البيانات ، وهذا يبدو واضحًا وسهلاً للغاية حيث استخدمنا ملف PDF بسيطًا تم معالجته إلكترونيًا. لاستخراج الجداول من الجداول غير التي تم إنشاؤها إلكترونيًا ، فيما يلي تقنيات التعلم العميق الشائعة التي يمكن استخدامها:

  1. الأوراق ذات الكود - GFTE: استخراج الجدول المالي القائم على الرسم البياني
  2. أوراق مع رمز - PubTables-1M: نحو مجموعة بيانات ومقاييس عالمية للتدريب وتقييم نماذج استخراج الجدول
  3. TableNet: نموذج التعلم العميق لاكتشاف الجدول الشامل واستخراج البيانات الجدولية من صور المستندات الممسوحة ضوئيًا

أدخل الشبكات النانوية: التعرف الضوئي على الحروف المتقدم لجدول PDF لتحويل قاعدة البيانات

سيبحث هذا القسم في كيفية مساعدة Nanonets لنا في تنفيذ الجداول إلى قاعدة البيانات بطريقة أكثر سهولة وقابلية للتخصيص.

Nanonets ™ عبارة عن OCR قائم على السحابة يمكنه المساعدة في أتمتة إدخال البيانات يدويًا باستخدام AI. سيكون لدينا لوحة معلومات حيث يمكننا بناء / تدريب نماذج التعرف الضوئي على الحروف الخاصة بنا على بياناتنا ونقلها بتنسيق JSON / CSV أو أي تنسيق مرغوب فيه. فيما يلي بعض مزايا استخدام Nanonets كماسح ضوئي لمستند PDF.

واحدة من الميزات البارزة في Nanonets هي البساطة التي توفرها الخدمة. يمكن للمرء اختيار هذه الخدمات دون أي خلفية برمجة واستخراج بيانات PDF بسهولة باستخدام أحدث التقنيات. فيما يلي ملخص موجز لمدى سهولة تحويل PDF إلى قاعدة البيانات.

خطوة 1 انتقل إلى nanonets.com وقم بالتسجيل / تسجيل الدخول.

تحويل بيانات PDF إلى إدخالات قاعدة البيانات PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

خطوة 2 بعد التسجيل ، انتقل إلى منطقة "اختيار البدء" ، حيث يمكنك استخدام أدوات الاستخراج سابقة الإنشاء أو إنشاء واحدة بنفسك باستخدام مجموعة البيانات الخاصة بك. هنا ، سنستخدم مستخرج الفاتورة المدمج مسبقًا.

تحويل بيانات PDF إلى إدخالات قاعدة البيانات PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

خطوة 3 تحميل ملف PDF للصور ، لإجراء استخراج البيانات واختيار خيار الاستخراج التلقائي.

تحويل بيانات PDF إلى إدخالات قاعدة البيانات PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

الخطوة4: إنشاء تكامل MySQL جديد للتكامل لتصدير البيانات المستخرجة إلى قاعدة البيانات. بدلاً من ذلك ، يمكنك اختيار خيارات متنوعة بناءً على قواعد البيانات التي تختارها.

تحويل بيانات PDF إلى إدخالات قاعدة البيانات PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

قم بتأسيس اتصال البيانات وانقر فوق إضافة التكامل. باستخدام هذا ، سيتم استخراج البيانات وتحميلها تلقائيًا إلى قاعدة بيانات كلما تم تحميل الملفات. إذا لم تجد عمليات الدمج المطلوبة ، فيمكنك دائمًا استخدام Nanonets API وكتابة نصوص بسيطة لإنجاز الأتمتة.

الطابع الزمني:

اكثر من الذكاء الاصطناعي والتعلم الآلي