brunch

You can make anything
by writing

C.S.Lewis

by 빅인 Aug 16. 2019

추천 알고리즘,
내 취향을 어떻게 그렇게 잘 알아?

집단지성에서 파생된 협업 필터링과 최신 추천 알고리즘 알아보기




평범한 다수가 똑똑한 소수보다 낫다.


여러분은 이 말에 동의하시나요? 


제임스 서로위키(James Surowiecki)는 『Wisdom of Crowds』라는 책에서 우수한 한 명의 직감보다는 평범한 여러 명의 직감의 조합이 더 우수한 결과를 만든다는 이야기를 합니다. 


이에 대한 다양한 의견이 존재할 듯합니다. 하지만 이번 콘텐츠만큼은 열린 마음으로 읽어주시기 바랍니다. 오늘의 주제인 ‘집단지성'의 개념과, 여기서 파생된 추천 알고리즘을 잘 이해하기 위함입니다. 


위의 명제를 무비판적으로 수용하지는 않되, 크게 의심할 필요 또한 없을 것 같습니다. 추천 알고리즘이 이미 많은 분야에서 활용 중이라는 점이 그 정확성을 꽤나 증명하고 있으니 말입니다.





집단지성(Collective Intelligence)이란?


다수의 개체들이 서로 협력함으로써 얻게 되거나 더욱 배가되는
집단적인 지적 능력


이 용어는 1910년대 하버드 대학 교수이자 곤충학자인 윌리엄 모턴 휠러가 개미의 사회적 행동을 관찰하면서 처음 사용되었습니다. 개체로는 미미한 개미가 공동체로서 협업하여 거대한 개미집을 만들어내는 과정은 집단이 개인보다 높은 지능 체계를 형성함을 잘 설명합니다. 새, 물고기 떼 등의 움직임 또한 개체 하나의 지적 능력을 넘어 집단지성을 이루고 더 큰 힘을 발휘함을 보여주는 사례입니다.


[그림 1] 개체로는 미미한 새들이 대형을 이뤄 날아가는 모습은 집단지성을 잘 보여준다.


인간사회에서 역시 집단지성의 사례를 어렵지 않게 찾을 수 있습니다. 집단지성은 인터넷이 대중화되면서 많은 사용자들의 정보 교환이 수월해짐에 따라 더욱 조명받았습니다. 


대표적인 사례로 오픈 백과사전인 위키피디아를 꼽을 수 있습니다. 지난 한 해동안 세계에서 다섯 번째로 가장 많은 방문자들이 찾은 사이트에 등극할 정도로 저명한 인터넷 백과사전입니다. 위키피디아는 오늘날 전 세계 295개의 언어로, 약 4천3백3십만 개 이상의 문서를 보유하고 있습니다. 25만여 명의 개인 편집 참여자가 끊임없이 토론하고 편집한 지식정보의 집약체라고 할 수 있습니다.


[그림 2] 인간사회에서의 집단지성을 보여주는 위키피디아


집단지성의 개념을 이해하셨나요? 

그럼 이제 이 개념에서 파생된 추천 시스템을 소개해드리겠습니다.





협업 필터링(Collaborative Filtering, CF)이란?


집단지성의 힘을 빌려보겠습니다. 위키피디아는 협업 필터링을 다음과 같이 정의하고 있습니다.

많은 사용자들로부터 얻은 기호 정보에 따라
사용자들의 관심사들을 자동적으로 예측하게 해주는 방법


가장 일반적인 예로, 온라인 쇼핑몰에서 ‘이 상품을 구매한 사용자가 구매한 다른 상품들’이란 카테고리로 추천 상품을 보여주는 서비스를 들 수 있습니다. 


협업 필터링의 포인트는 ‘많은 사용자들'로부터 얻은 기호 정보입니다. 사용자들의 행동이 축적되어감에 따라 추천 결과의 정확도가 더욱 높아지기 때문입니다. 여기서 말하는 ‘사용자의 기호 정보’가 집단지성에서의 ‘다수의 개체'가 되는 것이죠. 축적된 사용자의 기호를 기반으로 추천 시스템을 가동한다면 더 만족스러운 결과를 도출할 수 있다는 점에서 집단지성의 개념과 일맥상통합니다.


