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

مصدر الصورة: Fandom.com
لماذا يستغرق وقتا طويلا للعثور على هذا واحد؟
أولاً ، نظرية صغيرة. ما هي الوثيقة ، وكيف يجب أن نتعامل معها؟ في "علم آثار المعرفة" يلاحظ م. فوكو : "التاريخ الآن ينظم الوثيقة ، ويقسمها ، وينظمها ، ويعيد توزيع المستويات ، ويحدد الرتب ، ويؤهلها وفقًا لدرجة الأهمية ، ويعزل العناصر ، ويحدد الوحدات ، ويصف العلاقة". بالطبع ، لسنا مؤرخين للأفكار ، لكننا نعلم من تجربتنا الخاصة أن الوثيقة عبارة عن لحاف مزخرف بعناصر مختلفة مخيطة معًا. ماهية هذه العناصر وكيفية ترابطها تعتمد على وثيقة محددة. إذا كان هذا هو ، على سبيل المثال ، عمل الطالب ، فمن المرجح أن يشمل: صفحة العنوان ، وفصول النص الرئيسي والأشكال والجداول والجداول والصيغ والمراجع والتطبيقات. في مقال علمي ، من المحتمل أن يكون هناك تعليق توضيحي ، ولكن قد تكون صفحة العنوان مفقودة تمامًا. وتشتمل مجموعة المقالات أو مواد المؤتمرات على مجموعة كاملة من المقالات ، كل منها له هيكله الخاص. باختصار ، كل عنصر من عناصر المستند مثير للاهتمام ويكتفي ذاتيًا ويمكنه أن يخبر الكثير عن نوع المستند نفسه.
من الناحية المثالية ، يرغب الجميع - نحن والمعلمون - في الحصول على بنية وثيقة مثالية ومعالجة كل عنصر بطريقة تلبي مهمة محددة. الخطوة الأولى للنجاح هي تحديد ما يسمى العنصر. قررت أنا و Stack_more_layers أن أبدأ أخيرًا وليس آخرًا ، أي بعنصر نص مثل "ببليوغرافيا". هذا هو الجزء الذي يكون فيه اقتراض النص أقل إثارة للاهتمام للمستخدم. لذلك ، من الضروري أن نظهر في التقرير أننا "ضبطنا" الببليوغرافيا ولم نبدأ بالبحث عن أي شيء بشأنها.
الحياة هي مشهد. مهما طال الزمن. الشيء الرئيسي هو أنه ينبغي أن يكون هناك مراجع في النهاية.
في عالم مثالي ، كل شيء جميل ، ومظهر المستند أيضًا. نص المستند المثالي منظم ، إنه ممتع للقراءة ، ولن يكون من الصعب على الإطلاق العثور على مراجع من خلال سحب شريط التمرير بسرعة إلى النهاية. كما أظهرت الممارسة ، فإن الواقع له هيكل مختلف تمامًا.
بادئ ذي بدء ، يعني مصطلح "المراجع" بكلمة "ببليوغرافيا" المفاهيم التالية: "قائمة المراجع" ، "الأدب المستخدم" ، "قائمة المراجع" وحتى أكثر من مائة (كذا!) عناوين. بشكل عام ، لمثل هذه الأشياء ، هناك قواعد لتصميم المراجع والسجلات الببليوغرافية ، والتي بموجبها يمكنك سحب قائمة من المراجع من طبقة النص. دعنا نقول أكثر - هناك حتى GOST لتصميم هذه السجلات . هنا ، على سبيل المثال ، التصميم الصحيح لسجل ببليوغرافي لكتاب معروف:

