[블로터10th]언론사가 알아야 할 알고리즘② 협업 필터링 추천

가 +
가 -

2015년 9월, 새누리당은 포털 뉴스 서비스의 편향성을 정치 아젠다로 꺼내놓았다. 다소 해묵은 논란이었지만 몇몇 보고서를 근거로 갑작스럽게 불을 지핀 것이다.

당시 네이버와 카카오의 대응은 차이는 있었지만 대체로 사람의 개입을 점차 줄여가고 있다는 게 요지였다. 이 가운데 카카오 쪽은 “지난 6월부터 ‘루빅스’라는 자동 알고리즘 시스템을 모바일에 우선 도입해 더 이상 뉴스 메인 편집을 사람이 하지 않는다”라며 적극 방어했다.  개인 맞춤형 추천 알고리즘으로 뉴스를 배열하고 있어 편향성 논란은 적절하지 않다는 얘기였다. 이때부터 루빅스는 다음 뉴스의 편향성 논란을 잠재우는 기술적 무기로 종종 동원되고 있다.

카카오 쪽의 설명에 따르면 루빅스는 ‘Real-time User Behavior-based Interactive Content recommender System’의 첫 글자를 딴 약어다. 실시간으로 사용자의 행위에 따라 상호작용하면서 콘텐츠를 추천하는 알고리즘이라는 의미를 갖고 있다. 이 가운데 주목해야 할 단어는 ‘실시간’이다. 그 이유는 뒤에서 설명할 예정이다.

협업 필터링 알고리즘의 등장과 확산

RICH_RECO

협업 필터링(Collaborative Filtering)은 추천 시스템의 한 줄기다. 그 필요는 컴퓨터가 보편화하던 1970년대부터 시작됐다. 정보의 양이 빠른 속도로 증가하면서 그에 걸맞는 정보 추천 시스템의 필요가 대두된 것이다.

그 첫 번째 흔적은 1979년 일레인 리치 텍사스대 교수의 논문에서 발견할 수 있다(Rich, E., 1979). 그가 당시 발표한 논문 ‘User Modeling via Stereotypes’은 다음과 같은 질문과 시나리오로 시작한다.

“대형 도서관에 누군가 들어왔다. 그리곤 사서에게 중국에 관심이 있다며 관련 책을 알려달라고 요청했다. 도서관 사서는 어떤 종류의 책을 추천해야 할까? 그 사람이 중국에 관한 TV 쇼를 본 어린 아이여서 이국적인 장소의 사진을 더 보길 원한다면?”

리치 교수는 이 같은 질문을 바탕으로 사서 역할을 하는 추천 시스템인 ‘그런디'(Grundy)를 구상해냈다. 그는 주민을 잘 알고 있는 지역 도서관의 사서, 전혀 모르는 대형 도서관의 사서 등 다양한 가정들을 설정하며 각각에 맞는 효율적인 추천 방식을 열거했다. 그리고 이를 스트레오타입의 알고리즘으로 구현하는 아이디어를 논문을 통해 발표했다. 다시 강조하지만 이 논문은 1979년에 발표됐다.

rich-hr

협업 필터링의 개념을 기초한 일레인 리치 텍사스대 교수.(사진 : 텍사스대 웹사이트)

리치 교수의 구상은 1990년대 들어오면서 보다 정교한 알고리즘으로 서서히 다듬어지기 시작했다. 이번에는 그 유명한 미국 팔로알토 제록스연구소의 태피스트리 프로젝트로 옮겨갔다. 협업 필터링 알고리즘의 등장을 통상 이 시점을 못박는 연구들이 많다.

제록스연구소의 정보 태피스트리 프로젝트는 엄밀하게 따지면 수동 협업 필터링 시스템이다. 당시 제록스연구소는 ‘태피스트리’라는 메일 시스템을 개발했다. 이 메일 시스템에 사용자가 관심 있는 메일링 리스트만 추려서 볼 수 있는 기능이 적용됐는데 이때 적용된 방식이 협업 필터링이었다. 개발을 주도했던 데이비드 골드버그 등은 1992년 발표한 논문에서 협업 필터링을 이렇게 정의했다. “협업 필터링은 간단히 말해서, 그들이 읽었던 문서를 기록함으로써 사람들끼리 필터링을 도와주는 것을 의미한다.”(Goldberg, D., et all, 1992).

이후 자동화한 협업 필터링 알고리즘이 우후죽순 등장하기 시작했다. 1997년에 개발된 그룹렌즈를 비롯해 음악 분야의 링고, 영화 분야의 벨코어 비디오 추천기 등이 잇달아 선보였다. 그러다 협업 필터링 알고리즘의 황금기를 불러온 아마존 서적 추천 시스템이 등장하면서 협업 필터링은 가장 보편적인 콘텐츠 추천 알고리즘의 위상을 확보하게 됐다.

