추천시스템 8

[Recommender System] 공분산(Covariance)

추천 시스템에서는 차원 축소 기법을 사용하여 모델을 구축할 때 공분산을 다룬다. 차원 축소는 다차원 행렬을 저차원으로 보내어 희소성 문제를 일부 완화할 수 있게 만들어주는 기법이다. 지금은 행을 기준으로 계산이 이루어지면 PCA(Principal Component Analysis), 열을 기준으로 계산이 이루어지면 FA(Factor Analysis) 정도로만 이해해도 무방하다. 사용자-아이템 간 평점 행렬은 일반적으로 희소(Sparsity) 행렬이라고 부른다. 쇼핑몰에는 방대한 양의 아이템이 존재하는데, 사용자는 모든 아이템에 대해 평점을 측정하는 것이 아니고, 일부에 대해서만 평점을 부여하기 때문이다. 이전에 다루었던 SVD(Singular Value Decomposition)과 비슷한 맥락이며, 결과..

[Recommender System] context of recommender systems

컨텍스트의 사전적인 정의는 '이벤트를 둘러싸고 적절한 해석을위한 자원을 제공하는 프레임' 이며, 다양한 곳에서 다양한 의미로 쓰인다. 자연어 처리에서는 문장의 문맥을 뜻하고, 추천시스템에서는 시간적, 공간적 컨텍스트를 예로 들 수 있다. 고객에게 제품을 추천해줄 때 여름인데 겨울 패딩을 추천해주는 것보다는 반팔티와 같은 여름의 컨텍스트에 맞는 제품을 추천해주는 것이 구매할 확률이 높기 때문이다. 추천시스템에서는 이와 같이 도메인에 특화된 다양한 문제점들이 있기 때문에 이를 해결함으로써 고객 만족도가 더욱 높아지고, 매출액에 직결될 수 있을 것이다. 시간에 민감한 추천 시스템 : 영화를 추천해줄 때 최근 개봉한 영화를 추천해주는 것과 개봉한지 몇 년이 지난 영화를 추천해주는 것은 큰 차이가 있다. 필연적으..

[Recommender System] Collaborative Filtering, Content-based, Knowledge-based