صحيح ، أنه يجدر النظر في حقيقة أن دليل تصميم السجلات "وفقًا لـ GOST" يستغرق حوالي 150 صفحة. لتسجيل المراجع الببليوغرافية في المنشورات غير المطبوعة ، هناك GOST منفصل لأكثر من 20 صفحة. ومع ذلك ، يطرح سؤال معقول: كم من الناس سوف تكرس الوقت لمثل هذه القراءة الترفيهية فقط لوضع بعض المراجع الأدبية بشكل صحيح؟ كما تبين الممارسة ، هناك عدد قليل. بالطبع ، هناك أنظمة لتخطيط النص التلقائي (على سبيل المثال ، LaTeX ) ، ولكن في بيئة الطلاب (وهذه هي غالبية "عملائنا") فهي ليست شائعة جدًا. نتيجة لذلك ، عند الإدخال لدينا نص يحتوي على (أو ربما لا يحتوي) على الأقل قائمة منظمة من المصادر الأدبية.
سنوضح نقطة أخرى. الحقيقة هي أننا لا نعمل مباشرة مع العمل الذي تم تنزيله (pdf ، docx ، doc ، وما إلى ذلك) ، ولكن أولاً نأتي بهم إلى شكل موحد ، أي أننا نستخلص طبقة النص . هذا يعني أن أي نوع من التنسيق ، على سبيل المثال ، نوع أو حجم الخط ، تتم إزالته من النص. نتيجة لذلك ، لدينا فقط نص "خام" تحت تصرفنا ، والذي يبدو غالبًا سيئًا جدًا نظرًا للعديد من عمليات الاستخراج المختلفة.
لاحظ فقط أن الخوارزمية الخاصة بنا يجب أن تكون سريعة ومميتة. يعد اختيار كتلة المراجع مجرد "ميزة" إضافية في عملية التحقق من المستند بأكملها ، لذلك لا ينبغي أن تنفق الكثير من الموارد. هذا يعني أن الخوارزمية لا ينبغي أن تكون معقدة.
للقيام بذلك ، حددنا أولاً مقياس الجودة الذي سنقوم من خلاله بتقييم عملية الخوارزمية الخاصة بنا. سننظر في مهمتنا كمشكلة تصنيف. كل سطر من النص سوف نتعامل مع واحد من فئتين - ثبت المراجع أو غير المراجع. من أجل عدم تعقيد الحياة مع مؤشرات جودة سيئة التفسير (وهناك ما يكفي من هذه!) ، سننظر في نسبة الخطوط المصنفة بشكل صحيح وغير صحيح. نعمل على افتراض أن طبقة النص الواردة مقسمة إلى خطوط. والأكثر من ذلك أن التصنيف على هذا النحو منطقي ، نحتاج إلى سطر واحد حتى لا نجمع المراجع مع النص الغريب. هذا افتراض قوي للغاية ، ولكن تقريبًا جميع النصوص التي مرت خلال DocParser لدينا ترضيه. في تصنيف الكائنات المكون من فئتين ، وهي مهمتنا ، فإن مقاييس الجودة الأكثر شعبية هي الدقة والاستدعاء . كيف تبدو - انظر الصورة أدناه:

