paint-brush
बेंचमार्क डेटा के साथ वेब स्क्रैपिंग में अर्ली फेल्योर डिटेक्शन (ईएफडी) में सुधार करेंद्वारा@hackerclftuaqw60000356o581zc4bj
253 रीडिंग

बेंचमार्क डेटा के साथ वेब स्क्रैपिंग में अर्ली फेल्योर डिटेक्शन (ईएफडी) में सुधार करें

द्वारा DBQ-015m2023/05/11
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

स्क्रैपिंग एक उपकरण को लगातार कैलिब्रेट करने की एक प्रक्रिया है जो लगातार बदलती वस्तु को मापता है। गुणवत्ता आश्वासन का उद्देश्य संभावित समस्या का जल्द से जल्द पता लगाना है - *एसएलए का उल्लंघन होने से पहले*। ऐसा करने के लिए, हमें फेल्योर डिटेक्शन रेट (FDR) को बढ़ाने और फाल्स अलार्म रेट (FAR) को कम करने की आवश्यकता है।
featured image - बेंचमार्क डेटा के साथ वेब स्क्रैपिंग में अर्ली फेल्योर डिटेक्शन (ईएफडी) में सुधार करें
DBQ-01 HackerNoon profile picture
0-item
1-item

"पूर्णता" मुद्दा

वेब स्क्रैपिंग के लिए गुणवत्ता आश्वासन (क्यूए) में सबसे आम मुद्दों में से एक, फिर भी इसकी तुच्छता में निरस्त्रीकरण, यह सुनिश्चित करना है कि स्क्रैपर लक्ष्य वेबसाइट से सभी आइटम एकत्र करता है।


यह एक उपकरण को लगातार कैलिब्रेट करने की समस्या है जो लगातार बदलती वस्तु को मापता है।

ऐसा क्यों होता है?

पता लगाने में सबसे आसान से लेकर सबसे चुनौतीपूर्ण (जिसका मतलब हल करना आसान नहीं है..) तक, हमारे पास अपूर्ण डेटा संग्रह के निम्नलिखित कारण हैं:


  • स्क्रेपर एंटी-बॉट सिस्टम द्वारा अवरुद्ध हो जाता है
  • स्क्रैपर वेबसाइट के ए/बी परीक्षण संस्करणों में खो जाता है
  • स्क्रेपर वेबसाइट/एपीआई की पेजिंग सीमा द्वारा सीमित है
  • स्क्रैपर वेबसाइट के कुछ हिस्सों को देख रहा है (कभी-कभी स्क्रैपर को डिज़ाइन किए जाने के बाद बनाया गया)

नतीजतन, हमारे पास आंशिक डेटा संग्रह है।

प्रारंभिक विफलता का पता लगाना

अधिकांश वेब स्क्रैपिंग उपयोग के मामलों में सर्विस लेवल एग्रीमेंट्स (SLAs) होते हैं, जिसके परिणामस्वरूप जुर्माना लगाया जा सकता है। गुणवत्ता आश्वासन का उद्देश्य संभावित समस्या का यथाशीघ्र पता लगाना है - इससे पहले कि SLAs का उल्लंघन हो


ऐसा करने के लिए, हमें फेल्योर डिटेक्शन रेट (FDR) को बढ़ाने और फाल्स अलार्म रेट (FAR) को कम करने की आवश्यकता है। शीर्ष पर एक चेरी के साथ: लागत कम रखना

विफलताओं का पता कैसे लगाएं

समय श्रृंखला विश्लेषण

हम समय के साथ आइटम गिनती की निगरानी कर सकते हैं और जब यह गिरता है तो अलर्ट ट्रिगर कर सकते हैं। यह एक अच्छा प्रारंभिक बिंदु है, लेकिन अचानक परिवर्तन (यानी, 50% की गिरावट) के साथ प्रभावी होने पर, यह कम कार्यात्मक होता है जब विविधताएं वृद्धिशील होती हैं, या तो बहुत अधिक गलत अलार्म (FAR) उत्पन्न करती हैं या त्रुटियों का पता लगाने में विफल रहती हैं।


ऐसा इसलिए होता है क्योंकि:

  1. वेबसाइटें तेजी से बदलती हैं, खासकर जब बड़ी हों
  2. रुझानों या मौसमों को समझने के लिए हमारे पास डेटा का कोई इतिहास नहीं है, जो अधिक परिष्कृत समय-श्रृंखला एल्गोरिदम को लागू करने की अनुमति देगा।


इस पद्धति की सबसे महत्वपूर्ण सीमा यह है कि यह लापता वस्तुओं को नहीं खोजती है यदि उन्हें खुरचनी द्वारा कभी नहीं पकड़ा गया हो।


उदाहरण

एक फैशन ई-कॉमर्स वेबसाइट में वेबसाइट की "बिक्री" श्रेणी हो सकती है जो केवल आधिकारिक बिक्री अवधि के दौरान पॉप अप होती है। यदि आप अपने स्क्रैपर का निर्माण तब करते हैं जब अनुभाग वहां नहीं होता है, तो आप कभी भी महसूस नहीं कर सकते हैं कि आप बिक्री की वस्तुओं को याद कर रहे हैं।

मैनुअल निरीक्षण (जमीनी सच्चाई)

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