뉴스 추천 어떻게 이뤄질까

Collaborative_filtering ‘추천 시스템=협업 필터링’협업 필터링 외에 콘텐츠 기반 필터링 알고리즘(Content Based Filtering)도 있다.close이라는 등식이 성립된 뒤부터 협업 필터링 알고리즘은 다양한 방식으로 분화해갔다. 앞서 언급한 다음 앱의 추천 시스템은 근저에는 협업 필터링 알고리즘이 깔려 있다.

응용 분야도 폭넓어졌다. 온라인 서점을 비롯해, 뉴스 서비스, 쇼핑 서비스, 음악이나 영화 서비스 등에서 빼놓을 수 없는 알고리즘으로 자리잡았다. 아마존이나 교보문고 사이트를 가든, 멜론을 가든 사용자들은 협업 필터링 알고리즘이라는 ‘보이지 않는 손’에 노출돼 있다.

협업 필터링 알고리즘은 추천 예측도(정확도)를 높이기 위해 ▲메모리 기반 ▲모델 기반 ▲하이브리드 3가지 방식으로 진화했다. 각각의 유형에 따라 작동 방식도 상이하다. 여기서는 협업 필터링 알고리즘의 기초라 할 수 있는 메모리 기반 협업 필터링 알고리즘을 위주로 설명을 이어갈 것이다.

메모리 기반 협업 필터링은 크게는 사용자 기반 방식(User-User CF)과 아이템 기반 방식(Item-Item CF)으로 나뉜다. 사용자 기반 방식은 1994년 그룹렌즈 추천 시스템에 처음 적용된 고전적 협업 필터링 알고리즘으로 현재까지도 두루두루 사용되고 있다(Ekstrand, M. D. et al., 2011).

사용자 기반 협업 필터링은 사용자 간의 취향 유사도를 분석해 뉴스 등을 추천하는 방식으로 진행된다. 예를 들어, 철수는 정치, 사회, 문화 뉴스를 좋아한다고 가정하자. 철수와 비슷한 성향의 영철이는 최근 정치 뉴스를 봤다. 사용자 기반 협업 필터링 알고리즘은 철수와 영철이가 비슷한 부류라는 전제 아래 사회나 문화 뉴스를 추천하게 된다.

협업 필터링 알고리즘의 종류

종류구현 기법
메모리 기반 CFUser-User Based
Item-Item Based
모델 기반 CF베이지안(Bayesian belief nets) CF
클러스터링 CF
회귀(Regression) 기반 CF
잠재(Latent) CF
차원 축소(Dimensionality Reduction) CF
하이브리드 CFContent-Based CF
Combining algorithms
협업 필터링 알고리즘의 종류와 구분. 조현제&이필규(2014) 재인용.

사용자 기반 협업 필터링을 위해서는 사용자간의 유사도를 계산해야 한다. 철수와 영철이가 비슷한 성향이라는 사실을 파악하기 위해서는 여러 요소들을 분석해 유사함의 정도를 파악해내야 한다. 이때 활용되는 계산 모델이 코사인 유사도, 피어슨 상관계수, 스피어만 상관계수 등이다.

사용자 기반 협업 필터링은 사용자가 늘어날수록 계산량이 급격하게 증가한다. 쇼핑몰의 사용자수가 하루 평균 100만명이라면 100만명의 유사도를 매번 계산해줘야 하므로 규모 문제가 발생할 수밖에 없다. 이 문제를 해결하기 위해 등장한 방식이 아이템 기반 협업 필터링이다.

아이템 기반 협업 필터링은 이보다 복잡하게 진행된다. 아이템 기반 협업 필터링은 사용자 기반 방식과는 반대로 아이템의 유사도를 먼저 측정한다. 이를테면 네이버 스포츠의 ’이 기사를 본 사람들이 본 뉴스‘나 교보문고의 ’이 책을 구매하신 분들이 함께 구매하신 상품입니다‘가 아이템 기반 협업 필터링이 적용된 추천 시스템이다. 즉, A라는 책을 구매한 사람이 대부분의 B를 구매했다면, A와 B의 유사도가 높다고 계산해, A만 구매한 사람에게 추천하는 형태다.

모델 기반 협업 필터링과 넷플릭스·루빅스

dauminfo_02

다음 앱의 루빅스가 작동하는 방식.(출처 : 카카오 블로그)

추천 결과에 대한 만족도나 예측의 정확성은 협업 필터링 알고리즘의 생명이다. 또한 대용량의 데이터를 빠른 속도로 분석해 콘텐츠를 추천해줄 수 있어야 한다. 다음 앱의 루빅스 알고리즘이 실시간성을 강조하고 있는 것도 이러한 맥락에서 이해할 수 있다.

