메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

추천 시스템 입문

개인화된 콘텐츠 제공을 위한 추천 시스템 설계부터 UI/UX, 구현 기법, 평가까지

한빛미디어

번역서

판매중

  • 저자 : 가자마 마사히로 , 이즈카 고지로 , 마쓰무라 유야
  • 번역 : 김모세
  • 출간 : 2023-05-08
  • 페이지 : 296 쪽
  • ISBN : 9791169210980
  • 물류코드 :11098
  • 초급 초중급 중급 중고급 고급
4.9점 (31명)
좋아요 : 23

추천 시스템 도입을 고민하고 있다면 제일 먼저 봐야 하는 책! 

 

‘맞춤 동영상’ ‘팔로우 추천’ ‘다른 고객이 함께 본 상품’ 등 추천 기능은 주변의 다양한 서비스에 포함되어 있다. 수많은 선택지에서 원하는 것을 고르려면 너무나 많은 시간이 걸리기 때문에 방대한 아이템을 다루는 서비스에는 추천 시스템이 필수다. 이 책은 추천 시스템을 도입하고자 하는 독자나 조직이 우선적으로 읽어야 할 입문서다. 추천 시스템 개발자인 저자들이 경험한 성공 사례와 실패 사례를 살펴보면서 어떤 서비스에 추천 시스템을 조합하고 적용할 것인가에 중점을 두고 구성했다. 추천 알고리즘을 자세히 파고드는 대신 알고리즘 개요와 실무 활용 방법을 중심으로 설명한다. 이 책이 여러분의 서비스가 더욱 진화할 수 있도록 적합한 추천 시스템을 개발하는 데 도움이 될 것이다.

 

[상세이미지] 추천 시스템 입문_700.jpg

 

가자마 마사히로 저자

가자마 마사히로

도쿄 대학 대학원에서 추천 시스템에 관해 연구했고 졸업 후에는 리크루트(Recruit)와 인디드(Indeed)에서 추천 시스템 개발과 프로젝트 매니지먼트를 경험했다. 거기서 개발한 알고리즘을 추천 시스템 국제 학회 RecSys에서 발표했다. 현재는 유비(Ubie) 주식회사에서 데이터 사이언스 조직을 세우고 다시 의료 분야 머신러닝 상품 개발에 매진하고 있다.

이즈카 고지로 저자

이즈카 고지로

쓰쿠바 대학 대학원에서 수리 최적화에 관해 연구했고 졸업 후에는 야후 주식회사에 입사했다. 현재는 주식회사 구노시(Gunosy)에서 추천 시스템을 개발하고 있다. 쓰쿠바 대학 대학원(사회인 박사)에 재학 중이다. 추천 시스템에 관해 연구하고 있으며 추천 시스템 국제 학회인 RecSys 및 관련 학회에서 계속 논문을 투고, 발표하고 있다.

마쓰무라 유야 저자

마쓰무라 유야

교토 대학 대학원에서 추천 시스템에 관해 연구했고 졸업 후에는 원티들리(wantedly) 주식회사에 입사해 추천 시스템 개발팀 설립 멤버가 되었다. 현재는 같은 팀의 리더로서 개발부터 프로젝트·프로덕트 매니지먼트까지 폭넓게 책임을 맡고 있다. RecSys2020의 자매 워크숍인 RecSys Challenge 2020에서 3위에 입상했다.

김모세 역자

김모세

소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 분야의 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하도록 돕는 일에 보람을 느껴 2019년부터 번역을 하고 있다.

CHAPTER 1 추천 시스템

_1.1 추천 시스템

_1.2 추천 시스템의 역사

_1.3 추천 시스템의 종류

_1.4 검색 시스템과 추천 시스템

_1.5 정리

 

CHAPTER 2 추천 시스템 프로젝트

_2.1 추천 시스템 개발에 필요한 3가지 스킬

_2.2 추천 시스템 프로젝트 진행 방법

_2.3 정리

 

CHAPTER 3 추천 시스템의 UI/UX

_3.1 UI/UX의 중요성

_3.2 서비스를 사용하는 사용자의 목적에 적합한 UI/UX 사례

_3.3 서비스 제공자의 목적에 맞는 UI/UX 사례

_3.4 연관 주제

_3.5 정리

 

CHAPTER 4 추천 알고리즘 개요

_4.1 추천 알고리즘 분류

_4.2 내용 기반 필터링

_4.3 협조 필터링

_4.4 내용 기반 필터링과 협조 필터링 비교

_4.5 추천 알고리즘 선택

_4.6 기호 데이터의 특징

_4.7 정리

 

CHAPTER 5 추천 알고리즘 상세

_5.1 알고리즘 비교

_5.2 MovieLens 데이터셋

_5.3 무작위 추천

_5.4 통계 정보나 특정 규칙에 기반한 추천

_5.5 연관 규칙

_5.6 사용자-사용자 메모리 기반 방법 협조 필터링

_5.7 회귀 모델

_5.8 행렬 분해

_5.9 자연어 처리 방법에 대한 추천 시스템 응용

_5.10 딥러닝

_5.11 슬롯머신 알고리즘(밴딧 알고리즘)

_5.12 정리

 

CHAPTER 6 실제 시스템과의 조합

_6.1 시스템 개요

_6.2 로그 설계

_6.3 실제 시스템 예

_6.4 정리

 

CHAPTER 7 추천 시스템 평가

_7.1 3가지 평가 방법

_7.2 오프라인 평가

_7.3 온라인 평가

_7.4 사용자 스터디를 통한 평가

_7.5 정리

 

CHAPTER 8 발전적 주제

_8.1 국제회의

_8.2 편향

_8.3 상호 추천 시스템

_8.4 업리프트 모델링

_8.5 도메인에 따른 특징과 과제

_8.6 정리

 

APPENDIX A 넷플릭스 프라이즈

_A.1 넷플릭스 창업

_A.2 추천 시스템 개발

_A.3 넷플릭스 프라이즈

_A.4 넷플릭스의 추천 시스템

_A.5 정리

 

APPENDIX B 사용자-사용자 메모리 기반 방법

_B.1 추천 과정(1): 사용자와 기호 경향이 비슷한 사용자 찾기

_B.2 추천 과정(2): 예측 평갓값 계산하기

_B.3 추천 과정(3): 사용자에게 추천하기

현업 추천 시스템 개발자의 노하우 전수!

나보다 나를 더 잘 아는 추천 알고리즘 도입 가이드

 

사실 추천 시스템은 전부터 주위에 있었습니다. 레스토랑의 추천 메뉴, 서점의 인기 도서 순위도 일종의 추천 시스템입니다. 일상에서 결정해야 하는 횟수가 늘고 선택지가 다양해짐에 따라 추천 시스템에 대한 수요가 점점 높아졌습니다. 추천 알고리즘도 비약적으로 발전하여 인기가 많은 것을 추천했던 획일적인 방법에서 벗어나 개개인의 흥미나 관심에 부합하는 맞춤형 추천이 가능합니다. 

 

사용자가 선호하는 아이템을 빠르게 보여주면 사용자 만족도가 높아지며 매출과 회원 수 증가로도 이어집니다. 하지만 실제로 서비스에 적용할 때는 다양한 문제에 직면하게 됩니다. 프로젝트 구성원은 어떻게 꾸려야 좋은지, 어떤 추천 시스템을 조합해야 하는지, 어떤 데이터를 사용해야 하고 어떻게 추천 결과를 제시하는 것이 좋으며, 배포 전 온라인에서 추천 시스템을 평가하기 위해서는 어떻게 해야 하는지 등의 문제입니다. 이 책에서 바로 그런 고민들을 다룹니다. 

 

추천 시스템은 이제 ‘있으면 좋은 기능’이 아니라 ‘없으면 안 되는 기능’입니다. 실제 추천 시스템을 구축해본 경험이 있는 저자들이 전하는 도입 노하우를 익혀보세요. 여러 아이템 가운데 가치 있는 것을 선정해 사용자의 의사 결정을 지원하는 추천 시스템을 만드는 데 도움이 될 것입니다.


내용 구성

[1장 추천 시스템]

추천 시스템의 개요와 역사를 몇 가지 사례와 함께 설명합니다. 그리고 추천 시스템 종류를 간략하게 알아보고 검색 시스템과의 차이도 설명합니다.

 

