सर्च इंजिन – कसे चालते रे भाऊ ?


एकदा माझ्या मोठ्या मुलाला शाळेत मांसाहारी फुलाबद्दल (व्हिनस फ्लायट्रॅप) माहिती दिली होती पण त्याचे जे फोटो दाखवले ते ब्लॅक अ‍ॅन्ड व्हाइट होते. रंगीत फोटोसाठी तो माझ्यामागे लागला होता. त्याला फक्त फोटो बघायचे होते. मग त्याला मी म्हटले गुगल वर शोधुयात ना! गुगलच्या चित्रविभागाला साकडे घालून त्या फुलाची आणि त्यासारख्या दुसर्‍या फुलांचीही चित्रे त्याला दाखवून गुगलच्या शोध जगताची अलीबाबाची गुहा त्याला उघडून देली. काहीही शोधायचे असल्यास गुगल मध्ये सर्च करून माहिती मिळवता येते, ह्या कल्पनेने तो एकदम खुष झाला. मग त्याचे आणि माझे ‘गुगल शोध’ बद्दल झालेले बोलणे त्याने माझ्या धाकट्या मुलालाही सांगितले, प्रात्यक्षिकासहित. त्याचे त्यालाही कौतुक वाटून त्याचीही उत्सुकता चाळवली गेली.

‘बाबा, गुगलवर आपण काहीपण शोधू शकतो?’, गाल फुगवून आणि डोळे मोठ्ठे करून धाकट्याने विचारले. मी एकदम टेक सॅव्ही बाप असल्याच्या कौतुकाने त्याला म्हणालो, ‘हो काहीपण, तुला काय शोधायचे ते सांग आपण शोधूया’. एकदम निरागसतेने त्याने विचारले, ‘आई चिडल्यावर कधी-कधी तुम्ही म्हणता ना मला की नविन आई आणूयात! ही नविन आई पण आपण गुगलवर शोधू शकतो का?”. च्यायला, ही आत्ताची लहान पिढी आपलेच दात आपल्या घशात कसे घालील ह्याचा काही नेम नाही. पण वेळ बरी होती, अर्धांग स्वयंपाकघरात गुंतलेले होते. मी लगेच, ‘अरे चला तुम्हाला आइसक्रीम खायचे होते ना, जाऊया’, असे म्हणून वेळ मारून नेण्यासाठी त्यांना घेऊन बाहेर पडलो. आईसक्रीमच्या खुषीत धाकटा त्याचा प्रश्न विसरून गेला. पण मोठ्या मुलाने, गुगलकडे ही सगळी माहिती अशी असते, तो ही सगळी माहिती आपल्याला अशी काय दाखवू शकतो असे ‘समंजस’ प्रश्न विचारले. त्याला समजावून देता देता लक्षात आले की ‘एंटरप्राईज सर्च’ ह्या क्षेत्रात काम केल्यामुळे माहिती झालेल्या ह्यातल्या तांत्रिक बाबींची माहिती साध्या आणि सोप्या भाषेत सर्वांनाच करू देता येईल. चला तर मग बघुयात हे सर्च इंजीन कसे काम करते ते…

आजच्या ऑनलाईन जगात इंटरनेट हे माहितीचे भांडार झाले आहे. सर्व लहान मोठ्या कंपन्या त्यांचे ब्रॅन्ड्स, त्यांची उत्पादने आणि सेवा ह्यांच्या माहितीसाठी आणि मार्केटींगसाठी इंटरनेटचा प्रभावी वापर करुन त्या भांडारात भर टाकत आहेत. वेब २.० (Web 2.0) मुळे इंटरनेट वाचनीय न रहाता लेखनीयही झाले आहे. लाखो ब्लॉगर्स विवीध विषयांवर लेखन करून त्या भांडाराला दिवसेंदिवस समृद्ध करीत आहेत. ही सर्व माहिती, अफाट पसरलेल्या आणि गहन खोली असलेल्या महासागराप्रमाणे आहे. आता ह्या माहितीच्या अफाट सागरातून आपल्याला हवी असलेली नेमकी माहिती शोधायची म्हणजे अक्षरशः ‘दर्या मे खसखस’ शोधण्यासारखेच आहे. इथेच हे इंटरनेट सर्च इंजीन अल्लादिनच्या जादूच्या दिव्यातील जिनप्रमाणे आपल्या मदतीसाठी पुढे येते.

