पर्सनलाइज्ड सर्च के लिए लर्निंग-टू-रैंक मॉडल

पर्सनलाइज्ड सर्च के लिए लर्निंग-टू-रैंक मॉडल

Embibe छात्रों को उनके लर्निंग आउटकम को बेहतर बनाने में मदद करता है और उनके लिए आवश्यक कंटेंट को खोजने का मुख्य तरीका मेन्यू-संचालित नेविगेशन सिस्टम के बजाय Embibe के पर्सनलाइज्ड सर्च इंजन का उपयोग करना है। वेब सर्च में प्रगति के साथ, आज यूजर अपेक्षा करते हैं कि सर्च रिजल्ट के पहले पेज में ठीक वही जानकारी होगी जिसकी वे तलाश कर रहे हैं।

Embibe पर उपलब्ध कंटेंट की मात्रा विशाल है और इसमें स्टडी मटेरियल, वीडियो, प्रैक्टिस प्रश्न, टेस्ट, लेख और समाचार, संपूर्ण परीक्षाएँ, विषय, इकाई, अध्याय, कॉन्सेप्ट शामिल हैं। यूजर्स को अधिक से अधिक उपलब्ध कंटेंट दिखाने के लिए, सर्च रिजल्ट विजेट सेट के रूप में प्रस्तुत किए जाते हैं। प्रत्येक विजेट सर्च रिजल्ट से रीट्रीव किए गए रिजल्ट के संग्रह का प्रतिनिधित्व करते हैं, संबंधित एक्शनेबल लिंक और संबंधित नॉलेज ग्राफ नोड्स द्वारा एक साथ समूहीकृत होते है। Embibe के सभी कंटेंट में उनके साथ जुड़े विभिन्न विजेट प्रकार हैं, और सह-स्तरीय यूजर विशेषताओं के साथ, यह हमारे सर्च स्थान को ~ 120 मिलियन डॉक्यूमेंट के संयोजन तक विस्तृत करता है जिसे यूजर तक पहुँचने से पहले चुना जाता है और उसका स्थान निर्धारित किया जाता है। Embibe पर सर्च रिजल्ट के साथ हिस्टोरिकल यूजर इंटरैक्शन की प्रवृत्ति विश्लेषण से पता चलता है कि यूजर पहले पेज पर ही शीर्ष विजेट स्थितियों में सबसे अधिक प्रासंगिक जानकारी की अपेक्षा करते हैं। अतः, रिजल्ट विजेट का क्रम हमारे यूजर के लिए सर्च को अधिक आकर्षक बनाने और हमारे सर्च रिजल्ट की गुणवत्ता में सुधार करने में महत्वपूर्ण भूमिका निभाता है।

लर्निंग-टू-रैंक [1]  एक पर्यवेक्षित मशीन लर्निंग प्रॉब्लम है जिसका उपयोग स्वचालित रूप से सर्च रिजल्ट के लिए रैंकिंग मॉडल बनाने के लिए किया जा सकता है। प्रत्येक क्वेरी के लिए, सभी संबद्ध डॉक्यूमेंट एकत्र किए जाते हैं। इन डॉक्यूमेंट की प्रासंगिकता आमतौर पर मानव असेसमेंट या निर्णय के रूप में ट्रेनिंग डेटा के रूप में प्रदान की जाती है। इस डॉक्यूमेंट की प्रासंगिकता तब होती है जब इसका उपयोग रैंकिंग रिजल्ट और रेलेवैंस जजमेंट के बीच अंतर को कम करने के इष्टतम लक्ष्य के साथ लर्निंग-टू-रैंक मॉडल को प्रशिक्षित करने के लिए किया जाता है, जो सभी प्रश्नों पर औसत होता है।