[2장 추천 시스템 프로젝트]

추천 시스템 개발에 필요한 팀원과 프로젝트 진행 방법을 설명합니다.

 

[3장 추천 시스템의 UI/UX]

추천 시스템의 UI/UX에 관해 소개합니다. 추천 아이템을 제시하는 방법에 따라 클릭 횟수나 구입 횟수를 늘릴 수 있기 때문에 사용자 경험 설계는 중요합니다.

 

[4장 추천 알고리즘 개요]

대표적인 추천 알고리즘인 협조 필터링과 내용 기반 추천을 설명합니다. 그리고 추천 알고리즘에 입력되는 평갓값 데이터를 암묵적인 것과 명시적인 것으로 나누어 소개합니다.

 

[5장 추천 알고리즘 상세]

인기도 추천과 행렬 분석 알고리즘에 관해 각각 설명하고 실제 서비스에 조합할 때 주의해야 할 점에 대해서도 살펴봅니다. 그리고 MovieLens라는 영화 데이터셋을 사용해 각 알고리즘을 적용하는 코드도 소개합니다.

 

[6장 실제 시스템과의 조합]

뉴스 전송 추천 시스템을 예로 들어 추천 알고리즘을 실제 서비스에 조합할 때 시스템을 어떻게 구성하는지 설명합니다. 서버 구성과 배치 처리 구조, 로그 설계 등 추천 시스템 아키텍처에 관해 살펴봅니다.

 

[7장 추천 시스템 평가]

다양한 추천 시스템 평가 지표를 설명합니다. 간단한 예측 오차 같은 지표뿐 아니라 추천한 아이템의 다양성을 측정하는 지표나 의외성을 측정하는 지표도 살펴봅니다.

 

[8장 발전적 주제]

앞서 다루지 못한 추천 시스템 국제회의, 편향 제거, 인과 추론 등을 살펴봅니다.

대상 독자

- 데이터를 분석해 각 고객에게 맞춤 서비스를 제공하고 싶은 개발자, 데이터 과학자

- 추천 시스템을 업무 시스템에 접목하기 위한 교두보를 배우고 싶은 개발자, 기획자 

- 추천 시스템 개발을 위해 개발자와 소통해야 하는 프로덕트 매니저, 기획자

- 추천 서비스의 사용자 경험을 책임지는 UI/UX 디자이너

인터넷 플랫폼을 이용하거나 서비스 제공을 하려고 할 때 예전에는 리뷰를 활용했다면(물론 현재도 리뷰가 해당 당사자 모두에게 중요한 역할을 하긴 하지만) 이제는 선호도를 확인하거나 유도하게 하기 위해 알고리즘을 활용한다. 그러다 보니 이 책 소개에도 있는 것처럼 이제는 있으면 좋은 기능이 아니라 없으면 안되는 기능이 되었다.

 

그러다 보니 주위에서도 이와 관련된 이야기를 하는 것을 종 종 들을 수 있다. 예를 들면 이런식이다. 한 번은 버스에서 대학생으로 보이는 여학생 두명이 유튜브 이야기를 하고 있었다. 어떤 한 주제를 보면 그와 연관된 주제가 연 이어 리스트로 보여지는 걸 보면서 어떻게 그렇게 되냐는 것이다. 그렇게 되도록 알고리즘이 설계되어 있기 때문이다. 이 것 또한 추천 시스템 중 하나일 것이다. 최근 다양한 플랫폼을 이용해 본 사람들은 대부분 저 대학생들과 같은 의문을 모두 가져보았을 것이다. 이 책은 바로 그러한 궁금증을 풀 수 있는 동시에 그것을 활용할 수 있도록 프로젝트 구성 단계부터 온라인 배포 전 해야할 일까지를 다루고 있다.

 

2023. 6. 3. - 1.jpg

[사진] (본책, p.9) 책의 구성을 간략하게 설명하고 있다.

 

 

 

이 책의 좋은 점 중 하나는 기술 적인 이야기로 바로 시작하는 것이 아니라 '입문용' 답게 추천시스템의 역사부터 다루고 있다는 점이다. 각 알고리즘 별 설명 중간 중간에도 도움이 되는 정보들이 있지만, 책 말미에서 또 (인지)편향이나 추론 등으로 인해 영향 받을 수 있는 부분까지 다루고 있어서 기술에 대한 이해가 어렵지만, 추천 시스템에 대해 알고 싶은 독자들이 있다면 기술적인 부분들은 스킵하고 해당 부분만 선별해서 읽어도 도움이 된다는 점이다.

2023. 6. 3. - 6.jpg

 

2023. 6. 3. - 8.jpg

 

2023. 6. 3. - 10.jpg

[사진] (본책, p.72, 82, 204) 단계별 활용법에 대해 그림과 도표를 제시하여 설명하고 있다.

 

 

 

저자가 일본인이라 일본 사례가 그림으로 제시된 경우도 많지만, 국내 사례도 함께 실려 있어 이해하는 데 많은 도움이 된다. 추천하는 이유를 제시하는 방법, 필터링 방식, 이용자의 로그 패턴 등을 분석, 활용해 어떻게 추천 알고리즘을 만들어야 되는지 가이드 해주고 있다. 알고리즘과 관련해서는 왕초보 수준이다 보니 입문용이라고 해도 쉽지는 않았지만, 구석 구석 알게 모르게 도움이 되는 정보들이 많았다. 꼭 알고리즘을 이용해야 되는 분들이 아니라도 추천 시스템이 궁금하다면 앞서 말했든 필요 부분만 선별해 읽어보는 것도 좋을 것 같다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

  직접 검색하던 능동적인 행위는 이제 시스템이 추천해 주는 행위로 바뀌고 있다. 웹상에서 하는 행위는 수집되어 무심코 화면 앞에 앉아 있는 나에게 뭔가를 보여준다. 정보의 양이 많아질수록 검색하는 행위는 품이 많은 행위가 되었고 알아서 찾아주는 시스템은 반드시 필요한 것이 되었다. 많은 플랫폼 기반 산업은 추천 시스템을 반드시 탑재해야 하게 되었다.

  막연히 AI로 학습하면 되겠지라고 생각하고 있었지만 막상 그것이 어떻게 시스템 속으로 들어가 작동하는지는 알 수 없었다. 이것을 알려면 기초부터 차근차근 알아가야 했다. 추천 시스템 관련 도서 자체가 많이 없기 때문일까. 이 책은 기초부터 활용까지 설명하고 있다. 뒤로 갈수록 어려워져 시간이 많이 소요되는 것도 사실이다.

  처음 4장은 추천 시스템과 그것의 중요성에 대해 얘기한다. 어떤 이유로 추천 시스템이 필요하고 어떻게 구현할 것인지에 관한 것들이다. 그리고 취급하는 정보에 따라서 다른 추천 아이템이 필요하며 상대에 따라서도 변화가 필요하다. 단순히 관심사와 비슷한 것들을 보여줄 수도 있고 관련된 상품을 추천할 수도 있다. 막연히 둘러보러 온 고객에 대해서는 다양한 정보를 보여줘야 한다. 다른 사람들의 정보를 이용한 랭킹을 이용하는 것도 방법이다. 자주 들리지 않는 고객에는 맞춤형 정보를 적당한 간격을 두고 발송하는 것 또한 추천시스템이 몫이다.

  추천 시스템은 그야말로 '없으면 안 되는 기능'이 되어 버렸다. 추천의 정확도가 높아지고 있기도 하며 데이터 또한 점점 쌓이고 있기 때문이다. 추천 시스템에 대해서는 여러 가지 주의할 점도 있다. 바로 편향 데이터를 추천하게 되는 부분인데 이것은 편향의 문제를 넘어 차별의 문제로 번질 수 있기 때문에 주의가 필요하다.

  5장부터는 파이썬을 이용한 알고리즘을 실습해 볼 수 있다. 마지막 부근에서는 AI에 대한 설명도 잠깐 해주기도 한다. 간단한 실습이 끝나면 실제 운영에 대해 설명한다. 시스템 속에 추천 시스템을 어떻게 운용할 것인지에 대해서도 설명한다. 이 부분은 다소 어려워서 이해하기 힘든 부분이 있었다. 어느 정도 지식이 쌓이면 활용하기 좋을 듯했다.

  책은 입문자가 천천히 익혀나갈 수 있도록 해두었지만 분명 추가적인 학습도 필요할 듯했다. 책 내에서는 또 다른 책을 추천하기도 하는데 아무래도 초반과 후반의 난도 차이가 심해서 그런 듯하다. 그럼에도 추천 시스템 전반을 이해하기에는 괜찮은 책이 아닌가 싶다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