협업 필터링의 유형으로는 아래 두 가지가 있습니다.   



1) 사용자 기반 추천 (User-based Recommendation)

나와 비슷한 성향을 지닌 사용자를 기반으로, 그 사람이 구매한 상품을 추천하는 방식입니다.


예를 들어 한 사용자가 온라인 몰에서 피자와 샐러드, 그리고 콜라를 함께 구매하고, 또 다른 사용자는 피자와 샐러드를 구매했다고 가정해보겠습니다. 알고리즘은 구매 목록이 겹치는 이 둘을 유사하다고 인식하고, 두 번째 사용자에게 콜라를 추천합니다.


SNS에서의 ‘친구 추천' 서비스 또한 같은 추천방식입니다. 내가 친구로 맺은 사람을 나와 비슷한 성향으로 인식하고 친구의 또 다른 친구들을 나에게도 추천하는 알고리즘입니다. 


사용자 기반 추천은 아래와 같이 도식화할 수 있습니다.

[그림 3] 사용자 기반 추천 도식화



2) 아이템 기반 추천 (Item-based Recommendation)

내가 이전에 구매했던 아이템을 기반으로, 그 상품과 유사한 다른 상품을 추천하는 방식입니다. 


상품 간 유사도는 함께 구매되는 경우의 빈도를 분석하여 측정합니다. 예를 들어 콜라와 사이다가 함께 구매되는 경우가 많다면 콜라를 구매한 사용자에게 사이다를 추천하는 것입니다.


아이템 기반 추천은 아래와 같이 도식화할 수 있습니다.

[그림 4] 아이템 기반 추천 도식화





협업 필터링 방식의 한계


언뜻 생각해보면 두 가지 방식 모두 사용자의 취향을 파악하기 위한 합리적인 방법입니다. 

그러나 협업 필터링에는 아래와 같은 몇 가지 단점이 있습니다.   



1) 콜드 스타트(Cold Start)

협업 필터링 알고리즘을 사용하기 위해 필수적인 요소를 눈치채셨나요? 바로 기존 데이터입니다. 


사용자 기반 추천방식만으로는 아무런 행동이 기록되지 않은 신규 사용자에게 어떠한 아이템도 추천할 수 없을 것입니다. 아이템 기반 추천방식에서도, 새로운 아이템이 출시되더라도 이를 추천할 수 있는 정보가 쌓일 때까지 추천이 어려워지겠죠.


콜드 스타트란 이러한 상황을 일컫는 말입니다. ‘새로 시작할 때의 곤란함’ 정도로 해석할 수 있습니다. 시스템이 아직 충분한 정보를 모으지 못한 사용자에 대한 추론을 이끌어낼 수 없는 문제입니다.  



2) 계산 효율 저하  

또 다른 문제점은 추천의 효율성이 떨어진다는 점입니다. 협업 필터링은 계산량이 비교적 많은 알고리즘이기 때문에, 사용자가 많아질수록 계산이 몇 시간에서 길게는 며칠까지 걸리는 경우도 종종 발생합니다.

 

사용자가 일정 수준 이상이어야 정확한 결과를 낼 수 있는 반면 시간이 더욱 많이 걸리게 된다는 점은 협업 필터링 알고리즘의 문제점이자 딜레마입니다.  



3) 롱테일(Long Tail)  

롱테일은 파레토 법칙(전체 결과의 80%가 전체 원인의 20%에서 일어나는 현상)을 그래프로 나타내었을 때 꼬리처럼 긴 부분을 형성하는 80%의 부분을 일컫는 말입니다. 이 현상을 협업 필터링에 적용하면, 사용자들이 관심을 많이 보이는 소수의 콘텐츠가 전체 추천 콘텐츠로 보이는 비율이 높은 ‘비대칭적 쏠림 현상'이 발생한다는 의미입니다. 


