6. 라이브러리 소개 및 카카오 아레나 솔루션 분석

2023. 12. 19. 17:37NAVER AI Tech/Project

surprise : 명시적 데이터를 다루는 라이브러리

implicit : 암시적 데이터를 다루는 라이브러리

lightfm : 명시적/암시적 데이터를 모두 다루는 라이브러리

Recommenders : 콘텐츠부터 딥런이 기반까지 모두 메타 라이브러리

 

추천시스템 특징

1. 도메인 의존성이 높음

2. 데이터가 폐쇄적임(대부분 개인정보로 의해 제공되지 않음)

 

 

카카오 아레나 대회 : 브런치 글 추천

    - 평가지표 : NDCG, MAP, Entropy Diversity

    - 평가지표로 미루어보아 Ranking 문제임을 추론할 수 있음

브런치 매거진이란 하나의 주제로 작성된 글들이 모여 있는 공간

 

주요 issue

    - 신규 글이 많이 노출되는 알고리즘을 설정

    - cold start 문제를 해결하기 위한 편향이 없는 글 추천.

 

베이스라인 코드

    - 일정 기간동안 가장 많이 본 글 100개를 모든 사용자에게 똑같이 추천

 

베이스라인 코드 한계점

    - 모든 사용자에게 동일한 결과를 가져오므로 Entropy 측면에서 좋지 않음.

    - 최근 글을 반영할 수 없음.

    - 글의 메타 데이터와 본문 및 다른 정보를 활용하지 않음.

 

 

1등 솔루션 분석

1. Youtube commendation System 구조 사용 

    - Candidate Generation(Top N개 추천) & Ranking(N개 중 순위 매기기)

    - Candidate : 일정 기간동안 작성된 새로운 글 중 유저가 팔로우한 글, 과거에 많이 본 작가의 글, 최근에 본 n개의 글과 유사한 article2vec top K개 글

    - 모든 candidate에 대해 ranking을 수행(이때 중요도 a>b>c를 두어 각 rule 별 우선순위를 지정해두었음)

 

2. 최근 읽은 글의 수에 따라 맞춤형 추천

    - Following Based 추천 : 플랫폼 특성 상 구독하는 작가의 글을 많이 읽는 경향이 있음

    - Popular Based 추천 : 인기 많은 상위 20% 글이 많이 소비되는 경향을 반영

    - Item Based Collaborative Filtering : 일정 기간 동안 조회수가 많은 글을 추천!

    - Tag Based 추천 : 읽은 글의 태그와 같은 태그의 글을 읽는 경향을 반영하여 키워드 중심 추천이라고 볼 수 있음

    - Magazine Based 추천 : 같은 magazine의 글을 많이 읽는 경향을 반영

 

3. Follwing + Magazine + Recent

    - 구독하는 작가의 위클리 매거진 글 추천, 매거진 글 추천, 작가의 인기 글 추천

    - 구독하지 않는 작가의 위클리 매거진 글 추천, 작가의 매거진 글 추천

 

 

 

카카오 아레나 대회 : 멜론 플레이리스트 추천

    - 평가지표 : NDCG

    - Ranking 문제임을 알 수 있음.

 

1등 솔루션 분석

Module 1

1. ALS + Neighborhood + Word2Vec

    - ALS : implicit library 사용

2. Neighborhood : BM25 + cosine

    - BM25 : TF-IDF의 variation

3. Word2Vec : gensim의 word2Vec 사용

 

Module 2

1. Collaborative Filtering + Rescoring

2. KNN

    - 단일 CF보다 성능이 더 좋았음.

3. Word2Vec + AutoEncoder

 

 

**단일 모델로 성능을 낸 적은 없음. 멀티 모델 솔루션이 중요함(=Hybrid Approach)