[PlayBookLlist] 최애 플리로 최애 책을 추천🎶📚

bb0·2023년 10월 23일

project

목록 보기
3/3
post-thumbnail

📌 기획의도

텍스트 데이터를 기반으로 한 추천시스템을 구현해보고자함

1. 책에 대한 흥미 감소

a. 웹소설과 웹툰 시장은 커져가지만 종이책 (장르 소설 제외)에 대한 관심은 줄어들었다.

  • 전체 독서율은 감소 했으나 전자책오디오북만 상승

2. mz의 아이덴티티 : ‘사운드 세대’

a. 요즘 MZ세대는 하루의 대부분을 귀에 이어폰을 꽂고 사는 사운드 세대로 볼 수 있다.

b. 이들은 ‘무엇을 듣느냐’로 본인을 표현하기 때문이다.

  • 집중할 때, 잠들기 좋은, 여름에 어울리는 등의 실생활 속 상황에 맞게 콘텐츠를 소비하며 공부를 하거나 책을 읽는 등의 활동도 동시에 가능하단 점에 매력을 느끼기도 한다.

  • 영상이 아닌 오디오가 스트레스 해소 요소로 이용되기도 한다.

3. 플리 마케팅(Playlist+Marketing)이 주목

a. 요즘 음악을 들을 때 유튜브에서 자신만의 플레이리스트를 만들거나 다른 사람이 제작한 플레이리스트를 이용한다.

b. 브랜드의 제품을 이용할 수 있는 상황을 하나의 테마로 정하거나 브랜드가 전하고자 하는 메시지를 담은 테마를 플레이리스트 전문 유튜브 채널과 협업하여 마케팅을 진행하기도 한다.

예시) 두닷 ⨉ 떼껄룩

4. 📝 목표

에 관심을 갖도록 음악이란 새로운 접근 방법을 이용

➋ 자신만의 플레이 리스트를 만들어 플레이 리스트와 유사한 감성 또는 내용의 책을 추천해주는 서비스 개발

➌ 추천한 책 또한 플레이 리스트 형태로 보여줌으로써 플리 마케팅을 이용해보고자함


🗄 Data Set

1. 크롤링

a. 멜론 - 총 72,999개

: 곡이름, 아티스트, 가사, 앨범 이름, 앨범커버

출처 : https://www.melon.com/

b. yes24 - 약 18,000권

: 2010년 이후로 판매된 한국 소설, 장르 소설의 책의 제목, 작가, 줄거리, 출판사, 책 이미지

출처 : https://www.yes24.com/

2. KNU 한국어 감성어 사전

a. 영화, 음악, 자동차 등 어떤 도메인에도 사용될 수 있는 보편적인 긍·부정어로 구성

b. 1-gram, 2-gram, n-gram(어구, 문형), 축약어, 이모티콘 등의 다양한 종류의 긍·부정어 포함

출처 : https://github.com/park1200656/KnuSentiLex/tree/master

3. 전체 데이터


✍전처리

1. 파생변수 생성

a. , 노래 unique ID 생성

b. 추천 정확도를 높이기 위해 책 줄거리, 곡 가사를 영어로 번역한 내용 변수 생성

2. 데이터 전처리

a. 태그 중에 감성어 사전에 존재하지 않는 경우 삭제

b. 곡 제목 , 아티스트가 일치하는데 싱글/정규 앨범으로 나눠지는 중복 노래들은 삭제

c. 노래의 가사에 크롤링해 온 태그 추가


🪄기능 구현

1. 의 메타 데이터와 임베딩값들을 미리 Pinecone데이터베이스에 저장함

a. 책 줄거리를 영어로 번역한 내용을 1,536길이의 벡터 임베딩 생성

b. 벡터로 만들 쿼리 양식 미리 생성

  • “재료는 {ingredient}다. 어울리는 음식으로는 {food}가 있다. {situation}다. {emotion} 감정을 언급할 수 있다.”

c. 1,536길이의 벡터 임베딩 생성

2. 유저가 입력한 값에 해당되는 임베딩값이 데이터베이스 내에 존재할 때 값을 꺼내오고, 없다면 추가할 파이프라인 구축

a. 유저가 곡을 선택해 유저만의 플레이리스트를 만들고 결과 보기 버튼을 클릭하면 데이터베이스를 확인

  • 곡 id존재하면 해당하는 임베딩 값을 꺼내옴
  • 곡 id존재하지 않는다면 곡 가사 임베딩 생성

b. 감성어 사전에 존재하는 태그를 추가한 곡 가사를 영어로 번역한 내용을 1,536길이의 벡터 임베딩 생성

3. 데이터와 유저가 만든 플레이리스트 입력값의 코사인 유사도를 비교하여 을 추천

a. 미리 데이터베이스로 저장한 의 메타 데이터 중에rating이 8이상인 조건으로 1차 필터링함

b. 필터링하고 의 메타 데이터의 review_cnt, rating 기준으로 내림차순 정렬하여 출력

3. 추천할 책의 이미지제목, 작가를 기본 이미지와 합쳐 유저에게 보여줌

4. 사용 라이브러리 및 모델


🖥️서비스

1. Input - 곡

2. Output - 책


💡결론

음악플리 마케팅(Playlist+Marketing)에 적용해서 Play Book List를 만들어 흥미를 유발할 수 있다.

➜ 유저의 선택 곡 가사만을 기반으로 유사도를 비교하는 것이 아닌, 곡의 태그 중 감성어 사전에 존재하는 것을 포함하여 유사도를 비교함으로써 유저가 추천 결과에 대한 만족도를 높일 수 있다.

profile
👩‍💻🖥️✍️

0개의 댓글