चित्र 1: Embibe के पर्सनलाइज्ड कंटेंट डिस्कवरी इंजन के संदर्भ में लर्निंग-टू-रैंक। एक यूजर  Embibe पर पर्सनलाइज्ड कंटेंट डिस्कवरी इंजन के लिए एक क्वेरी पूछता है। रिजल्ट एक  Elasticsearch क्लस्टर से प्राप्त किए जाते हैं और एक पोस्ट-प्रोसेसिंग लेयर पर भेजें जाते हैं जो रिजल्ट से विजेट सेट को तैयार करता है। यूजर पर्सनलाइजेशन लेयर यूजर, क्वेरी और विजेट फीचर के आधार पर विजेट सेट को री-रैंक करने के लिए लर्निंग-टू-रैंक मॉडल का उपयोग करती है। लर्निंग-टू-रैंक मॉडल एक पर्यवेक्षित मशीन लर्निंग मॉडल है जो विजेट रैंकिंग प्रॉब्लम को रिजल्ट विजेट पर यूजर क्लिक के प्रेडिक्शन के रूप में रखता है। मॉडल को यूजर द्वारा किए गए क्वेरी के विरुद्ध विजेट पर हिस्टोरिकल यूजर क्लिक का उपयोग करके प्रशिक्षित किया जाता है।

चूंकि Embibe पर रिजल्ट विजेट में समूहीकृत होते हैं, जिन्हें पहले क्रम के रिजल्ट से क्वेरी तक विस्तारित किया जाता है, रैंकिंग फ़ंक्शन को विजेट पर लागू करने की आवश्यकता होती है। इसलिए, हमारे यूज केस में, कोई भी पूर्व-मौजूदा सर्च इंजन जो बिल्ट-इन लर्निंग-टू-रैंक फंक्शनैलिटी प्रदान करता है, जैसा कि Elasticsearch v6.0 ऊपर प्रदान करता है, सोल्यूशन प्रदान करने में सक्षम नहीं होगा। हमारा पर्सनलाइज्ड सर्च इंजन जो यूजर क्वेरी के आधार पर कंटेंट प्रदान करता है, यूजर कॉहोर्ट असाइनमेंट,  हिस्टोरिकल सर्च ट्रेंड, कंटेंट कंसम्पशन पैटर्न, परीक्षा-आधारित कंटेंट महत्व और पिछले यूजर इंटरैक्शन के आधार पर पहले क्रम के रिजल्ट को 25 ऐसे महत्वपूर्ण कारकों के बीच रैंक करता है। 

हालांकि यह दृष्टिकोण सर्च रिजल्ट पर पिछले यूजर क्लिक डेटा के आधार पर अच्छी तरह से काम करता है, लेकिन यह क्वेरी-आधारित यूजर इंटरैक्शन या क्वेरी-डॉक्यूमेंट का प्रतिनिधित्व करने या विशेष रूप से हमारे यूज-केस में इसका ध्यान नहीं रखता है, क्वेरी-विजेट पेयर को हाई डायमेंशनल स्पेस में और यूजर क्वेरी के लिए उनकी प्रासंगिकता पेश करता है। लर्निंग-टू-रैंक फ्रेमवर्क n-डायमेंशनल स्पेस में एक क्वेरी के लिए रिजल्ट सेट का प्रतिनिधित्व करके इस कमी को संबोधित करता है और प्रॉब्लम को मशीन लर्निंग प्रॉब्लम जैसे रिग्रेशन या क्लासीफिकेशन में बदलकर या इवैल्युएशन मैट्रिक्स को ऑप्टिमाइज़ करके रैंकिंग सीखता है।

आमतौर पर, लर्निंग-टू-रैंक एल्गोरिदम क्वेरी-डॉक्यूमेंट पेयर या लिस्ट पर काम करते हैं। हमारी स्थिति में, चूंकि प्रत्येक क्वेरी विजेट प्रकारों के विभिन्न सेटों को प्रोड्यूस करेगी और हम यूजर के लिए रैंकिंग को पर्सनलाइज करना भी चाहेंगे, हमने फीचर की तीन श्रेणियों पर विचार किया है; अर्थात् यूजर, क्वेरी और विजेट। हम यूजर प्रोफ़ाइल, क्वेरी इनफार्मेशन और रिजल्ट से प्राप्त शीर्ष विजेट के संयोजन से फीचर का उपयोग करके यूजर द्वारा की गई प्रत्येक क्वेरी के लिए अपने डेटा की मदद लेते हैं। विजेट के लिए फीचर में विजेट का प्रकार, विजेट वर्टिकल, हिस्टोरिकल ब्राउज़ बहुप्रियता, विजेट नाम से मेल खाने वाले क्वेरी टर्म आदि शामिल हैं। क्वेरी के लिए फीचर में शामिल हैं- विशिष्ट इंटेंट की पहचान, क्वेरी की विस्तृतता, क्वेरी की टर्म फ्रीक्वेंसी-इनवर्स डॉक्यूमेंट फ्रीक्वेंसी फीचर आदि। यूजर-पर्सनलाइजेशन को ध्यान में रखते हुए, हम यूजर फीचर को भी शामिल करते हैं जैसे यूजर एंगेजमेंट कॉहोर्ट, यूजर परफॉरमेंस कॉहोर्ट, यूजर का प्राथमिक लक्ष्य आदि। एक्स्प्लोरेट्री डेटा एनालिसिस, कॉररिलेशन मैट्रिक्स का अध्ययन, म्यूच्यूअल इनफार्मेशन स्कोर और डिमेन्शनैलटी रिडक्शन का उपयोग करके रीडनडैंट फीचर को समाप्त कर दिया जाता है।