요즘 뭐 하나 검색하기 무서울 정도로 나의 검색 기록들을 각종 포털이나 몰들이 잘(?) 관리를 해주고 있다.

그렇게 잘 관리된 정보를 가지고 끈질기게 상품을 골라준다.

오~ 이거.. 살까? 하고...

또한, 넷플릭스와 같은 OTT나 유튜브 역시 자꾸 보고 싶게끔 비슷한것들을 보여주게 된다.

나의 취향 저격도 있겠지만, 물론 아닌것들도 있다.

그렇다면 이렇게 내가 좋아할만한것들에 대해 어떻게 전달을 하고 있는지 해당 시스템이 궁금해진다.

뭐 몇가지 머리속에 들어 있는것들도 있지만, 방대한 데이터에서는 그게 잘 적용될지는 모르겠고, 상당히 많은 다양한 것들을 이용할 것 같다.

그래서 이번에 한빛미디어에서 <추천 시스템 입문>이라는 책에 대해 리뷰를 해볼까 한다.



책이...

음...

기존 한빛 미디어에서 받아본 책과 달리 커버도 얇고 속지도 얇다.

가볍고 얇아서 좋긴한데...


요런 상황이다.

집중해서 읽기에 뒷면이 너무 비춰보인다.

음... 이건 좀~

목차를 보면 역사부터 시작한다.

읽어볼만한데~(아... 이때부터 알아 봤어야했다.)


그렇다.

검색 시스템과 추천 시스템 뭐가 다를까?

내가 생각하기에 가장 큰것은 입력내용이 있어서 그것을 바탕으로 데이터를 추출 하느냐 아니면 기존의 나의 행동을 바탕으로 입력내용 없이 데이터를 추출 하느냐 인것 같다.

입력이 없다보니 내가 원하지도 않았는데 나오는 경우가 있기도 한다.


시스템 만드는데 생각외로 다양한 기술이 필요하다.

그저 코딩만 잘해서 되는게 아니라는 것이다.


어디든 마찬가지겠지만... 비용대비 정확도는 비례한다.

하지만, 정확도 10%를 맞출수는 없다.

최근 인공지능들 역시 100%라 생각지 않는다.

아주 많이 틀린것도 많고, 엉뚱한 이야기를 하는 경우도 많고, 상황에 따라서는 질문자가 답변이 나왔을때 그것에 대한 판단을 할 수 없는 경우도 많다.


불친절할 수도 있겠지만 왜 이것을 추천 했는지 이야기 해주지 않는 경우도 많지만, 최근 들어서는 많이들 하고 있다.

같은 나이대, 이걸 구매한 사람들이 구매한 다른 물건, 장르별, 등등...

보통은 추천 이유를 하나만 이야기 하지 않는다.

다양한 추천 이유에 대한 다양한 결과를 내놓아서, "네가 뭘 좋아할런지 몰라서 여러 이유로 검색해 보았어~" 라는 형태로 보여준다.

넷플릭스의 경우 최근 본 영화와 비슷한, 내가 찜한 영화와 비슷한, 자주 본 영화의 국적과 비슷한, 내가 자주 보는 장르와 비슷한...


명확한 구분이 필요할 것 같다.

좋다라고 하지 않았다고 안좋다라는 의미가 아니라는 것이다.

명확히 싫다라고 한게 아니라면 평가하지 않은건 잠재적인 좋아요가 될 수 있는 것이다.

이런것 또한 신경을 써야 한다는 것이다.


아마 이 페이지가 실질적인 내용이지 않을까 싶다.

각, 추천 알고리즘에 대해 비교한 것으로 더 많은 방법들도 있겠지만, 많이 사용되어 지는 것들에 대해 간단히 비교분석 한것이다.

내가 진행하고 있는 것들에 대해 적절한것을 선택하거나 혼합해서 사용하면 될 것이다.


이 책을 보다가 '아~ 이 책이 이런거였어?' 했던 부분이다.

이게 뭐야~

그렇다, 이 책은 코드를 설명 하고, 방법을 알려 준다기 보다는 논문의 가깝다.

"추천 시스템" 이라는 것에 대한 전반적인 논문~


최근들어 많아진 딥러닝 또한 추천 시스템에 기본이다.

그 수많은 정보 중에 나에게 맞는, 나와 어울리는, 내가 좋아할만한 것들을 뽑아내야 하니 다양한 정보를 바탕으로 뽑아 내야 할 것이다.

물론 대부분이 이런 추천시스템의 주 목적이 수익을 내기 위함이기에 실질적인 시스템 보다는 자기네들이 유리한쪽으로 이끌어 내는 것이 당연할 것이다.

지금도 그런지 모르겠지만, 넷플릭스의 경우 추천된 내용중에 일부러 넷플릭스 오리지널을 더 많이 넣는다는 이야기도 있었다.

나는 그런것을 탓하지 않는다.

자기네들 시스템이고, 자기네들 수익성이다.

하지만 좀 적당히 했으면 좋겠다.

적당히 하지 않는 곳들이 좀 있다. 지금 작성하고 있는 네*버도 그렇다.

나의 다른 호스팅 블로그의 경우 네이버에서는 절대 검색되지 않는다.

구글에서는 잘 나오는데...

이건 너무 인위적이다.

내것과 실제 검색을 적당히 버무려 낸것이 아닌, (그것을 못해서 그런건지 몰라도...) 남의 것은 일체 검색하지 않는 것은 좀~...


추천 시스템이 그리 간단하진 않다.

상당히 다양한 통계에 관련된 내용들을 반영해야 한다.

점점 책이 어려워지고 있다. ㅠㅜ


대학교에서 이 교재 가지고 수업해도 좋을 것 같기도 합니다.

실습하기가 쉽지 않겠지만....


이러한 내용 하나하나를 로그로 남게 되면 그것을 저장하고, 검색하는것에 있어 상당한 부하가 걸리기는 할 것이다.

그렇기에 얼마나 무리를 덜 주면서 빠르게 검색하느냐도 중요하다.

이는, 추천 시스템 뿐만 아니라, 검색에 대한 데이터베이스도 중요한 것이다.


언제나 늘 "평가" 부분이 쉽진 않다.

요즘은 그래도 어떻게 평가를 해야 하는지 등에 대해 알려주는 것도 많고, 자료도 많지만

예전에는 없다보니 정말 "사용자 스터디"만이 답이였는데, 그것 역시 환경이 안되는 경우는 불가...

과연 이 서버는 얼마나 많은 동시 접속자를 수용 처리 할것인가~ 등에 대해서 늘 고민 이였죠.

역시나, 추천이 얼마나 정확도에 근접 했는가를 알아보는것도 중요하다.


이 책에서는 지금과 같이 세부적인 사항도 기술하고 있다.

그만큼 앞서 이야기 한것처럼 "추천 시스템"의 바이블 같은 느낌이다.


이런것도 있는줄 몰랐다.

상당히 다양한 단체들이 많기는 하더라.

헌데, 이런 국제회의까지 있을줄이야~

물론, 향후에는 이런 추천시스템이 중요하긴 하다.


이런것들도 추천시스템 발전을 위한 좋은 방법중 하나일것 같다.

정확도를 100%로 만들 순 없겠지만, 그에 최대한 근접하게.. 혹은 높은 정확도를 항상 유지하게.. 하는 것에 대해 끊임없이 노력하는 것이기 때문이다.

저런 대회에 개인뿐만 아니라 기업의 연구팀까지 참여한다는것이 놀랍다.

우리나라에서는 과연 가능한걸까?


헉...

4만개 이상의 팀이라...

대단한데~


넷플릭스에서 썸네일에 대해 처음엔 별 생각 없었다.

공식 영화 포스터가 아닌 서브 포스터도 올라오기도 하고...

처음엔 그냥 같은 영화지만 다른 포스터를 보여줌으로써 네가 관심 안보였던 포스터 말고 다른 포스터를 보여주는 것이다~ 라는 의미일줄 알았는데...(물론 그럴수도 있겠지만..)


