Chapter1. 추천시스템
1.3. 추천 시스템의 종류
1.3.1. 입력(데이터 입력)
- 추천 시스템에 사용하는 데이터는 주로 콘텐츠와 인터랙션 두 종류가 있음
사용자와 아이템의 콘텐츠 정보
- 콘텐츠 정보를 이용하는 추천을 내용 기반 필터링이라 부름
사용자와 아이템의 인터렉션 정보
- 인터렉션 정보는 사용자가 서비스 안에서 행동한 이력 데이터를 말하며, 열람, 구입, 북마크, 평가 등이 있음
-> 찜한 강의 데이터
- 인터렉션 정보를 사용하는 추천을 협조 필터링이라 부름(신규 아이템은 행동 이력 데이터가 없으므로 전자의 콘텐츠 정보를 사용한 내용 기반 필터링으로 추천하는 경우가 많음)
- 신규 사용자나 신규 아이템 데이터가 적어 추천이 어려워지는 것을 콜드 스타트 문제라고 함
1.3.2. 프로세스(추천 설계)
- 입력 데이터를 활용해 추천하는 방법은 3가지가 있음
개요 추천(개인화 없음)
- 신규 아이템순, 낮은 가격순, 높은 가격순, 높은 인기순 등 모든 사용자에게 동일한 내용을 제시
- 모두가 보고 있는 정보를 보고 싶다는 욕구도 높아서 인기순으로 가격이 높음
연관 아이템 추천
- 이 아이템을 확인한 사람은 이런 아이템도 확인했습니다, 관련 아이템 등과 같이 표시됨
- 연관 아이템 설계에는 각 아이템 사이의 유사도를 사용함
- 유사도 설계에는 아이템 설명문이나 카테고리 정보 등 콘텐츠 정보를 기반으로 설계한 내용 기반 필터링 방법과 사용자 행동 이력을 기반으로 함께 확인하기 좋은 아이템을 유사한 것으로 설계하는 협조 필터링 방법이 있음
- 특정 시기에 많은 사람이 해리 포터 서적을 다른 아이템과 함께 구입함에 따라 모든 아이템의 추천 아이템으로 항상 해리 포터가 추천되는 해리 포터 문제가 있음(이와 같은 경우에는 인기 아이템의 영향을 제거해야 함)
개인화 추천
- 사용자의 프로필이나 행동 력을 기반으로 추천
- 콘텐츠를 기반으로 하는 방법과 인터렉션 데이터를 활용하는 방법이 있으며 두 가지를 모두 사용하는 방법도 있음
- 아마존이나 유튜브에서는 과거에 열람한 아이템이 제시되는 경우가 있음(특히 동영상이나 음악 사이트 등 한 번 열람한 것을 다시 열람하는 경우가 많은 사이트에서 효과적)
- 사용자가 마지막에 열람한 아이템과 비슷한 아이템 그룹을 연관 아이템 추천 구조로 추출해서 메일로 보내기도 함
1.3.3. 출력(추천 결과 제시)
- 비즈니스에서 제시 방법은 매우 중요하며 웹 사이트에서 제시하거나 메일을 발송하고 우편으로 추천 아이템 쿠폰을 보내는 등 다양한 방법으로 아이템을 사용자에게 도달하도록 할 수 있음
1.4. 검색 시스템과 추천 시스템
- 추천 시스템과 비슷한 것으로 검색 시스템이 있으며, 둘의 역할 차이를 이해하는 것이 중요함
- 검색에서는 사용자가 원하는 것을 미리 파악하고 있으며 검색 키워드를 입력해 능동적으로 알고자 하는 정보나 상품을 많은 후보 가운데 끌어냄(Pull 타입)
- 추천에서는 사용자가 원하는 것을 미리 명확하게 파악하고 있지 않더라도 사용자는 검색 키워드 등을 입력하지 않으며 사용자가 좋아하는 상품을 시스템이
제시함(Push 타입)
Chapter2. 추천시스템 프로젝트
2.1. 추천 시스템 개발에 필요한 3가지 스킬
- 비즈니스 문제 해결 능력, 데이터 사이언스 능력, 데이터 엔지니어링 능력이 필요
비즈니스 문제 해결 능력
- 추천 시스템을 도입함으로써 사용자의 어떤 행동 변화를 기대하는가에 관한 Key Goal Indicator(KGI) 또는 Key Performance Indicator(KPI) 책정이 중요함
- 클릭률, 구입률, 체류율, 트위터 게시 수 등 사용자의 어떤 행동을 최대화하고 싶은지에 따라 구현할 추천 시스템이 달라짐
- 원래 유튜브에서는 시청 동영상 수를 KPI로 해서 진행했지만, 섬네일 이미지가 매력적인 동영상들만 추천되는 문제가 발생하였음(KPI를 시청 시간으로 변경함)
데이터 사이언스 능력
- 데이터의 성질이나 각 추천 알고리즘의 장단점을 파악하는 것이 중요함
데이터 엔지니어링 능력
- 매일 추천 시스템에 사용하는 데이터를 가공하고 추천 목록 작성 연산을 수행하며 추천 목록을 데이터베이스에 저장하는 일련의 처리(파이프라인)을 조정해야 함
2.2. 추천 시스템 프로젝트 진행 방법
- 전자상거래 사이트를 개선하는 프로젝트를 진행하는 방법에 대해 프로세스를 7단계로 나누어 살펴보겠음
2.2.1. 과제 정의
- KPI의 목표와 현재의 차이를 확인한 뒤 현재 자사 사이트의 과제를 정리하고 적절한 조치를 검토함
- 분석에는 데이터를 사용해 분석하는 정량적 방법과 사용자와 인터뷰를 하는 정성적 방법이 있음
2.2.2. 가설 수립
- 각 과제를 해결하는 방법과 그거슬 실현하기 위한 비용을 검토하고 비용 대비 효과가 높은 이니셔티브부터 실행함
2.2.3. 데이터 설계/수집/가공
- 어떤 데이터가 축적되어 있는지 정리(사용자와 아이템의 콘텐츠 정보, 사용자와 아이템의 인터렉션 정보)
- 사용자 정보는 나이, 성별 등 프로필 정보와 어떤 장르의 아이템을 좋아하는가 하는 기호도 정보
- 아이템 정보는 아이템 설명문이나 태그, 카테고리, 등록일 등의 정보
- 사용자와 아이템의 인터렉션은 열람, 북마크, 구입, 시청, 평가 등의 정보
2.2.4. 알고리즘 선정
- 어떤 추천 알고리즘을 사용할지 결정(알고리즘 계산 시간, 필요한 데이터, 요구되는 예측 정확도 등 다양한 관점에서 비즈니스 목표에 적합한 것을 선택)
2.2.5. 학습/파라미터 튜닝
- 추천 시스템의 정확도를 검증할 때는 Recall, Precision 같은 머신러닝 지표도 중요하지만 구체적으로 이 아이템을 넣으면 어떤 아이템이 나오는지 확인하고 그 결과가 납득되는지 확인해야 함
- 특히 개발자가 비즈니스 관련 부서와 의논할 때 추천 결과의 구체적인 사례를 제시하면 이미지를 떠올리기 쉬워 원만하게 커뮤니케이션할 수 있음
- 온라인에서 검증할 때는 데이터 편향에 주의해야 함(아마존에는 별 5개가 많으며, 검색 결과 상위에 나타나는 것은 클릭하기 쉬움)
2.2.6. 시스템 구현
- 추천 알고리즘의 학습이나 예측 변경 빈도, 신규 아이템이나 사용자에 대한 추천을 어떻게 할지, 추천에 연관된 데이터 파이프라인 설계를 어떻게 할지 등을 고려해야 함
- 배치 추천은 1일 1회 또는 1주 1회 등 정해진 시점에 해당 시점의 정보를 기반으로 추천 목록을 업데이트하여 사용자에게 제공
- 실시간 추천은 사용자의 직전 행동 이력을 즉시 반영해 추천 목록을 만드는 것(이를 위해서는 데이터의 동기나 실시간 연산 등 폭넓은 엔지니어링 기술이 필요함)
2.2.7. 평가 및 개선
- 추천 기능을 출시하고 그것이 실제로 효과가 있는지 검증함
- 가능하면 A/B 테스트 같은 구조로 일부 사용자에게만 추천 기능을 제공해 추천했을 때와 그렇지 않을 떄 사용자의 구입 금액이나 체류 시간을 검증함(어려울 경우 출시 전후를 비교)
Chapter3. 추천 시스템의 UI/UX
- 추천시스템이 사용자에게 추천 결과를 전달할 때 어떤 화면(UI)에 따라 어떤 체험(UX)을 제공해야 하는지 주목함
3.2. 서비스를 사용하는 사용자의 목적에 적합한 UI/UX
3.2.1. 적합 아이템 발견
- 적합 아이템 발견은 사용자가 자신의 목적을 달성하는데 적합한 아이템을 서비스상에서 최소 1개 이상 발견하는 경우를 나타냄
- 예를 들어 '서울역 근처에서 식사를 하기 위해 식당을 찾는다'와 같은 상황을 생각할 수 있음
- 적합 아이템 발견에서는 사용자의 기호에 맞을 가능성이 높은 아이템부터 차례대로 정렬한 리스트를 사용자에게 제시하는 것이 효과적임
- 하나의 화면 안에 표시할 수 있는 정보량이 제한되어 있기 때문에 사용자가 아이템에 흥미를 갖고 상세 정보를 보기 위해 클릭할 수 있도록 충분한 정보를 적절히 취사선택해 리스트에 표시해야 함
3.2.2. 적합 아이템 나열
- 적합 아이템 나열은 사용자가 자신의 목적을 달성하는 데 적합한 아이템을 가능한 모든 서비스에서 발견한느 경우를 말함
- 예를 들어 '이사할 곳의 전/월세 물량을 모두 검토하고 싶은' 상황 등을 생각할 수 있음(자신의 기호, 조건에 맞춰 가능한 많은 후보를 보고자 할 것)
- 사용자의 목적을 달성할 수 있는 아이템을 모두 발견한느 것은 적합 아이템 나열이 달성해야 할 목표임
- 사용자는 표시된 아이템의 대부분을 열람하는 경우가 많고 예측 평갓값순으로 정렬하는 것보다 최신 아이템순과 같이 알기 쉬운 규칙으로 나열해 표시하여 사용자가 정보를 열람하는 부담을 낮출 수 있음
- 얼마나 많은 수의 아이템을 봐야 하는지 사용자가 간단히 파악할 수 있도록 리스트에 포함된 적합 아이템 수를 알기 쉽게 표시해주는 것이 좋음
3.2.3. 아이템 계열 소비
- 아이템 계열 소비는 열람, 소비하는 동안 추천된 아이템 계열 전체에서 가치를 누리는 것을 목적으로 하는 경우임
- 예를 들어 크리스마스 기분을 맛보기 위해 크리스마스 음악을 듣기 시작한 사용자에게는 크리스마스 음악을 계속 제공함으로써 사용자 만족도를 높일 수 있음
- 음악 스트리밍 서비스라고 해도 같은 아이템만 추천한다면 새로움이 느껴지지 않아 만족감이 저하되므로 빈도나 시점을 고려해야함
3.2.4. 서비스 내 체류
- 서비스 내 체류는 사용자가 사용하는 서비스 본래의 목적을 달성하는 것이 아니라 그저 아이템을 열람하는 것 자체를 목적으로 서비스 안을 돌아다니는 경우임
- 예를 들어 지금 당장 여행할 계획은 없지만 어떤 관광지가 있는지, 어떤 숙박 시설이 있는지 등을 살펴보는 것을 목적으로 여행 예약 서비스나 호텔 예약 서비스를 사용하는 상황을 생각할 수 있음
- 서비스 내 인기 아이템이나 특정 카테고리의 신규 아이템 등을 추천함응로써 재미있고 흥미를 가질 수 있는 아이템이 서비스 안에 있다고 느낄 수 있도록 하는 것이 사용자의 만족도를 높이는 데 효과적임
- 에어비앤비는 많은 사용자가 흥미를 가질 만큼 인기 있는 관광지를 몇 가지 선정해서 주변의 숙박시설을 간단하게 열람할 수 있도록 하거나 '자연에 둘러싸인 숙박지' 등 사용자의 흥미를 끌 만한 주제에 맞춰 아이템을 집약해서 표시하고 있음
3.3. 서비스 제공자의 목적에 맞는 UI/UX 사례
3.3.1. 신규/사용 빈도가 낮은 사용자의 정착
- 만족도를 높여 정착하도록 하려면 서비스 내에서 사용자에게 좋은 경험을 제공하는 것뿐만 아니라 나쁜 경험을 하지 않도록 하는 것이 중요함
- 이러한 목적을 달성하는 데에는 개요 추천을 사용해야 함
- 개요 추천이란 서비스 내 데이터 통계 정보나 서비스 지식이 풍부한 편집자의 선택을 기반으로 추천하는 것을 의미함
- 통계 정보에 기반한 추천이란 '이번 주 시청 순위'와 같이 서비스 전체의 사용 빈도 순위, '만화 매출 순위'와 같이 특정 카테고리 안의 매출 순위 같은 것을 의미함
- 편집자의 선택에 기반한 추천은 '영화 평론가들이 선정한 추천 목록'과 같이 서비스 편집자나 전문가가 직접 선택해 작성한 추천 리스트를 나타냄
- 사용자가 적극적으로 찾지 않아도 열람할 수 있도록 사이트의 첫 페이지 등 눈에 띄기 쉬운 위치에 배치하는 것이 효과적임
- 가급적 많은 사용자가 서비스에서 이탈하지 않고 계속 사용하도록 하는 것이 목적이므로 특정 사용자에게 깊이 연관된 아이템보다는 여러 사용자가 조금씩 연관되도록 아이템을 추천하는 것이 좋음
- 넷플릭스의 '오늘 TOP 10 시리즈'같은 항목은 어떤 규칙으로 아이템이 정렬되어 있는지 한눈에 쉽게 알 수 있음
3.3.2. 서비스에 대한 신뢰성 향상
- 사용자가 믿고 서비스를 사용하도록 신뢰성을 높여야 하는 목적을 달성하기 위해서는 사용자 평가가 효과적임
- 처음에는 서비스의 인기 아이템 등을 표시함으로써 서비스 안에 자신의 기호에 맞는 아이템이 있을지도 모른다는 기대를 시어주는 것이 중요함
- 사용자가 프로필 정보를 변경했을 떄 변경 내용에 맞춰 기호에 맞는 아이템을 추천하는 명확한 피드백을 보내거나 '현재 개인화 중입니다'라는 메시지를 전달하는 것도 효과적임
3.3.3. 사용 빈도 향상 및 이탈 사용자의 복귀
- 사용 빈도가 낮은 사용자나 이미 이탈해버린 사용자 등 애초에 서비스 안에서 만족도를 향상시키기 어려운 경우에는 알림 서비스가 효과적임(메일이나 푸시 알림)
3.3.4. 교차 판매
- 어떤 상품의 구매를 검토하고 있는 사용자에게 다른 상품을 함께 또는 개별적으로 구입하도록 함으로써 단가를 높이는 방법을 교차 판매라 부름
- 교차 판매를 구현하는 효과적인 수단으로 연관 아이템 추천을 들 수 있음
- 교차 판매라는 목적과는 다르지만 연관 아이템 추천이라는 관점에서 사용자가 주목하고 있는 아이템과 동등한 유사 아이템을 표시함으로써 상품 비교를 통해 구매하는 것을 도울 수 있음
3.3.5. 장기적으로 사용자의 충성도 향상
- 개인화는 서비스 내에서 수집한 사용자 정보나 행동 이력을 활용해 그 사람에게 맞는 아이템을 추천해주는 것
3.4. 연관 주제
3.4.1. 아이템의 유사도
- 유사도의 정의는 여러 가지로 생각할 수 있음
3.4.2. 신선함, 흥미로움, 다양성
- 사용자에게 추천하는 아이템은 사용자가 관심을 보이는 것이면서 사용자가 아직 알지 못하는 것이어야 함
- 흥미로움은 앞에 나온 신선함에 예상치 못한 '의외성'이라는 요소가 더해진 개념임
- '다양성'이란 추천된 여러 아이템이 서로 비슷하지 않은 것을 의미함
3.4.3. 추천 아이템 선별
- 추천 아이템을 제시할 떄 예를 들어 예측 평갓값이 아무리 높아도 사용자에게 제시해서는 안되는 아이템이 존재할 수 있음
- 전자상거래 사이트에서 사용자가 한 번 구입한 아이템은 다시 추천하지 않는 경우가 많음
3.4.4. 추천 이유 제시
- 추천 시스템에서 아이템의 추천 이유를 제시하면 추천 효과, 추천의 투명성, 사용자 만족도를 향상시킬 수 있다고 알려져 있음
- 추천의 투명성이란 사용자가 입력한 평가 또는 기타 정보와 출력된 추천 아이템 사이의 인과 관계를 명확하게 알 수 있는 상태를 말함
- 사용자가 아이템을 얼마나 좋아할지에 관한 예측을 3단계 평가 등 정략적으로 표시하거나 해당 예측에 대해 시스템이 얼마나 확신하는지 제시하는 것 역시 추천 이유를 제시하는 방법에 해당함
출처: 가자마 마사히(2023). 추천 시스템 입문.
'추천시스템' 카테고리의 다른 글
[추천 시스템 입문] 동영상 추천에서 중요한 요소 (0) | 2023.06.11 |
---|---|
[추천 시스템 입문] 추천 알고리즘 종류 및 평가 (0) | 2023.06.11 |
[추천 시스템 입문] 추천 알고리즘 종류 (0) | 2023.06.10 |