सीमाएं:

  1. बड़ी वेबसाइटों के लिए मुश्किल से संभव है (आप भरोसे के साथ बता सकते हैं कि Allbirds वेबसाइट पर कितने आइटम हैं, लेकिन Farfetch पर इतने मज़बूती से नहीं)।
  2. मुश्किल से स्केलेबल: यह कुछ वेबसाइटों के लिए काम कर सकता है, और यह शायद ही कभी किया जाता है, लेकिन जब आपको उच्च आवृत्ति वाली कई बड़ी वेबसाइटों की आवश्यकता होती है तो चीजें तेजी से बढ़ जाती हैं ( ग्राउंड ट्रुथ टेस्टिंग पर लेख में इस पर डेटा बुटीक दृष्टिकोण पढ़ें)।


यह एक अच्छा झूठा अलार्म दर (एफएआर) बनाए रखेगा लेकिन उचित विफलता जांच दर (एफडीआर) प्राप्त नहीं करेगा, क्योंकि आवृत्ति बहुत कम होगी।

स्वतंत्र बेंचमार्किंग

इसे हल करने का एक बुद्धिमान तरीका एक स्वतंत्र संग्रह के विरुद्ध, आइटम गणना के संदर्भ में, अपने परिणाम को बेंचमार्क करना है।


इस दृष्टिकोण के ठीक से काम करने के लिए, बेंचमार्क डेटा होना चाहिए:

  • स्वतंत्र: समान कोडिंग पूर्वाग्रहों से प्रभावित होने की संभावना को कम करने के लिए
  • लागत प्रभावी: Ça va sans dire , वेब स्क्रैपिंग काफी महंगा है।


एक स्वतंत्र डेटा संग्रह (लगभग) आपके अपने डेटा संग्रह से असंबंधित है: यह सहसंबद्ध है क्योंकि वे एक ही वस्तु को देखते हैं, इसलिए देखी गई वस्तु की विफलता वास्तव में दोनों डेटा संग्रहों में नुकसान का कारण बनेगी, लेकिन दूसरी ओर, वे ' अलग-अलग तकनीकों के साथ अलग-अलग टीमों द्वारा बनाए गए स्वतंत्र प्रक्रियाओं के परिणाम।


अत्यधिक विश्वसनीय डेटा स्रोत का उपयोग करने से परिणामों की विश्वसनीयता प्रबल रूप से बढ़ जाती है।

मान लें कि आपकी वर्तमान विफलता का पता लगाने की दर (FDR) 90% है, जिसका अर्थ है कि आपका सिस्टम स्वचालित रूप से 90% का पता लगा सकता है जब एक स्क्रैपर वेबसाइट से केवल आंशिक रूप से एकत्र करता है। या, दूसरे शब्दों में, प्रकाशित होने पर आपके डेटासेट में 90% पूर्ण संग्रह होता है।


अगर हम मान लें कि बेंचमार्क डेटा है

ए) उत्पादन डेटा के रूप में त्रुटियों का पता लगाने में सक्षम

बी) स्वतंत्र


QA के लिए बाहरी डेटा का उपयोग करने से विफलता का पता लगाने की दर 99% हो जाएगी ( दो घटनाओं के मिलन की संभावना )।

  1. अपने डेटा संग्रह पर कुल आइटम गिनती की निगरानी करें
  2. डेटा बुटीक पर उसी वेबसाइट से कुल आइटम की संख्या के साथ इसे बेंचमार्क करें
  3. जब आपकी गिनती बेंचमार्क से कम होती है, तो आपको अपनी विफलता का पता चलता है।


क्यों डेटा बुटीक एक स्मार्ट फिट है

चूंकि डेटा बुटीक के डेटासेट मैन्युअल निरीक्षण को उनकी क्यूए प्रक्रिया में एम्बेड करते हैं, इसलिए डेटा बुटीक के डेटा को एक बेंचमार्क के रूप में उपयोग करना स्केलेबल , लागत-कुशल और गुणवत्ता आश्वासन प्रक्रिया (क्यूए) को बेहतर बनाने का एक विश्वसनीय तरीका है, भले ही आप आंतरिक रूप से वेब-स्क्रैपिंग करते हैं क्योंकि यह बहुत संभव है कि डेटा बुटीक पर प्रकाशित डेटासेट एफडीआर के उन स्तरों से अधिक हो।


  1. दो डेटा संरचनाओं का समान होना आवश्यक नहीं है: आप केवल आइटम की संख्या की तुलना कर रहे हैं और समान संरचना की आवश्यकता नहीं है, जिससे इसे लागू करना बहुत आसान हो जाता है। केवल ग्रैन्युलैरिटी की तुलना की जानी चाहिए।

  2. आप अपने क्यूए के लिए आवृत्ति का चयन कर सकते हैं जो आपके अधिग्रहण की आवृत्ति से कम हो सकती है (यदि आप प्रतिदिन आइटम प्राप्त करते हैं, तो आपके पास केवल साप्ताहिक बेंचमार्क हो सकते हैं, जो अभी भी डेटा गुणवत्ता परीक्षणों को बेहतर बनाने में बहुत लंबा रास्ता तय करेगा।

  3. चूंकि डेटा बुटीक का डेटा फ्रैक्शनेबल है (जैसा कि इस पोस्ट में बताया गया है), अन्य सभी गुणवत्ता उपायों की तुलना में इस डेटा को खरीदने की लागत बहुत कम हो सकती है।


दूसरे शब्दों में, भले ही डेटा बुटीक की डेटा संरचना आपके उपयोग के मामले के लिए एकदम सही मेल न हो, गुणवत्ता परीक्षण के लिए इसका उपयोग करना एक बहुत ही कुशल तरीका है।


परियोजना में शामिल हों


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

इस परियोजना के बारे में अधिक जानकारी हमारे डिसॉर्ड चैनल पर देखी जा सकती है।



डेटा बुटीक पर भी प्रकाशित