글쟁이, 코딩한다

0114 / k_digital 27일차 / 미드프로젝트 본문

나는 코딩도 한다/TIL

0114 / k_digital 27일차 / 미드프로젝트

Algori 2021. 1. 14. 23:57

0. 

  멜론 가사 텍스트 분석 프로젝트 진행중

 

어제 혼자 생각한 과제 대비 오늘 흘러간 방향을 생각해보자.

 
1단계. 데이터 수집

 

  1) 가사 붙어 나오는 문제

   => 오늘 : 토크나이즈하면 괜찮지 않나요? 큰 문제를 일으키지는 않을 것 같습니다! => 수긍(다른 우선과제들이 더 많다)

 

  2) 데이터 크롤링

   => 오늘 : 장르를 나눠 맡아서 데이터를 모읍시다 => 각자 네트워크 환경마다 다양한 문제들 산적 => 제가 맡아서 돌리겠습니다 => 생각 못 한 에러 발생 => ?? => ???? => 팀원 한 분의 재빠른 에러 수정 => 해결 => 멜론 장르별 음악 스테디셀러(8개 장르 500곡씩) 곡 정보 수집 완료

 

2단계. 데이터 관련 확인할 점
  

  1) 19금 가사

  => 장르 당 많아야 10곡(랩/힙합 제외) => 로그인 과정을 거치려면 selenium 등 대대적인 수정이 필요 => 빈 칸을 채워넣는 것으로 만족 => 수긍 => 넘어가기 
   

  2) 중복 장르, 피처링

  => (뒤에 이야기하겠지만) 가사 데이터에 집중한 결과물을 내기로 합의 => 장르, 가수 목록 등은 부가적 데이터로


3단계. Tokenize & 4단계. 적용 모델 확정

 

어제 내가 생각한 문제들
  1) 영어 가사 분리

  4단계는 #분류? #회귀?

  1) 가사로 장르열 맞추기
  2) 유사도 기반 곡 추천

오늘 방향

tokenize는 나눠서 진행해도 좋지 않을까? => 데이터가 모인 만큼 적용 모델을 간단히 테스트해보자

 

오전쯤, 처참한 수준의 텍스트간 코사인 유사도(8~15%대) + 시간이 촉박함을 깨달음

  흔들리는 방향성

 

이유 1 장르 맞추기 모델과 유사도 기반 곡 추천은 서로 결이 다른데 막연히 두 개를 함께 가져가도 되지 않을까? 안일함

이유 2 미숙한 개념 이해, 코드 속도 등 개인의 이해도와 핵심 능력이 서로 다름 -> 내가 할 수 있는 건 뭐지?

이유 3 온라인이라는 환경, 이번주 처음 함께한 팀이라는 한계. 

이유 4 우리가 수집할 데이터에 대한 온전한 사전 이해와 합의 부족. 음악 추천을 가사로 해도 될까?

 

텍스트로 할 수 있는 것이 무엇이 있을까? 다시 고민하기 시작.

 

1번 과정.

유사도 분석 지표를 찾아볼까? 표절 검사기?(모두 잠시 혹했다. 그래서 시간이 더 걸림)

 => 높은 유사도가 나올만한 샘플 데이터들을 찾아보자. 

  원곡과 답가(25~50%), 리메이크곡(50%~80%), 표절 논란 노래(5~15%) 등 tokenize를 거치지 않은 한글 텍스트 데이터의 유사도는 원래 높지 않았다. 

 )) 과정을 거치며 생각한 점.

독창성을 추구하는 노랫말에서 높은 유사도를 기대한 것이 오히려 독 아니었을까?

  => 유사도 기반 추천을 다시 살려보자

 

2번 과정.

가사는 정말 음악 추천의 핵심 데이터일까? 라는 질문. 

프로젝트의 방향성에 대한 다른 인상.

=> 주제를 살려 충분히 복습하면서도, 유효성을 가지면 좋겠다. 

  약간의 욕심과 약간의 괜찮지 않을까? 약간의 방심 등으로 서로가 길을 헤맴. 타협의 과정이 이어졌다.

결론. 현재 우리가 수집한 데이터에 집중하자. 가사를 살려보자. 텍스트 데이터 기반 다양한 핸들링에 중점을 두자. 무엇보다, 당장 할 수 있는 걸 하자.

 

다시 3단계. 샘플 데이터 정돈 & 토크나이즈


1) 샘플 데이터

가사들의 코사인 유사도 기반 추천 시스템의 정당화를 위해 모았던 샘플 데이터 정돈 => 추천 시스템의 타당성(우리도, 당신들도 어느 정도(수업의 선에서) 납득할 이야기로

2) 토크나이즈

텍스트 데이터 핸들링과 유사도 정확성 향상을 위한 핵심 과정.

시각화 기초 확보(워드클라우드, 각종 데이터로 이어질 데이터 전처리 완료)


마무리

 

무슨 일이든 시작은 확실하게 해야 한다.

문제가 많아야 재미 있다.

Comments