gunhoon / kakao-arena-3rd-competition

Kakao Arena - Melon Playlist Continuation 대회
https://arena.kakao.com/c/7
Apache License 2.0
0 stars 0 forks source link

Kakao Arena 3rd Competition

Kakao Arena - Melon Playlist Continuation 대회 결과물

실행 환경

1) H/W 환경

CPU 8 Core, 메모리 16GB 이상을 권장함.

아래와 같은 환경에서의 학습 시간

2) S/W 환경

3) 필수 라이브러리

실행 방법

1) 데이터 다운로드

베이스라인 코드와 동일하게 res 디렉토리에 아래 4개 파일 다운로드 (아레나 홈페이지 참조)

.
└── /res
    ├── song_meta.json
    ├── test.json
    ├── train.json
    └── val.json

2) 학습

$> python train.py --question_fname=res/test.json

위와 같이 실행하면, 학습 모델이 victoria.pkl 파일 이름으로 저장된다.

파이널 제출용 결과(results.json)에 대한 모델(victoria.pkl) 다운로드

**주의 사항**

3) 예측

$> python inference.py --question_fname=res/test.json

위와 같이 실행하면, victoria.pkl 파일을 로딩한 후, 결과 파일을 베이스라인 코드와 동일하게 arena_data/results/results.json에 저장한다.

.
├── victoria.pkl (train.py 실행 후 생성됨)
└── /arena_data
    └── /results
        └── results.json (inference.py 실행 후 생성됨)

소스 파일 구조

알고리즘 설명

implicit library를 사용하여 ALS 기반 MF(matrix factorization) 단일 모델임.

1) ALS 기반 MF

User X Item matrix를 생성할 때, 아래와 같이 Item에 여러 feature를 혼합하여 적절한 가중치를 줘서 matrix를 생성함.

2) Rule 기반 로직

위의 1)의 추천 리스트에서 몇 가지 Rule 기반 로직이 들어감.