لماذا يصعب استخراج نص من PDF؟

ترجمة مقال من موقع FilingDB الذي يؤلف قاعدة بيانات لوثائق من شركات أوروبية.وفقًا



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



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



المشكلة الرئيسية هي أن PDF لم يكن المقصود منه أن يكون تنسيقًا لإدخال البيانات - لقد تم تطويره كقناة إخراج ، مما يسمح بضبط مظهر المستند النهائي.



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



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



يصف ما يلي ميزات ملفات PDF التي تجعل من الصعب أو حتى المستحيل استخراج النص منها.



حماية قراءة ملفات PDF



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







المثير للاهتمام أن يكون النص مرئيًا ، لكن العارض يرفض نقل النص المحدد إلى الحافظة.



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



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



أحرف خارج الصفحات



في كثير من الأحيان ، يحتوي ملف PDF على بيانات نصية أكثر مما هو معروض على الصفحة. خذ هذه الصفحة من تقرير نستله السنوي 2010.







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

احتفلت KitKat بعيد ميلادها الخامس والسبعين في عام 2010 ، لكنها لا تزال شابة وعصرية مع أكثر من 2.5 مليون معجب على Facebook. تُباع منتجاتها في أكثر من 70 دولة ، وتنمو المبيعات بشكل جيد في البلدان المتقدمة والأسواق الناشئة مثل الشرق الأوسط والهند وروسيا. اليابان هي ثاني أكبر سوق للشركة.


هذا النص خارج الصفحة ، لذلك لن يعرضه معظم مشاهدي PDF. ومع ذلك ، فإن البيانات موجودة ويمكن استرجاعها برمجيًا.



يحدث هذا أحيانًا بسبب قرارات اللحظة الأخيرة لاستبدال النص أو إزالته أثناء عملية الموافقة.



أحرف صغيرة أو غير مرئية



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







الصفحة بها نص أبيض صغير على خلفية بيضاء يقول:

Wyeth Nutrition logo إرشادات الهوية للأسواق



Vevey Octobre 2012 RCC / CI & D


يتم إجراء ذلك أحيانًا لتحسين إمكانية الوصول ، لنفس الغرض مثل علامة alt في HTML.



مسافات كثيرة جدًا



في بعض الأحيان يتم إدراج مسافات إضافية بين أحرف الكلمات في PDF. ربما يتم ذلك لأغراض تقنين الأحرف (تغيير التباعد بين الأحرف).



على سبيل المثال ، يحتوي تقرير Hikma Pharma لعام 2013 على النص التالي:







إذا نسخته ، فسنحصل على:



    ch a i r m a n ' s s tat em en t


بشكل عام ، من الصعب حل مشكلة إعادة بناء النص الأصلي. أنجح نهج لدينا هو استخدام التعرف الضوئي على الحروف ، OCR.



لا توجد مساحات كافية



أحيانًا يفتقد ملف PDF مسافات أو تم استبداله بحرف مختلف.



مثال 1: المقتطف التالي مأخوذ من التقرير السنوي لبرنامج SEB لعام 2017.







النص المُستخرج:



    Tenyearsafterthefinancialcrisisstarted


مثال 2: يحتوي تقرير Eurobank 2013 على ما يلي:







نص مستخرج:



   On_April_7,_2013,_the_competent_authorities


مرة أخرى ، اتضح أنه أفضل استخدام لمثل هذه الصفحات OCR.



الخطوط المضمنة



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



  • الحرف الرسومي عبارة عن مجموعة من الإرشادات التي تصف كيفية رسم حرف أو حرف.
  • – , . , « » ™ «» «».
  • – . , , , «», .


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



على سبيل المثال ، قد يحتوي ملف PDF على رمز الحرف 116 ، والذي يقوم بتعيينه إلى اسم الحرف الرسومي "t" ، والذي بدوره يقوم بتعيين حرف رسومي يصف كيفية عرض الحرف "t".







تستخدم معظم ملفات PDF ترميز الأحرف القياسي. ترميز الأحرف هو مجموعة من القواعد التي تحدد معنى لرموز الأحرف نفسها. على سبيل المثال:



  • يستخدم كل من ASCII و Unicode رمز الحرف 116 لتمثيل الحرف "t".
  • يعيّن Unicode رمز الرمز 9786 إلى الحرف الرسومي "مبتسم أبيض" ، والذي يتم عرضه على شكل but ، لكن ASCII لا يعرف مثل هذا الرمز.


ومع ذلك ، تستخدم وثيقة PDF أحيانًا ترميز الأحرف الخاص بها والخطوط الخاصة. قد يبدو الأمر غريبًا ، لكن المستند قد يشير إلى الحرف "t" مع رمز الحرف 1. وسيعين رمز الحرف 1 إلى اسم الصورة الرمزية "c1" ، والذي سيتم تعيينه إلى حرف رسومي يصف كيفية عرض الحرف "t".