사실 영화를 살펴보는 중요한 정보중에 하나가 이 썸네일이니, 이 썸네일에 상당히 많은 공을 들인것이다.

내가 좋아하는 정보에 따라서 동일한 영화라도 어떤 썸네일을 보여줄건지 까지 선택을 해서 보여준다면 그만큼 나의 선택이 더 높아질것이다.

해당 영화를 별로 안좋아 하더라도, 썸네일에 내가 자주 보던 배우가 나오는 썸네일이 나온다면, 그 영화를 선택할 확률이 그만큼 올라가는 것이다.


그렇다.

이 책은 "추천 시스템 바이블"이라 할 수 있다.

왠만한 규모가 아니면 만들어 쓰기에는 무리고, 역시나 "도입"이 맞는 것 같다.

물론, 간단한 형태의 "추천 시스템"은 충분히 만들 수 있다.

나도 "개인별처방학습" 시스템을 만들기도 했었다.

교육 전문가들과 함께 이 사람이 어떤 학습을 얼마만큼 하는게 좋을 것인가에 대해 개개인별로 학습을 달리하는 내용이였다.

그것도 이와 비슷하다고 본다.

결국 네가 이런 학습을 하면 좋을 것 같아~ 라는 이야기 이니...

음... 나도 10여년 전에 이미 "추천 시스템"을 만들었었군....

그런데 이 책은 왜 이리 어려워~ ^^;

그때의 내가 만든 "개인별처방학습"은 수집 가능한 정보도 제한적이고, 전체 정보도 제한적이기에 좀 더 단순하게 처리가 가능 했던것 같다.

쇼핑몰이나 영화등의 경우는 상당히 많은 수집 정보와 상당히 많은 데이터들에서 상당히 많은 추천이유 들로 인해 많이 복잡한것이다.

이 책을 통해 추천시스템에 대해 조금 더 깊게 알아보게 된것 같다.

물론, 향후 내가 시스템을 만들때도 충분히 좋은 길라잡이가 될 수 있을것 같다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

추천시스템은 매우 오래된 키워드이고, 기본적으로 서비스 구성시에 고려하는 부분입니다.

겉모습은 추천시스템인지 모르고 사용하는 경우도 많고, 같은 추천시스템이라도 그 구성은 매우 차이가 많이 납니다.

요즘은 머신러닝, 딥러닝을 통한 다양한 추천 알고리즘을 구현할수 있습니다.

넷플렉스, 멜론, 쇼핑몰, 유트브 추천 알고리즘등  개인화된 정보를 가지고 조금더 편리한 서비스 및 매출, 구매유도를 하기 위해서 곳곳에 적용되는 사례는 이제 너무나 당연한 이야기가 되었습니다.

예전에는 추천이라는 주제는 대학교 연구과제로도 많이 연구한 학문분야 입니다.

검색엔진에서 "추천 알고리즘"을 검색해서 사용하기 보다, 기본에 충실한 추천 시스템을 구성해보려고 하고 

그 근간이 되는 원리를 학습하기에 좋은책으로 조금더 책의 내용을 살펴보려고 합니다.

 

 

 

■ 추천이 왜 중요할까?

· 조금 근본적이고 원칙적인 이야기 이기는 하지만, 추천이라는 키워드는 항상 서비스 측면에서 중요한 부분으로 여겨집니다.

저의 생각은 추천은 사람들의 시간을 줄여주는 의미가 있지 않나 생각이 듭니다. 지금 시점에 "유트브 맞춤 영상", "트위터 팔로우 추천", "서점에서 해당 책을 본 다른 추천" 이러한 기능은 실제 나와 성향이나, 필요하거나, 관심사가 비슷한 사람들이 했던 행동기반으로 다양한 정보가 제공되어 집니다.

· 추천을 구성하는 프로세스는 크게 3가지로 정의합니다.

1) 개요 추천 (개인화 없음) : 모든 사용자에게 동일한 정보를 제공하는 방식

2) 연관 아이템 추천 : 각 아이템 간에 유사도를 사용 

3) 개인화   

 

 

 

■ 추천시스템 알아가기

<검색엔진 vs 추천시스템>

· 검색엔진도 유사도 설정을 통해서 연관 아이템등을 제공하는 방식도 있다. 검색도 하나의 정보를 찾기위한 기술이고 두가지 항목에 대해서 비교한 표입니다. 비교표가 눈에 들어게 잘 되어 있습니다. 

 

 

<추천 시스템의 UI/UX는 어떻게 구성할까?>

· 기술적인 부분도 중요하지만, UX를 구성할때 어떻게 되어 하면 조금더 쉽게 개발한 추천정보를 제공할지에 대해서 설명하는 chapter가 있는 부분도 흥미로운 내용입니다. 구성을 하기 위해서 4가지 부류로 구분을 하여서 접근을 하라고 합니다.

1) 적합 아이템 발견 : "서울역 근처에 식사하는 식당 찾기"

2) 적합 아이템 나열 : "가능한 모든 서비스를 나열하는 방식"

3) 아이템 계열 소비 : "열람, 소비하는 동안 추천된 아이템 계열 전체에서 가치를 찾는 방식"

4) 서비스 내 체류 : "특별한 목적은 없는 경우"

 

 

많이 사용하고 있는 서비스 중에서 곳곳에 추천기능이 사용되는 화면 구성

 

 

 

추천을 제시하는 이유에 대한 예시

 

 

 

이렇게 구분된 사항만 보면 잘 파악하기기 힘들다. 책에서 안내하는 화면 예시를 보면 조금 더 이해하기가 쉽다.

그리고 이책은 비개발자분들이 추천관련된 사항을 개발자 조직과 의사소통을 원할하게 하기 위해서 관련 용어 및 개념을 잡는 것을 책의 중요한 관점으로 설명하고 있으니 전반적인 개념을 잡는 목적으로도 좋은 입문책인거 같다.

 

 

 

■ 추천 알고리즘에 대해서

· 크게 분류는 2가지로 구성이 됩니다. 내용기반 필터링은 우리가 기본적으로 생각하는 수집된 데이타를 기반으로 유사도를 계산해서 추천하는 알고리즘 입니다. 이때, 책이라면 아이템의 제목, 장르, 출판일등의 속성과 사용자의 과거 이력등의 프로필 정보등을 활용합니다.

메모리 기반은2가지 방식이으로 구성되어 있는데, 기준을 추천인과 비슷한 추천인을 찾는 방식, 다른 방식은 선호하는 아이템과 비슷한 아이템을 찾는 방식으로 구성되어 있어서, 추구하고 찾으려는 관점으로 접근하는 방법입니다. 모델 기반은 미리 데이터의 규칙성을 학습한 모델을 미리 만들어두어서 사용하는 방식입니다.

 

 

· 추천 알고리즘에 대해서 다양한게 존재하는데 이러한 알고리즘중에 10개 이상 실습을 하면서 동작원리를 파악합니다.

코드는 Python으로 작성되어 있습니다. 파이썬을 통해서 쉽게 설치가 가능한 다양한 라이브러리를 사용합니다. pandas, numpy, sklearn, implicit, xlearn등 다앙한 라이브러리를 이용합니다. 아마 보시면서 머신러닝책에서 소개되는 부분도 있고, 예전에 어디서 경험한 코드를 보실수도 있는데, 머신러닝을 통한 추천알고리즘에 대한 부분이고 이책에서는 조금 더 다양하게 추천이라는 영영에 다양한 내용으로 구성된 것을 확인하실수 있습니다. 

 

다양한 추천 알고리즘 항목

 

 

■ 실제 서비스에는 어떻게 배포를 할까?

· 가장 쉽게 설계 할수 있는 방법은 사용자별, 또는 그룹별로 추천된 정보를 batch성으로 DB에 넣어서 처리하는 방식이다. 

이렇게 구성이 되면 실시간성의 확보에 대한 고민을 할것이고, 배치 주기도 고민하게 되는것은 당연한 부분이라고 생각이 듭니다.

 

일반적인 DB방식

 

 

 

실시간성을 확보하며, 추천서비스를 하기 위한 구조

 

· 책의 후반부에는 이렇게 만든 추천알고리즘이 정상적인지 검증하는 "추천시스템 평가" 부분이 있습니다.

