Programming

추천 알고리즘, 초개인화 서비스 시대가 가져온 숙제

송코딩 songcoding 2024. 11. 29. 07:59
예외 처리 시리즈에 잠깐 끼워봅니다. 추천 알고리즘 종류.. ⭐️ (왜 끼우는 지는 알죠?)

 

 

안녕하세요 여러분!

김송아입니다.

 

이틀 전에는 수도권에 첫눈이 쏟아졌죠?☃️

이렇게 첫눈이 폭설처럼 내린 건 100년 넘게 처음이라고 하더라구요!

그래서 그런지, 첫눈에 스키타고 출근한 선..선생님도 계시구요.... (진짜 선생님임)

 

출처 : SBS 뉴스

 

저는 이렇게 눈이 오는 날에는 이상하게 드라마 도깨비가 생각나더라구요.

첫눈처럼 내게 내렸다..? 내게 왔다...? 그 에일리님 노래 있잖아요!! 그것 때문인지..💓

 

그래서 유튜브로 밥먹을 때 마다 틈틈히 기가 막히게 정주행 해줬죠.

근데 도깨비 한편을 봤더니.. 갑자기 제 유튜브 쇼츠는 온갖 도깨비로 도배가 되는 게 아니겠어요..?

 

아니 유튜브를 아무리 안한대도 이렇게 도배할 것 까지얔ㅋㅋㅋㅋ @출처 : 유튜브


대체 이런 추천은 어떻게 해주는 걸까요?

개발자 마음~ 대로 기준을 설정해서 추천해주는 것 같겠지만.. 놀랍게도 (두둥)

나름 기준이 크게 나뉜다는 것 알고 계셨나요?

 

 

서비스들이 점점 더 초개인화로 가는 요즘, 개발자라면 한번쯤 생각해봐야 할 추천 알고리즘에 대해

오늘 알아봅시다 (두둥탁)

 

 

 


 

⭐️ 추천 알고리즘이란?

 

우리가 쉽게 말하는 '추천 알고리즘'이란, 사용자의 데이터를 분석하여 사용자 맞춤형 콘텐츠를 제공하는 알고리즘을 말합니다.
요즘엔 정말 모든 채널과 플랫폼에서 사용자의 취향에 맞게 추천해주는 알고리즘을 제공하고 있죠?

 

🤔 어떤 것들이 있는지 예시를 생각해볼까요?

1) 유튜브 : 너 이거 관심있지? 관심 있잖아! 관심있지!!!!!!!!

2) 넷플릭스 : 너 이거 봤던데, 이거랑 비슷한 거 들고와 봤어 이것도 봐봐봐

3) 쇼핑몰 : 너 이거 샀던데, 다른 사람들은 이거랑 같이 사던데?? 이거 안 필요해???

 

 

그냥 언뜻 보면 다 비슷한 추천 알고리즘 같겠지만, 자세히 들여다보면 디테일이 완전 다른 알고리즘들입니다.

추천 알고리즘 종류도 분석해볼게요.

 


⭐️ 추천 알고리즘의 종류


추천 알고리즘은 크게 세 가지 방식으로 분류할 수 있습니다. 하나씩 가볍게 알아보시죠!!
이정도만 알고 계셔도 됩니다. 중요한건 아티클 제일 마지막에 있어yo..

 

1️⃣ 협업 필터링 (Collaborative Filtering)

??? : 너 이거 샀던데, 다른 사람들은 이거랑 같이 사던데?? 이거 안 필요해???

 

다른 사용자와의 유사성을 기반으로 추천하는 방법입니다.

사용자 A와 B가 같은 것을 구매하거나 비슷한 것을 구매하면, A가 구입한 다른 것을 B에게 추천해주는 것이죠.

 

2️⃣ 콘텐츠 기반 필터링 (Content-Based Filtering) 

??? : 너 이거 재밌어 하던데, 이거도 비슷한데 한번 볼래?

 

