프로젝트 주제 선정

Kimsoohyun·2023년 11월 19일
1

MLOps Toy Project

목록 보기
1/5
post-thumbnail

Intro

6월경 친구와 만나서 이런저런 얘기를 하던 도중 MLOps 관련 토이프로젝트에 대한 이야기가 나왔다.
친구와 나의 관심사가 비슷했고 함께 프로젝트를 진행하면서 MLOps 관련 공부를 진행하기로 했다.
주제를 정함에 있어서 많은 시행착오가 있었는데, 어느정도 앞으로의 방향성이 잡힌 것 같아 블로그로 정리할 생각이다.

Verse

6월 30일 OT를 진행했다. 머신러닝 파이프라인 학습 위주의 프로젝트를 진행하기로 하였고, 개인별로 관심이 있는 부분은 자유롭게 확장하며 진행하기로 했다.

서로의 관심사와 기여할 수 있는 기술스택을 공유했다.

이후 특별한 일이 없는 한 매주 회의를 진행했는데, 주제를 정함에 있어서 많은 시행착오가 있었고, 이런 저런 이유(후술) 때문에 주제를 3번이나 변경했다.

Continual Learning을 적용하고 싶어서 주기적으로 Update 되는 데이터를 이용하여 프로젝트를 진행하고 싶었는데, 마땅히 가용할 수 있는 데이터가 없었다.

Spotify

때문에 API를 중심으로 데이터를 찾아보다가 Spotify API를 발견했다.
정확한 목표를 정하지는 않았지만 API 구성 요소, 활용 방안 등을 함께 논의했고 본격적으로 분석을 진행하려고 했으나 데이터 사용 약관에 데이터 AI 사용 금지 목록을 발견하게 되었다.

Spotify Developer Term

사실 개인 토이 프로젝트 수준의 사용으로 누가 뭐라고 할 건 아니겠지만 하지말라는 건 안하고 싶어서 주제를 변경하게 되었다.
간략하게 설명했지만 주제를 선정하고 약관을 인지하기까지 약 3주라는 시간이 소요되었다.
때문에 이후에는 데이터를 찾으면 약관부터 찾아보게 되었다.

주식 투자 예측

다음으로 찾은 데이터는 한국거래소 OPEN API 였는데 때마침 관련 KRX 주식 투자 알고리즘 경진대회가 열리고 있었다.
해당 경진대회를 통해 알고리즘을 만들고 경진대회 이후에는 API를 활용하여 MLOps workflow를 구축하자는 취지로 진행을 하게 되었다.

이 주제의 경우에는 EDA와 약간의 분석까지 진행했었는데 팀원과의 공통된 의견이 분석에 사용되는 데이터가 너무 한정되어있고, 투자라는 주제 자체가 분석을 하는 건지(투자라는 게 정말 알다가도 모를 일이라), 과연 이 알고리즘이 정말 효용이 있는지에 대한 의구심이 제기됐다.

이미 한번 주제를 바꾼 상황이라 다시 주제를 바꾼다는 것이 망설여지긴 했지만, 긴 회의 끝에 결과물의 효용성 측면을 생각하여 주제를 변경하기로 했다.

리뷰 답변 자동 생성

그 다음 아이디어는 여러 아이디어를 의논하던 중 결정됐는데 아래와 같은 생각의 흐름이 있었다.
플레이스토어 TOP 100 트랜드 분석플레이스토어 리뷰 답변 자동 생성배달 리뷰 답변 자동 생성

그렇게 배달 리뷰 답변 자동 생성을 목표로 데이터를 찾아보게 되었고, 애석하게도 배민, 요기요, 땡겨요 등 배달 서비스에서는 공식 API가 존재하지 않았다.

하지만 해당 내용을 찾아보던 중 요기요 API에 대한 블로그 글들이 많은 것을 발견했고, 웹 사이트의 동작 형태에서 API를 어느정도 유추하고 이용할 수 있다는 블로그들을 발견했다.

