شعار العنصر 14

العنصر 14، قناة يوتيوب علميّة عن تكنولوجيا الحاسوب التي نتعامل معها في حياتنا اليوميّة

كيف تعمل محركات البحث؟

08/11/2019


تمهيد

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

مقدمة

يحتوي الانترنت على أكثر من مليار موقع بل ربما أكثر من تريليون صفحة --أي واحد متبوع ب ١٢ صفراً! فكيف تستطيع محركات البحث مثل جوجل أن تبحث في هذا الكم الهائل من المعلومات في أقل من ثانية واحدة؟ و كيف تحدد ترتيب النتائج لكل عملية بحث؟

الزحف

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

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

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

هذه العناكب طرأ عليها تطور هائل منذ بدايات محركات البحث حتى الآن. فحتى سنة ٢٠١٣ تقريباً كانت عناكب جوجل (عناكب، و ليس عنكبوتاً واحداً بالتأكيد) تحتاج لأسبوع واحد للزحف في جميع الانترنت، أي أنه لو نشر خبراً جديداً في أحد المواقع اليوم فربما لا يظهر في محرك البحث إلا بعد أسبوع. العناكب تطورت بشكل سريع، و الزحف في جميع الانترنت نادرا ما يحتاج لأكثر من يومين.

الفهرسة

بعد أن تقوم العناكب بعملها، يصبح عند محرك البحث نسخة عن الويب. بالرغم من وجود هذه النسخة، إلا أنّ البحث عن كلمة واحدة في تريليون صفحة سيستغرق الكثير من الوقت، حوالي 31 سنة، هذا إذا استغرق البحث في كل صفحة 1/1000 من الثانية! طبعا الرقم أفضل من 63 ألف سنة، و لكنه مازال عالٍ جداً. الحل هنا هو فهرسة الويب.

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

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

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

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

ترتيب نتائج البحث

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

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

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

هنالك أكثر من 200 إشارة تنظر إليها محركات البحث لترتيب نتائجها.مسألة ترتيب النتائج تعتبر أهم سر من أسرار محركات البحث.

خاتمة

هنالك كثير من محركات البحث سواءً العالمية مثل جوجل و بينغ و duckduckgo أو المختصة بسوق معين مثل Baidu في الصين و Yandex و mail.ru في روسيا و دول الإتحاد السوفيتي سابقاً و التي تفوق جودتها جودة جوجل في هذه الأسواق.

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