나는 코딩도 한다/TIL

0118 / k_digital 29일차 / 미드프로젝트(마무리)

Algori 2021. 1. 18. 22:41

0. 

 멜론 장르별 스테디셀러 가사 데이터 분석 & 유사도 기반 추천 서비스 마무리.

 

 지금까지.

  프로젝트 주제. 텍스트 데이터. 데이터 분석. 유사도 기반 추천. 머신러닝 적용.

  멜론 장르별 스테디셀러 가사 데이터 선정. 크롤링.

  토크나이즈를 비롯한 데이터 전처리. 장르별 가사 데이터 분석.

  TF-IDF와 코사인 유사도를 활용한 가사 추천 시스템 적용.

  가사를 입력하면 장르를 맞추는 멀티클래스 머신러닝 모델 확보.

 

마지막날//

  결과적으로 보자면, 발표를 했고, 가사 추천 시스템은 완료했으며, 멀티클래스 머신러닝 모델은 허탕으로 돌아갔다.

 

  개인 공부장인만큼 주요 결과는 다른 포스팅이나 깃(오늘 공부 예정)을 통해 정리하고, 개인적으로 배운 것들을 정리하는 데 써야겠다.

 

 

이번 프로젝트로 배운 점

 

코드

 

_크롤링에 한결 자신감이 붙었다. 다만, 여전히 셀레니움은 쉽지 않다.

_데이터프레임은 아직 확실하지 않다. 그래두 열과 행을 다루는 것, 결측치 문제에 있어 더 다양한 측면에서 생각했다.

_노트북을 붙잡고 있는 시간이 늘어날수록 작게나마 배워가는 것이 늘 생긴다.

_문제를 눈 앞에 두고 해결하는 것이 그저 개념을 상대하는 것보다 실력 향상에 압도적으로 유리하다, 는 점을 배웠다.

_적어도, 코드 작성이 너무나도 겁나지는 않는다. 하면 어찌어찌 해 볼 수 있구나, 느꼈다.

 

_아직도 아주 기초적인 것들이 어렵다. 이를테면 리스트 합치기나 데이터프레임 내 한 셀 호출하기 등.

_크롤링 찌끔, 판다스 찌끔, 넘파이 찌끔 말고는 아직 모두 익숙하지 않은 것 투성이다.

_구글링에서 마주하는 영어 지문들은 여전히 쉽지 않다.

_이제 한 달 된 주제에 더 잘 하는 이들에게 자괴감을 느낀다.

_내 작업에 확신이 없다. (코드는 결과가 나온다고 끝이 아니기도 하다! 소설만 그런줄 알았는데.)

 

프로젝트

 

소통

_비대면에서 의견을 교환하는 것들이 익숙해진다. 특히 나오는 의견들을 텍스트로 정리하는 것이 무척 큰 도움이었다.

_여럿이 함께 일하는 환경이 널린 듯 하다. 소통 자체는 늘 그래왔듯 큰 걱정거리는 아니지만, 말을 우물거리며 끝맺는 습관을 고칠 필요가 있다. 사소한 유머도 갖추면 좋겠다.

_함께 일하는 타인들의 상황을 파악하는 것도 중요하다. 소통은 상대방에게 맞추는 것이 기본일 때가 많다.

 

프로세스

_주제 선정부터 작업 진행까지, 하나의 큰 테두리가 대강 눈에 들어온다.

_그간 해왔던 곡 작업, 글쓰기 작업, 연극 작업, 유튜브 작업 등과 비슷하면서도 다르다. 

_따지고 들어가자면 역시 가장 중요한 것은 주제다. 더 세밀하고 명확한 주제를 확보해야 작업에 속도가 난다.

_반면 하나의 확고한 결과물(곡, 글, 무대)을 내왔던 일들과 달리, 취업 전까지 할 프로젝트는 과정에서 겪는 인사이트 역시 모두 결과물이 된다.

_목표에 대한 고민도 있다. 위의 일들이 어떤 내 개인적인 호기심이나 만족감을 위한 일이었다면, 이번 것은 대다수 '돈'과 이어진다. 두 작업을 대하는 태도를 달리 여겨야 할 필요를 느낀다. 즉, 내 즐거움이 순수 목표가 아닌만큼 '보여주기'를 해야 한다.

 

작업방식

_무슨 일을 하든 정돈해야한다. 대강 3~4시간에 한 번 정도 중간 점검을 하는 편이 좋았다.

_일의 흐름을 잡고 내가 하는 줄기를 확실히 파악하고 도달하고자 하는 지향점을 분명하게 인식하는 것.

_무엇때문에 이 일을 해야하는가 질문하기 시작하면 끝이 없다. 기면 기고 아니면 아니다. 시켜서 해야하면 하는 거고, 혼자 하는데 즐거우면 하는 거고, 시키는데 왜 해야하나 싶으면 물어보고, 혼자하는 일인데 왜 하나 하면 하지 말자.

 

발표

_발표할 때는 다른 거 없다. 발표자 역량이 결국 다다. 시선을 끄는 발표가 있다. 발성, 태도, 자신감.

_발표 내용은 발표하는 우리가 아닌 발표를 듣는 이들한테 맞춰야 한다.

_발표자는 알아야 한다. 내가 발표할 내용을 정말 잘 알아야 한다. 그러면 사실 큰 문제가 없다.

_나는 발표를 잘 모른다. 대학 때 한 번도 PT 발표를 할 일이 없었으니 그럴테지만. 우리는 글을 읽었다. 에이포 여덟장씩 막 읽고 그랬다.

_다른 팀 발표도 많이 도움됐다.

 

글쓰기

_코딩하느라 쓴 시간을 조금 더 책읽기로 돌릴 수 있을 듯 하다.

_얼른 책들 다 읽고 2월 중순쯤까지는 퇴고를 일정 수준 진행해야지.

_평상시 글쓰기가 좀 구려졌다. 글을 쓸 때는 더 신중하게.

 

오늘의 일단 적어두기

 

크롤링 시 이모티콘 제거하기

한글 형태소 분석기들 soynlp, mecab

 

단어 유사도 비교 기법

word2vec-> 단어를 벡터 차원으로 날려버리자.

word mover's distance->벡터로 표현한 단어들 사이 거리를 구해 가까운 것들끼리 묶어주자.

// 아이디어가 좋다. 실제 성능도 괜찮아보인다. 다만 이 단어를 벡터 차원으로 날리는 방식은 다시 태어나면 이해할 지도 모르겠다. 아울러 아직 한글에는 적용이 안 된 듯 하다. 자연어 처리와 유사도 비교의 방향 하나로 잘 기억해두자.