❝AI/ML 테크 블로그 포스트 소개❞ 한국에서 Pinterest 만큼이나 추천 알고리즘에 신경 쓰고 또 잘하는 곳은 Liner가 아닐까. 게다가 개발 히스토리를 테크 블로그에 공유해주니 배워갈
❝AI/ML 테크 블로그 포스트 소개❞ 한국에서 Pinterest 만큼이나 추천 알고리즘에 신경 쓰고 또 잘하는 곳은 Liner가 아닐까. 게다가 개발 히스토리를 테크 블로그에 공유해주니 배워갈 수 있어 항상 감사할 따름이다. Liner 콘텐츠 기반 필터링(CBF)에 2020년 Pinterest의 PinnerSage, https://arxiv.org/abs/2007.03634 를 적용한 후기. 아래는 내가 더욱 잘 이해하기 위해 대화 식으로 요약한 것. 틀린 내용이 있을 수 있습니다. 지적 부탁드릴게요. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 🧑: 아래는 Liner에서 내가 하이라이트 한 문서인데 비슷한 내용의 문서로 추천해줄래? ① '서버 비용 아끼는 법', ② 'Amazon SageMaker는 처음이지?', ③ '직관만 믿고 까불었다가 망한 PM의 사연', 등등... 👩: 네 문서들의 표현(= 임베딩) 벡터를 평균 내서 우리 DB에 있는 가장 가까운 문서로 추천해줄게. 🧑: 음... 추천이 '손석구, 반전 과거 화제'. 정말 이상한데? 👩: 전체 문서에 대해 평균을 냈더니 대표성이 떨어지네. 하이라이트 한 문서를 클러스터링 해서 비슷한 것끼리 모으고 그 클러스터마다 평균을 구하자. 그리고 그것들을 기반으로 찾아서 추천해주면 낫겠지? k-means처럼 클러스터 개수를 인위적으로 정하기보다는 Ward 클러스터링 기법을 통해 사용자 히스토리 맞춤으로 클러스터 개수를 정하자. 🧑: 아까보다는 나은데 그래도 좀 이상해. 👩: 그럼 클러스터 평균을 내기보다 클러스터 중심에 있는 문서 하나(= Medoid)를 대표 값으로 정해야겠다. 🧑: 오, 추천 문서 'AWS 초보가 말하는 SageMaker' 좋아, 좋아. 근데 갑자기 앱이 좀 버벅대는걸? 👩: 네가 헤비 유저여서 클러스터 수십 개가 추출되네. 클러스터 크기와 네 최근 행동 기준으로 최대 5개만 추출해도 성능에 큰 지장 없군. 그리고 사용자들 대표 문서로 자주 뽑혀서 검색 대상이 되는 건 서버에 결과를 미리 캐싱해놓으니까 서빙 속도가 엄청 빨라진다!