추천시스템
-
[추천시스템과 통계 모델 1] - 다양성 지수(Diversity Index)Programming & Machine Learning/Mathematics & Statistics 2024. 2. 27. 14:55
추천시스템을 고도화 할 때 필요한 것 중 하나는, 유저 단위, 혹은 아이템 단위의 적절한 Index를 만들어내는 것이다. 이를테면 어떤 유저는 다양한 아이템을 소비하는 것을 좋아하고, 어떤 유저는 새로운 아이템을 소비하는 것을 좋아하고, 어떤 유저는 자신이 선호하는 카테고리의 아이템만 선호할 수도 있다. 이런 것들을 하나의 Index로 점수화 하여 사용하는 것은 큰 의미가 있다. 물론 Neural Network 구조의 Deep Learning이 보편화 된 이후부터는 Index를 만들어내는 것 자체가 이론적으로는 무의미 해지긴 했지만, 실제 서비스에서는 그렇지 않다. 모델이 Feature Engineering을 아무리 잘 해낸다고 해도, 결국 Binary Task 혹은 지정된 Task에만 활용될 수 있을 ..
-
LLM with Recommender System 논문 리뷰 - 1부 [M6-Rec: Generative Pretrained Language Models are Open-Ended Recommender Systems]Recommender System/논문 및 블로그 리뷰 2023. 5. 22. 19:38
원문 보기 : https://arxiv.org/pdf/2205.08084.pdf 오랜만에 추천 관련 기술 논문을 두 개 정도 읽게 됐다. 업무 연차가 올라가다보니, 새로운 기술을 접목하거나 논문을 읽어보는 데 할애하는 시간이 점점 줄어들고, 도메인과 서비스에 적용되는 루틴한 개발이나 킬러 피쳐 발굴에만 몰두하게 된다. 그래서 새로운 기술이나 논문을 알아보는 시간이 점점 없어지는 것 같다. 그래도 곁눈질로 종종 들여다보곤 하는데, 요즘 많이 언급되는 추천시스템 관련 기술 동향은 크게 2가지 꼭지가 있다고 생각한다. 하나는 GNN-based 모델이고, 또 하나는 Transformer(BERT)를 기반으로 하는 Sequential Recommendation 이다. 한 2~3년 전에도 이 생각을 똑같이 했었던 ..
-
[Recommender System] - MovieLens 데이터셋으로 MultiSAGE의 Context Query 구현하기 - 1Recommender System/추천 시스템 2021. 9. 14. 18:55
GNN with Context Query (from MultiSAGE) 최근 GNN 관련 기술을 계속 공부중인데, 가장 언급이 많이 되는 논문 중에 하나가 바로 PinSAGE, 그리고 후속으로 MultiSAGE라는 알고리즘을 다루는 [Graph Convolutional Neural Networks for Web-Scale Recommender Systems] 논문이다. 이 방법은 GraphSAGE의 기본 골격에서 PPR(Personalized Page Rank) + RW(Random Walk) 기반으로 효과적인 샘플링 기법을 추가한 알고리즘인데, MultiSAGE 라는 후속 연구에서는 Context Query 라는 것을 제안하기도 하였다. Context Query 라는 개념은 보통 조건부 검색이나 모델 ..
-
[Recommender System] - GCN과 MultiSAGE 알고리즘Recommender System/추천 시스템 2021. 7. 26. 15:04
본 포스팅은 2020년에 발표한 MultiSAGE 알고리즘(MultiSage: Empowering GCN with Contextualized Multi-Embeddings on Web-Scale Multipartite Networks)의 내용을 GCN의 대략적인 히스토리와 함께 엮어낸 것이다. 기술의 주제 자체가 추천시스템인 만큼, 추천시스템과 관련된 내용만을 다루고 있으며 꽤나 많은 부분의 내용을 포스팅 최 하단의 링크들을 참고하여 작성하였다. 1. GCN (Graph Convolutional Neural network)의 개요 1) GCN의 특징 Graph Neural Network는 서로간의 연결관계를 갖고 있는 데이터를 Computer Science 영역의 그래프 표현 방법으로 잘 나타내기 위해 ..
-
[Uber Engineering 블로그 리뷰 & 번역 - Food Discovery with Uber Eats: Recommending for the Marketplace]Recommender System/논문 및 블로그 리뷰 2021. 5. 21. 16:30
지난 포스팅이 우버잇츠의 검색/추천 에서 에 초점을 맞춘 포스팅이었다면, 이번 포스팅은 2부작 성격을 띠며 개인화와 추천에 조금 더 초점을 맞춘 내용이다. 그 중에서도 최적화 모델과 그 구조에 대해 이야기한다. 이 글 역시 마찬가지로 원문에 주관적 해석을 약간 덧붙인 번역문에 가까우니, 영어가 자신있는 분은 원문을 읽는 것을 권장한다. https://eng.uber.com/uber-eats-recommending-marketplace/ 1. Our recommender system's journey Uber Eats의 추천/랭킹 모델의 초기버전 에서는 유저-레스토랑의 주문 발생 확률을 모델링하는 single objective optimizing을 사용했다고 한다. 그리고 점차 ML, Personaliza..
-
[Recommender System] - 결과 정렬에서의 Shuffle 알고리즘Recommender System/추천 시스템 2021. 4. 5. 12:06
본 포스팅은 필자가 쓴 DeliveryHero Korea 기술 블로그(링크)에 있는 추천 시스템의 Shuffle 알고리즘 활용법에 관한 내용을 발췌한 것이다. 회사 기술 블로그에 글을 쓰면서 흥미 위주의 글을 쓰게 되었는데, 여기에 조금 더 내용적인 살을 붙여 글을 재구성하였다. 당연히 비즈니스와 관련이 없는 선에서 세간에 알려진 알고리즘 내용만을 서술하였다. 1. Spotify의 Music Shuffle 알고리즘 추천시스템, 그중에서도 콘텐츠 Shuffle이 필요한 영역에서 가장 대표적인 예시는 Spotify의 Shuffle 알고리즘이다. Music Shuffle 에서는 컨텐츠를 완전한 랜덤으로 추천하지 않는다. 하지만 흔히 알고있기로, 사용자들은 음악 앱에서 셔플 기능을 사용할 때 동작하는 방식을 완..
-
[Recommender System] - 추천시스템과 MAB (Multi-Armed Bandits)Recommender System/추천 시스템 2021. 1. 28. 21:57
1. Multi-Armed Bandit MAB에서 가장 중요한 개념은 Exploration & Exploitation이다. 여러 개의 슬롯머신 중, 어떤 슬롯머신을 당겨야 이득을 최대화할 수 있는지를 파악하는 것을 탐색/획득으로 알아내기 때문이다. 그래서 탐색과 활용이 조화롭게 필요한 추천시스템에서 많이 활용되는 방식이다. 이미 수 년 전부터 추천시스템에서는 대세로 자리잡았다. A/B 테스트의 완벽한 상위호환이라고 볼 수 있기 때문이다. (모델 단위가 아닌 아이템 단위의 MAB는 모델의 대체재이기도 하다.) MAB의 구성 원리는 앞서 말한 것 처럼 두 가지, 탐색과 활용이다. 그 중 추천시스템에서의 Exploration은 Diversity를 올려줄 수 있는 방법 중 하나이다. Cold-start 문제를 ..
-
[Recommender System] - Graph Convolutional Matrix Completion 번역 & 리뷰Recommender System/논문 및 블로그 리뷰 2020. 12. 29. 20:20
1. Intro 이 논문은 recommender system에서의 matrix completion 문제를 "link prediction on graph" 관점으로 바라본 내용을 서술하고 있다. 핵심 아이디어를 하나 예로 들면, user-item rating matrix를 user-item의 이분그래프로 표현할 수 있다는 것이다. 그리고 이를 graph auto-encoder 프레임워크에 응용하는 것을 제안한다. 논문에서 표현한 전체적인 그림은 아래와 같다. 2. Matrix completion as link prediction in bipartite graphs 그래프로 기존의 Rating Matrix를 표현하는 방식은 다음과 같다. W는 User와 Item의 집합을 나타내는 기호이고, E는 Edge 정..
-
[Recommender System] - Factorization Machine (From Scratch with Python)Recommender System/추천 시스템 2020. 4. 17. 18:57
이전 포스팅 보기 본 포스팅은 Factorization Machine의 intuitive한 설명(블로그 번역 + 필자 개인적 해석)과 라이브러리 활용법에 대한 포스팅의 후속이다. FM이 sparse한 피처간의 pair-wise interaction을 학습한다는 것을 어렴풋이 이해했다면, 이번에는 실제로 Science 레벨에서 모델링 할때 어떻게 활용해야 하는지를 수식 레벨부터 직접 코드로 구현해보면서 따라가보자. 백문이 불여일견이라 하였으니, 코드 역시 마찬가지일 것이다. 이번 글에서는 FM의 intuitive한 설명은 생략하고 실제로 벡터 단위로 어떤 분석을 수행해야 하는지, pair-wise한 학습을 하면 어떤 이득을 얻을 수 있는지에 대해서 중점적으로 서술하였다. 1. Algorithm Concep..
-
YouTube Recommendation system 트릴로지 리뷰 - [3]Recommender System/논문 및 블로그 리뷰 2020. 2. 11. 16:53
이전 포스팅 보기 더보기 YouTube Recommendation system 트릴로지 리뷰 - [1] YouTube Recommendation system 트릴로지 리뷰 - [1] 본 포스팅은 2010, 2016, 2019에 발표한 유튜브의 추천시스템 자료를 리뷰한 것이다. 3부작이 끝이 아님에도 트릴로지라는 이름을 붙인 것은, 필자에게는 이 자료들이 매트릭스 3부작이나 반지의제왕 3부작 만큼이.. yamalab.tistory.com https://yamalab.tistory.com/124 YouTube Recommendation system 트릴로지 리뷰 - [2] YouTube Recommendation system 트릴로지 리뷰 - [1] 이번에 리뷰할 자료는 으로, 2016년에 발표된 것이다. ..