모델 기반 협업 필터링은 쉽게 설명하면 협업 필터링과 기계학습의 조합이다. 따라서 기계학습에 사용되는 알고리즘이 협업 필터링의 수식어로 들어오는 경우가 많다. 베이지안 CF, 클러스터링 CF, 회귀 기반 CF, 잠재 CF 등 대부분이 1회에서 살펴봤던 기계학습 관련 용어들이 수식어 자리를 채우고 있다. 관련 데이터를 학습하면서 예측 정확도를 높여간다는 의미로 해석할 수 있다.

이 가운데 잠재 모델 기반 협업 필터링은 주목할 필요가 있다. 넷플릭스와 같은 고도화된 추천 시스템을 개발할 때 자주 활용되는 알고리즘이어서다. 다음 앱에 적용된 방식도 모델 기반 협업 필터링으로 추정된다.

이 알고리즘은 아이템의 다양한 메타데이터를 분석해 사용자가 선호하는 이유를 밝혀내는 방식으로 작동한다(서봉원, 2016). 그래서 뉴스 추천에 유용하다. 뉴스의 주요 속성, 예를 들어 언론사나 기자, 취재원, 카테고리 등을 분석해 철수라는 사용자가 해당 기사를 선호하는 이유(패턴)를 먼저 파악한다. 이를 바탕으로 철수가 좋아할 만한 특정 언론사의 A기자 뉴스를 추천해줄 수 있는 것이다. 어마어마한 계산양을 처리할 수 있는 구조를 만들어낼 수 있다면, 높은 정확도로 추천 결과를 뽑아낼 수 있다.

주목해야 할 가정과 전제 조건들

네이버 스포츠가 제공하고 있는 추천 서비스.

네이버 스포츠가 제공하고 있는 추천 서비스.

협업 필터링 알고리즘도 적지 않은 전제나 가정 위에서 출발한다. 사용자 기반 협업 필터링을 사례를 들어보자. 사용자 기반 협업 필터링은 유사한 취향의 사용자는 비슷한 종류의 뉴스를 선호할 것이라는 걸 전제하고 있다. 하지만 유사한 취향의 사용자라도 기분이나 날씨, 사적인 경험에 따라 갑작스럽게 뉴스 선호가 달라질 수 있다.

영철이와 철수는 매일 아침 정치 뉴스를 찾는 유사한 성격의 사용자이지만, 갑작스럽게 철수 부모님이 편찮아지면 아침부터 보는 기사는 전혀 달라질 수 있다. 혹은 날씨에 따라 뉴스 소비 성향이 변덕스럽게 바뀔 수도 있다. 알고리즘이 딛고 있는 전제가 종종 무너지는 경우가 발생할 수 있다는 얘기다.

또한 협업 필터링 시스템은 지진과 같은 갑작스런 속보 뉴스 상황에 기민하게 대처하기 어렵다. 지진 발생 뉴스는 매우 중요하고 긴급한 사안이어서 사용자나 아이템의 선호도만을 반영해 차별적으로 뉴스를 추천해서는 안된다. 하지만 알고리즘이 이 같은 긴급한 사안을 학습하고 처리하기는 쉽지 않다. 사람의 개입이 불가피한 대목이다.

카카오의 루빅스도 사람의 역할은 필수적이다. 일단 추천할 뉴스의 모수는 사람이 1차적으로 추려낸다. 의제설정 과정에도 사람이 일부 관여한다. 서상원 카카오 응용분석파트 엔지니어는 지난 2015년 <마이크로소프트웨어>와 인터뷰에서 “뉴스의 기본 전제인 의제 설정은 사람이 해야 한다”고 말했다.

이처럼 알고리즘의 빈자리를 인간이 메울 수 있을 때, 그것의 가정과 전제의 한계를 넘어설 수 있다. 인간과 알고리즘의 협업은 감추거나 부끄러워해야 할 것이 아니라 새로운 해결책일 수 있다.

참고 문헌

  • 서봉원.(2016). 콘텐츠 추천 알고리즘의 진화. 방송트렌드&인사이트. vol.05. 19~24
  • 조현제, & 이필규. (2014). 클러스터링 기반 협업 필터링 알고리즘을 사용한 분산 추천 시스템. 한국인터넷방송통신학회 논문지, 14(1), 101-107.
  • Ekstrand, M. D., Riedl, J. T., & Konstan, J. A. (2011). Collaborative filtering recommender systems. Foundations and Trends in Human-Computer Interaction, 4(2), 81-173.
  • Goldberg, D., Nichols, D., Oki, B. M., & Terry, D. (1992). Using collaborative filtering to weave an information tapestry. Communications of the ACM, 35(12), 61-70.
  • Rich, E. (1979). User modeling via stereotypes. Cognitive science, 3(4), 329-354.
네티즌의견(총 6개)