개발을 하고 테스트 케이스를 만들고 검증을 하는 것처럼, 작성한 추천 알고리즘의 결과가 의도한 대로 정상 처리가 되고 있는지 확인하는 절차 침 과정은 반드시 필요하다고 생각됩니다.

 

대표적인 평가 지표

 

추천 알고리즘에 대해서 설명 및 해당 알고리즘을 실제 서비스에 배포하기 위한 내용이 있는 부분, 추천 내용에 대한 검증기법등이 있는 부분은 책의 완성도를 높여주는 내용이라고 생각합니다. 이러한 부분은  운영하는 측면, 관리하는 측면에서 많은 도움 및 키워드들에 대해서 도움은 받을수 있는 부분입니다.

최근 어떤 서비스든 추천 시스템은 빠지지 않고 들어가고 있다. 그런 상황과는 별개로 추천 시스템에 대한 서적은 별로 없었는데, 이번에 한빛미디어에서 입문자를 대상으로 한 서적이 출간되었다.


이 책은 크게 3가지 파트로 구성되어 있다. 1~4장은 추천 시스템의 개요, 도입 방법 등이 설명되어있고, 5장은 추천 시스템에서 사용되는 알고리즘을 설명한다. 6~8장은 실제 서비스에서 운용하는 방법에 대해 서술되어 있다.


먼저 1~4장은 추천 시스템이 왜 중요한지에 대해 설명하고 있다. 이 파트는 수식이나 알고리즘에 대해서는 등장하지 않아서, 비즈니스에는 관심이 있지만 시스템에 대해서 잘 모르는 사람도 가볍게 읽을 수 있다. 다각적인 시각에서 추천 시스템에 대해서 설명한다. 


5장에서는 분위기가 많이 달라진다. 파이썬 코드를 통해 구체적인 시스템 개발에 대해서 설명한다. 다양한 알고리즘에 대해서 간략하게 설명하고, 실제 코드를 통해 알고리즘을 실행해볼 수 있다. 간략하게 설명되어있기 때문에 다소 코드를 읽는 게 어려울 수 있고, 알고리즘에 대한 설명도 좀 더 정확하게 이해하기 위해서는 따로 조사해야 한다.(책에서도 이러한 부분에 대해서는 언급하고 있음.)


6~8장은 실제 어떤 구조로 운용해야 하는지에 대해서 다루고 있다. 예를 들면, 어떻게 로그를 남길 것인가, A/B 테스트는 어떻게 진행할 것인가와 같은 내용을 다룬다.


초심자가 추천 서비스에 대해서 공부하기에는 적합한 책인 것 같다. 내용이 크게 어렵거나 부실하지 않고 밸런스를 잘 갖췄다고 느껴졌다.  다만 실제 서비스에 적용하기 위해서는 각 토픽에 대한 추가적인 학습이 필요할 것 같다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

KakaoTalk_20230528_224923457.jpg

 

 

 

유튜브, 트위터, 아마존 등에서 활발하게 사용되는 것으로 유명한 추천 시스템

 

이 책은 300페이지도 되지 않는 얇은 교과서 정도의 두께로 입문이라는 제목에 걸맞게 초보자를 위한 친근한 입문서이다.

 

추천 시스템에 대한 역사와 원리부터 실제 사례를 바탕으로 한 응용법까지 추천 시스템에 대한 복잡한 지식을 쉽게 풀어서 설명해주고 있다.

 

넷플릭스에서 A 영화를 시청하고 나면 B, C, D 등의 영화가 추천이 되는 경험을 해보았을 것이다. 이때 넷플릭스에서 사용한 추천 알고리즘과 활용법을 초보자의 시각에서도 이해할 수 있을 정도로 쉽게 설명해주고 있다.

 

수많은 신경망 알고리즘과 그 활용 예제 코드까지 실제 동작 방식과 어떻게 구현하는지를 상세하게 안내해주므로 독자들은 그저 따라하기만 하면 된다. 나는 이번에 자연어처리에 관한 프로젝트를 담당하게 되었는데 관련 내용도 수록되어 있어 꽤나 흥미롭게 읽었고 갑갑했던 시야가 확 트여서 만족스러웠다.

 

추천 알고리즘에 대한 기본 개념을 습득하고 실제로 동작하는 추천 시스템을 설계하는 과정을 익히고 싶은 개발자라면 이 책을 꼭 읽어보길 바란다.

 

* 한빛미디어 <나는 리뷰어다> 활동을 위해 책을 제공받아 작성한 서평입니다. *

’프레임‘은 넷플릭스 홈페이지에서 사용자에게 작품 목록을 보여주는 방식으로, 제목을 붙여 구분하고 그 성격에 맞게 선별한 작품을 사용자에게 선택적으로 보여준다. 사용자는 흥미가 생기는 프레임에 주목하여 해당 프레임의 작품만 살펴보면 시청할 작품을 빠르게 선택할 수 있다. 이 구조를 달성하기 위해 프레임 타이틀 선택 방법, 각 프레임에서 중복되는 작품이 있을 때 삭제하는 방법, 알고리즘을 업데이트했을 때 평가하는 방법 등 다양한 알고리즘을 조합했다.
작품의 섬네일을 정하는 것도 추천 시스템의 하나이다. 사용자마다, 또는 시청 시점마다 작품 목록 화면에 보이는 작품의 섬네일 이미지는 달라지는데, 넷플릭스에서는 다양한 섬네일 이미지를 가지고 A/B 테스트를 통해 반응이 좋은 섬네일을 분석하여 개인별로 최적화된 섬네일 이미지를 제시하기 때문이다. 이 개인별 이미지 최적화에는 contextual bandits라는 방법을 사용하는데 이는 사용자가 과거에 열람한 작품들, 사용 국가, 사용 기기 등의 특징량을 조합해 활용한다.

추천 시스템이 적용된 기능들은 넷플릭스 서비스가 사용자들의 시청 시간을 늘리는 데에 큰 역할을 하고 있다. 그 외에도 유튜브나 온라인 쇼핑몰, 광고 등 추천 시스템은 많은 분야에서 거의 필수에 가까운 역할을 하고 있다. 그렇다 보니 추천 시스템에 관심이 갈 수밖에 없다.

개발자 입장에서 이 책은 추천 시스템에 대해 이해하고, 실제로 사용자 데이터를 기반으로 추천 시스템을 구축해 볼 수 있다는 점에서 유용했다. 그 외에도 프로덕트 매니저나 UI/UX 디자이너라면 추천 시스템 개발자나 데이터 과학자와 원만하게 소통하는 데에 필요한 추천 시스템 기반 지식을 쌓을 수 있을 것이다. 또 추천 시스템에 관해 공부하기 시작하는 단계의 연구자나 학생이라면 이 책을 통해 추천 시스템의 전반을 둘러보고, 추가로 논문이나 책을 통해 더 깊이 이해하고 연구하는 데에 도움이 될 수 있을 것이다.

 

과거와 다르게 현재는 물밀듯이 들어오는 정보로 인하여 자신이 원하는 정보를 직접적으로 찾기가 매우 어렵습니다. 하지만 구글 광고나 유튜브를 보면 신기하게도 관심 있을 만한 정보들을 속속 골라서 다양하게 제공해 줍니다. 어떻게 이러한 과정이 가능한 걸까요?

 

이 책은 그러한 시스템의 역사부터 시작하여 전반적인 디자인, 설계 방법 그리고 실제 적용하여 직접 서비스를 제공하는 방법까지 다루고 있습니다.

 

1장에서는 추천 시스템의 역사를 설명하며 우리 주변에서도 흔하게 볼 수 있었던 경우를 예시로 들어줍니다. 이처럼 추천 시스템의 발달은 정보 수준의 증가와 밀접하게 연관이 있음을 어필합니다.

 

2장에서는 개발 스킬에 필요한 과정과 어떤 프로젝트를 정의할 수 있는지 설명한 뒤, 3장에서는 사용자인터페이스에 대한 중요성을 주장하며 이러한 디자인이 사용자에게 어떤 경험과 만족감을 줄 수 있는지 설명합니다.

 

