/hiphop

RNN-LSTM을 통해 가사를 학습시키고 새로운 가사를 생성해냄

Primary LanguageJupyter Notebook

[목표]

  • Rap/Hiphop 장르의 가사들을 학습시켜 새로운 가사를 생성해내고, 말이 되게끔 만든다

[분석 내용]

  • 웹 크롤링, DB 관리
  • n-gram / Word2Vec / t-SNE 를 통한 자연어 처리
  • 딥러닝의 RNN - LSTM 알고리즘으로 가사 학습 및 생성
  • Flask 모듈, html 활용을 통한 웹페이지 구현

[Workflow]

  1. Data 수집
  • Hiphop 가사를 웹 크롤링 (각종 문장부호 함께 제거)
  • MySQL에 저장
  1. 워드클라우드
  • Hiphop 장르 9000여 곡의 가사를 명사화시켜 워드클라우드 생성
  • 좋아요 기준 상위 1000곡의 인기곡 가사를 명사화시켜 워드클라우드 생성
  1. 전처리
  • 자주 나오는 문구를 엮어 bigram 처리
  1. Word2Vec (Skip-gram 방식)
  • bigram 처리한 텍스트의 단어들을 vector화
  1. t-SNE
  • Word2Vec 처리한 단어 중 100회 이상 등장하는 단어들의 유사도를 찾아 시각화
  1. RNN - LSTM으로 가사 생성

  2. Python Flask를 이용한 웹페이지 구현

nbviewer http://nbviewer.jupyter.org/github/KMJJ1/hiphop/blob/master/RNN%20-%20LSTM%EC%9D%84%20%EC%9D%B4%EC%9A%A9%ED%95%9C%20Hiphop%20%EA%B0%80%EC%82%AC%20%EC%83%9D%EC%84%B1.ipynb