word2vec으로 음악 추천 시스템 만들기

2022. 8. 17. 16:58개발/파이썬

word2vec은 얕은 신경망으로 단어를 임베딩하는 획기적인 모델입니다.

이를 이용해서 간단한 추천 시스템을 만들어보겠습니다.

워드 임베딩은 word2vec 말고도 glove, elmo,SBERT가 있습니다.

 

코랩으로 간단한 코드 작성 후 웹으로 간단하게 구현할 예정입니다.

 

위 데이터의 tags 열로 word2vec을 학습 시키겠습니다.

간단하게 parameter를 살펴보면 window는 앞 뒤로 고려할 단어의 개수이다.

min_count는 최소 빈도수로 이 빈도수보다 작다면 학습에서 배제된다.

workers는 모델을 만들 때 사용하는 스레드의 개수이다. 학습 속도에 영향을 준다.

sg는 0은 CBOW 알고리즘이고 1은 skip-gram이다. 알고리즘은 다른 곳에 잘 설명되어 있다.

코랩은 중간 중간 연결이 끊기기 때문에 학습이 끝난 모델을 구글 드라이브에 저장했습니다다.

위 메소드를 통해 유사도가 높은 태그를 볼 수 있습니다.

키워드를 dict로 변환해준다.

유사도 높은 태그가 해당 리스트에 몇번 등장했는지 세주는 코드.

유사도 높은 태그가 해당 리스트에 포함 되있을 경우 점수를 매긴다.

해당 데이터프레임의 해당 함수로 만들어진 새 칼럼을 두 개 추가하고 점수를 기준으로 sort 해준다.

상위 5개의 인덱스를 가져온다.

 

상세 내용 아래에서 확인

https://gt40766.tistory.com/155

반응형