4장과 5장에서는 추천 알고리즘에 관한 전반적인 내용을 다룹니다. 이 부분에서 추천 알고리즘에 대한 다양한 지식을 얻을 수 있어서 좋았습니다. 특히 5장의 알고리즘 비교를 통해 정확도, 계산 속도, 콜드 스타트 문제 대응(처음 정보가 없으면 사용자에게 부정확한 추천 정보를 제공할 수 있는 문제) 등 다양한 수치에 대해 비교해 놓은 부분을 한눈에 볼 수 있었고, 이를 어떤 경우에서 사용하면 되는지 감을 익힐 수 있었습니다.

 

이후 6장과 7장에서는 직접 클론 코딩을 통해 추천시스템을 설계하고 이를 얼마나 정확하게 출력하는지 평가하는 과정을 거치면서 무엇이 문제이고 이를 어떻게 개선할 수 있는지 전방적인 방향을 제시하고 있습니다.

 

단점이라면 약간의 시스템적 용어나 공식 등이 존재하기 때문에, 비전문가가 바로 읽기에는 어려움이 따르나, 추천 시스템 관련 웹, 앱 개발 공부를 하시는 개발자들에게는 필수 입문 도서라고 할 수 있으리라 생각됩니다.

 
 

<< 이 글은 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. >>

추천 시스템.jpg

 

유튜브나 넷플릭스 등 여러 서비스에는 사용자에게 이 콘텐츠(영상, 음악, 상품)도 이용해 보라고 추천을 해주고 있고, 실제로 추천해 주는 아이템을 보면 깜짝 놀랄 정도로 나에 대한 특성을 잘 반영한다는 느낌을 받는다. 평소에 추천 시스템에 대해 궁금했었는데 최근에 새로 나온 추천 시스템 책이 나와 리뷰를 하고자 한다.

 

이 책에서는 추천 시스템을 이렇게 정의하고 있다.

여러 후보 가운데 가치 있는 것을 선정해서 의사결정을 지원하는 시스템

 

이 책을 읽는 대상으로는 추천 시스템에 대해서 궁금한 개발자, 연구원 등 다양하겠지만

 

챕터 5의 알고리즘 부분을 실행시키며 확인해 보기 위해 기초적인 python과 numpy, pandas 패키지에 대한 내용을 알고

있어야 조금 수월하게 진행이 가능하다.

 

챕터 1~3장까지는 추천 시스템의 개요에 대해서 

챕터 4~5장은 추천 시스템 알고리즘에 대해서 설명을 하고 있다.

 

챕터 1~4까지 추천 시스템의 개요에 대한 부분은 이해하기 쉽게 설명되어 있으나,

챕터 5에서 알고리즘 부분 쪽은 내가 느끼기엔 조금 불편한 점과 오타도 있어서 아쉬웠다.

 

가장 큰 불편함은 코드의 파일명을 보고 내용을 유추해서 이게 지금 어떤 알고리즘에 대해서 설명을 하고 있는지 찾아야 했다.

책에서 설명하는 코드가 어떤 파일을 봐야 되는지 표시가 되었다면 더 좋았을 거 같다.

 

조금의 불편함과 오타는 있지만 그럼에도 불구하고 추천 시스템에 대한 입문서로서는 굉장히 좋다는 느낌을 받았다. 실무 환경에서의 알고리즘 선택법 뿐만 아니라 평가 방법 등 추천 시스템 전반적인 것을 잘 설명해 주기 때문에 입문하는 도서로서 추천드립니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

음원사이트 멜론에서는 오늘 날씨와 지금 시간대에 어울리는 음악을 추천해주고

넷플릭스에서는 그동안 내가 봐온 영화, 드라마들을 바탕으로 괜찮은 컨텐츠를 추천해주고 있다.

또한 인스타그램에서는 나의 팔로잉 목록, 좋아요 기록 등을 기반으로 적절한 게시물을 피드에 띄워주고,

오늘도 나는 알 수 없는 유튜브 알고리즘을 타고 여러 맞춤 동영상들을 시청하였다.

이렇게 우리는 알게 모르게

추천 시스템이 제안한 컨텐츠들을 이용하고있다.

그럼 추천 시스템이 무엇이고 무슨 역할을 하며 왜 생겨난 것일까?

또한 추천 시스템을 구현하고자하면 어떻게 해야하는 것일까?

이런 질문의 해답은 이 책 "추천 시스템 입문"에서 찾을 수 있었다.

# 좋았던 부분

- 추천 시스템 프로젝트를 진행 시 필요한 역량 3가지와 진행 과정을 상세히 알려준다.

처음 프로젝트를 시작하고자할 때 막막한 적이 많았던 나에게는 길잡이 같은 느낌이었다.

- 추천 시스템 개발자들의 성공, 실패 사례들을 통해

어떤 서비스에 어떤 추천 시스템을 적용하면 좋은 지를 상세히 알려준다.

- 자세한 코드설명

추천 시스템에 관심이 있거나 도입하고자한다면

꼭 읽어야하는 책이다!

한빛미디어 <나는 리뷰어다> 활동을 위해서

책을 제공받아 작성된 서평입니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

0. 도서정보

 - 도서명 : 개인화된 콘텐츠 제공을 위한 추천 시스템 설계부터 UI/UX, 구현 기법, 평가까지

 - 저자 : 가자마 마사히로 , 이즈카 고지로 , 마쓰무라 유야 

 - 링크 

 

 

1. 서평

 - 해당 도서는 8장으로 나눠져 있으며 추천 시스템에 대한 소개를 시작으로 하여 추천 시스템의 요소 및 분류 및 콜드 스타트 등의 실제 현업에서 일어나는 일에 대한 대처를 기술하였다. 이론으로도 기초적인 평가방법부터 시작하여 자연어 처리, 딥러닝 등에 대한 기술도 해두었다. 실제 코드를 통해 실습할 수 있는 페이지들도 있지만 책의 두께에 대비하여 분량이 그렇게 많지는 않다.(파이썬 기반) 부록으로는 도메인에 따라 추천 시스템에 발생하는 문제들을 간략하게 기술해 두었다.

일상에서 점메추 단어를 자주 사용합니다. 직장인의 가장 고민인 점심 메뉴인데요. 우린 간단한 문제일수록 무엇을 결정하는 고민을 많이 합니다. 이처럼 동영상 추천, 음악 추천, 상품 추천, 나보다 나를 아는 추천 서비스는 이제 일상입니다. 추천 시스템 협업 개발자가 전하는 추천 알고리즘 도입 가이드를 추천합니다.

 

이번에 소개할 추천 시스템 입문은 추천 시스템 개발자인 저자들이 경험한 성공 사례와 실패 사례를 살펴봅니다. 어떤 서비스에 추천 시스템을 조합하고, 적용할 것인가에 중점을 두고 구성하는데요. 추천 알고리즘을 자세히 파고드는 대신 알고리즘 개요와 실무 활용 방법을 중심으로 배울 있습니다.

 

정보화 속도가 빨라질수록 사소한 일에 결정해야 하는 순간들이 점점 늘어나고 있는데요. 다양해진 선택지 속에서 빠르게 선택할 있게 도와주는 추천 시스템은 이상 있으면 좋은 기능이 아니라 없으면 되는 기능이라고 생각합니다.

 

추천 시스템 입문 1~ 3장에는 추천 시스템의 개요와 역사를 가지 사례 그리고 추천 시스템 종류와 검색 시스템과의 차이를 알아봅니다. 나아가 팀원과 프로젝트 진행 방법 더불어 추천 아이템을 제시하는 방법에 따라 클릭 횟수나 구입 횟수를 늘릴 있기 때문에 사용자 경험 설계에 중요한 UI/UX 관해 소개합니다.

 

여기서 핵심은 추천 시스템 개발에 필요한 3가지 스킬 비즈니스 문제 해결 능력, 데이터 사이언스 능력, 데이터 엔지니어링 능력입니다. 3가지 스킬을 모두 갖춘 사람은 많지 않으며, 각각의 스킬을 가진 사람들과 협업하길 조언합니다.

 

4장에는 대표적인 추천 알고리즘인 협조 필터링과 내용 기반 추천을 설명합니다. 그리고 추천 알고리즘에 입력되는 평갓값 데이터를 암묵적인 것과 명시적인 것으로 나누어 소개합니다.

 