아이템이나 콘텐츠의 수가 많다고 하더라도 사용자들은 소수의 인기 있는 항목에만 관심을 보이기 마련입니다. 따라서 사용자들의 관심이 저조한 항목은 정보가 부족하여 추천되지 못하는 문제점이 발생할 수 있습니다.


미디어 시장의 롱테일을 그래프로 나타내면 다음과 같습니다.

[그림 5] 미디어 시장 콘텐츠의 롱테일 현상 그래프



인간의 집단지성은 협업 필터링의 한계 극복을 위해 ‘콘텐츠 기반 필터링’ 방식을 고안해내었습니다. 





콘텐츠 기반 필터링(Contents-based Filtering)이란?


콘텐츠 기반 필터링은 말 그대로 콘텐츠에 대한 분석을 기반으로 추천하는 방식입니다.

영화 콘텐츠의 경우라면 스토리나 등장인물을, 상품이라면 상세 페이지의 상품 설명을 분석합니다. 


콘텐츠 기반 필터링의 장점은 많은 양의 사용자 행동 정보가 필요하지 않아 콜드 스타트 문제점이 없다는 것입니다. 아이템과 사용자 간의 행동을 분석하는 것이 아니라 콘텐츠 자체를 분석하기 때문입니다.


그렇다면 콘텐츠는 어떻게 분석되고 분류될까요? 

이 작업은 기계가 할 수도, 사람이 할 수 도 있습니다. 


한 예로 넷플릭스에 올라오는 콘텐츠의 분류 방식을 들 수 있습니다. 지난번 개인화 마케팅 콘텐츠에서 추천 시스템을 성공적으로 활용했던 넷플릭스의 사례에 대해 잠깐 언급하기도 했었는데요. 넷플릭스에 올라오는 콘텐츠는 50명의 태거(Tagger)에 의해 분류됩니다. 이들의 역할은 콘텐츠를 면밀하게 보고 여기에 태그를 다는 것입니다. 태거 덕분에 넷플릭스는 사용자에게 더욱 정교한 추천을 할 수 있습니다. 사람이 단 태그를 바탕으로 콘텐츠를 5만 종으로 나눠 정리하기 때문입니다.


인터넷 신문사에서는 주로 이 업무를 기계가 실행합니다. 이때 사용되는 기술이 텍스트 마이닝 기술입니다.

매일같이 BTS 기사를 찾아보는 가상의 팬 B양이 있다고 가정해보겠습니다. 신문사는 텍스트 마이닝으로 B양이 읽는 기사 텍스트를 분석하고, 이와 관련 있는 또 다른 BTS 기사를 B양에게 추천합니다.


그렇다면 콘텐츠 기반 필터링의 문제점은 없을까요?


물론 이 방법에도 문제점이 존재합니다. 가장 큰 문제로 꼽히는 것은 '메타 정보의 한정성'입니다. 상품의 프로파일을 모두 함축하는 데에 한계가 있다는 점입니다.


쉬운 설명을 위해 BTS의 또 다른 팬 T군이 있다고 가정해보겠습니다. T군은 BTS 중에서도 특히 정국이라는 멤버를 좋아하여, 그와 관련 있는 신문 기사를 주로 찾아보았습니다. 

하지만 기사 내용만으로 콘텐츠를 분류해야 하는 신문사 알고리즘 입장에서는, T군의 성향을 세부적으로 파악하기가 어렵습니다. BTS 전체의 기사 텍스트와 BTS 중 한 명의 멤버에 대한 기사 텍스트에서 큰 차이가 없기 때문입니다. 여기서 콘텐츠 기반 필터링의 정밀성이 떨어지는 문제가 발생합니다. 





최신 알고리즘에 대하여


앞서 말씀드린 두 가지 방식의 한계 때문에, 최근에는 새로운 방식의 추천 시스템이 개발되고 있습니다. 그중 각광받는 아래 두 가지 최신 알고리즘을 소개해 드리고자 합니다.



1) 하이브리드 추천 시스템 (Hybrid Recommender Systems)