في حين أن النتيجة النهائية لا تختلف عن الإنسان ، سوف يتم الخلط بين الجهاز من خلال رموز الأحرف هذه. إذا كانت رموز الأحرف لا تتطابق مع الترميز القياسي ، فمن المستحيل تقريبًا فهم ما تعنيه الرموز 1 أو 2 أو 3. برمجيًا



لماذا يتضمن ملف PDF خطوطًا وتشفيرًا غير قياسيين؟



  • أحد الأسباب هو جعل استخراج النص أكثر صعوبة.
  • – . , PDF . PDF , .


طريقة واحدة للتغلب على هذا هو استخراج الحروف الرسومية للخط من المستند ، وتشغيلها من خلال OCR ، وتعيين الخط إلى Unicode. سيسمح لك هذا بترجمة الترميز المرتبط بالخط إلى Unicode ، على سبيل المثال: رمز الحرف 1 يتوافق مع الاسم "c1" ، والذي ، وفقًا للحرف الرسومي ، يجب أن يعني "t" ، والذي يتوافق مع رمز Unicode 116.



خريطة التشفير أنت فقط تم - الذي يطابق الرقمين 1 و 116 - يسمى بطاقة ToUnicode في معيار PDF. يمكن أن تحتوي مستندات PDF على بطاقات ToUnicode الخاصة بها ، ولكن هذا ليس مطلوبًا.



التعرف على الكلمات والفقرات



إعادة بناء الفقرات وحتى الكلمات من الحساء الرمزي غير المتبلور لملفات PDF مهمة شاقة.



يحتوي مستند PDF على قائمة بالأحرف على الصفحة ، والأمر متروك للمستهلك للتعرف على الكلمات والفقرات. يكون البشر فعالين بشكل طبيعي في هذا لأن القراءة مهارة شائعة.



خوارزمية التجميع الأكثر شيوعًا هي مقارنة الحجم والموضع ومحاذاة الأحرف لتحديد ما هي كلمة أو فقرة.



يمكن أن تصل أبسط تطبيقات مثل هذه الخوارزميات بسهولة إلى تعقيد O (n²) ، والذي قد يستغرق وقتًا طويلاً لمعالجة الصفحات المكتظة بكثافة.



ترتيب النص والفقرات



يعتبر التعرف على ترتيب النص والفقرات أمرًا صعبًا لسببين.



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







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



ضع في اعتبارك هذا الترتيب للمكونات في عمودين ، والذي يصف تحضير سلطة الخضار.







في العالم الغربي ، من المعقول أن نفترض أن القراءة من اليسار إلى اليمين ومن أعلى إلى أسفل. لذلك ، بدون دراسة محتوى النص ، يمكننا تقليل جميع الخيارات إلى خيارين: ABCD و ACB D.



بعد دراسة المحتوى ، وفهم ما يقوله هناك ، ومعرفة أن الخضار يتم غسلها قبل التقطيع ، يمكننا أن نفهم أن الترتيب الصحيح سيكون ACB D. من الصعب للغاية تحديد هذا بطريقة حسابية.



في نفس الوقت ، يعمل "في معظم الحالات" النهج الذي يعتمد على الترتيب الذي يتم به تخزين النص داخل مستند PDF. وعادة ما يتبع الترتيب الذي يتم به إدراج النص في وقت الإنشاء. عندما تحتوي أجزاء كبيرة من النص على العديد من الفقرات ، فعادة ما تتبع الترتيب الذي قصده المؤلف.



الصور المضمنة



غالبًا ما يتضح أن جزءًا من محتوى المستند (أو المستند بأكمله) هو صورة ممسوحة ضوئيًا. في مثل هذه الحالات ، لا توجد بيانات نصية فيه ، وعليك اللجوء إلى التعرف الضوئي على الحروف.



على سبيل المثال ، لا يتوفر تقرير Yell السنوي لعام 2011 إلا كمسح ضوئي:







لماذا لا تتعرف فقط على كل شيء؟



بينما يمكن أن يساعد التعرف الضوئي على الحروف في بعض المشكلات الموضحة ، إلا أن له أيضًا عيوبه.



  • وقت المعالجة الطويل. عادةً ما يستغرق تشغيل OCR على مسح ضوئي من PDF ترتيبًا أطول (أو حتى أطول) من استخراج النص مباشرة من PDF.
  • الصعوبات مع الأحرف غير القياسية والحروف الرسومية. من الصعب على خوارزميات التعرف الضوئي على الحروف أن تعمل بأحرف جديدة - الرموز التعبيرية والعلامات النجمية والدوائر والمربعات (في القوائم) والنصوص العلوية والرموز الرياضية المعقدة وما إلى ذلك.
  • . , PDF-, , . .




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



ما هي النصيحة التي يمكننا الحصول عليها لاستخراج النص من ملف PDF؟ بادئ ذي بدء ، تأكد من أن النص لا يحتوي على مصدر أكثر ملاءمة.



إذا كانت البيانات التي تهتم بها تأتي بتنسيق PDF فقط ، فمن المهم أن تفهم أن هذه المشكلة تبدو بسيطة للوهلة الأولى فقط ، وقد لا يكون من الممكن حلها بدقة 100٪.



All Articles