5장에선 인기도 추천과 행렬 분석 알고리즘에 관해 각각 설명과 실제 서비스에 조합할 주의해야 점에 대해서도 알아봅니다. 그리고 MovieLens라는 영화 데이터셋을 사용해 알고리즘을 적용하는 코드도 소개합니다.

 

6장은 뉴스 전송 추천 시스템을 예로 들어 추천 알고리즘을 실제 서비스에 조합할 시스템을 어떻게 구성을 배울 있습니다. 이를 통해 데이터베이스나 API 설계하는 참고하기 좋습니다. 또한, 서버 구성과 배치 처리 구조, 로그 설계 추천 시스템 아키텍처에 관해 자세하게 살펴봅니다.

 

7장은 온라인에서 가지 평가 지표를 사용해 추천 알고리즘을 검증하고 자신이 서비스하는 데이터에 적절한 평가 지표와 추천 알고리즘을 찾아볼 있습니다.

 

마지막으로 8장은 앞서 다루지 못한 추천 시스템 국제회의, 편향 제거, 인과 추론 등을 살펴봅니다. 추천 시스템 국제회의도 매년 규모가 커지고 참가하는 업체가 증가하는 수치만 보아도 추천 시스템의 중요성을 있습니다.

 

추천 시스템 입문 책은 여러분의 서비스가 더욱 진화할 있도록 적합한 추천 시스템을 개발하는 도움을 줍니다. 추천 시스템 개발이나 추천 알고리즘에 관심 있는 개발자, 프로덕트 매니저, UI/UX 디자이너, 연구자, 학생 각자의 입장에서 장씩 개념을 쌓을 있고 다른 팀끼리 소통하는 방법까지 덤으로 얻어 있습니다.

 

추천 시스템 덕분에 다양한 상품이나 콘텐츠 가운데 내가 선호하는 것을 빠르게 선택할 있는데요. 소비자에게 좋은 의사결정을 있는 개발자, 기획자, 디자이너에게 도움이 되는 추천 시스템 입문서를 추천합니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

[ 이 책에서는 서비스에 다양한 추천 알고리즘을 적용할 때 만나게 되는 여러 가지 문제를 다룹니다 ]

우리가 생각하는 것보다 훨씬 오래 전부터 우리 곁에 존재했던 추천시스템의 역사, 매일 사용하는 넷플릭스나 아마존 같은 거대한 시스템에 추천시스템이 조합되어 있는 사례도 알아봅니다. 이를 통해 여러분은 단편적인 시각으로 바라보았던 추천 알고리즘을 다양한 방법으로 실무에 활용할 수 있게 될 것이며, 여러분이 가진 데이터를 고객에게 추천하는 방법에 대해서도 통찰력을 얻을 수 있을 것입니다.

 

 

도서 내용 구성

 

 

이 책은 추천 알고리즘을 자세히 파고드는 내신 알고리즘 개요와 실무 활용 방법을 중심으로 설명합니다. 추천 시스템 개발에 필요한 팀원과 프로젝트 진행 방법이나 실제 UI/UX에 관한 소개를 통해 실무에서 적용하는 내용 위주로 구성되어있어서 배운것을 이론적인 내용 습득에서 끝나는게 아니라 적용해볼 수 있도록 친절히 안내해줍니다. 


 

 

 

추천 시스템의 3요소에 대해 설명하며 처음에 접하시는 분들이 쉽게 이해할 수 있도록 내용이 구성되어있습니다. 그리고 추천 시스템 개발에 있어서 어떤 역량이 필요한지 큰 그림을 그려줍니다. 여러가지 능력이 필요한데 그 중 핵심 스킬들에 대해 상세히 소개하며 실제로 필요한 지식들을 알려줍니다. 결국 추천시스템을 구현했을때 어떤 것을 기대할 수 있는지 기대효과를 정의하는 것이 중요한데 그 핵심 내용이 기술되어 있습니다. 실제 분석가로 일하면서 이걸 왜 하는가? 이걸 함으로써 어떤게 기존보다 좋아지고 효과가 있는지를 고민하고 지표를 정하는게 중요하다고 느끼는데 추천시스템도 개발전에 목적을 명확히 해야 구현할 추천시스템이 정해지고 효과성 검증을 할 수 있겠구나라는 생각이 들었습니다. 결국 비즈니스 문제를 해결하기 위한 역량이나, 실제 데이터를 처리하고 추천시스템을 만드는 엔지니어링, 사이언스 능력 3박자가 골고루 갖춰져야하는 것 같습니다. 


 

 

 

추천시스템 프로젝트 또한 일반적인 머신러닝 프로젝트와 비슷한 프로세스를 가지고 있으며, 하나의 예를 들어 구체적으로 설명해줍니다. 실제로 비즈니스상의 목적을 명확히 해야한다는것도 지속적으로 강조하고 있습니다.  그리고 추천시스템과 관련하여 꼭 나오는 문제인 콜드 스타트 문제에 대한 대응에 대해서도 상세히 설명해주고 있습니다. 


 

 

평가 대상의 데이터셋을 설계하고 모델 학습이 완료된 뒤에는 평가 지표를 사용해 추천 모델을 평가합니다.(평가 지표란 학습한 모델의 성능이나 예측값의 좋고 나쁨을 측정하는 지표입니다.) 평가 지표에 대한 설명이나 추천시스템의 일반적인 평가지표들에 대해 이해가 쉽도록 설명해줍니다. 경우에 따라 어떤 지표를 보는게 좋은지에 대한 가이드를 제시해주기도 해서 좋았습니다. 

 

대상 독자

  • 추천시스템을 도입하고자 하는 조직
  • 머신러닝/딥러닝에 관심있는 독자
  • 개발자 또는 데이터 사이언티스트
  • 프로덕트 매니저 또는 UI/UX 디자이너
  • 연구자 또는 학생

 

 <<추천 시스템 입문>>도서는 나온지 한 달이 안된 따끈따끈한 책입니다.(초판 1쇄 2023년 05월 8일) 추천시스템에 관심이 있어서 조금 찾아보면서 공부하곤 했는데 필수로 알아야하는 지식을 한 책에 담았다는것으로 완독을 하면 좋을 책이라고 생각합니다. 뿐만 아니라 머신러닝 평가지표도 상세히 기재되어있어서 아는 내용이라도 복습할 수 있다는 점에서도 좋습니다. 추천 시스템 공부는 이 책으로 시작하면 좋을 것 같고 UI/UX 및 구현 기법까지 상세하게 나와있어서 여러 직군에서 읽어도 금방 이해할 수 있을 듯 합니다. 믿고보는 OREILLY! 강추!

이 책은 추천 시스템에 대한 내용을 다루며, 정의, 등장 배경, 비즈니스에 따른 추천 시스템 선택 이유, 각 추천 시스템의 구현 예시 코드, UX/UI, 그리고 다양한 추천 시스템 적용 사례 및 발전 가능성에 대해 포괄적으로 다룬다. 이 책은 추천 시스템에 대한 이해를 처음으로 시작하는 사람들이나 전반적으로 관심을 가지고 있는 독자들에게 매우 적합한 자료라고 생각한다.

책을 통해 막연하게 궁금했던 내용들이 내 안에서 구체화되었으며, 더 나아가 비즈니스 분석의 중요성을 다시 한 번 깨닫게 되었다. 이 책은 독자에게 추천 시스템에 대한 포괄적인 이해를 제공하는데 큰 도움이 될것이다!

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

조금 다른 추천이지만 저도 몸담고 있는 시스템의 핵심이 추천시스템 이긴합니다.

 

학생들이 공부하면서 풀어야 하는 문항을 실력과 이해도 기반으로 추천을 해주는 시스템인데

항상 문제가 되는 것이 콜드 스타트인데

즉, 기존의 문제 풀이 데이터가 하나도 없는 학생이 서비스를 시작했을 때 어떤 문제를 어떻게 구성해서 주어야 하는 것입니다.

요런 부분에 대해서 조금 색다른 아이디어나 발상의 전환을 해 볼 만한 포인트가 있을 까 해서 열심히 탐독해본 추천 시스템 입문입니다!

 

제목에서도 알 수 있듯이 '입문'입니다.

 

추천 시스템에 대한 전반적인 개론과 함께 사용 되는 지식을 폭 넓게 다뤄줍니다.

 

