2024. 10. 4
10월이 되면서 다시 찾은 서울은 더이상 무더위의 서울이 아니었고, 날씨는 언제 그랬냐는 듯 평범하였다. 한국에는 목요일 새벽에 도착하였고, 몇몇 적응들을 한 후 여의도로 출근도 평범했다. 여의도 전철역에는 뉴진스와 건담 관련 광고들이 펼쳐져 있었다.
기말 과제에 사인업을 20명 정도 하였다. 감을 잡기가 힘들었는지 작년 대비 학생들이 주제들을 이야기 못 해 주고 있는 상황인 거 같지만, 메일이 오면 일단 먼저 주제의 범위가 괜찮은지 같이 둘러 보며 피드백을 주고, 일정 조절을 같이 하고 있다. 이후 일정들을 체크해서 자유 간담회 시간을 잡을 예정이고, 이번 달 말 정도에 한 번 할 수 있으면 좋겠다는 생각이다.
3장은 UI/UX 에 대한 이야기를, 4장은 추천 로직을 시스템으로서 접근하는 노력을 담았다. 하나의 제품이라 할 지라도 모두에게 모든 케이스를 만족시키는 결과를 하나의 로직이 만들어 낼 수 없을 것이고, 그러기에 제품의 여러 상태에 따라 다양한 내용들을 접목시키는 노력에 대해 이야기하고 있다. recommender로 불리기 전에는 information filtering 이라는 이름으로 널리 쓰이고 있었고, 이론적인 교과서적인 면에서 결국 시스템 구현은 아래 위키피디아에 나온 이 방법들을 기본으로 설명하고 있고, 하이브리드를 적용하는 것으로 접근한다.
제품의 구성 따라 아래의 예제들처럼 접근하시라.. 라는 잠정적인 결론.
개요 추천 - 내용 기반 필터링
알림 서비스 - 사용자-사용자 메모리 기반 협조 필터링
알림 서비스 - 모델 베이스 ( 데이터가 축적되면 )
전자상거래 검색 - 내용 기반 필터링
전자상거래 홈페이지 - 구입 이력을 통한 추천
이후의 내용들은 각 서브 모듈을 어떻게 정의하고 비교할 것인지에 대한 내용들이어서 다음 시간으로 미루었다. 코딩과 수식이 난무한 시간이 될 것이고, 꽤 고민 거리들이 있게 될 거 같다.
오늘은 구글 검색 때 했던 몇가지 논의들 + 안팎으로 공개되었던 몇몇 숫자들에 대한 질문들.
1. 구글의 검색 결과를 사용자가 클릭을 했을 때 click duration 이 짧으면 short click 이라 해서 이른바 낚임을 나타내는 나쁜 페이지를 나타내는 정보이고, long click 은 이후 페이지를 충분히 소비한 좋은 결과를 이야기하게 되는데, 이를 나누는 기준은 각각 몇 초일까 ?
2. 구글이 knowledge panel 을 기존에 있던 광고 위에 올리고, 기존의 click mechanism 이 특히 모바일에서 틀어지게 되었는데, 주어진 쿼리에 스크롤이 얼마간 일어나지 않으면 비록 click 이 없더라도 쿼리에 대한 좋은 결과를 준 것으로 간주했는데, 이 때는 몇 초를 기준으로 삼았을까 ?
Q. 사용자가 제품 안에서 하는 행동들을 기록해서 적으면 너무 방대하고 오차들이 많지 않나요 ?
A. 이른바 event tracking 이라 불리는 영역이고 아주 오래전부터 상상 이상으로 많은 제품들이 이쪽에 있는데, Google Analytics / Firebase Event / Amplitude 등이 그 역할을 하고 있고, 그 데이터를 수집하려는 입장에서는 더 많은 정보들을 원하고 있을 것입니다. 오차들을 줄이려는 노력들을 많이 하고 있고, 통계적으로 의미 있는 일들을 모으고 있고, 사용자들의 이벤트들을 모아서 보통 세션이라는 개념으로 해서 분석을 많이들 합니다.
Q. 유튜브에서 추천은 어떤 식으로 이루어 지나요 ?
A. 지금의 유튜브는 위의 두 줄을 '통합 추천'의 개념으로 놓고, 그 아래 그룹들을 추천해 주는 방식을 쓰고 있습니다. 넷플릭스나 아마존 등에서도 비슷하고, 친절한 그룹 설명들이 있는데, 그 중에 여러 이유들을 가지고 모아서 위에 모아 주는 용감한 전략을 쓰고 있지요.
Q. 구글검색 굿클릭 기준이 30초~2분(모바일은 3초?)인데, 30초라고 결정했던 요소들이 어떤 것이었는지 궁금합니다. (예를 들어, 지난 데이터들을 분석해보니, 30초 미만 머물렀던 클릭들은 다시 검색하거나 다른 링크로 들어가는 행동을 보였다던지)
A. 검색 결과 - 클릭 - back to 검색 결과 - 다른 클릭 이 일어날 때 앞의 back to 검색 결과에 대해 많은 가중치를 두는 계산들을 했었습니다. 페이지 자체의 품질이라기보다는 주어진 쿼리와의 연관성에 대한 피드백이 되는 경우가 많아서 사용자가 계속 검색 페이지로 돌아오는 건 클릭 후 행동이 그다지 만족스럽지 않았다는 것을 나타낸다 했었구요.
모바일 3초는 knowledge panel 이 주어진 쿼리에 대해 얼마나 유효한지에 대한 수치였습니다. 검색 페이지를 보여줬을 때 사용자가 3초간 보고 스크롤을 하지 않는다면 검색 결과가 만족스러운 것이다 라는 해석이었더랬습니다.
Q. Cross-selling 파트에서 구매전/구매후 추천되는 아이템이 다르고 운영되는 팀도 다를 것라고 하셨는데, 그냥 생각하기엔, 같은 팀에서 운영하는 것이 더 효율적이고 시너지가 날 것 같은데, 그 두 시점에 따라 다른팀에 의해 운영되는 효과가 궁금합니다.
A. 제품의 구성원 따라 다르겠지만, 구글 정도의 큰 회사인 경우 혹은 다른 쇼핑몰 들일지라도 같은 공간을 여러 팀들이 경쟁해서 무언가를 꾸미는 형태로 진행된다 보시면 될 것이구요. 공급자 눈에 비슷해 보여도 ‘똑같은' 로직이 다른 곳에 최고의 성적을 내는 경우가 드물기도 하고, 반대로 안팎의 사정으로 묶어서 운영하기도 하겠구요. 효율을 어디서 정의하느냐 따라 다른 일들이 벌어진다 하겠습니다.
개인적으로 사용자 입장에서 구매 버튼 누르는 시점 앞뒤로 똑같은 걸 사라고 자꾸 뭔가가 뜨면 싫어할 거 같긴 합니다. 실제로 사용자들은 그런 사소한 이유들로 많이들 떠납니다.
Q. Credibility파트에서 ‘리뷰자체를 신뢰하게 만드는 법’에 첫 항이 ‘운영자들이 리뷰를 직접검수’ 였는데, 언뜻 생각하기로 그렇게 많은 리뷰를 어떻게 다 검수하지란 생각이 들어서요,, 필터를 해서 특정한 유형의 리뷰만 보는 모델을 사용해서 효율화를 하는지(왠지 이것도 한계가 많아서,, 다 직접 봐야하지 않나 싶은데) 어떻게 효과적인 방법으로 리뷰 검수를 할 수 있는지 궁금합니다.
A. 일단 사람이 먼저 해야 이후에 기계한테 룰이든 머신러닝이든 시키지 않을까요 ? 기계의 도움을 받아 사람이 하고 보수적으로 처리한다 정도가 맞는 말일 거 같습니다. 참고로 구글은 spam fighting 을 20년 넘게 해 오던 회사이고, 거기에 따른 노하우들에서 시작합니다. 참고로 막 만들어진 서비스의 경우 리뷰 별로 안 많을 겁니다… :) 제품을 운영하는 입장에서는 ‘효율화'는 나중에 와야 합니다.