हमने लर्निंग-टू-रैंक को एक प्रेडिक्शन प्रॉब्लम में बदल दिया है जिसमें हम दिए गए, यूजर, क्वेरी और विजेट फीचर के आधार पर किसी विशेष विजेट पर यूजर क्लिक प्रायिकता का अनुमान लगाते हैं। हिस्टोरिकल यूजर क्वेरी और उसके बाद क्लिक इंटरैक्शन डेटा का उपयोग करते हुए, हम क्लिक किए गए स्थान और उससे ऊपर के विजेट पर विचार करते हैं। यह हमें ऐतिहासिक रूप से सेट किए गए डेटा का अपेक्षाकृत संतुलित वितरण देता है, यूजर उच्चतर विजेट पर क्लिक करते हैं। क्लासिफिकेशन एल्गोरिथ्म का उपयोग करके हम एक विजेट पर एक क्लिक की प्रायिकता का अनुमान लगा सकते हैं, और यह दृष्टिकोण शुरू करने के लिए एक अच्छा बेसलाइन प्रदान करता है जहां से आगे के पुनरावृत्तियों के लिए रिजल्ट की आसानी से व्याख्या की जा सकती है। इसलिए, हमने इस दृष्टिकोण के लिए अपनी पहली पसंद के रूप में लॉजिस्टिक रिग्रेशन को चुना।

हमारे प्रयोगों के लिए, टास्क का अनुमान लगाना था कि यूजर और क्वेरी के कुछ संयोजन के आधार पर किसी दिए गए स्थान पर एक विजेट पर क्लिक किया जाएगा या नहीं। हमने केवल न्यूमेरिकल फीचर जैसे ब्राउज़ बहुप्रियता, परीक्षा महत्व, क्वेरी विस्तृतता, आदि का उपयोग करके शुरू किया और इसे बेसलाइन परफॉरमेंस के रूप में उपयोग किया। उन्नत फीचर सेट में विजेट प्रकार, यूजर कॉहोर्ट, क्वेरी लक्ष्य आदि जैसे श्रेणीबद्ध डेटा जोड़ने के परिणामस्वरूप क्लिक प्रेडिक्शन टास्क में सटीकता और यथार्थता  दोनों में ~6% का सुधार हुआ। फिर हमने क्वेरी से एक्सट्रेक्ट करके टॉप 1,500 TF-IDF फीचर को जोड़ा और इससे मॉडल की सटीकता में ~1% तक सुधार हुआ, यह दर्शाता है कि बेहतर परफॉरमेंस के लिए अन्य टेक्स्ट फीचर को क्वेरी से एक्सट्रेक्ट करने की आवश्यकता पड़ सकती है। इस दृष्टिकोण संबंधी परफॉरमेंस का उपयोग Embibe के पर्सनलाइज्ड कंटेंट डिस्कवरी इंजन के लिए लर्निंग-टू-रैंक पर आगे के शोध पुनरावृत्तियों की बेसलाइन के रूप में किया जाएगा।

संदर्भ:

  1. Liu T., “Learning to rank for information retrieval.”, Foundations and Trends® in Information Retrieval 3.3 (2009): 225-331.
  2. Kraskov A., Stögbauer K. and Grassberger P., “Estimating mutual information.”, Physical review E 69.6 (2004): 066138
  3. Cox D. R., “The regression analysis of binary sequences.”, Journal of the Royal Statistical Society. Series B (Methodological) (1958): 215-242.