ही मदत करण्यासाठी इंटरनेट सर्च इंजीन अविरत कार्यरत असते. ह्या कामाची विभागणी खालील तीन मुलभूत प्रकारांत केलेली असते.

माग काढणे
(Web Crawling)
इंटरनेटवरील सर्व वेब पेजेसचा माग काढून, त्यांना भेट देऊन त्यावरील माहिती गोळा करणे
पृथःकरण आणि सूची करणे
(Analysis & Indexing)
गोळा केलेल्या माहितीचे पृथ:करण (Analysis) आणि सुसुत्रीकरण (Alignment) करून त्या माहितीचा जलद शोध घेण्यासाठी सूची (Index) बनवणे
शोध निकाल
(Search Result)
शोध घेणार्‍या इंटरनेट वापरकर्त्यांना (Users) सूची वापरुन योग्य तो शोध निकाल (Search Result) कमीत कमी वेळात दाखवणे

१. Web Crawling (माग काढणे)

आपल्याला हवी असलेली माहिती इंटरनेटवर नेमक्या कोणत्या पानावर आहे हे आपल्याला सांगण्याआधी ते पान इंटरनेट सर्च इंजीनला माहिती असले पाहिजे, हो ना? त्यासाठी सर्च इंजीनला अस्तित्वात असलेल्या सर्व वेब पेजेसचा मागोवा घ्यावा लागतो. रोज भर पडण्यार्‍या ह्या करोडो वेब पेजेसना भेट देऊन त्यांचा मागोवा घेणे हे काही खायचे काम नाही (ह्या खडतर कामाचा आवाका, मुलींचा मागोवा घेत फिरणार्‍यांना नक्की ध्यानात येईल 😉 ). ह्यासाठी सर्च इंजीन्स, सोफ्ट्वेअर रोबोट्स वापरतात ज्यांना ‘स्पायडर (Spider)’ म्हटले जाते. हे स्पायडर्स अक्षरशः इंटरनेटभर सरपटत जाउन ही माहिती गोळा करतात म्हणून ह्या प्रक्रियेला Web Crawling म्हणतात. ही प्रक्रिया पुनरावर्तन (Recursion) प्रक्रिया असते म्हणजे सुरुवातीच्या, पहिल्या पानावर असलेल्या सर्व लिंक्स गोळा केल्या जातात आणि मग त्या प्रत्येक लि़कला भेट देऊन पुन्हा त्या पानावरच्या सर्व लि़क गोळा करून त्या प्रत्येक लिंकला भेट देत ह्याची आवर्तने होत राहतात.

आता कळीचा मुद्दा हा आहे की ह्या प्रत्येक पानाला भेट दिल्यावर काय माहिती गोळा केली जाते? प्रामुख्याने सर्व स्पायडर्स ‘मजकूर स्वरूपातली (Text)’ माहिती गोळा करतात. प्रत्येक सर्च इंजीन्सची आपापली विशीष्ट अशी अल्गोरिदम्स असतात ही माहिती गोळा करण्यासाठी. पण प्रामुख्याने वेब पेजचे टायटल, मेटा टॅग्स, हेडर टॅग्स, चित्रांना दिलेला मजकूर (Alt tag) ह्यांत असलेल्या Text ला जास्त वेटेज दिले जाते. कारण हा मजकूर त्या वेब पेजला ‘डिफाईन’ करत असतो. त्यानंतर Body tag मधला मजकूर गोळा केला जातो.

काही वेब साइट्सना काही पेजेसचा मागोवा घेऊ द्यायचा नसतो. अशा वेळी ह्या साइट्स Robots.txt नावाची फाईल त्यांच्या साइट्वर ठेवतात. ही फाइल म्हणजे स्पायडर्स आणि वेब साइट ह्यांच्यामधला करार (Robots Exclusion Protocol) असतो. ज्या वेब पेजेसना ह्या स्पायडर्सनी भेट देऊ नये असे ठरवले असते त्या वेब पेजेसची नावे (लिंक्स) ह्या फाइलमध्ये लिहीलेली असतात. स्पायडर्स Crawling किंवा पुनरावर्तन चालू करायच्या आधि ही फाइल वाचून त्याप्रमाणे लिंक्स मागोवा घेताना गाळतात.