مصدر الصورة أعلاه: ويكيبيديا
مصدر الصورة أدناه: سلسلة: لالدمى
توضح الصورة عدد المرات التي صنفت فيها الخوارزمية بشكل صحيح (أو لم تصنف) السلسلة ، وهي:
- TP عبارة عن سلسلة ببليوغرافية حددتها الخوارزمية بشكل صحيح ؛
- TN هو سطر من النص العادي الذي تحدده الخوارزمية بشكل صحيح ؛
- FP - سطر من النص العادي ، تعرفه الخوارزمية على أنها ببليوغرافية ؛
- FN عبارة عن سلسلة ببليوغرافية تعرفها الخوارزمية كسلسلة نصية عادية.
هناك مطلب آخر وهو أن الخوارزمية يجب أن تكون دقيقة بما فيه الكفاية (بمعنى أن تكون درجة الدقة عالية بما فيه الكفاية). يمكن تفسير ذلك على أنه "بدلاً من ذلك ، لا نختار شيئًا ضروريًا من اختيار شيء غير ضروري."
كل مايو أحلام كام ترو
برأيك ، ما الذي يتطلبه حل مشكلة البحث؟ خوارزمية التنمية؟ تضمين حل في نظام موجود أو اختبار؟ لا يهم كيف!
من الغريب أن معظم الوقت يقضي في جمع البيانات وإعدادها. أيضًا في هذه الحالة: من أجل التوصل إلى خوارزمية وتكوين معلماتها ، من الضروري أن يتوفر لديك عدد كاف من المستندات التي تم ترميزها. وهذا هو ، الوثائق التي من المعروف عنها بالضبط حيث تحتوي على سجلات ببليوغرافية. قد يكون من الممكن جذب مقيّمين تابعين لجهة خارجية ، ومع ذلك ، في هذه المهام الصغيرة ، يمكنك عادة الحصول على القليل من الدماء وترميز البيانات الخاصة بك. نتيجة لذلك ، من خلال الجهود المشتركة ، قمنا بمعالجة حوالي 1000 مستند. بالطبع ، للتدريب ، على سبيل المثال ، شبكة عصبية ، هذا لا يكفي. ومع ذلك ، تذكر أن الخوارزمية يجب أن تكون بسيطة ، مما يعني أنك لا تحتاج إلى الكثير من البيانات لتكوين معلماتها.
ومع ذلك ، قبل تطوير خوارزمية ، تحتاج إلى فهم تفاصيل البيانات. بعد عرض حوالي 1000 مستند عشوائي ، أو بالأحرى طبقات النص الخاصة بهم ، يمكننا استخلاص بعض الاستنتاجات حول كيفية اختلاف النص الببليوغرافي عن النص المعتاد. أحد أهم الأنماط هو أن المراجع تبدأ دائمًا بكلمة رئيسية. بالإضافة إلى "قائمة المراجع" الشائعة أو "المصادر المستخدمة" ، هناك أيضًا موضوعات محددة تمامًا ، على سبيل المثال ، "الكتب المدرسية ، والكتيبات ، والدراسات".
ميزة أخرى لا تقل أهمية هي ترقيم السجلات الببليوغرافية. مرة أخرى ، تجدر الإشارة إلى أن كل هذه "العلامات" من قائمة المراجع غير دقيقة للغاية وأنه من غير الممكن دائمًا العثور على جميع السجلات الببليوغرافية في النص.
ومع ذلك ، حتى هذه الميزات غير الدقيقة تكفي لتطوير أبسط الخوارزمية للعثور على المراجع في طبقة النص. دعنا نصفها بشكل أكثر رسمية:
- نحن نبحث عن "مفاتيح موسيقية ثلاثية" في النص - كلمات المراجع.
- نحاول أن نجد في النص أدناه ترقيم السجلات الببليوغرافية ؛
- إذا كان هناك ترقيم ، فإننا نذهب إلى النص حتى ينتهي.
تظهر هذه الخوارزمية البسيطة دقة 100٪ تقريبًا ، ولكن اكتمالها منخفض جدًا. يشير هذا إلى أن الخوارزمية الخاصة بنا تحدد الخطوط الببليوغرافية فقط ، ولكنها تفعل ذلك بشكل انتقائي بحيث لا تجد سوى جزء صغير من الببليوغرافيا. تكمن الصعوبة في أنه لا يمكن ترقيم المراجع بسهولة ، لذلك سنستخدم هذه الخوارزمية كخريطة مساعدة.
دعونا الآن نحاول إنشاء خوارزمية أخرى تعثر على الأنواع المتبقية من السجلات الببليوغرافية في النص. للقيام بذلك ، قم بتمييز الخصائص التي تميز أسطر النص العادي عن أسطر السجلات الببليوغرافية. تجدر الإشارة إلى أن النص الببليوغرافي منظم تمامًا ، على الرغم من أن كل مؤلف يشكل هذه البنية بطريقته الخاصة. لقد حددنا السمات المميزة التالية للخطوط المطلوبة:
- وجود الترقيم في بداية السطر - سبق ذكر ذلك أعلاه عند وصف الخوارزمية الأولى ؛
- الوجود في سلسلة أرقام السنين. علاوة على ذلك ، يجب ألا تكون هذه الأرقام مكونة من أربعة أرقام فقط (وإلا فسيكون هناك العديد من المصادفات) ، ولكن يجب تحديد سنوات محددة عند الاقتباس: من أوائل القرن العشرين وحتى الوقت الحالي ؛
- سرد الأسماء الكاملة للمؤلفين والمحررين والأشخاص الآخرين الذين شاركوا في نشر المنشور بأشكال مختلفة ؛
- بيان أرقام الصفحات والمجلدات وغيرها من المعلومات من نوع مماثل ؛
- التواجد في سطر العبارات التي تشير إلى رقم الإصدار ؛
- وجود رابط في السلسلة ؛
- الإدمان في سطر من المفردات المهنية. بالنسبة للجزء الأكبر ، هذه اختصارات خاصة ، مثل "conf" ، "علمي-عملي". والاختصارات المماثلة.
نحدد هذه العلامات على أنها ثنائية ونقوم بتدريبها على واحدة من أبسط المصنفات ، ولكن في نفس الوقت ، مصنّفات فعالة للغاية - Random Forest . خوارزمية غابة عشوائية هي طريقة تصنيف فرقة. وهي تتألف من العديد (عادة حوالي 100) شجرة قرار بسيطة ، كل منها تتخذ قرارها الخاص ، إلى أي فئة ينتمي إليها الكائن المعني. يتم إنشاء إجابة الخوارزمية بأكملها بكل بساطة: يتم اختيار فئة تم تشكيلها بواسطة معظم أشجار القرار:

مصدر الصورة: www.researchgate.net
كما ذكرنا أعلاه ، سنختار معاملات الخوارزمية وذلك لزيادة دقتها. دعونا نحاول تطبيق هذه الخوارزمية على بعض المستندات وإلقاء نظرة على نتيجة العمل:

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

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

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

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