उपयोगकर्ता के हिसाब से बनाए जाने की सुविधा, मशीन लर्निंग का इस्तेमाल करती है. खास तौर पर, कॉन्टेक्स्ट के हिसाब से मल्टी-आर्म्ड बैंडिट एल्गोरिदम का इस्तेमाल करती है. इससे यह तय किया जाता है कि किसी लक्ष्य को हासिल करने के लिए, अलग-अलग उपयोगकर्ताओं को सबसे अच्छा अनुभव कैसे दिया जाए. हमारे मामले में, हमारा मकसद कुछ Google Analytics इवेंट की कुल संख्या या कुल पैरामीटर वैल्यू के लिए ऑप्टिमाइज़ करना है.
कॉन्टेक्स्ट के हिसाब से काम करने वाला मल्टी-आर्म्ड बैंडिट एल्गोरिदम क्या होता है?
"मल्टी-आर्म्ड बैंडिट" एक मेटाफ़र है. इसका इस्तेमाल ऐसी स्थिति के बारे में बताने के लिए किया जाता है जहां हमें कई रास्तों की सूची में से, लगातार ऐसा रास्ता चुनना होता है जिससे सबसे ज़्यादा और भरोसेमंद इनाम मिलें. इसे समझने के लिए, स्लॉट मशीनों की लाइन के सामने खड़े जुआरी का उदाहरण लिया जा सकता है. स्लॉट मशीन को आम तौर पर "वन-आर्म्ड बैंडिट" कहा जाता है, क्योंकि इसमें एक हैंडल (या आर्म) होता है और यह आपका पैसा ले लेता है. हमें कई "आर्म" की समस्या हल करनी है. इसलिए, एक आर्म वाला बैंडिट, मल्टी-आर्म बैंडिट बन जाता है.
उदाहरण के लिए, मान लें कि हमारे पास तीन विकल्प हैं और हमें यह पता लगाना है कि इनमें से कौनसा विकल्प सबसे ज़्यादा भरोसेमंद इनाम देता है: हम हर विकल्प को आज़मा सकते हैं. इसके बाद, नतीजे मिलने पर हम सिर्फ़ उस विकल्प को चुन सकते हैं जिससे हमें सबसे ज़्यादा इनाम मिले. इसे ग्रीडी एल्गोरिदम कहा जाता है: जब हम किसी विकल्प को पहली बार आज़माते हैं, तो उससे मिलने वाला सबसे अच्छा नतीजा ही हमारा चुना हुआ विकल्प होता है. हालांकि, हम यह समझ सकते हैं कि यह तरीका हमेशा काम नहीं करता. इसकी एक वजह यह हो सकती है कि ज़्यादा इनाम मिलने की वजह कोई और हो. ऐसा भी हो सकता है कि उपयोगकर्ता से जुड़े किसी कॉन्टेक्स्ट की वजह से, उस समयावधि के दौरान ज़्यादा इनाम मिले हों. हालांकि, बाद में ये इनाम उतने असरदार न हों.
इसलिए, एल्गोरिदम को ज़्यादा असरदार बनाने के लिए, कॉन्टेक्स्ट जोड़ा जाता है. Remote Config निजीकरण के लिए, यह शुरुआती कॉन्टेक्स्ट रैंडम सैंपलिंग या अनिश्चितता है. इससे एक्सपेरिमेंट को कुछ एंट्रॉपी मिलती है. यह "कॉन्टेक्स्ट के हिसाब से काम करने वाला मल्टी-आर्म्ड बैंडिट" लागू करता है. एक्सपेरिमेंट के जारी रहने पर, मौजूदा एक्सप्लोरेशन और ऑब्ज़र्वेशन से, मॉडल को यह पता चलता है कि किन ग्रुप से मॉडल को इनाम मिलने की सबसे ज़्यादा संभावना है. इससे मॉडल ज़्यादा असरदार बनता है.
मेरे ऐप्लिकेशन पर इसका क्या असर पड़ेगा?
अपने ऐप्लिकेशन के हिसाब से, मल्टी-आर्म्ड बैंडिट एल्गोरिदम का मतलब समझें. मान लें कि आपको बैनर विज्ञापन पर मिलने वाले क्लिक के लिए ऑप्टिमाइज़ करना है. इस मामले में, निजीकरण के "आर्म्स" वे वैकल्पिक वैल्यू होंगी जिन्हें आपने उपयोगकर्ताओं को दिखाए जाने वाले अलग-अलग बैनर विज्ञापनों को दिखाने के लिए तय किया है. बैनर विज्ञापन पर क्लिक करने से इनाम मिलता है. इसे लक्ष्य कहा जाता है.
जब पहली बार किसी सुविधा को उपयोगकर्ताओं की दिलचस्पी के हिसाब से बनाया जाता है, तो मॉडल को यह पता नहीं होता कि हर उपयोगकर्ता के लिए, कौनसी वैकल्पिक वैल्यू आपके लक्ष्य को हासिल करने में ज़्यादा मदद करेगी. उपयोगकर्ता के हिसाब से बनाए जाने की सुविधा, हर विकल्प की वैल्यू का आकलन करती है. इससे यह पता चलता है कि आपके लक्ष्य को हासिल करने की कितनी संभावना है. इससे, मॉडल को ज़्यादा जानकारी मिलती है. साथ ही, यह हर उपयोगकर्ता के लिए सबसे अच्छा अनुभव चुनने और उसका अनुमान लगाने की अपनी क्षमता को बेहतर बनाता है.
मनमुताबिक बनाने की सुविधा, 24 घंटे की स्टिकनेस विंडो का इस्तेमाल करती है. यह वह समय है जब मनमुताबिक बनाने का एल्गोरिदम, किसी एक वैकल्पिक वैल्यू की जांच करता है. आपको मनमुताबिक बनाने की सुविधा को इतना समय देना चाहिए कि वह हर विकल्प को कई बार एक्सप्लोर कर सके. आम तौर पर, इसमें करीब 14 दिन लगते हैं. आदर्श रूप से, आपको उन्हें हमेशा चलने देना चाहिए, ताकि वे आपके ऐप्लिकेशन और उपयोगकर्ता के व्यवहार में बदलाव होने पर, लगातार बेहतर हो सकें और उसके हिसाब से ढल सकें.
अन्य मेट्रिक ट्रैक करना
Remote Config की मदद से, दो अतिरिक्त मेट्रिक को भी ट्रैक किया जा सकता है. इससे आपको अपने नतीजों को समझने में मदद मिलती है. उदाहरण के लिए, मान लें कि आपने एक सोशल मीडिया ऐप्लिकेशन बनाया है और आपने अलग-अलग वैकल्पिक वैल्यू सेट की हैं. ऐसा इसलिए किया गया है, ताकि लोगों को अपने दोस्तों के साथ कॉन्टेंट शेयर करने के लिए बढ़ावा दिया जा सके. इससे ऐप्लिकेशन में लोगों की दिलचस्पी बढ़ेगी.
इस मामले में, Analytics जैसे link_received इवेंट के लिए ऑप्टिमाइज़ किया जा सकता है. साथ ही, अपनी दो मेट्रिक को user_engagement और link_opened पर सेट किया जा सकता है. इससे यह समझने में मदद मिलेगी कि उपयोगकर्ता की दिलचस्पी और उपयोगकर्ता के खोले गए लिंक की संख्या में बढ़ोतरी (असल दिलचस्पी) हुई है या गिरावट (संभवतः बहुत ज़्यादा स्पैम वाले लिंक) आई है.
इन अतिरिक्त मेट्रिक को, मनमुताबिक बनाने वाले एल्गोरिदम में शामिल नहीं किया जाएगा. हालांकि, इन्हें मनमुताबिक बनाने के नतीजों के साथ-साथ ट्रैक किया जा सकता है. इससे, मनमुताबिक बनाने की प्रोसेस के ज़रिए अपने लक्ष्यों को हासिल करने की क्षमता के बारे में अहम जानकारी मिलती है.
मनमुताबिक़ बनाने की सुविधा के नतीजों को समझना
जब मनमुताबिक बनाने की सुविधा का इस्तेमाल करके, डेटा इकट्ठा किया जा चुका होता है, तब इसके नतीजे देखे जा सकते हैं.
मनमुताबिक़ खोज नतीजे देखने के लिए:
Firebase कंसोल में, DevOps और यूज़र ऐक्टिविटी > Remote Config > पर्सनलाइज़ेशन पेज पर जाएं.
अपनी पसंद के मुताबिक बनाए गए अनुभव से जुड़ी वह सेटिंग चुनें जिसे आपको देखना है. नाम या मकसद के हिसाब से, किसी खास निजीकरण को खोजा जा सकता है. साथ ही, नाम, शुरू होने का समय या कुल लिफ़्ट के हिसाब से क्रम से लगाया जा सकता है.
नतीजों वाले पेज पर, कुल लिफ़्ट या परफ़ॉर्मेंस में फ़ीसदी अंतर की खास जानकारी दी जाती है. यह अंतर, मनमुताबिक बनाए गए ग्रुप की परफ़ॉर्मेंस और बेसलाइन ग्रुप की परफ़ॉर्मेंस के बीच होता है.
नतीजे वाले पेज पर, मनमुताबिक खोज नतीजे दिखाने की सुविधा की मौजूदा स्थिति, इस सुविधा के एट्रिब्यूट, और एक इंटरैक्टिव ग्राफ़ भी दिखता है. इस ग्राफ़ में ये चीज़ें शामिल होती हैं:
इससे यह पता चलता है कि दिलचस्पी के मुताबिक बनाए गए विज्ञापन, बेसलाइन के मुकाबले हर दिन और कुल मिलाकर कैसा परफ़ॉर्म कर रहे हैं.
इससे पता चलता है कि बेसलाइन ग्रुप में हर वैल्यू ने कुल मिलाकर कैसा परफ़ॉर्म किया.
इसमें, लक्ष्य के नतीजे और चुनी गई अन्य मेट्रिक के हिसाब से परफ़ॉर्मेंस दिखती है. इसे खास जानकारी के सबसे ऊपर मौजूद टैब का इस्तेमाल करके ऐक्सेस किया जा सकता है.
मनमुताबिक बनाने की सुविधा को अनिश्चित काल तक चालू रखा जा सकता है. साथ ही, इसकी परफ़ॉर्मेंस को मॉनिटर करने के लिए, नतीजों वाले पेज पर दोबारा जाया जा सकता है. एल्गोरिदम लगातार सीखता रहेगा और उसमें बदलाव होता रहेगा, ताकि उपयोगकर्ता के व्यवहार में बदलाव होने पर वह उसके हिसाब से काम कर सके.
मनमुताबिक बनाने की सेटिंग से जुड़े डेटा को मिटाने के बारे में जानकारी
Firebase कंसोल का इस्तेमाल करके या Firebase Remote Config API का इस्तेमाल करके, अपने टेंप्लेट से दिलचस्पी के मुताबिक बनाए गए अनुभव के पैरामीटर को हटाकर, दिलचस्पी के मुताबिक बनाए गए अनुभव को मिटाया जा सकता है. मिटाई गई सेटिंग को वापस नहीं लाया जा सकता. डेटा के रखरखाव के बारे में जानने के लिए, डेटा मिटाना लेख पढ़ें.
पहले जैसा करके या टेंप्लेट इंपोर्ट करके भी, दिलचस्पी के हिसाब से बनाए गए अनुभव को मिटाया जा सकता है.
रोलबैक
अगर आपके मौजूदा टेंप्लेट में मनमुताबिक बनाए गए बदलाव हैं और आपने ऐसे टेंप्लेट पर वापस रोलबैक किया है जिसमें मनमुताबिक बनाए गए बदलाव नहीं हैं, तो मनमुताबिक बनाए गए बदलाव मिटा दिए जाते हैं. पिछले टेंप्लेट पर वापस जाने के लिए, Firebase कंसोल का इस्तेमाल करें या roll back Firebase Remote Config एपीआई का इस्तेमाल करें.
जब आप किसी टेंप्लेट को अपने हिसाब से बनाने की सुविधा को मिटाते हैं और पिछले टेंप्लेट पर रोल बैक करते हैं, तो Firebase कंसोल में, उस अमान्य सुविधा का रेफ़रंस दिखता है. Firebase कंसोल में जाकर, अमान्य तरीके से की गई दिलचस्पी के मुताबिक बनाने की सुविधा को हटाया जा सकता है. इसके लिए, Remote Config पेज के पैरामीटर टैब में जाकर, दिलचस्पी के मुताबिक बनाने की सुविधा में बदलाव करें.
आयात
ऐसे टेंप्लेट को इंपोर्ट करने पर, आपकी मौजूदा पसंद के मुताबिक बनाए गए टेंप्लेट भी मिट जाते हैं. किसी टेंप्लेट को इंपोर्ट करने के लिए, Firebase कंसोल का इस्तेमाल करें या Remote Config REST API का इस्तेमाल करें.
अगले चरण
Remote Config मनमुताबिक अनुभव पाने की सुविधा के इस्तेमाल के उदाहरण देखें.
Remote Config मनमुताबिक बनाने की सुविधा का इस्तेमाल शुरू करें.