ما هو مؤشر مقلوب؟ إنها حقيقة معروفة أنك تحتاج إلى إنشاء فهارس لتنفيذ عمليات بحث فعالة. ما هو الفرق بين الفهرس والفهرس المقلوب ، وكيف يمكن للمرء بناء الفهرس المقلوب؟


الاجابه 1:

مؤشر مقلوب

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

على سبيل المثال ، لنفترض أن لدينا وثيقتين ، يحتوي كل منهما على حقل محتوى يحتوي على ما يلي:

  1. قفز الثعلب البني السريع فوق الكلب الكسول قفز الثعالب البني السريع فوق الكلاب الكسولة في الصيف

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

المصطلح Doc_1 Doc_2
-------------------------
سريعة | | X
| X |
البني | X | X
كلب | X |
كلاب | | X
الثعلب | X |
الثعالب | | X
في | | X
قفز | X |
كسول | X | X
قفزة | | X
على | X | X
سريع | X |
الصيف | | X
ال X |
------------------------

الآن ، إذا كنا نريد البحث عن اللون البني السريع ، نحتاج فقط إلى العثور على المستندات التي يظهر فيها كل مصطلح:

المصطلح Doc_1 Doc_2
-------------------------
البني | X | X
سريع | X |
------------------------
المجموع | 2 | 1

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

ولكن هناك بعض المشاكل في فهرسنا المقلوب الحالي:

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

باستخدام الفهرس السابق ، لن يطابق البحث عن + Quick + fox أية مستندات. (تذكر أن علامة + السابقة تعني أنه يجب أن تكون الكلمة موجودة). يجب أن يكون المصطلح Quick و المصطلح fox في نفس المستند من أجل تلبية الاستعلام ، لكن المستند الأول يحتوي على fox السريع بينما يحتوي المستند الثاني على Quick الثعالب.

يمكن لمستخدمنا أن يتوقع بشكل معقول أن تتطابق الوثيقتان مع الاستعلام. يمكننا أن نفعل أفضل.

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

  • يمكن تقليل سرعة Quick لتصبح سريعة. يمكن وقف الثعالب - اختزالها إلى شكل الجذر الخاص بها - لتصبح ثعلب. وبالمثل ، يمكن أن تنبع الكلاب إلى dog.jumped والقفز عبارة عن مرادفات ويمكن فهرستها باعتبارها مجرد قفزة على المدى الواحد.

الآن الفهرس يشبه هذا:

المصطلح Doc_1 Doc_2
-------------------------
البني | X | X
كلب | X | X
الثعلب | X | X
في | | X
القفز | X | X
كسول | X | X
على | X | X
سريع | X | X
الصيف | | X
ال X | X
------------------------

لكننا لسنا هناك بعد. سيظل فشل بحثنا عن + Quick + fox ، لأنه لم يعد لدينا المصطلح الدقيق Quick في فهرسنا. ومع ذلك ، إذا طبقنا نفس قواعد التطبيع التي استخدمناها في حقل المحتوى على سلسلة طلبات البحث الخاصة بنا ، فستصبح عبارة عن استعلام لـ + quick + fox ، والذي يتطابق مع كلا الوثيقتين!

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

المرجع: الدليل النهائي [2.x] | المرن


الاجابه 2:

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

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

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

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

فما شكل الفهرس العادي؟

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

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

أرغب في إنشاء محرك بحث لجميع المستندات في جهاز الكمبيوتر الخاص بي. أنا أعرف ما أسعى إليه. لذلك سأقوم بتشغيل برنامج يمر عبر الشجرة بأكملها في أقراصي الصلبة وجمع الصفحات التي أريدها. أعلم أن ملفات mp3 و jpegs لا تفيدني. سأطلب من برنامجي استرداد ملفات txt و doc و pdf. لذلك ، بمجرد الحصول على وثيقة ، انتقل إلى الخطوة التالية.

1. إحضار المستندالمهمة بسيطة جدًا إذا حصلت على ملف نصي (.txt). ولكن إذا كان مستندًا أو ملف pdf ، فسوف أحتاج إلى تحليله باستخدام بعض المكتبات لاسترداد نصها. دعنا نقول أنني ناجحة في قراءة النص. ماذا بعد؟

2. إزالة Stop WordsConsider الفقرة الأخيرة. ما هي الكلمات المهمة التي قد نبحث عنها؟ "نص" ، "مكتبات" ، "مستند" ، "pdf" ، "استرداد" ، "ناجح". ولكن معظم الكلمات الأخرى هي مجرد مضيعة. نشير إلى الكلمات الأكثر حدوثًا على أنها "كلمات توقف" وإزالتها حتى لا أحصل على فهارس لكلمات مثل "أنا" أو "أو" أو "نحن" أو "غير". في الاستخدام المنتظم ، لدينا قائمة من 500-1000 كلمة. لكنها قد تختلف تبعا للاستخدام.

3. الجذعية إلى الجذر ووردثن يأتي الجذعية. الآن كلما أردت البحث عن "استرجاع" ، أرغب في رؤية مستند يحتوي على معلومات عنه. ولكن الكلمة الموجودة في المستند تسمى "استرداد" بدلاً من "استرداد". لربط الكلمتين ، سأقطع جزءًا من كل كلمة أقرأها حتى أتمكن من الحصول على "كلمة الجذر". قد يصبح الاسترداد "استرداد". لذلك سوف "استرجاع". يجب أن نتأكد من القواعد التي نستخدمها لتقطيع الكلمات. هناك أدوات قياسية لأداء هذا مثل "Porter's Stemmer". يمكنك اللعب من حولك مع حمال البوّابة هنا: Porter Stemmer Online

4. سجل IDsNow المستند الاستعداد للمهمة الرئيسية - فهرسة. كل وثيقة لدي معرف مستند فريد. عندما واجهت كلمة بلا توقف تم إيقافها الآن ، أحفظها في ذاكرتي في النموذج: retriev ==> docID104007

إذا تلقيت نفس الكلمة في بعض المستندات الأخرى ، فقد أتمكن من writeretriev ==> docID104007retriev ==> docID154033

ولكن سرعان ما يجب علي الجمع بينهما في listretriev ==> docID104007 & docID154033

يمكنني زيادة تحسيني عن طريق كتابة عدد الموقتات التي حدثت فيها الكلمة في المستند حتى نتمكن من ترتيب المستندات الأكثر أهمية أثناء استرجاعها. retriev ==> docID104007 | 5 | & docID154033 | 2 |

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

من الواضح أن كل هذا يحتاج إلى بعض هياكل البيانات المحددة التي تسهل عملك.

يمكننا بناء المزيد من الفهارس الثانوية لتحسين الاسترجاع. هناك الكثير من القضايا المتعلقة بالتصنيف أيضًا.

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