어느정도 폭 넓냐면 독자 대상이 개발자나 기획자에 그치지 않고 공부하는 학생이나 UI UX 디자인을 하는 사람까지도 포함합니다.

다만 읽어본 뒤에 느낀 바로는 학생들이 가장 재미있게 읽어보지 않을까 합니다.

 

추천 시스템의 종류가 무엇이고

종류에 따라 필요한 데이터는 무엇이고

그 데이터를 활용하는 알고리즘의 종류와 핵심 수식 그리고 주의해야할 점 등이 무엇인지 배울 수 있습니다.

 

물론 개론적 내용'만' 다루는 것은 아닙니다.

책의 40% 정도의 분량은 실제 데이터와 코드를 통해서 실습해 볼 수 있는 코너도 마련되어 있습니다.

이 부분을 잘 살펴본 뒤에는 캐글등에 있는 데이터를 기반으로 다양한 실습을 해 볼 수 있을 것이라 생각합니다.

 

추천 시스템이라는 것이 서비스하는 솔루션이나 플랫폼의 사이즈가 작을 때에는

극단적으로는 추천 시스템 자체가 필요 없을 수도 있고

적용한다고 해도 모집단의 사이즈가 작으면 제대로 잘 구동 되는지 그리고 더 나은 추천 시스템으로 나아가는지 확인이 힘들 때가 많습니다.

따라서 아이디어는 필드가 다른 데이터라고 해도 규모가 조금 있는 데이터셋으로 테스트를 진행해보고 현재 서비스하는 곳에 벤치를 돌려보면 좋은데 이런 면에서 추천 시스템이라는 것의 첫 단추를 채워주는 역할로는 상당히 훌륭하다 볼 수 있습니다.

 

추천시스템에 대한 문서나 책이 없는 것은 아니지만 너무 특정 영역에 국한되거나 특정 알고리즘에 매몰되어 좁은 영역을 소개하는 것에 그치는 책이 많은데 첫 입문용 개론서로는 상당히 잘 짜여진 구성을 보여줍니다!

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

요즘은 거의 모든 온라인 기반 서비스에서 추천시스템을 활용하고 있는 것 같다. 추천시스템을 이용해서 이용자가 필요로 하는 상품을 빠르게 찾아주어 편의성을 높이거나, 추가 구매를 유도하거나, 서비스 이용 시간을 늘리는 등의 효과를 얻을 수 있기 때문이다. 특히 이런 추천서비스를 잘 활용하는 대표적인 기업으로는 넷플릭스와 아마존을 들 수 있는데, 넷플릭스는 추천시스템을 경유한 시청이 80%나 되고 아마존 또한 추천시스템을 경유한 매출이 35%나 된다고 한다. 이처럼 빅테크 기업에서도 적극적으로 도입해서 운영하는 추천시스템은 어떻게 구현하고 도입해야하는지에 대한 내용을 한빛미디어의 추천시스템 입문에서 잘 알 수 있다. 

 

추천시스템입문은 각 추천 알고리즘의 설명과 구현에 대해서 관심있는 사람들이 입문할 수 있도록 친절하게 구성되어 있다고 생각한다. 또한 추천시스템을 도입하는 경우 가장 먼저 고려해야 할 부분이 정확도와 효과 측정에 관련한 부분인데 이 둘을 어떻게 판단할 수 있는지, 정확도에 대한 부분과 A/B test 등에 대한 설명도 포함되어 있어서 입문자에게 정말 맞춤이라고 느껴졌다. 추천 시스템에 대해서 관심이 생겨 공부하고 싶다면 이 책을 추천하고 싶다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

​필요한 용품을 생각하던 시기에 스마트폰 어플에서 관련 상품이 추천되고 있다며 의아해하던 여러 경험담들을 듣고 있던 시기에 이 책을 접하게 되었다.

 

이 책에서는 추천 시스템을 '여러 후보 가운데 가치 있는 것을 선정해서 의사 결정을 지원하는시스템'이라고 정의하고, 이 정의에 기반하여 설명하고 있다. 서문에서 저자의 언급처럼, 사용자가 선호하는 아이템을 빠르게 수집해서 사용자의 만족도를 높이고, 이를 매출 및 회원수 증대로 연결하려는 다양한 노력을 통한 아이템 제시 방법, 즉 서비스 목적에 따른 추천 시스템 조합 및 적용 사례, 추천 알고리즘 개요와 실무 활용 방법을 알려주고 있다.

 

1장에서 4장까지는 추천 시스템의 개요, 종류, 개발 프로젝트 진행 절차, UI/UX, 대표 알고리즘인 협조 필터링과 내용 기반 추천에 대해 상세히 설명해준다.

5장에서는 MovieLens 영화 데이터셋을 활용하여 실무에서 직면하는 구체적인 알고리즘 구축과정의 문제점이나 그 대처방안에 대해 설명을 하고 있다. 이 책의 옮긴이 '김모세'님의 GitHub에서 상세한 주석이 달린 Python 코드를 다운로드해서, Jupiter Notebook이나 Google Colab에서 코드 실행 결과를 확인할 수 있다. 각각의 알고리즘에 대한 상세는 추후 별도의 학습이 필요하니, 전반적인 흐름에 대한 이해와 소개가 주 목표인것 같다.

6장에서는 추천 알고리즘을 서비스하기 위한 시스템에 대한 개요를 서술한다.

7장에서는 추천 시스템 평가방법에 대해 설명을 한다(처음 보는 수식들과 용어들을 소개한다)

8장에서는 추천 시스템에서 발생하는 편향에 대한 내용, 상호 추천 시스템(User-to-User 서비스) 등 추천 시스템 관련 발전적인 주제들에 대해서 설명하고 있다.

 

부록에서는 넷플릭스의 추천 시스템의 역사, 사용자-사용자 메모리 기반 방법을 설명한다.

 

이 책은 추천 시스템에 대한 개요를 상세히 설명하고, 적용방식 및 알고리즘에 대한 개략적인 소개를 하고, 각자의 필요에 따라 본문에 인용한 논문을 찾아보거나 책을 참고하여 상당한 심화학습으로 이어지기를 바란다는 저자들의 목표에 부합하는 입문 서적이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

인터넷 쇼핑몰에서 상품을 검색하고 상세페이지의 정보를 보다보면 어느 부분엔가 이 상품을 구매하신 분이 이런 상품도 같이 구매했다는 상품이 나열되는 부분이 있거나,  보고 있는 상품과 비슷한 상품을 나열해주기도 합니다

유튜브에서도 내가 검색하거나 어떤 동영상을 자주 보면 그 채털에 새로운 동영상이 나오면 검색하지 않아도 초기화면에 나옵니다. 

이러한 추천 정보가 어떻해서 나오게 되는 걸까 궁금하여서 이 책을 읽게 되었습니다

560-1.jpg

 

책 시작 부분에 대상 독자 안내에서 개발자 또는 데이터 과학자, 프로덕트 매니저 또는 UI/UX 디자이너, 연구자 또는 학생 에 따라서 각 장의 내용을 어떻게 참고하면 좋을 지도 안내되어 있습니다.

 

책 두께는 1cm 정도 되고, 추천 시스템의 역사부터해서 추천 시스템의 종류, 비교 등 추천 시스템에 대한 기본 정보에서 부터 차근 차근 설명하여 깊이 들어가서 재미있게 읽었습니다.

5장에는 추천시스템을 프로그램에서 구현하기 위한 알고리즘을 파이썬 코드로도 보여줍니다.

 

제가 프로그래머가 아니라서 코드 부분은 열심히 읽지 못했는데, 프로그래밍과 파이썬을 잘 해서 5장의 알고리즘 코드 부분도 분석하고 이해했었으면 좋았겠습니다.

 

뒷부분에는 넷플릭스의 추천 시스템에 대한 부분도 있었는데 흥미롭고 재미있었고, 읽으면서 추천시스템이 이렇게  이런식으로 이루어져서 추천 정보를 보여주는구나 하는 전체적인 것을 알 수 있었습니다. 

 

지은이의 말에 '이 책은 추천 시스템을 도입하고자 하는 독자나 조직이 우선적으로 읽어야 할 입문서를 목표로 집필되었다' 고 합니다. 추천 시스템에 관심있거나 도입해야하거나 프로그래밍해야하는 분들께서 읽어보시면 좋을 것 같습니다

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."