२. Analysis & Indexing (पृथ:करण आणी सूचीकरण)

ही सगळी ‘मजकुर (Text)’ माहिती गोळा करून सर्च इंजिन्स त्यांच्या जवळ ठेवत नाहीत. त्या माहितीचे पृथःकरण करून त्यातली शोध घेण्याच्या कामी येणारी माहितीच फक्त वापरली जाते. पण हे पृथःकरण असते तरी काय?

पृथ:करण
ह्यात प्रथम जी माहिती गोळा केली आहे ती कोणत्या भाषेतली आहे ते तपसले जाते. त्या भाषेच्या अनुषंगाने पृथ:करण कार्यवाहक (Analysers) वापरले जातात. एकदा भाषा कळली की मग त्या Text चे प्रसामान्यीकरण (Normalization) केले जाते. ह्यासाठी वापरली जाणारी प्रोसेस ‘Stemming किंवा Lemmatization’ म्हणून ओळखली जाते. ह्यात शब्दांची विवीध रूपे (धातूसाधित रूपे) त्यांच्या मूळ (धातू) प्रकारात आणली जातात. ह्म्म.. जरा बोजड झाले ना, वोक्के, उदाहरण बघू म्हणजे समजेल.

car, cars, car’s, cars’ ह्याचे मूळ रूप car हे घेतले जाते. त्यामुळे जेव्हा ‘car’ हा शब्द सर्च टर्म म्हणून वापरला जाईल तेव्हा car चे कोणतेही रुप असलेली वेब पेजेस शोधली जातील.

अजून एक उदाहरण बघुयात,
“the boy’s cars are different colors” वे वाक्य “the boy car differ color” असे Normalize केले जाईल. हे फक्त वानगीदाखल आहे. प्रत्यक्षात बरीच वेगवेगळी अल्गोरिदम्स वापरली जातात आणि ही प्रोसेस खुपच क्लिष्ट आहे.

सूचीकरण
आता ह्या नॉर्मलाईझ केलेल्या शब्दांच्या मूळ रुपांना (धातूंना) सूचीबद्ध केले जाते. ही सूची (फक्त समजण्यासाठी) पुस्तकाच्या शेवटी जी सूची (Index) असते, म्हणजे शब्दांची यादी आणि तो शब्द पुस्तकात कोण-कोणत्या पानांवर आलेला आहे ते पृष्ठ क्रमांक, साधारण तशीच, त्या प्रकारची एक सूची असते.

सर्च इंजीनच्या सूचीत नॉर्मलाईझ केलेले शब्दांचे मूळ रूप आणि ते कोण कोणत्या वेब पेजेस वर आले आहे त्यांची यादी असते. हेही फक्त वानगीदाखल आहे. हे सूचीकरण हा तर सर्च इंजीनचा आत्मा असतो आणि ते त्यांचे व्यावसायिक सिक्रेट असते. ह्या सूचीवरच सर्व डोलारा उभा असतो. ह्या सूचीला तांत्रिक भाषेत ‘Inverted index‘ म्हणतात.

ह्या सूचीत तो शब्द त्या वेब पेज वर किती वेळा आला आहे, कुठे आला आहे, कुठल्या महत्वाच्या टॅग्स मध्ये आला आहे अशी विवीध माहिती असते. ह्या सूचीची रचना, सर्च इंजीन शोध निकाल किती जलद देऊ शकत ह्यासाठी फारच महत्वाची असते.

३. Search Result (शोध निकाल)