아마존, 넷플릭스, 구글 등 여러 기업에서 책, 영화, 뉴스 등을 추천해주기 위해서 여러 추천시스템 방법을 활용하고 있다. 추천시스템 중에서 가장 대표적인 예로는 협업 필터링(Collaborative Filtering), 콘텐츠 기반(Content based), 지식 기반(Knowledge based) 등이 존재한다. 협업 필터링(Collaborative Filtering) 협업 필터링은 추천시스템을 공부하는 사람이라면 다들 들어 봤을 것이라고 생각한다. 협업 필터링 방법은 사용자와 아이템 간의 관계를 보는 방법이라고 생각하면 된다. 명시적(Explicit) 데이터를 기준으로 한다면 사용자가 영화를 시청하고 난 후 해당 영화에 평점을 매기는 형태로 행렬(matrix)를 만든 것이고, 암묵적(Implici..

[short] Deep Neural Networks for YouTube Recommendations, Paul Covington (2016)

YouTube에는 워낙 방대한 자료와 새로운 영상의 업로드, 사용자의 행동의 sparse한 부분 등의 문제로 추천하기가 엄청 어렵다. 해당 논문에서는 최상의 영상을 추천해주기 위해 Deep Neural Networks를 사용했고, 모든 상황을 고려해 추천을 해주는 시스템을 구축했다. 사용한 데이터는 YouTube 앱 화면에서 손가락의 업/다운, 제품 내 설문조사, 사용자의 언어, 영상의 언어 등 모든 것을 고려해 input으로 집어넣고 3개의 Layer를 통과해 추천영상을 제공해준다. [Layer는 Linear + ReLU로 총 3겹을 쌓았다.] Layer를 겹겹이 쌓았을 때 성능이 개선되는 것을 볼 수 있다. 결론 딥러닝을 활용했지만 여전히 정확한 예측은 어렵다. 일부항목에서는 다른 machine-le..

[short] Pace My Race : Recommendations for Marathon Running, Jakim Berndsen (2019)

최근 몇년 동안 마라톤 훈련이나 마라톤 대회의 GPS 데이터가 크게 증가하면서 해당 데이터를 활용해 마라토너의 능력을 향상시켜주고, 잠재 타깃 사용자에게 페이스 조절해주는 연구가 진행되고 있다. 기존에도 마라톤 페이스에 관한 추천을 해주고 있었지만, 시간과 속도만 제공하는 것이 아니라 e-coach 형태로 페이스 조절(감속) 등의 추가적인 교육 프로그램까지 제공해준다는 것이 논문의 핵심이다. 사용자의 이전 기록과 더불어 사용자와 비슷한 다른 사용자의 데이터를 추합해 예측하기 때문에 사용자 맞춤 추천시스템이 된다. 단순히 해당 페이스로 뛰어라고만 제공해주면 속도를 따라잡기 위해 저장해둔 에너지를 소모해 완주지점까지 도달하지 못하고 중도포기하는 경우도 발생할 수 있지만, 해당 논문에서 제공하는 추천시스템은 ..

The cultural impact on social commerce: A sentiment analysis on Yelp ethnic restaurant reviews, Makoto Nakayama (2019)

Amazon, TripAdvisor, Yelp 등의 포털은 제품, 업종 등의 리뷰는 기업에 유용한 insight 제공해준다. 기업은 리뷰를 보고 소비자들의 불만사항을 체크할 수 있고, 소비자들은 해당 리뷰를 보고 제품, 가게의 정보를 획득할 수 있어 정보의 비대칭성이 완화될 수 있다. 전통적인 마케팅 WOM(word of mouth)의 경우에는 구두를 통한 의사소통으로 인해 가족, 친척, 친구 등의 좁은 범위 내에서만 영향을 주어, 상대적으로 영향이 덜했지만 전자 상거래로 변화되면서 리뷰에 대한 영향이 커지고 있다. 해당 논문에서는 Yelp dataset을 토대로 서로 다른 문화적 배경을 가진 고객들이 음식에 대한 평가 기준에 차이가 있는지 확인하고자 한다. 네덜란드 심리학자인 호프스테더가 주장한 문화차..

[Recommender System] Metrics

추천시스템에서는 어떤 평가함수가 있을까? 우리는 평가함수에 대해서 다양하게 알고 있어야 한다. 왜냐하면 평가함수는 도메인이나 목적에 따라서 다른 평가함수를 적용해서 사용해야 해당 추천시스템이 제대로 적용되고 있는지 알 수 있기 때문이다. 1. 내가 추천해준 영화를 고객이 보았는가? 2. 내가 추천해준 영화를 고객이 높은 점수로 평점을 주었는가? 1번의 경우에는 실제 영화를 해당 고객이 시청했다면 성공으로 볼 수 있지만 2번의 경우에는 실제 고객의 만족도까지 높아야 되기 때문에 고객의 만족도까지 고려해서 평가한 것이다. 기사의 경우 기사를 확인하고 체류시간에 따라 평가할 수 있다. Accuracy - 정확도는 여러 예측 모델에서 가장 많이 쓰이는 평가지표 중 하나이며, 추천시스템에서는 내가 추천해준 영화를..

[Recommender System] Emplicit data와 Implicit data란?

추천시스템의 최종 목적은 기존 고객 혹은 유입된 신규 고객에 대해 item을 추천해주는 것이라고 할 수 있다. 고객들에게 상품을 추천해주려면 어떻게 해야할까? 첫 번째로는 고객들이 직접 입력한 데이터( e.g. Rating, Review, Vote, ...)를 가지고 추천을 해줄 수 있다. 두 번째로는 고객들이 Click하거나 구매하거나 하는 등에 해당하는 자료를 기반으로 추천해줄 수 있을 것이다. 첫 번째 경우를 우리는 Explicit(명시적)이라 지칭하고, 두 번째 경우를 Implicit(암묵적, 내재적) 이라 지칭한다. Explicit 명시적인 데이터는 어떻게 수집할 수 있을까? 명시적인 선호도를 얻기 위해서 가장 간단한 방법은 직접 고객에게 물어보는 것이다. 별점 선호도 : 가장 많이 쓰이는 방법..

반응형