ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NAVER DEVIEW 2023] 장소 기반 추천시스템, HyperLocal | 상황에 맞는 취향 장소 발견하기
    Recommendation System 2023. 10. 18. 09:30

     

     

    목차

       

       

      HLP Engine : HyperLocal Personalization Engine

      - 추천 대상 : POI(point of interest), User(POI를 방문하는 user), UGC(contents), Theme(POI, UGC를 공통 특성으로 묶은 그룹)

      - 추천 모델 : No persoanlization, segmentation, personalization(사용자의 취향 추천), HyperLocal Persoanlization(사용자가 놓인 '상황'까지 이해하여 추천)

       

      발표 영상 : https://tv.naver.com/v/34032810

      발표 자료 : 

      image.pdf
      18.16MB

       

      1. POI x HyperLocal Personalization : 특정 장소 다음에 방문할 만한 장소 추천

      ex) 부산 호텔 다음에 갈 카페

      1-1. RelatedPOI2VEC

      - 의도 : 다른 domain 장소들간의 co-occurence를 표현하기(word2vec) + 방문이라는 explicit feedback으로 모델에 반영(global context)

      - 데이터 : 네이버 장소 방문/클릭 데이터

      - 한계 : click을 같은 의도라고 볼 수 있는가? 특정 기간 내의 검색에 다른 의도적 탐색이 섞여 있지 않은가 ?

      1-2. 통계 모델

      - 의도 : 명확한 의도가 담긴 explicit data를 추가하자

      - 데이터 : 네이버 지도 출발-도착지-빈도수

      1-3. 최종 모델 아키텍쳐

      1-4. 결과

       

      2. POI x Personalization : 취향 기반 장소 추천

      2-1. Global-POI2VEC : user들의 context에 기반하여 방문한 POI를 기반으로 추천 

      a. Nearby Alternative : 근처의 대체 장소를 찾는 경우, POI2VEC

      하나의 session을 기준으로 click한 sequence의 co-occurence를 반영

       

      b. Similar Metadata : 유사한 특성을 지닌 장소를 찾는 경우, POIMeta2VEC

      item의 metadata를 기반으로 metapath2VEC을 backbone으로 사용

      * metapath2VEC 설명 링크

       

      c. Similar Taste : 유사한 취향의 사용자들이 좋아한 장소를 찾는 경우 (POISAGE)

      user와 POI로 구성된 그래프. 주변 노드와의 importance 계산을 위해 PinSAGE 를 backbone으로 사용. scalability에 좋고, CF 파악에 용이했음. 

      * PinSAGE 설명 링크

       

      2-2. context 특성 분석

      t-SNE로 각 모델별 결과 context를 분석. 업종별로 색을 나누었다. 빨강: 정육점, 주황: 소고기, 초록: 돼지고기

      - POI2VEC : 지역기반이라 업종이 묶이지 않았음.

      - POIMeta2VEC : 유사한 특성 기반이라 비슷한 업종이 묶여 있음

      - POISAGE : 사용자 취향 기반이라 업종끼리 분리되어 있음

       

      2-3. optimization

      cosine similarity의 특성을 고려하고, POI Embedding을 유지할 수 있는 Auto Encoder를 사용.

      3가지 embedding을 concat.

      - Loss1 : AE의 reconstruction loss

      - Loss2: Multi-label(업종) classification loss

       

      2-4. 결과

       

       

      3. user x personalization : 사용자 행동 기반 user 추천

      나와 유사한 사용자를 추천하여 그 사용자의 취향 장소를 발견하게 하자

      3-1. 모델

      a. FollowSAGE : follow하는 유저들이 유사한 경우. GrpahSAGE를 backbone으로 사용

       

      b. VisitSAGE : 실제 방문 장소가 유사한 경우

      POISAGE와 유사한데 뭐가 다른지 짧게 언급해주셨으나 이해할 수 없었음. 

       

      c. History2VEC : 최근 방문 장소가 유사한 경우

      다음에 방문할 장소를 업종이나 장소 기반으로 맞추는 것을 multi-label classification으로도 볼 수 있다.(왜.?)

      DNN을 backbone으로 함. classification 하기 전 단계의 embedding값을 user 라고 두고, 유사도를 통해 유저를 추천함.

       

      로컬 도메인의 특성

      장소에 대한 사용자의 선호도를 binary가 아닌, weighted하게 둠. FolloSAGE, VisitSAGE의 경우 low-rank positive term을 추가하여 노드간의 relation weight를 간주하는 방식으로 고도화

       

      3-2. 결과

      Precision은 FollowSAGE가 성능이 가장 높았다. 아무래도 사용자의 선호도가 명확히 반영된 데이터이기 때문. 그러나 동시에 다양성의 측면에서는 가장 약했음. 그러므로 단일 모델로는 diversity와 novelty 측면에서 최적의 결과를 내는게 어려움.

      그러므로, 세 가지 모델의 결과를 candidate로 하여, 관심 지역, 최근 검색 메뉴, 관심 업종 등이 데이터를 기반으로 해당 유저와의 거리를 계산하여 결과를 추천한다.

       

      실제 서빙

       

      4. UGC x HyperLocal Personalization : UGC 기반 실시간 반응형 추천

      4-1. Multimodality(이미지와 텍스트를 합쳐서 사용)에 기반한 검색 의도를 이해하여 추천. ReviewSAGE

      - UGC는 structured data라는 특성이 있으므로 Graph 기반 모델링을 선택

       

      POI와 그 리뷰인 UGC만을 연결하면, POI끼리 연결이 안됨. 유저 취향을 기반으로 연결하기(어떻게..?)

      UGC인 image, text를 pretrained 모델로 embedding 시켜서 노드에 넣었음

      이때, negative sampling이 중요하다. 서로 다른 업종의 POI는 비슷하지 않다는 가설을 기반으로 진행함.

       

      4-2. 결과

      Multimodality를 고려한 품질은 어떠한가? 

       

      실제 서빙

       

      5. 정리

      댓글

    Designed by Tistory.