जेव्हा शोधकर्ता काही शोधण्यासाठी इंटरनेट सर्च इंजीन वापरतो तेव्हा जे शोधायचेय त्याच्यापेक्षा भलतीच काही वेब पेजेस शोध निकालात दिसली तर शोधकर्ता पुन्हा ते सर्च इंजीन वापरणारच नाही आणि तो असंतुष्ट वापरकर्ता (unsatisfied user) म्हणून गणला जाईल आणि असे unsatisfied user असणे सर्च इंजीनला परवडणार नाही (धंदा बसेल हो दुसरे काय, छ्या! मराठी माणसाला धंदा आणि तो बसला असे काही सांगितल्याशिवाय चटकन कळतच नाही). त्यासाठी शोध निकालातली अन्वर्थकता किंवा समर्पकता (relevance) फार महत्वाची असते. सर्च इंजीन्सच्या ह्या relevance चे मूल्यमापन Precision (अचूकता) आणि Recall (?) ह्यांनी केले जाते. ह्या दोन्ही गोष्टी परस्पर पुरक असतात.

Precision (अचूकता): म्हणजे सर्च टर्म नुसार शोध निकालात न दाखवायची वेब पेजेस गाळण्याची (Filter) अचूकता
Recall (?): म्हणजे सर्च टर्म नुसार शोध निकालात दाखवायची वेब पेजेस निवडण्याची अचूकता

आज सर्च इंजीनचे जवळजवळ ८०-८३% मार्केट काबीज करून त्यावर मोनोपॉली असलेल्या गुगलच्या यशाचे ‘relevance’ हेच मूळ आहे. लॅरी आणि सर्जी ह्या जोडगोळीच्या ‘पेजरॅन्क (PageRank)’ अल्गोरिदम वर गुगलचा डोलारा उभा आहे. गंमत म्हणजे एकेकाळी त्यांना आणि त्यांच्या ह्याच अल्गोरिदमला कोणीही हिंग लावूनही विचारत नव्हते. शेवटी कंटाळून त्यांनी स्वतःची कंपनी चालू करायचा निर्णय घेतला. 🙂

या खालच्या चित्रात दाखवल्याप्रमाणे एकंदरीत सर्च इंजीन चालते, बरं का रे भाऊ!

(सर्व चित्रे आंतरजालावरून साभार)

10 thoughts on “सर्च इंजिन – कसे चालते रे भाऊ ?

  1. क्या बात है …. हे सगळं आंग्ल भाषेत सहज कळतं … पण ते मराठीत मांडणे म्हणजे जबरदस्त पृथ्थकरण, सुचीकरण आणि टंकलेखन याची शोधक भट्टी जमण्या सारखे आहे. 😉

    Like

    • धन्यवाद अनुविना (हे फ्युजन आवडले बरं का) !

      पण खरंच, हा लेख टंकताना खुपच तारांबळ उडाली होती. सर्व मराठी प्रतिशब्द शोधणे आणि परत ते टंकणे फारच जिकरीचे काम होते 😉

      Like

      • हे हे हे … ब्रिजेश,
        आजकाल आपण इतके इंग्रजाळलेलो आहोत की एखादा “प्यारीग्राफ” जरी “राईट” करायचा झाला तरी हाताला “स्वेटिंग” होतं.
        पण अश्यावेळी एखाद्या रूढ इंग्रजी शब्दाला मराठी शब्द शोधायला (आपल्याच मेंदूला चालना द्यायला) फार मज्जा येते. 😉

        Like

  2. ब्रिजेशदादा, मला तुमचे तांत्रिक विषयावरचे लिखाण खूप आवडते.. कितीतरी क्लिष्ट गोष्टी तुम्ही अगदी सहज सोप्या करून सांगता… इतक्या किचकट तांत्रिक लेखाला विनोदाची फोडणी देऊन तुम्ही लेखाची चव वाढवता… ते कॉफी आणि कॉकटेल मला मुळीच झेपले नाही पण हे असे तांत्रिक लेख एकदम मस्त !!! असेच लिहित राहा आणि आमच्या ज्ञानात भर घालत राहा..सर्व वाचकांच्या तर्फे आभार!!!

    Like

प्रतिक्रिया व्यक्त करा

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  बदला )

Google photo

You are commenting using your Google account. Log Out /  बदला )

Twitter picture

You are commenting using your Twitter account. Log Out /  बदला )

Facebook photo

You are commenting using your Facebook account. Log Out /  बदला )

Connecting to %s