brunch

You can make anything
by writing

C.S.Lewis

by Woodinni Sep 25. 2023

당신은 알고리즘으로부터 자유로운가?

핸드폰이 날 보고 있나라는 생각과 이미 유튜브와 구글은 우릴 도청하고 있다는 말이나 생각을 해본 적이 있을 것이다. 이러한 일을 가능하게 해주는 것은 알고리즘 때문이다. 알고리즘이란 도대체 무엇일까?



알고리즘(Algorithm)이란 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정이다. 이를 자세히 설명하면 컴퓨터를 활용한 문제 해결 과정에서 주어진 문제를 해결하는 일련의 방법 또는 절차이며, 문제해결 방법을 순서대로, 절차대로 나열한 것이라고 볼 수 있다.


그렇다면 앞서 말했던 유튜브, 유튜브 뮤직, 스포티파이, 넷플릭스, 아마존처럼 마치 나의 생각을 읽고 있고 어디서 나를 지켜보는 듯한 느낌을 가능하게 하는 것은 추천 시스템 중 각각이 사용하고 있는 알고리즘 덕분이라고 할 수 있다.


추천 시스템(Recommendation Systems)은 사용자가 관심을 가질만한 정보를 제공하는 시스템이라고 쉽게 말할 수 있다. 무엇에 관심을 가질지 알아내기 위해서는 데이터가 필요한데 사용자가 과거에 좋았거나 싫었다고 남겼던 피드백을 사용한다. 이 피드백은 명시적 피드백(Explicit Feedback)과 암시적(Implicit Feedback)으로 나눌 수 있다.


명시적 피드백(Explicit Feedback)

사용자의 긍/부정을 수치로 나타낸 데이터

아이템에 대한 사용자의 선호도를 직접적으로 알 수 있는 데이터

직관적이지만 사용자가 직접 평가해야 하므로 데이터를 얻기 어렵고 크기가 작음

ex) 영화, 맛집 평점, 좋아요/싫어요


암시적 피드백(Implicit Feedback)

사용자가 아이템을 얼마나 소비했는지를 기록한 데이터

직관적으로 알 수 없는 경우 사용

긍/부정에 대한 구분이 없음

쉽게 구할 수 있음

부정적인 피드백이 없고, 노이즈가 있음

최근 추천 알고리즘들은 암시적 피드백을 사용하여 구현

ex) 뉴스 클릭 수, 검색 기록, 페이지 유지 시간, 구매 내역 등


그렇다면 추천시스템에 적용되는 알고리즘은 추천 알고리즘(Recommendation Algorithm)이라고 할 수 있다. 사용자에게 제품, 서비스, 콘텐츠 또는 정보를 개인화된 방식으로 추천하는 데 사용되는 것으로 크게 세 가지 유형으로 나눌 수 있다.


1. 콘텐츠 기반 추천 알고리즘(Content-Based Recommendation):  

이 알고리즘은 사용자의 이전 행동 및 관심사를 기반으로 추천한다. 예를 들어, 사용자가 이전에 구매한 상품, 클릭한 링크, 또는 좋아한 콘텐츠를 바탕으로 유사한 아이템을 추천한다. 

출처 : 알고리즘 잘 타는 콘텐츠의 A to Z [maily]

분석절차를 자세히 보면 1) 이미지, 음성, 태그, 상품 설명서, 리뷰 등과 같은 아이템의 설명으로부터 아이템의 특징을 추출한다. 이때 아이템의 설명을 알고리즘(모델)이 이해할 수 있는 형태인 벡터로 변환한다 2) 알고리즘을 이용하여 과거에 좋게 평가했던 아이템 A와 유사한 아이템들을 선별한다 만약 군집화 알고리즘을 이용한다면, 아이템들을 몇 종류의 군집으로 나눈 후 아이템 A와 동일한 군집에 있는 아이템 A, B, C, D를 추천할 아이템 후보로 선정하는 것이다 여기서 아이템 사이의 유사성을 무엇으로 파악하고 (어떤 특징을 사용할 것인지), 어떻게 계산할지가 콘텐츠 기반 필터링의 핵심이다. 3) (사용할 수 있는 데이터에 평점이 있는 경우) 추천할 아이템 후보 중에서도 평점이 높을 것으로 예상되는 일부 아이템 A와 B를 우선적으로 추천한다.


콘텐츠 기반 필터링은 다른 사용자들의 데이터가 없어도 추천이 가능하다. 또한, 아이템의 설명만 있다면 어떠한 아이템도 추천이 가능하며 추천을 하는 근거를 설명할 수 있다. 하지만 아이템의 설명을 구성하는 과정에서 주관성이 개입될 수 있고 과거에 좋아했던 아이템을 제공하지 않으면 추천이 어렵다. 또한, 아이템 속성 정보 간의 연관성을 바탕으로 하기에 사용자가 이미 알고 있거나 유사한 아이템들만 추천받을 수 있다고 느낄 수 있다.



2. 협업 필터링(Collaborative Filtering):  

협업 필터링은 특정 상품에 대한 선호도가 유사한 고객들은 다른 상품에 대해서도 선호도가 비슷할 것이다라는 가정하에 비슷한 성향/취향을 가진 다른 유저가 좋아한 아이템을 현재 유저에게 추천하는 방식이다. 이 알고리즘은 사용자 간 유사성 또는 아이템 간 유사성을 평가하고, 사용자의 행동과 유사한 다른 사용자의 행동을 기반으로 추천을 제공한다. 협업 필터링은 사용자-사용자 협업 필터링과 아이템-아이템 협업 필터링으로 나뉜다. 

출처 : 알고리즘 잘 타는 콘텐츠의 A to Z [maily]

협업기반 필터링의 분석절차를 보면 사용자가 아이템에 대하여 남긴 평점 데이터를 이용하여 아직 평점을 남기지 않은 아이템들에 대한 예측을 수행하고, 예측 평점이 높은 N개의 아이템을 추천하는 방식이다. 어떤 것들끼리 유사도를 계산할 것인가에 대해 사용자 기반과 아이템 기반으로 나눌 수도 있다. 사용자 기반은 사용자 간 유사도를 계산하며 사용자 B와 C가 유사한 사용자라면 B가 사용했지만 C가 사용하지 않은 2번 아이템을 추천해 주는 것이다. 아이템 기반은 아이템 2번과 3번이 유사하다면 아직 아이템 3번을 사용하지 않은 사용자 C에게 3번을 추천해 주는 것이다.


3. 하이브리드 추천 알고리즘(Hybrid Recommendation):  

하이브리드 추천 알고리즘은 콘텐츠 기반과 협업 알고리즘의 장단점을 보완하여 보다 정확하고 효과적인 추천을 제공하는 방식이다. 협업 필터링의 경우 신규 사용자에 대해 추천이 어려울 수 있고 콘텐츠 기반 필터링은 사용자의 취향을 파악해 새로운 영상을 추천하기 어려울 수 있다.

출처: Towards a deep learning model for hybrid recommendation

이러한 알고리즘에 관련된 대표적인 서비스들은 유튜브, 넷플릭스, 아마존, 링크드인, 스포티파이 등이 있다.




작가의 이전글 크리에이터의 공정한 수익을 위한 플랫폼 Stir
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari