210824 EXPLORATION 12. 다음에 볼 영화 예측

문소정·2021년 8월 26일
0

AIFFEL

목록 보기
36/66

Session 이란

https://88240.tistory.com/190
https://cheershennah.tistory.com/135
https://crossjin.tistory.com/entry/%EC%84%B8%EC%85%98Session%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
https://chrisjune-13837.medium.com/web-%EC%BF%A0%ED%82%A4-%EC%84%B8%EC%85%98%EC%9D%B4%EB%9E%80-aa6bcb327582

1. Session-Based Recommendation

  • 세션 데이터를 기반으로 유저가 다음에 클릭 또는 구매할 아이템을 예측하는 추천
  1. session이란?

    • 유저가 서비스를 이용하면서 발생하는 중요한 정보를 담은 데이터
    • 서버에 저장됨
    • 브라우저가 종료되기 전까지 유저의 행동을 담은 시퀀스 데이터
  2. Sequential Recommendation

    • 유저 정보를 전혀 알 수 없음 (성별, 나이, 장소, 마지막 접속 날짜, 이전 구매 내역 등등)
    • 아이템 정보도 전혀 알 수 없음 (실제로 어떤 물건인지, 사진이나 설명, 가격)
    • 추천시스템은 지금 잘 예측이 중요하여 기간에 따라 Train/ Valid/ Test 셋을 나눔
  3. Context-Aware

    • sequential recommendation 모델에 추가 정보를 적용하는 분야
  4. E-Commerce 데이터의 특징

    • 비로그인 상태로 탐색하는 유저 多
    • 로그인 상태로 탐색시, 접속할 때 마다 탐색하는 의도가 뚜렷하게 다름

2. Data Preprocess

  1. pathlib 모듈

    • 파일시스템 경로를 하나의 객체로 다룸 ⇨ 하나의 연산자를 정의 가능
    • 파일위치 찾기, 파일 입출력과 같은 동작 (cf, os모듈)
    import pathlib
    
    path1 = pathlib.Path.cwd()	#  실행한 스크립트 폴더 경로 확인
    
    path2 = pathlib.Path('.')
    files2 = path.glob('*') 		# 현재 위치한 파일/폴더 확인
    
    path3 = pathlib.Path('.')
    files3 = path.glob('**/*')	# 현재 위치 모든 파일 확인
    file3 = 

    (참고자료 : pathlib 활용하기)

3. GRU4REC 논문

  • Session Data에 처음으로 RNN 계열 모델을 적용하여 발표
  • 구조 : RNN계열 모델(ex. LSTM) 보다 GRU, Embedding Layer사용하지 않을 때 성능 Up👍
  1. 모델링
  • Session-Parallel Mini-Batches :
Mini-batch 구성???
  • SAMPLING ON THE OUTPUT
    • Negative Sampling와 같은 개념
    • Item의 수가 많아 Loss를 계산할 때 인기도를 고려하여 Sampling(ALL ❌)
  • Ranking Loss Session-Based Recommendation
    • 분류 작업으로 생각하여

0개의 댓글