<영상은 내용과 관련이 없을 수 있습니다>
넘쳐나는 선택권은 고객들의 선택을 어렵게 만들었고 이는 ‘선택’의 비용 증가 및 효용을 낮추었다.
2010년대는 추천 서비스의 시대라고 해도 될까?
페이스북 및 구글의 추천 광고를 필두로, Watcha 영화 추천, 유튜브 영상 추천, 맛집 추천까지…
이에 BOJ에도 이를 도입해보고자 하였다. 분석 시 데이터의 가정으로, 사용자들이 문제를 ‘맞춘 순서’는 난이도 순이라는 점이다. 점점 발전해가는 PS러들이라고 가정하고, RNN 모델에 학습을 시행하였다.
: Problem – 1000번, 1001번 그리고 1002번 터렛 ㅠㅜ
BOJ의 1000번 [A+B], 1001번 [A-B]를 즐겁게 풀고나면 정답률 18%의 1002번 [터렛]이 초심자들의 진행을 가로막는다. 이는 PS 입문자들의 좌절을 부르고 포기를 부르고 컴공/컴과 탈출을 부르고 가정이 무너지고 사회가 무너지고
이에 우리의 친구를 만들어보았다.
< 가칭 : Dolphin Recommend-er >
돌핀맨 – 다음 문제는 나에게 맡기라구
: RECOMMEND FOR EASY STEP
(가칭 – 싸장님 허락 안 받음) 돌고래 추천기는 초보자를 위해 만들어졌다. BOJ 가입자의 대다수가 10문제도 풀지 않고 나가는 불상사를 보고 약 30문제는 마음 놓고 풀 수 있는 환경을 제공하고자 하였다.
학습된 RNN 모델을 기준으로 PS 초심자가 돌고래가 추천하는 3문제 중 하나를 풀 수 있다고 기대되는 확률은 88% 가량된다. ( POP TOP 3 baseline == 74.2% || POP TOP 5 baseline == 78.2%)
TOP 3 문제 – < LSTM(R) – GRU(G)- Simple RNN(B) >
TOP 5 문제 – < LSTM(R) – GRU(G)- Simple RNN(B) >
실제 문제 추천 내용을 보면
User1 [ 1000 ] -> 1001, 2557, 1003
User2 [ 1000, 1001, 1003, 2557 ] -> 10998, 1008, 2558
위와 같이 1002번 터렛문제는 교묘히 피해 추천하는 용의 주도함을 확인할 수 있었다.
: RECOMMEND FOR NEXT STEP
문제 추천 Pool이 100문제 이상이 되면 정확도가 75% 정도로 감소되어 PS 중-급러를 위한 다음 추천기는 모델 개발 후 다시 소개해보고자 한다.
[더 참고 보기]
- Curation Service [ http://mediask.co.kr/16029 ]
- Recurrent Neural Network [ https://deeplearning4j.org/kr/kr-lstm ]
- Keras 짱짱 [ http://keras.io ]
- 나중에 내가 읽어야지 [ http://bahnsville.tistory.com/900 ] for next step