사람들은 하루의 마무리를 하면서 일기를 쓰게 됩니다. 어떤 날은 날아갈 것처럼 기분 좋은 날, 또 다른 날은 발걸음도 무거운 우울한 날일 수 있습니다. 기존의 서비스들은 일기만을 기록하지만, 저희는 여기에 그날의 기분에 맞는 음악을 들려주고자 합니다. 그렇게 해서 하루에 대한 기억이 더 다채로워지게 만들고자 이 서비스를 기획했습니다.
- 일기 작성
- 사용자는 직접 감정을 선택하거나 분석받기를 선택할 수 있습니다.
- 스티커
- 스티커 상점에서 구매한 스티커 목록을 확인할 수 있습니다.
- 취향대로 자유롭게 일기장을 꾸며볼 수 있습니다.
- 음악 추천
- 일기를 작성하지 않아도, 감정에 따른 음악을 추천받아 봅니다.
- 감정별로 마음에 들었던 노래를 한 곳에서 모아 볼 수 있습니다.
- 일기는 사생활의 영역이며, 개인정보로 취급 -> 일기 제목, 내용, 감정 세 가지를 암호화
- AES 암호화 방식을 사용 / 256비트 암호화 키를 사용해 보안성을 높임
- 54개의 감정으로 라벨링된 약 4만 6천개의 대화 말뭉치 데이터셋을 6개의 감정으로 재분류
- 한국어 자연어 처리모델 KoBERT를 이용해 학습
- 사용자가 일기를 학습모델에 입력하여 6가지 감정 중 하나로 분류시킴
👉 약 75% ~ 93%의 정확도
- 파이토치를 활용해 파일로 저장 후, 서버에 적용시켜서 실시간 분석
👉 메모리 용량자원과 서버자원의 절약, 실시간 분석 시간 단축
- Spotify API를 활용해 약8만건의 데이터 수집
- 각각의 음악마다 energy, tempo, danceability 등 11개의 수치화된 특성이 나타난 데이터 수집
- 데이터 전처리 작업 : 결측치, 중복데이터 삭제
- 약 800개 음악을 4가지 감정(행복, 우울, 슬픔, 흥분)으로 분류
- 각 수치형 데이터들을 정규화
- RandomForest, LightGBM, XGBoost모델로 학습
상세 기술스택 및 버전
구분 | 기술스택 | 상세내용 | 버전 |
---|---|---|---|
공통 | 형상관리 | Gitlab | - |
이슈관리 | Jira | - | |
커뮤니케이션 | Mattermost, Notion | - | |
Data | Jupyter notebook | ||
Python | 3.7 | ||
Django | 3.2.12 | ||
BackEnd | Python | 3.7 | |
Django | 3.2.12 | ||
Djangorestframework | |||
Djangorestframework-simplejwt | |||
Oauth2 | |||
Amazon S3 | |||
FrontEnd | HTML5 | - | |
CSS3 | - | ||
JavaScript(ES6) | - | ||
konva | 8.3.12 | ||
moment.js | 2.29.4 | ||
React | React | 18.2.0 | |
React | Redux | 8.0.4 | |
React | Redux-Toolkit | 1.8.5 | |
React | styled-components | 5.3.5 | |
React | Redux | 8.0.4 | |
react-bootstrap | 2.5.0 | ||
react-dom | 18.2.0 | ||
react-router-dom | 6.4.0 | ||
IDE | Visual Studio Code | 1.63.2 | |
Server | 서버 | AWS EC2 | - |
서버 | Nginx | ||
배포 | Docker | 20.10.16 | |
배포 | Jenkins |
- 기획설계 및 데이터 수집 : 22.08.29 ~ 09.11
- 프로젝트 개발 : 22.09.12 ~ 10.02
- 버그 수정 및 산출물 정리 : 22.10.03 ~ 10.07
박주현 (Data / Back-End) |
김효선 (Back-End) |
홍석현 (Back-End) |
신혜연 (Front-End) |
조경수 (Data / Front-End) |
박소정 (Front-End) |
👑팀장 음악Data 전처리 및 학습 Youtube 크롤링 CI/CD | 일기 API 스티커API AWS S3 | 유저 관련 API 음악 API | FE리드 RTK 상태관리 스티커 기능 사용자관련 API연결 | 말뭉치Data 전처리 및 학습 음악 보관 API연결 | 일기 API연결 음악 추천 API연결 UI/UX 디자인 |