Skip to content

ldhapple/Webtoon_recommender_web

Repository files navigation

볼만한웹툰없나

📚목차

  1. 📃 Description
  2. 🌍 Environment
  3. 🔉 Data

📃 Description

각자 평가한 웹툰의 점수, MBTI, 성별, 나이 데이터를 바탕으로 개인의 취향에 맞는 웹툰을 추천해주는 서비스입니다.

Link: https://recommtoon.com/

image

서비스 목록

웹툰 평가

image

자신이 봤던 웹툰에 대한 평가를 할 수 있는 메뉴입니다. 이 평가를 바탕으로 성별, MBTI, 나이와 함께 웹툰을 추천받게 됩니다.

친구의 웹툰

image

지인이나 친구의 아이디를 입력해 친구가 평가한 웹툰을 공유받고 서로 의견을 나눌 수 있는 메뉴입니다.
웹툰에 관련한 흥미를 높이고 친구와의 소통을 더 활발하게 할 수 있습니다.

각 웹툰별 의견 공유

image

현재 웹툰들에도 댓글기능이 있지만 해당 회차에 대한 댓글이라 맘에 들지 않았을 때
요리 레시피같은 웹툰과 관계없는 댓글을 다는 등의 댓글 테러를 하는 경우도 있어 웹툰에 대한 의견 나눔이 아쉽기 때문에 웹툰 전체에 대한
생각, 느낌을 공유할 수 있는 공간입니다.

웹툰 검색

image

특정 웹툰에 대한 의견을 보고 싶거나 의견을 나타내고 싶을 때 검색할 수 있습니다.

웹툰 추천

image

image

개인 취향에 맞는 웹툰을 MBTI, 나이, 성별, 평가데이터를 바탕으로 content based filtering을 통해 추천받고,
MBTI별 선호하는 웹툰을 파악할 수 있습니다.

Python 라이브러리를 이용했으며, 선호장르를 파악할 수 있다고 판단되는 MBTI 기능유형 4유형으로 분류해 코사인 유사도를 구한다.
웹툰 평가데이터의 코사인유사도와 유저 정보의 코사인유사도를 따로 구해 전처리하여 합산한다.

최종 코사인유사도 값을 통해 KNN 알고리즘을 이용하여 Collaborative Filtering을 진행하여 점수가 높은
상위 20개의 웹툰을 추천한다.

🌍 Environment

  • Language : 파이썬 자바 자스 html html
  • Framework : SpringBoot BootStrap Flask
  • Database: mariaDB

🔉 Data & Server

image

Flask로 "user_id" 정보를 json 데이터로 보내 작동시킨 후 DB의 데이터를 스프링부트 서버에서 클라이언트에게 보여준다.

image

    {
       "Webtoon_data":[
           {
                "title_id": 737628,
                "title_name": "별이삼샵",
                "author": "혀노",
                "day": "일"
                "genre": "스토리, 드라마"
                "story": ㄱ나니? 발신자 제한번호로 그녀에게 마음을 전했던 이야기. 
                         '남과여' 혀노 작가가 담아낸
                          촌스럽지만 풋풋했던 2000년대  시절.
                "link" : "https://comic.naver.com/webtoon/list?titleId=737628",
                "img_src": "https://shared-comic.pstatic.net/thumb/webtoon/737628/thumbnail/thumbnail_IMAG06_64a2157c-49e6-422a-9628-9181f62e405c.jpg"
           }   
       ]
    }