이글을 보는 사람 모두 새해 복 많이 받으세용!
새해를 맞아, 현재 진행 중인 사이드 프로젝트에 대해 정리해보고자 합니다.
현재 취업을 준비하며 시간이 많기에, 이때가 아니면 서비스를 개발하고 배포까지 할 수 있는 기회가 없을 것 같아 준비하게 되었습니다.
개발 과정도 블로그에 작성하며 정리해볼까 합니다.
미완성이지만, 배포해서 진행중입니다!
https://kr-labstest.vercel.app/
Create Next App
데이터를 불러오는 중...
kr-labstest.vercel.app
🧐 해결하고자 했던 문제?
작년 대학원을 준비하면서 자연스럽게 많은 연구실을 찾아볼 시간이 있었습니다.
자대에 제가 원하는 LLM 전문 연구실이 없어서 타 대학 연구실을 하나하나 찾아보았습니다.
제가 원하는 분야인 AI, 특히 NLP, 더 나아가 LLM 연구실을 찾기 위해 각 대학교의 컴퓨터공학부, 소프트웨어공학부, 전자공학부, 나아가 국어국문학과까지 살펴보느라 정말 많은 시간을 투자해야 했습니다.
이 과정에서 첫 번째 Pain Point를 느꼈고, 이후 미국 대학원으로 눈을 돌리면서 해외 대학원을 검색하기 시작했습니다.
그때 발견한 것이 CSRankings 사이트입니다.
이 사이트는 미국 CS 연구 분야(ex. NLP, CV, MS 등)별로 연구실을 저널 순으로 정리해놓은 사이트였습니다.
우리나라 대학원에 대한 정보도 있었지만, SKY, POSTECH 같은 주요 대학을 제외하고는 정보를 찾기가 힘들었습니다.
그래서 우리나라 대학원 연구실을 정리해놓은 사이트를 만들어보기로 결심했습니다.
✍️ 개발 구상!
아이디어가 나왔고, 어떻게 만들지에 대한 고민을 시작했습니다.
처음 목표는 모든 전공의 연구실을 정리해놓은 사이트였지만, 크롤링을 진행하며 생각보다 사이즈가 커지는 것을 느끼고 우선 CS에 한정하여 진행하기로 했습니다.
AI의 카테고리는 크게 AI, Systems, Theory, Interdisciplinary Areas 네 가지로, CSRankings를 참고했습니다.
또한, 데이터를 어떻게 보여줄지에 대해서도 고민해보았습니다.
- 좌측: 연구 분야 카테고리를 정하고 체크 기능을 이용해 여러 카테고리를 한 번에 볼 수 있게 함
- 우측: 체크한 연구실을 대학별로 보여줌
제공할 정보는 다음과 같습니다.
- 교수님 성함
- 연구실 주소
- 구글 스칼라 프로필
- DBLP 프로필
- 연구 분야
- DBLP 저널 수
- 연구원 수
연구실을 보여주는 순서는 DBLP 저널 수를 기준으로 내림차순 정렬하고, 연구원 수에 따라 다음과 같이 분류하였습니다.
- 소형: 7명 이하
- 중형: 8~19명
- 대형: 20명 이상
🦾 기술 스택
개발 환경은 요즘 핫한 Cursor를 이용했습니다. 현재 어느 정도 개발이 진행된 상태인데 정말 신세계를 느끼고 있습니다.
Cursor는 작년 9월 처음 사용했을 때는 퀄리티가 낮아 잠깐 쓰다가 VSCode로 돌아갔던 경험이 있었습니다. 최근 몇 달 동안 유튜브에서 Cursor에 대한 극찬이 이어지며 다시 사용해봤는데, 너무 편리하고 유용했습니다.
사용 기술 스택
- 프레임워크: Next.js(App Router)
- 디자인: ShadCN, TailwindCSS
- 데이터베이스: PostgreSQL(Supabase)
- 배포: Vercel
로그인과 인증이 필요 없는 서비스이기 때문에 별도의 Auth 라이브러리는 고려하지 않았습니다. 추후 프론트엔드 수정은 MVP가 끝난 뒤 V0에서 발전시킬 계획입니다.
🗓️ 개발 진행 상황
우선 프론트 틀을 잡아놓고 구글 스프레드시트에 교수님 데이터를 수집 중입니다. 단국대학교 학과 홈페이지에서 교수님 몇 분을 크롤링하여 Supabase에 올려 테스트해본 결과, 몇 가지 느낀 점이 있었습니다.
주요 이슈
- 크롤링의 한계
- 학과 홈페이지에서 교수님 연구실을 크롤링해도 다음과 같은 데이터는 적재 불가:
- 구글 스칼라, DBLP, 연구 분야, 논문 수, 연구실 인원
- 즉, 학과 홈페이지에서 크롤링할 수 있는 데이터는 교수님 연구실 홈페이지에 한정됨
- 학과 홈페이지에서 교수님 연구실을 크롤링해도 다음과 같은 데이터는 적재 불가:
- 학교마다 홈페이지 태그와 제공 정보가 달라 단순한 파이썬 크롤링 코드로는 한계가 있음
- 연구실 홈페이지, DBLP 프로필 등 여러 사이트를 크롤링해야 함
- 구글 스칼라와 DBLP 프로필 주소 찾기
- 연구실 홈페이지에서 제공되는 경우도 있지만, 제공하지 않는 경우가 많음
- DBLP 프로필 주소는 제공되는 경우가 현저히 적음
시도한 해결 방안
1차 시도: ChatGPT API 활용
- Input: 구글 스프레드시트 연구실 링크
- Process: ChatGPT API로 웹서칭 후 정리
- Output: OpenAI & Save
하지만 ChatGPT API로는 웹서칭이 불가하다는 한계 때문에 멈추게 되었습니다.
2차 시도: GPTs 활용
- 연구실 링크를 프롬프트로 입력해 정보를 가져오도록 설정했으나, 연구 분야나 논문 수를 제대로 가져오지 못해 보류 상태로 남김
3차 시도: HTTP 데이터 분석 (현재 진행 중)
- Input: 구글 스프레드시트 연구실 링크
- Process: HTTP → Text parser
- Output: OpenAI & Save
HTTP 데이터를 통해 연구실 멤버, DBLP 프로필 주소 등을 추가하여 다양한 정보를 가져올 수 있을 것으로 기대하고 있습니다. Make 기술에 감탄하며 재미있게 다양한 시도를 진행 중입니다.
🧭 향후 계획
사이드 프로젝트를 중간에 멈추지 않고 런칭까지 이어가기 위해, 우선 현재 가지고 있는 데이터만을 가지고 배포한 뒤 점진적으로 데이터를 추가하는 방식으로 진행하려고 합니다. 이번 달까지 시스템을 제대로 구축할 수 있도록 열심히 달려보겠습니다!
https://kr-labstest.vercel.app/
2편으로 돌아오겠습니닷..!
'IT > Project' 카테고리의 다른 글
[GPTs] 단대학식 - 1 (0) | 2024.02.17 |
---|---|
[GPTs] GPTs 묘지 (0) | 2024.02.13 |
[가구찾아] 쿠팡 크롤링 로그인하기 (0) | 2024.02.06 |
[가구찾아] GPTs 가구찾아주는 서비스 만들기 - 1 (0) | 2024.02.06 |
[Project] AI MEDICO 최종 (글 수정중) (0) | 2024.02.02 |