콘텐츠의 특성을 분석해 유사한 항목을 추천하는 방법입니다. 콘텐츠 분석 알고리즘이라고도 불려요.

사용자 A가 본 영화의 장르, 감독 등을 분석해 콘텐츠 자체로 비슷한 영화를 추천합니다. 

 

3️⃣ 하이브리드 방식 (Hybrid Approach)  

??? : 너 이거 봤던데? 심지어 재밌어 하던데.. 너랑 취향 비슷한 사용자가 이런 것들 보던데.. 그 중에서 너가 여태 봐왔던 콘텐츠들 장르랑 감독, 분위기 등등 비슷한 걸 콕 찝어와봤어

 

협업 필터링과 콘텐츠 기반 필터링을 결합하여 추천하는 방법입니다. 즉, 다른 사용자와의 유사성과 콘텐츠의 특성을 모두 살린 방법입니다.

당연히 두 방식의 단점을 보완해 더 정밀한 추천이 가능합니까, 훨씬 좋겠죠?

그래서 아마 요즘엔 대부분의 채널들이 하이브리드 방식을 사용하고 있습니다. 대표적으로 넷플릭스가 있어요!

 

 

그럼 대체 이러한 추천 알고리즘은 대체.. 어떻게 작동할까요?

추천 알고리즘의 작동 원리는 크게 3단계 입니다.


1) 데이터 수집  -> 2) 데이터 분석  -> 3) 추천 생성  

 

1) 데이터 수집 : 사용자의 클릭, 검색, 구매/시청 이력 등 사용자 데이터를 수집합니다.  
2) 데이터 분석 : 수집한 데이터를 분석해 사용자 패턴을 파악합니다.  
3) 추천 생성  : 분석 결과를 바탕으로 개인 맞춤형 추천을 제공합니다.

 

맞아요. 굉장히 당연한 말입니다.ㅋㅋㅋㅋㅋㅋ

그럼 개발자가 신경써야할 부분은 어디일까요?

맞아요, 개발자가 신경써야할 부분은 바로 데이터 분석과 추천을 생성하는 추천 알고리즘이겠죠.

 

✔️ 수집한 데이터를 어떻게 쓸 것인지 결정하고, 

✔️ 그 데이터를 사용해 빠르게 조회하고!!!
✔️ 악!!!!!

 

 

사실 되게 어렵고 복잡한 로직이 필요한 것이 아닙니다. 정답이 없어요.. 진짜 상황따라 업계 따라 다 다를 뿐.. 그래서 더더욱!!!

여러분들의 생각이 중요할 것 같아요.

업계별로 사용자의 데이터는 다 다르겠지만 분류하는 기본 방법은 모두 같으니!!

 

 

여러분이 관심있는 업계에서는
추천 알고리즘을.. 어떻게 구현할지 주말 동안 (3분이라도) 생각해보셨으면 좋겠습니다!!!

제발🫶🏻

 

 

추천 알고리즘은 이제 그냥 추천을 넘어서, 사용자가 이끌려 다니는 알고리즘이 되어버렸죠.

그만큼 정말정말 중요한 알고리즘으로 자리잡았습니다.

그치만 길찾기 알고리즘처럼 로직이 어려운게 아니라 데이터를 어떻게 바라보느냐의 관점이 중요한 추천 알고리즘!!!!

 

여러분의 경험도 궁금하네요!! 
여러분은 어떤 추천 경험을 하셨나요? 혹시 있으시다면, 댓글로 공유해주셔도 너무너무 좋을 것 같구요!!


주말 동안 자신이 관심있는 업계를 생각해보고,,
나라면 어떤 데이터를 어떻게 활용할 것 같은지 댓글로 간략하게라도 공유해주시면 저랑 같이 논의해보시죠💓

 

 

그럼 오늘도 긴 글 읽어주셔서 감사드리구~~

여러분, 좋은 주말 되시구!!

감기 걸리지말고~ 따뜻한 하루들 되시길 바랍니다☕️