- Proyek data science yang dijalankan selama 1.600 hari berakhir gagal karena kehilangan momentum
- Untuk mencoba tantangan baru dalam menangani data teks, dilakukan proyek "pengumpulan dan analisis data news ticker"
- Pada Maret 2020, news ticker dari situs berita publik Jerman Tagesschau yang menyediakan berita terkait COVID-19 dipilih sebagai sumber data
- Pada kuartal 3 2022, ketika COVID-19 menjadi kurang penting, cakupan diperluas ke news ticker terkait perang Ukraina-Rusia
- Dilakukan analisis metapola data (seperti frekuensi publikasi) serta analisis makna per topik
- Hanya eksplorasi data jangka pendek yang dilakukan, analisis yang sesungguhnya tidak selesai
- Pada kuartal 3 2024, proyek dihentikan karena minat menurun dan kekurangan waktu
Pengumpulan data dan desain sistem
- Dari 2020 hingga 2024, selama 1.600 hari, URL data berita harian dikumpulkan setiap hari dan data mentah diunduh
- Tagesschau memiliki daftar cerita berita singkat setiap hari, dan tiap cerita mencakup timestamp, headline, teks isi, serta elemen multimedia
- Dibangun pipeline data semi-otomatis berbasis kerja manual dan Python untuk mengubah data tidak terstruktur menjadi potongan berita terstruktur
- Karena otomatisasi pengumpulan URL sulit dilakukan, dipilih metode mengunjungi situs setiap hari dan mengumpulkan tautan secara manual. Alasannya adalah skema URL Tagesschau yang tidak terstruktur
- Setiap 4-8 minggu, halaman HTML diproses secara batch dengan Python lalu disimpan sebagai data mentah
- HTML di-parse dengan BeautifulSoup4 dan disimpan ke database SQLite
- Banyak bagian proyek telah diotomatisasi, tetapi pipeline ETL manual dan analisis aktual tidak diotomatisasi
- Penulis menekankan pentingnya menyimpan data HTML mentah untuk mengantisipasi perubahan struktur DOM
Pelajaran dari kegagalan proyek
- Mempertimbangkan storytelling:
- Sejak awal proyek, rancang storytelling agar hasilnya mudah dibagikan
- Menghasilkan hasil dengan cepat:
- Jangan hanya mengumpulkan data, tetapi lakukan analisis awal dengan cepat pada dataset kecil
- Publikasikan hasil sambil menjaga motivasi kerja (memanfaatkan pendekatan “Show Your Work”)
- Otomatisasi:
- Otomatiskan semaksimal mungkin pengumpulan data dan pipeline ETL untuk meminimalkan pekerjaan berulang
- Jika dikerjakan sekarang, penulis akan memanfaatkan AI agent berbasis LLM
- Evaluasi frekuensi pengumpulan data:
- Tetapkan siklus pengumpulan sejak awal (misalnya: harian vs interval 30 detik)
- Tentukan frekuensi pengumpulan data yang dapat diotomatisasi
- Menyimpan data mentah:
- Simpan data mentah agar bisa menyesuaikan diri dengan logika parsing yang berubah di masa depan
- Memanfaatkan cloud:
- Bangun infrastruktur yang sederhana dan andal sekaligus menjadi kesempatan mempelajari teknologi praktis
Kesimpulan: bertumbuh melalui kegagalan
- Bahkan proyek yang gagal pun menjadi pengalaman belajar yang membantu seseorang menjadi "praktisi data yang lebih baik"
- Kegagalan proyek data science adalah pengalaman belajar yang berharga sekaligus kesempatan mengumpulkan “bekas luka pertempuran”
- Sangat disayangkan bahwa peluang otomatisasi melalui pemrosesan bahasa alami tidak dimanfaatkan
- Kehilangan kesempatan menganalisis sekitar 100 ribu potongan berita juga sangat disayangkan
- News ticker baru seperti pemilu AS 2024 terus bermunculan, sehingga orang lain masih bisa melanjutkannya
- Penulis berharap ada yang tertarik melanjutkan proyek ini, dan siap membagikan semua datanya
“Go out and build something!”
1 komentar
Opini Hacker News
Daripada menyebut proyek ini gagal, lebih tepat melihatnya sebagai percobaan karena rasa ingin tahu yang kemudian dihentikan. Hanya dengan memublikasikan tulisan di blog dan diperkenalkan di HN saja sudah bisa dianggap sukses
Web scraping tetap merupakan bagian yang sulit, dan banyak situs berupaya mencegah scraping
Ada proses manual mengunjungi situs web Tagesschau setiap hari untuk mengumpulkan tautan. Ini bukan rencana kerja yang tepat
Pernah mengerjakan proyek hobi data science terkait COVID, tetapi kehilangan minat setelah 6 bulan. Scraper-nya masih terus berjalan di cloud
Seharusnya memanfaatkan feed RSS untuk otomatisasi, bukan proses manual
Penting untuk mendapatkan umpan balik sejak awal proyek. Ini memberi kesempatan untuk menyesuaikan arah proyek dan menghidupkan kembali minat
Menyukai dinamika proyek yang mencakup beragam minat. Hal-hal yang dipelajari dari berbagai proyek dimanfaatkan untuk mendapatkan ide baru
Judulnya bisa menyesatkan. Pekerjaan sekadar scraping feed berita sebenarnya bisa disiapkan hanya dalam beberapa hari
Banyak orang kesulitan menuntaskan proyek pribadi. Data science adalah pekerjaan eksploratif untuk menemukan wawasan dari dataset
Dalam proses pengumpulan data, pekerjaan manual diperlukan karena skema URL situs Tagesschau tidak terstruktur. Diperlukan sumber data yang stabil
Pengembang situs web tidak mempertimbangkan scraper. Jika ingin mengumpulkan dataset yang unik, lebih baik meminta pengembang web menyediakan API publik