7 पॉइंट द्वारा GN⁺ 2024-12-11 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 1,600 दिनों तक चला एक डेटा साइंस प्रोजेक्ट रुचि कम होने के कारण अंततः विफल हो गया
  • टेक्स्ट डेटा को संभालने की नई चुनौती के रूप में "न्यूज़ टिकर डेटा संग्रह और विश्लेषण" किया गया
    • मार्च 2020 में COVID-19 से जुड़ी खबरें देने वाली जर्मन सार्वजनिक समाचार साइट Tagesschau के न्यूज़ टिकर को डेटा स्रोत चुना गया
    • 2022 की तीसरी तिमाही में COVID-19 की अहमियत कम होने पर इसे यूक्रेन-रूस युद्ध से जुड़े न्यूज़ टिकर तक विस्तारित किया गया
    • डेटा के meta-patterns (जैसे पोस्टिंग फ़्रीक्वेंसी) और विषय-आधारित semantic analysis किया गया
  • केवल अल्पकालिक डेटा exploration किया गया, वास्तविक analysis अधूरा रह गया
  • 2024 की तीसरी तिमाही में रुचि घटने और समय की कमी के कारण प्रोजेक्ट बंद कर दिया गया

डेटा संग्रह और सिस्टम डिज़ाइन

  • 2020 से 2024 तक 1,600 दिनों तक हर दिन न्यूज़ डेटा के URL इकट्ठा किए गए और raw data डाउनलोड किया गया
    • Tagesschau में हर दिन छोटे न्यूज़ स्टोरीज़ की सूची होती है, और हर स्टोरी में timestamp, headline, body text और multimedia elements शामिल होते हैं
  • मैनुअल काम और Python-आधारित semi-automated डेटा pipeline बनाकर unstructured data को structured news snippets में बदला गया
    • URL संग्रह को automate करना कठिन था, इसलिए हर दिन वेबसाइट पर जाकर मैनुअल तरीके से लिंक इकट्ठा किए गए। इसकी वजह Tagesschau की unstructured URL scheme थी
    • हर 4-8 सप्ताह में Python से HTML pages को batch process करके raw data के रूप में सहेजा गया
    • BeautifulSoup4 का उपयोग कर HTML parse किया गया और SQLite database में सहेजा गया
    • प्रोजेक्ट का बड़ा हिस्सा automated था, लेकिन मैनुअल ETL pipeline और वास्तविक analysis automated नहीं थे
    • DOM structure में बदलाव के लिए raw HTML data को संरक्षित रखने पर ज़ोर दिया गया

प्रोजेक्ट विफलता से मिले सबक

  1. स्टोरीटेलिंग पर विचार:
    • प्रोजेक्ट की शुरुआत से ही स्टोरीटेलिंग की योजना बनाएं ताकि नतीजे आसानी से साझा किए जा सकें
  2. तेज़ी से परिणाम निकालना:
    • सिर्फ डेटा इकट्ठा न करें, बल्कि छोटे dataset पर जल्दी शुरुआती analysis करें
    • परिणाम सार्वजनिक करें और काम की प्रेरणा बनाए रखें ("Show Your Work" approach का उपयोग)
  3. ऑटोमेशन:
    • डेटा संग्रह और ETL pipeline को जितना संभव हो automate करें ताकि दोहराए जाने वाले काम कम हों
    • अगर आज यह प्रोजेक्ट किया जाता, तो LLM-आधारित AI agents का उपयोग किया जाता
  4. डेटा संग्रह की फ़्रीक्वेंसी का मूल्यांकन:
    • संग्रह चक्र पहले से तय करें (जैसे हर दिन बनाम हर 30 सेकंड)
    • ऐसी डेटा संग्रह फ़्रीक्वेंसी चुनें जिसे automate किया जा सके
  5. raw data को सहेजना:
    • raw data सहेजकर भविष्य में बदली हुई parsing logic के अनुसार काम किया जा सकता है
  6. cloud का उपयोग:
    • सरल और भरोसेमंद infrastructure बनाएं और practical skills सीखने का अवसर तैयार करें

निष्कर्ष: विफलता से विकास

  • विफल प्रोजेक्ट भी सीखने का अनुभव बनते हैं और "बेहतर डेटा प्रैक्टिशनर" बनने में मदद करते हैं
  • डेटा साइंस प्रोजेक्ट की विफलता बहुमूल्य learning experience है और "battle scars" जमा करने का अवसर भी
  • natural language processing के जरिए automation के अवसर का उपयोग न कर पाना खलता है
  • लगभग 1 लाख न्यूज़ snippets के analysis का अवसर चूक जाना भी बड़ी कमी रही
  • 2024 के अमेरिकी चुनाव जैसे नए न्यूज़ टिकर लगातार आ रहे हैं, इसलिए दूसरे लोग इसे आगे बढ़ा सकते हैं
    • लेखक उम्मीद करता है कि कोई रुचि रखने वाला व्यक्ति इस प्रोजेक्ट को आगे बढ़ाए, और वह सारा डेटा साझा करने के लिए तैयार है

"Go out and build something!"

1 टिप्पणियां

 
GN⁺ 2024-12-11
Hacker News टिप्पणियाँ
  • इसे असफल प्रोजेक्ट कहने के बजाय, जिज्ञासा में शुरू किया गया और फिर छोड़ दिया गया प्रयास कहना बेहतर होगा। मेरा मानना है कि सिर्फ ब्लॉग पर लिखना और HN पर फीचर होना भी अपने आप में सफलता है

    • अगर प्रोजेक्ट पूरा हो जाता, तो Python का उपयोग करके कई तरह के विश्लेषण में काम आने वाला dataset प्रकाशित किया जाता
    • raw dataset को प्रकाशित करके भी इसे सफल माना जा सकता है
    • LLMs की प्रगति के कारण अब AI agent के रूप में पैक किए गए foundation models पर विचार किया जाएगा
  • web scraping अब भी कठिन है, और बहुत-सी साइटें scraping को रोकने की कोशिश करती हैं

  • Tagesschau वेबसाइट पर हर दिन जाकर links इकट्ठा करने की एक manual प्रक्रिया थी। यह कोई उपयुक्त game plan नहीं था

  • COVID से जुड़ा data science का एक hobby project किया था, लेकिन 6 महीने बाद रुचि खत्म हो गई। scraper अभी भी cloud में चलता रह रहा है

  • manual काम के बजाय RSS feed का उपयोग करके automation करना चाहिए था

  • प्रोजेक्ट की शुरुआत से ही feedback लेना महत्वपूर्ण है। इससे प्रोजेक्ट की दिशा समायोजित करने और रुचि फिर से जगाने का अवसर मिलता है

  • मुझे ऐसे प्रोजेक्ट्स की गतिशीलता पसंद है जो अलग-अलग रुचियों को साथ लाते हैं। कई प्रोजेक्ट्स से सीखी गई बातों का उपयोग करके नए ideas मिलते हैं

  • शीर्षक भ्रामक हो सकता है। सिर्फ news feed को scrape करने का काम कुछ ही दिनों में सेटअप किया जा सकता है

  • बहुत-से लोग personal projects को पूरा करने में कठिनाई महसूस करते हैं। data science datasets से insights खोजने का एक exploratory काम है

  • data collection की प्रक्रिया में Tagesschau वेबसाइट की unstructured URL scheme के कारण manual काम करना पड़ा। एक स्थिर data source की आवश्यकता है

  • वेबसाइट developers scrapers के बारे में नहीं सोचते। यदि आपको कोई अनोखा dataset इकट्ठा करना है, तो web developer से public API देने का अनुरोध करना बेहतर है