하이브리드 추천 시스템은 협업 필터링과 콘텐츠 기반 필터링을 조합하여 상호 보완적으로 개발된 알고리즘입니다. 협업 필터링의 콜드 스타트 문제 해결을 위해 신규 콘텐츠는 콘텐츠 기반 필터링 기술로 분석하여 추천하고, 충분한 데이터가 쌓인 후부터는 협업 필터링으로 추천의 정확성을 높이는 방식입니다.


데이터 분석 전문 기업인 '빅인사이트'에서 제공하는 추천 알고리즘 서비스 또한 하이브리드 추천 방식을 사용 중이며, 현재 다수의 유명 화장품 브랜드와 의류 브랜드 이커머스에서도 사용 중입니다. 고객사에서는 타 솔루션을 사용할 때와 비교해 최대 32%의 매출 성장을 이뤄낼 수 있었습니다. 

빅인사이트 추천 솔루션 도입 문의하기



2) 머신러닝 추천 시스템 (Machine Learning Recommender Systems)

머신러닝의 학습으로 추천하는 방식도 많이 개발되고 있습니다. 사용자에게 추천할 후보군을 먼저 보여주고 기계가 그에 대한 사용자 반응을 학습하며 점점 더 정교한 결과를 도출해내는 방식입니다.


빅인사이트에서 제공하는 서비스인 '빅인(bigin) 애널리틱스'의 잠재고객 인사이트 또한 머신러닝의 학습을 기반으로 도출됩니다. 빅인의 머신러닝은 사용자의 단순한 콘텐츠 소비를 넘어서, 상품 조회 및 페이지 클릭 등 사소한 행동까지도 학습합니다. 특정 사용자에게 그와 비슷한 행동을 보인 다른 사용자가 구매한 상품을 노출시킴으로써 구매 전환율을 상승시키는 방법으로 활용할 수 있습니다. 

빅인(bigin) 더 알아보기





글을 마치며


이상으로 집단지성의 개념과 추천 시스템의 기본인 협업 필터링, 한계 극복을 위한 또 다른 시스템인 콘텐츠 기반 필터링까지 알아보았습니다. 


협업 필터링은 제안된 지 20년이 지난 기술이지만 간결함과 정확성 덕분에 아직까지도 많은 추천 시스템에서 활용되고 있습니다. 그리고 더욱 정확한 결과를 위해 많은 변형 알고리즘과 방법들도 소개되고 있습니다. 


넘쳐나는 콘텐츠 속에서 살아남기 위한 방법은 정교한 추천 시스템으로 사용자의 리텐션을 늘리고 지속적인 소비를 유도하는 것입니다. 유튜브는 추천 시스템의 도입으로 총 비디오 시청 시간을 20 배 이상 증가시켰고, 넷플릭스 자체 평가로는 매출의 75%가 추천 시스템에 의해 발생한다고 합니다. 추천이 수익이 되는 시대라고 해도 과언이 아닌 만큼, 많은 개발자들과 연구원들로부터 더욱 발전된 방법들이 개발될 것이라 기대가 됩니다. 


추천 결과에 대한 만족도나 예측의 정확성은 추천 시스템의 생명이라고 할 수 있습니다. 

또한 대용량의 데이터를 빠른 속도로 분석해 콘텐츠를 추천해줄 수 있어야 합니다. 


지금도 머신러닝의 정확도와 효율성을 높이기 위해 끊임없이 연구하는 빅인사이트 집단지성의 성장도 관심 있게 지켜봐 주시기 바랍니다.








참고자료

https://www.sciencetimes.co.kr/?news=새로운-연구-방식인-집단지성&s=집단지성https://ko.wikipedia.org/wiki/위키백과https://ko.wikipedia.org/wiki/협업_필터링http://www.kocca.kr/insight/vol05/vol05_04.pdfhttp://blog.skby.net/협업-필터링-collaborative-filtering/http://biz.chosun.com/site/data/html_dir/2019/05/09/2019050901303.htmlhttp://www.shinailbo.co.kr/news/articleView.html?idxno=1077552https://www.oss.kr/info_techtip/show/5419f4f9-12a1-4866-a713-6c07fd36e647


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari