- 온라인으로 책을 구매하는 사람이 늘어나고 사용자의 취향에 맞는 것을 추천해주는 서비스에 익숙해진 요즘 시대의 변화에 따라 사용자들이 책을 쉽게 접할 수 있도록 하기 위해 이 프로젝트를 개발하게 되었습니다.
- 로그인여부를 보여주고, 로그인이되어있다면추천해주는책을볼수있고, 리뷰작성이 가능하며 내프로필을 볼 수 있다.
- 로그인이 되어있지않으면 로그인과회원가입,다른회원들이작성한책에 대한 리뷰들을 볼 수 있다.
- 장르별로책을 볼수있는버튼과 위시리스트로가는 버튼이 있다.
- 위시리스트는 로그인시 이용가능하다.
- 책을 랜덤으로 20개 출력한다.
- 직접정보를 입력하여 가입 혹은 네이버, 카카오, 구글아이디로도 로그인 가능하다.
- 닉네임과프로필사진, 내소개글을볼수있다. 프로필수정으로 수정 가능하다.
- 내가 추가한 위시리스트와 작성한리뷰들을 볼 수 있다.
- 관심있는 책을 위시리스트에 추가 및 삭제가 가능하다.
- 전체, 제목, 저자, 출판사, 장르중원하는옵션을선택해검색을할수있다
- 검색결과는 10개씩 책의 정보와 함께 보여준다.
- 리뷰 작성시 평점을 매길수 있고, 태그를 통해 책을 표현할수있다.
- 태그는 띄어쓰기를 통해 단어가 구분되어 한번에 여러 단어들을 태그로 등록 할 수 있다.
- 문서벡터를 이용한 추천 시스템
- 줄거리에서 불필요한값들(ex> 콤마, 느낌표, 줄바꿈등)을 전처리한다.
- 전처리한 줄거리와 책제목을 mecab을 통해 단어를 토큰화하여 저장한다.
- vocabulary 빌드후 Doc2Vec를 학습시키고, 학습시킨 모델을 저장한다.
- 학습시킨 모델의 단어벡터 평균함수를 구하고, cosine_similarities를 이용해 코사인유사도 값을 가져온다.
- 위시리스트의 책 제목을 받아오면 코사인유사도를 이용해 책 제목과 줄거리가 유사한10개를 찾아 추천해준다.