Search

1,600일간 진행된 데이터 사이언스 프로젝트의 실패

1,600일 동안 진행한 데이터 사이언스 프로젝트가 관심을 잃으면서 실패로 끝남
텍스트 데이터를 다루는 새로운 도전을 시도하기 위해 "뉴스티커 데이터 수집 및 분석"을 진행
2020년 3월 COVID-19 관련 뉴스를 제공하는 독일 공영 뉴스 사이트 Tagesschau의 뉴스티커를 데이터 소스로 선정
2022년 3분기에 COVID-19가 덜 중요해지면서 우크라이나-러시아 전쟁 관련 뉴스티커로 확장
데이터 메타패턴(게시 빈도 등) 및 주제별 의미 분석 수행
단기 데이터 탐색만 수행, 실질적 분석은 미완성
2024년 3분기에 관심 감소 및 시간 부족으로 프로젝트 중단

데이터 수집 및 시스템 설계

2020년부터 2024년까지 1,600일간 매일 뉴스 데이터의 URL을 수집하고 원시 데이터를 다운로드
Tagesschau 는 매일 짧은 뉴스 스토리 목록이 있으며, 각 스토리는 타임스탬프, 헤드라인, 본문 텍스트 및 멀티미디어 요소를 포함
수작업과 Python 기반으로 반자동화된 데이터 파이프라인을 구축하여 비정형 데이터를 구조화된 뉴스 스니펫으로 변환함
URL 수집 자동화가 어려워 매일 웹사이트를 방문하여 수동으로 링크를 수집하는 방식을 택함. 이는 Tagesschau의 비구조적 URL 스키마 때문
4-8주마다 Python으로 HTML 페이지를 일괄 처리하여 원시 데이터로 저장함
BeautifulSoup4를 활용해 HTML을 파싱하고 SQLite 데이터베이스에 저장
프로젝트의 많은 부분이 자동화되었으나, 수동 ETL 파이프라인과 실제 분석은 자동화되지 않음
DOM 구조 변경에 대비하여 원시 HTML 데이터 보존 강조

프로젝트 실패의 교훈

1.
스토리텔링 고려:
프로젝트 초기부터 스토리텔링을 구상해 결과를 쉽게 공유할 수 있도록 설계
2.
빠른 결과 도출:
데이터를 모으기만 하지 말고, 작은 데이터셋으로 빠르게 초기 분석을 수행
결과를 공개하며 작업 동기를 유지 (“Show Your Work” 접근법 활용)
3.
자동화:
데이터 수집 및 ETL 파이프라인을 최대한 자동화하여 반복 작업 최소화
현재라면 LLM 기반 AI 에이전트를 활용했을 것
4.
데이터 수집 빈도 평가:
수집 주기를 미리 설정 (예: 매일 vs 30초 간격)
자동화 가능한 데이터 수집 빈도를 설정
5.
원시 데이터 저장:
원시 데이터를 저장해 향후 변경된 파싱 로직에 대응 가능
6.
클라우드 활용:
간단하고 신뢰성 높은 인프라를 구축하고 실무 기술 습득 기회 마련

결론: 실패를 통한 성장

실패한 프로젝트도 학습 경험이 되어 "더 나은 데이터 실무자"가 되는데 도움이 됨
데이터 과학 프로젝트의 실패는 귀중한 학습 경험이자 “전투 흉터”를 쌓는 기회
자연어 처리를 통한 자동화 기회를 활용하지 못한 것이 아쉬움
약 10만 건의 뉴스 스니펫 분석 기회를 놓친 것도 큰 아쉬움
2024년 미국 선거 등 새로운 뉴스티커가 계속 나오고 있어 다른 이들이 이어받을 수 있음
관심 있는 사람이 프로젝트를 이어가기를 희망하며, 모든 데이터를 공유할 준비가 되어 있음