글쟁이, 코딩한다

0113 / k_digital 26일차 / 미드프로젝트 본문

나는 코딩도 한다/TIL

0113 / k_digital 26일차 / 미드프로젝트

Algori 2021. 1. 13. 23:25

0.

 

가사 데이터 분석을 통한 음악 추천 서비스 구축 중

 

1) 사용 데이터 :

멜론 장르별 음악 '스테디셀러' 가사 텍스트 4000개

 

  -크롤링을 통해 얻었다.

  멜론은 songid 키를 바탕으로 세부 곡정보 이동이 가능하다. 이 값을 얻어 정리한 후, 한 번에 이동하는 편이 좋다.

  페이지를 넘기며 songid를 수집할 때는 selenium(request로 접근했으나, 멜론 홈페이지 내에서 이슈가 있어 옮겼다), 이를 바탕으로 곡 정보를 수집할 때는 request를 쓴다.

---추후 쓸만한 데이터 활용법, 분석법이라는 생각이 들때는 추가로 자세히 포스팅해보겠다.

 

2) 단순 데이터 분석

 

주요 목표는 아닌 관계로 실제 어디까지 진행할지 알 수 없지만, 깔끔한 시각화를 목표로 진행.

(프로젝트 내에 어렵다면, 추후 개인 과제로 활용해볼만 하다)

 

장르별 스테디셀러 가사 분석 

**발라드, 댄스, 랩/힙합, R&B/Soul, 인디음악, 록/메탈, 트로트, 포크/블루스(8개 장르서 각 500곡 활용)
1-장르마다 사랑 받은 노랫말로는 무엇이 있을까(가장 많이 나온 노랫말)
2-어떤 장르끼리 가사 분포(사용단어, 단어갯수)가 가장 비슷할까

스테디셀러 전체 분석 
1-노래가 가장 많은 가수 
2-스테디셀러에 오른 노래가 가장 많이 나온 연도 
3-곡당 단어수(반복 단어 제외) 
4-가장 많이 나온 노랫말

 

 

3) 추천 서비스

 

처음에는 유사도 분석에 기반한 추천 서비스로 가닥을 잡았다.


유사도 분석&추천 서비스
-> 현재 탑100 곡과 스테디셀러 곡들의 가사 유사도 비교 -> 오래 사랑받을 가능성이 가장 높은 노래는?
-> 노랫가사 하나를 넣었을 때 가장 비슷한 곡을 추천(같은 장르 가운데 하나, 다른 장르 같은데 하나)
-> 어떤 노래의 가사를 집어넣으면 노래 장르를 예측하는 모델

 

하지만, 배운 바를 다양히 활용하고자 장르 예측 모델을 활용할 법을 찾아봤다. 해서 팀원들과 아이디어를 모아 과정을 통합시켰다. (다소 무리한 듯한 기분이 듦 -> 깔끔한 시간 배분과 함께 기간 내 프로젝트를 완성하는 것도 주요 목표이므로 가능한 선으로 다운시키는 것도 필요해 보인다)


통합:: 노랫가사(혹은 제목) 하나를 넣었을 때

-> 노래 장르를 예측 (정확도가 너무 떨어지면 패스) 
-> 유사도 분석 결과 가장 비슷한 곡을 추천 (모델이 예측한 장르 기반)
-> 해당 장르 내 인기곡(스테디셀러 높은 순위), 가수들 추천 -> 비슷한 탑100 장르

 

추가로 진행해볼만한 프로젝트
** 내용 분류
** POP 크롤링으로 감성분석
** 키워드별 추천

 

//etc... 데이터 분석시 참고할 홈페이지) 깔끔한 시각화, 다양한 분석방법 활용

junhewk.github.io/text/2017/11/10/melonchart-lyrics/

 

한국 가요 50년사, 가사 분석

멜론 시대별 차트는 미국 빌보드처럼 공식 가요 순위 기록이 없는 한국 가요를 여러 출처를 통해 정리한 좋은 자료입니다. 물론 음원 공급을 하는 특정 회사의 저작물이라는 한계가 있을 수 있

junhewk.github.io

 

오늘의 프로젝트 감상

 

1. 데이터 크롤링 코드 구축에 예상보다 너무 많은 시간을 썼다. 비효율적인 시간분배가 아쉬웠다. 인원을 좀 더 명확히 배분할 필요가 있어보인다. 코드를 따라가기 쉽지 않은데 내가 팀장을 맡겠다고 한 점이 미스였다. 나 챙기기 바빠 더 효율적으로 작업이 돌아가도록 충분히 신경쓰지 못했다.

 

2. 실제 팀원마다 추구하는 작업 분야가 있는만큼 이를 명확히 인지하는 편이 작업에 수월하겠다. 이는 후에 만약 직장에서 팀으로 프로젝트를 맡게 된다면 더 확실히 챙겨가야 할 부분일 테다.

 

3. 나는 코드 작성이 진짜 겁나 느리다. + 결과물이 나오기는 하나, 내가 짠 코드가 효율적인가에 대한 의문이 있다. 

 => 할 수 있는 것(아이디어 도출과 통합, 작업 프로세스 점검) 등에 힘을 기울이며 도움을 줄 필요가 있다.

 

4. 어쨌든 코드는 눈으로 보는 것보다도, 해봐야 기억에 남는다.

 

오늘의 개인작업 아이디어

 

신춘문예 분석하기(시각화 초점)

 -노잼이기는 한데, 내 흥미와 연관지어 포트폴리오에 어필하기에는 유리해 보임. 

  난이도가 높지 않으며 다양한 시각화 연습이 가능해보임.

Comments