하지만 이 역시 공식적인 사용방법은 아니기 때문에 프로젝트를 진행해도 되는지 고민이 많았다. 때문에 해당 내용에 대한 자료 조사를 충분히 진행하였고 뿐만 아니라 스크래핑(크롤링)에 대한 자료까지 조사를 진행했다.

공식 API가 아닌 요기요 홈페이지 URL을 통한 API 호출 가능 여부와 스크래핑(크롤링) 가능 여부를 중점적으로 조사하였고 아래와 같은 결론으로 정리하였다.

  • 아직도 스크래핑(크롤링)에 대해서는 합법이냐 불법이냐 의견이 분분함
  • 웹 크롤링으로 서버에 부하를 줄 정도로 웹 크롤링 알고리즘을 조작하는 것은 피해야 함
  • 웹 크롤링으로 수집된 데이터를 복제하여 상업적 목적으로 데이터 자체를 판매하며 금전적 이익을 취하는 경우는 명확하게 불법
  • 여기어때 사례 주요 내용 발췌
    기사

위와 같은 이유로 스크래핑을 진행하려고 했지만 조금 더 조사를 해보니 robots.txt 관련 글들을 찾을 수 있었다.

robots.txt에 대한 정의를 나무위키에서 가져와봤다.

robots.txt는 웹사이트에 웹 크롤러같은 로봇들의 접근을 제어하기 위한 규약이다. 아직 권고안이라 꼭 지킬 의무는 없다.
크롤러들은 주로 검색엔진들의 인덱싱 목적으로 사용되는데, 웹사이트들 입장에서도 더 많은 검색 노출을 원하는게 일반적이므로 딱히 막을 이유는 없다. 다만 서버의 트래픽이 한정돼있거나 검색엔진에의 노출을 원하지 않는 경우, 이 robots.txt에 “안내문” 형식으로 특정 경로에 대한 크롤링을 자제해 줄 것을 권고하는 것이다. 지킬 의무가 없다고 하나 지켜주는 게 상식이며, 마찬가지로 서버 주인 입장에서는 규칙을 지키지 않는 크롤링이 들어오는데도 계속해서 서비스를 제공할 의무 또한 없으므로 크롤러의 아이피를 차단하면 그만이다.

다음과 같이 결론적으로 '법적으로는 불법이 아니다' 라는 뉘양스였지만 여전히 찜찜함을 감출 수 없었고, 또 한번의 길고 긴 회의를 통해 주제를 다시한번 변경하기로 했다.

부동산 시세 관련

수 많은 아이디어들이 있었지만 결론적으로 채택된 아이디어는 부동산 시세 관련 분석이었다. 친구와 나 둘 다 주식이나 부동산 등에 관심이 있었고, 무엇보다 데이터를 안정적으로 공급받을 수 있었기 때문에 우선은 주제를 확정하게 되었다.

주제를 정하는데 시간을 너무 많이 투자하여 더이상 미룰 수 없었다.

데이터는 아래 데이터를 기본으로 하여 필요 시 다른 데이터를 추가로 사용하기로 했다.
서울 열린 데이터 광장 - 서울시 부동산 실거래가 정보

우선은 분석 관련 파트는 친구가, 인프라/서버 세팅 관련해서는 내가 진행하기로 했다.

Outro

정말 길고 긴 주제 선정이 끝났다.
글 작성 시점에서는 이미 프로젝트가 어느정도 진행되었지만, 그런 점을 감안하더라도 주제를 선정하는데 꽤 많은 시간이 투자되었다.
사실 일정 관련해서는 프로젝트 시작할 때 이야기 했지만 업무 특성 상 한 주에 얼마만큼의 시간을 투자할 수 있을지 정할 수가 없어 여유를 가져가면서 진행하기로 했다.
앞으로는 프로젝트를 진행하면서 내가 맡았던 부분을 포스팅할 예정이다.

profile
어제보다 나은

0개의 댓글