TextRadar خوارزمية بحث غامض. المؤشر (الجزء 3)

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



المتطلبات الأساسية



يتم تقليل مهمة البحث عن عبارة في نص مُرقَّم إلى حساب معامل الملاءمة لكل صفحة ثم فرز القائمة بترتيب تنازلي للمعامل.



في عملية الحساب وفقًا للنهج الأساسي ، تخضع كل صفحة لتحليل رمز تلو الآخر ، وهنا تكمن إمكانية التحسين.



صورة



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



فهرس



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



صورة



في عملية معالجة الطلب مباشرة ، يتم تقسيم سلسلة البحث إلى كلمات أولاً. علاوة على ذلك ، بالنسبة لكل كلمة من كلمات سلسلة البحث ، يتم حساب الملاءمة مع كل كلمة في الفهرس . يتم تجميع نتائج الحساب فيجدول النتائج الأولية الذي يحتوي على الأعمدة "كلمة سلسلة البحث" ، "كلمة الفهرس" ، "عامل الصلة" ، "رقم الصفحة". يحتوي الجدول على صفوف الفهرس فقط ، وهو معامل الصلة الذي تجاوزت الكلمات الحد المسموح به. أي أن كل صف من الفهرس بكلمة متطابقة يولد صفوفًا في جدول النتائج الأولية تساوي عدد صفحات النص التي تظهر عليها هذه الكلمة. يوجد أدناه جزء من جدول النتائج الأولية للبحث عن عبارة "Evening at Anna Pavlovna Sherer's".



صورة



ثم يتم فرز جدول النتائج الأولية حسب الأعمدة رقم الصفحة ، كلمة سلسلة البحث ، العامل(تنازلي).



صورة



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



صورة



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



صورة



على سبيل المثال ، في الشكل أعلاه ، يتم إجراء البحث عن طريق السطر "Evening at Anna Pavlovna Sherer's" (لا يتم أخذ حرف الجر "y" في الاعتبار) ، ويتم تجاهل الخطوط المميزة باللون الرمادي أثناء الالتفافية. سيكون معامل الملاءمة للصفحة 1 (0.75 + 1 + 0.875 + 1) / 4 = 0.906 ، للصفحة 2 - 0.906 ، للصفحة 3 - 0.75.



فوائد



إذا كنت لا تأخذ في الاعتبار الوقت الذي يقضيه في الفهرسة ، يتم إعادة استخدام نتائجها وتأخذ في الاعتبار أن المبلغ الإجمالي للحساب ، الذي يتم تقييم تقييمه في الجزء 1. ، مضاعف لطول سلسلة البيانات:



صورة؛



يمكننا القول أن المكسب من استخدام المؤشر سيكون مضاعفًا للنسبة:



صورة



على سبيل المثال ، في منصة العرض التوضيحي textradar.ru ، يتم تقسيم نص رواية "الحرب والسلام" إلى 1488 صفحة من 2000 حرف لكل منها. العدد الإجمالي للرموز في كلمات الفهرس ، والذي يتكون من 52156 عنصر ، هو 434060. أي أن الربح من الفهرسة سيكون حوالي 7:



صورة



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



صورة



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



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



يمكن رؤية نتائج تطبيق المناهج الموصوفة على المنصة التجريبية المنتشرة على الموقع الإلكتروني textradar.ru . يمكن العثور على التنفيذ (C # ASP.NET MVC) هنا .



All Articles