[차세대웹기술수업-강의02-03] PageRank,Recommendation,Folksonomy
- Posted at 2008/03/01 11:52
- Filed under 차세대웹강의
(원본포스트링크: 댓글과 트랙백은 여기로 부탁드립니다.)
"차세대 웹기술과 컨버전스" 두번째 수업시간 "All About Participation" Part 3입니다. (강의자료는 Part1에서 다운)
3.3 개인적인 목적을 위한 암묵적인 참여
[S16] 아마도 이 부분이 가장 낯설면서도 기술적으로 가장 어려운 부분이 될 것입니다. 그런만큼 얻는 것도 많죠. 그리고 제가 항상 가장 강조하는 부분입니다. 참여라고 하면 보통 블로그에 글을 쓰거나 지식인에 답변을 올리는 등의 사용자의 의도적인 액션이 있어야 된다고 생각할 수 있습니다. 하지만 조금만 더 시각을 넓혀 참여를 바라본다면 사용자가 하는 모든 행위들이 다 참여에 해당한다고 생각할 수 있습니다. 블로그 포스트 읽기, RSS 피드 등록, 온라인 쇼핑몰 구매, 웹페이지 링크 걸기, 검색, 이 모든 것이 모두 사용자의 "참여"입니다. 컨텐츠를 생산하는 것만큼의 적극적인 참여는 아닐지라도 이런 소소한 사용자의 모든 행위는 서비스에 매우 중요한 정보를 제공합니다. 그 정보를 잘 활용하면 집단지성을 끌어낼 수 있습니다. 여기에 주로 복잡한 데이터 분석 기술이 사용되기 때문에 경쟁 서비스에서 쉽게 모방할 수 없는 경쟁력을 가집니다.
Tim O'Reilly의 "What is Web 2.0?" 문서에 다음과 같은 구절이 나옵니다.
[S17] 자, 그럼 지금부터 대표적인 케이스로 다음의 네 가지를 살펴 보겠습니다.
1) Google PageRank
2) Amazon Recommendation
3) Folksonomy
4) Collaborative Spam Filtering
3.3.1 Google PageRank

[S18] 일반적으로 Google 검색엔진의 성공요인으로 PageRank라는 검색 순위 알고리즘을 언급합니다. Google 이전 대부분의 검색엔진들은 검색 결과 순위를 웹페이지내 검색 키워드의 빈도에 따라 결정했습니다. 하지만 이 방법은 중요한 문서를 찾아내는데는 그다지 효과적이지 못하고 스팸에 취약한 단점이 있습니다. 그에 대한 해결책으로 Google은 웹페이지가 다른 웹페이지에 의해 링크된 개수를 순위에 적용하는 PageRank를 개발했습니다. (여기서 Page가 웹페이지의 Page갔죠? 사실은 처음 고안한 구글 창업자 래리 페이지의 Page 입니다. ^^) 웹페이지에 링크 거는 행위를 민주주의 투표에서 한표를 던지는 행위(voting)로 생각한 것입니다. 하지만 한가지 틀린 점이 있습니다. 민주주의에선 대통령의 한표나 보통 사람의 한표나 똑같지만 PageRank에선 링크를 건 주체의 영향력(PageRank)에 따라 링크의 가치가 다르다는 것입니다. 예를 들어 제 개인 블로그에서 이 블로그를 링크한 것보다 야후 디렉토리 페이지에서 링크한 것이 훨씬 높은 점수를 받는 것이죠. 일리있죠?
자, 그렇다면 지금까지 설명드린 Google PageRank에서 Collective Intelligence가 보이십니까? 바로 그겁니다. 사용자들은 PageRank를 위해 링크를 단 것이 아니라 각 개인의 목적을 위해 링크를 달았을 뿐이고 그렇게 개인적인 용도에 제한되었을 수 있는 행위를 Google은 모아서 PageRank라는 시스템으로 "참여"시킨 것입니다. (Implicit하게) PageRank 알고리즘의 기본 아이디어는 기술적으로 복잡하지 않습니다. 웹을 사용하는 사람이면 누구나 생각해 낼 수 있는 것입니다. 앞으로 설명드릴 대부분의 예도 기본 아이디어는 누구나 생각할 수 있는 수준입니다. (물론 구현에선 기술적인 지식이 있어야 합니다.) 우리가 얻어야 할 교훈은 성공적인 기술은 복잡하지 않다는 것, 그러므로 주의깊게 관찰하여 가치를 끌어낼 수 있는 부분을 찾고 빠르게 실행하는 것입니다.
3.3.2 Amazon Recommendation
[S19] Amazon의 성공요인 중 하나는 그들의 강력한 추천 시스템입니다. 지금 한번 Amazon을 방문해서 책을 하나 검색해 보세요, 얼마나 다양한 종류의 추천들이 나오는지 보실 수 있을겁니다. 이러한 추천은 사용자들로 하여금 관심을 불러일으켜 구매를 유발합니다. 수익과 직결되는 부분이죠. 사용자와 아무 관련없는 베스트셀러를 내세우는 것보다 사용자가 사려는 책과 관련된 책을 제시하는게 더 의미가 있는겁니다. 개인화 서비스로 연결되는 것이죠. 저는 추천 시스템을 매우 중요하게 봅니다. 다음과 같은 세 가지 이유 때문이죠.

1) Long Tail 활성화
[S20] Long Tail은 웹 2.0을 설명하는 중요한 키워드 중 하나입니다. Amazon과 같이 온라인 판매 싸이트에서 베스트셀러가 아닌 대부분의 상품들은 그 수가 매우 많아 판매순위 그래프에서 긴꼬리를 이룹니다. 긴꼬리에 있는 유명하지 않은 아이템들은 개별 판매량은 적더라도 그 총합을 따지면 무시하지 못할 수익을 달성한다는 거죠. 바로 롱~~~~테일이기 때문입니다. 온라인에서 판매되고 소비되는 많은 아이템들이 롱테일 현상을 보입니다. 자, 여기서 한가지 의문이 생깁니다. 롱테일에 포진되어 있는 그 수많은 유명하지 않은 아이템들의 존재를 사용자가 어떻게 알 수 있는가? 소비를 하려해도 알아야 할 것 아닙니까? 즉, Findability가 떨어지는 것 아니냐는거죠. 바로 추천 시스템이 롱테일 아이템들의 Findability를 높여주는 것입니다. 베스트셀러 정보 옆에 관련된 내용의 롱테일 아이템 리스트를 보여주는거죠. 따라서 추천 시스템이 얼마나 정확하냐에 따라 롱테일 아이템들의 판매량이 영향을 받을 것이고 수익으로 직결되므로 추천 시스템은 보조적인 도구 이상의 역할을 한다고 볼 수 있습니다.

2) Attention Economy의 핵심기술
[S21] 앞으로 가장 희소한 자원은 사용자의 "Attention"이 될 것입니다. 정보의 양은 폭발적으로 늘어나지만 사용자가 관심을 가질 수 있는 시간은 언제나 한정적이기 때문이죠. 이에 대한 해결책으로 Attention Economy에선 사용자의 허락하에 자신의 Attention을 제공해 주고 관련 개인화 서비스를 받을 수 있도록하는 마켓플레이스를 만들것을 제안합니다. 지금은 사용자 Attention이 각 서비스별로, 사용자의 동의와 상관없이(가입시 약관에 있을테지만 거의 무용지물) 서비스의 목적을 위해 사용되고 있습니다. 이것을 Attention을 모으는 서비스, 저장하는 서비스, Attention에 맞는 개인화 서비스 등으로 나누어 사용자의 선택에 따라 각각이 연결되도록 하자는 것이죠. Attention Economy가 제안하는 방식으로 서비스들이 진화할지 아직 확실하지는 않지만 Attention이 점점 더 희소자원이 될 것이고 Attention을 인식하는 서비스, 즉 개인화 서비스가 향후 대세를 이룰 것이라는 것은 의심의 여지가 없습니다. (이 부분은 논란의 여지가 있다. 정말 개인화 서비스가 성공할 것인가? 여러 분의 의견을 듣고 싶습니다. 댓글, 트랙백 주세요~) 개인화 서비스에 핵심기술이 바로 추천 시스템이고 결국 Attention Economy를 이끌 미래 기술로 각광받을 것입니다.
3) Next Search Engine?
[S22] 이 부분이 가장 공격적인(혹은 허무맹랑한 ^^) 예측입니다. 여러 분들은 검색과 추천의 차이가 뭐라고 생각하세요? 검색은 찾고자 하는걸 사용자가 알려주는 것이고 추천은 알려주지도 않았는데 찾아주는 것입니다. 말하자면 "찾는다"라는 것은 똑같다는겁니다. 만약 요즘 이슈가 되고 있는 사건을 찾으려 네이버에 들어갔는데 인기검색어가 떡~ 하니 나오면 검색할 필요가 없겠죠? 애기가 이유식을 먹을 때가 되어 검색 서비스에 들어갔더니 이유식 관련 정보들을 대문에 쏟아낸다면? 검색할 필요가 없겠죠! 검색이 진화하면 결국 가장 진화된 형태의 추천 시스템이 되지 않을까 싶습니다. Google과 네이버를 뒤집으려면 현 검색의 방식틀에선 힘들거라 봅니다. 뭔가 패러다임을 바꿀 수 있는게 필요한데 제 생각엔 추천 시스템을 잘 생각해 보면 되지 않을까 점쳐봅니다~
[S23] 이런 이유들로 추천 시스템을 강조하고 있습니다. 그럼 지금부터 쬐끔 머리 아픈 기술 얘기를 해 볼까요? 추천 시스템은 어떻게 방식으로 만들어질까요? 일반적으로 세 가지 방식이 있습니다.
- Content-Based Recommendation
- Collaborative Filtering
- Hybrid Approach
1) Content-Based Recommendations
[S24] 컨텐츠의 내용을 분석하여 유사한 컨텐츠를 찾아 주는 방식입니다. 음악 추천 서비스 중에 Pandora라는 서비스가 내용기반 추천의 대표적인 예입니다. (아쉽게도 얼마전부터 미국 이외 지역에선 사용할 수 없습니다.) 이들은 수백가지의 음악적 속성을 정의하고 각 곡을 직접 들으면서 각 속성별로 값을 정해서 곡의 특징벡터를 만드는 것입니다. 그렇게 만든 음악적 특징벡터를 이들은 Music Genome이라고 부릅니다. 말되죠? ^^ 이제 곡들의 비교는 이 벡터들 사이의 수학적인 비교로 기계적으로 처리할 수 있습니다. 이 방식의 장점은 사용자의 데이터가 전혀 없더라도 아무 곡이나 하나 좋아하는 곡을 입력하면 유사한 분위기의 곡들을 찾아준다는 것입니다. 하지만 단점은 추천한 곡의 좋고 나쁨은 보장하지 못한다는거죠. 판단은 사용자의 몫으로 맡기는겁니다. 이것은 매우 중대한 단점입니다. 열심히 추천하고도 욕먹는 일이 자주 생기겠죠. 이런 문제를 해결한 것이 Collaborative Filtering입니다.
2) Collaborative Filtering
[S25][S26][S27] 추천 시스템으로 가장 많이 쓰이고 있는 기술입니다. 또한 우리가 논의하고 있는 Collective Intelligence의 좋은 예이기도 하구요. Amazon에서 사람들이 어떤 책을 검색하고 훓어보고 구매를 하는 일련의 행위는 그 책에 대해 관심이 있기 때문입니다. 따라서 사용자가 그 책의 가치에 대해 한표 던진 것으로 생각할 수도 있겠죠. 물론 서비스에 따라서는 사용자가 직접 평점을 주도록 하는 경우도 있습니다. 이와 같이 여러 가지 방법에 의해 사용자들은 각 아이템에 대해 평점을 주게 되고 그 정보를 모으면 사용자의 취향 정보 벡터를 만들 수 있습니다. 이 정보를 각 사용자끼리 비교해 보면 각 사용자에 대해 유사한 성향의 사용자 리스트를 얻어낼 수 있고 유사한 성향의 사용자들이 좋게 평가했던 아이템을 추천해 주게 되는 것이지요. (좀 복잡하게 설명한 듯 한데 강의자료 슬라이드 25번을 보면 예로 간단히 설명되어 있으니 참고하시기 바랍니다.) 구매를 하든 평점을 매기든 이런 행위들은 사용자의 개인적인 행위이지만 이 정보를 잘 모아 비교함으로써 추천 시스템이라는 집단지성을 끌어낸 것입니다. 이 방식을 이용하여 음악을 추천하는 대표적인 서비스가 Last.fm입니다. Pandora와 반대되는 방식의 서비스이죠. 재밌는 서비스니 한번쯤 경험해 보시기 바랍니다.
3) Hybrid Approach
Collaborative Filtering을 통해 사용자의 취향에 맞으면서도 괜찮은(좋은 평점) 아이템을 추천 받을 수 있게 되었습니다. 즉, 내용기반 추천의 단점을 해결한 셈이죠. 하지만 모든 사용자들끼리 비교해야 하기 때문에 사용자가 많은 대규모 서비스에선 확장성이 떨어집니다. 또한 초기 사용자 정보가 어느 정도 쌓이기 전까진 추천이 부정확한 단점도 안고 있습니다. 그래서 Collaborative Filtering과 Content-Based Recommendation을 접목한 Hybrid Approach가 등장했습니다. 이에 대한 내용들은 너무 기술적이기 때문에 이쯤에서 멈추기로 하고 더 관심이 있으신 분은 Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions라는 서베이 논문을 살펴 보시기 바랍니다. 추천 시스템과 관련된 거의 모든 기술과 문제점, 이슈 등이 잘 정리되어 있습니다. 다만 좀 기술적입니다. ^^ (다운받으려면 IEEE이나 ACM 계정이 필요하므로 필요하신 분은 댓글 남겨 주시면 개인적으로 메일로 보내드리겠습니다.)
[S28] 추천 시스템에 대해 마무리짓기 전에 상금이 걸린 재밌는 이벤트를 소개해 드리겠습니다. Netflix라는 온라인 DVD 대여 서비스가 있습니다. 여기가 수익을 많이 남기려면 사용자들이 영화를 자주 빌려 봐야 합니다. 그러려면 관심있을만한 영화를 잘 추천해 주는 것이 중요하죠. 그래서 그들은 자체적으로 추천 시스템을 갖추고 있습니다. 여기서 재밌는 것은 자신들의 추천 시스템을 개선하기 위한 R&D를 외부로 오픈해 버렸다는 점입니다. (Crowdsourcing이라는 개념이죠.) Netflix Prize라는 것을 걸고 자신들의 시스템 보다 성능이 10%만 향상되면 상금을 주겠다고 했습니다. 상금이 얼마나 될까요? 자그마치 100만달러입니다!!! 한번 도전해 볼만 하지 않습니까? 누구나 도전할 수 있습니다. 미국에선 수업 프로젝트로도 많이 도전한답니다. 시작한지 아직 2년이 안되었는데 벌써 8.7% 정도 향상되었습니다. 대단하죠? 핵심은 이렇게 큰 액수의 상금을 걸만큰 추천 시스템이 중요하다는 것입니다. ^^
3.3.3 Folksonomy
[S29][S30][S31] 태깅은 del.icio.us나 Flickr와 같은 대표적인 웹 2.0 서비스의 성공요인입니다. 태깅을 통해서 정보가 조직화되고 멀티미디어 데이터가 검색 가능해지는 장점이 있습니다. 여기에 추가적으로 사람들에 의한 분류, 즉 Folksonomy의 장점을 얻을 수 있습니다. 일반적으로 분류(Taxonomy)는 각 분야의 전문가들이 모여서 고민 끝에 분류 체계를 만들어 냅니다. 하지만 이런 분류체계가 완전하지도 않고 일부 전문 분야에 대해서만 되어 있습니다. 하지만 많은 사람들이 컨텐츠에 태깅을 한다면 자동으로 분류체계를 만들 수 있는 가능성이 있습니다. 한 컨텐츠에 함께 달린(co-occurance) 태그들은 서로 연관성이 있는 키워드로 볼 수 있고 빈도수를 측정하면 키워드간에 계층구조를 알 수 있습니다. 예를들어 "암"과 "질병"이란 태그는 자주 함께 달릴 것이지만 전체적으로 보면 "질병"이라는 태그수가 더 많을 것입니다. 결론적으로 "질병"을 "암"의 상위 개념으로 분류할 수 있겠죠. 실제로 "위암(stomach cancer)"에 대해 위키피디아의 카테고리에 의해 Folksonomy를 만들어 보면 의학전문 분류체계보다 덜 전문적이지만 더 포괄적임을 알 수 있습니다. (슬라이드 30) 물론 Folksonomy가 Taxonomy보다 더 좋다거나 대체를 할 것이라고 볼 순 없습니다. 다만 Folksonomy는 분류에 대한 새로운 가능성을 열었고 Folksonomy를 활용할 수 있는 응용을 개발하면 그 힘을 발휘할 수 있을 것입니다. Folksonomy 역시 태깅이라는 개인적인 행위를 모아서 분류 체계라는 의미있는 참여로 바꾼 Collective Intelligence의 예라고 할 수 있겠죠. 태깅과 Folksonomy에 대해선 2006년도 TagDay 행사 발표자료에 잘 정리되어 있으니 참고하시기 바랍니다.
3.3.4 Collaborative Spam Filtering
[S32] 앞서 말씀드렸듯이 스팸과의 전쟁은 아마 영원히 계속 될 것입니다. 요즘 스팸을 걸러내는 방법으로 Collaborative한 방법을 많이 사용합니다. 태터툴즈의 EAS(EOLIN Anti Spam Service)도 이 방법을 쓰고 있죠. 어떤 방법이냐고요? 제가 모든걸 다 얘기해 주면 여러 분이 생각할게 없잖습니까? 이건 한번 고민해 보세요. 지금까지 설명드린 예를 곰곰히 생각해 보면 비슷한 방법으로 스팸 필터링도 떠 오를 것입니다.

4. 참여의 확대
[S33] 웹 2.0이 보통 "참여"라는 키워드로 정의되기 때문에 "참여"가 마치 웹 2.0에서 등장한 것처럼 오해할 수도 있습니다. 하지만 그 전에도 "참여"의 케이스는 많았고 지금도 웹을 넘어 다양한 분야에서 "참여"가 시도되고 있습니다. 오픈소스 운동은 어떻게 생각하면 웹 2.0의 산파 역할을 하지 않았나 생각됩니다. 그리고 우리나라의 자랑스러운 오마이뉴스는 세계 최초로 시민기자라는 사용자 참여에 의한 뉴스 미디어를 만든 경우지요. Skype는 사용자들의 PC들이 참여하여 만든 전세계적인 P2P 네트워크 위에서 전화가 되도록 만든 "User-Generated Network"입니다. 또한 FON은 사용자들이 자신이 가진 유선 가입자망에 무선공유기를 연결하고 이를 공유함으로써 공짜로 무선랜을 사용할 수 있는 인프라를 제공하고 있습니다. 또한 R&D를 불특정 다수에게 아웃소싱하는 Crowdsourcing이 시도되고 있습니다.
Innocentive는 아예 Crowdsourcing을 중재하는 사업을 합니다. 이와 같이 "참여"는 이미 웹을 넘어서 사회전반에 퍼져있는 사회현상입니다. 하지만 아직도 참여를 적용해 볼 수 있는 미개척지가 무수히 많습니다. 그리고 어떤 방식으로 참여를 적용할까 고민할 때 이번 수업시간에 배운 내용이 도움이 될 것입니다.
"차세대 웹기술과 컨버전스" 두번째 수업시간 "All About Participation" Part 3입니다. (강의자료는 Part1에서 다운)
3.3 개인적인 목적을 위한 암묵적인 참여
[S16] 아마도 이 부분이 가장 낯설면서도 기술적으로 가장 어려운 부분이 될 것입니다. 그런만큼 얻는 것도 많죠. 그리고 제가 항상 가장 강조하는 부분입니다. 참여라고 하면 보통 블로그에 글을 쓰거나 지식인에 답변을 올리는 등의 사용자의 의도적인 액션이 있어야 된다고 생각할 수 있습니다. 하지만 조금만 더 시각을 넓혀 참여를 바라본다면 사용자가 하는 모든 행위들이 다 참여에 해당한다고 생각할 수 있습니다. 블로그 포스트 읽기, RSS 피드 등록, 온라인 쇼핑몰 구매, 웹페이지 링크 걸기, 검색, 이 모든 것이 모두 사용자의 "참여"입니다. 컨텐츠를 생산하는 것만큼의 적극적인 참여는 아닐지라도 이런 소소한 사용자의 모든 행위는 서비스에 매우 중요한 정보를 제공합니다. 그 정보를 잘 활용하면 집단지성을 끌어낼 수 있습니다. 여기에 주로 복잡한 데이터 분석 기술이 사용되기 때문에 경쟁 서비스에서 쉽게 모방할 수 없는 경쟁력을 가집니다.
Tim O'Reilly의 "What is Web 2.0?" 문서에 다음과 같은 구절이 나옵니다.
The Architecture of Participation
One of the key lessons of the Web 2.0 era is this: Users add value. But only a small percentage of users will go to the trouble of adding value to your application via explicit means. Therefore, Web 2.0 companies set inclusive defaults for aggregating user data and building value as a side-effect of ordinary use of the application. As noted above, they build systems that get better the more people use them.
요약해 보자면 사용자가 가치를 부여하는 것은 사실이지만 적극적인 방식("explicit means")으로 참여할 사용자는 극소수일 것이므로 일반적인 서비스 이용에서 사용자 데이터를 모아 가치를 찾아내는 내부적인 장치를 가지라는 것입니다. 이것이 참여의 Architecture인 것이고 이번 섹션에서 언급하고 있는 참여와 이를 통한 집단지성을 말하는 것이죠. One of the key lessons of the Web 2.0 era is this: Users add value. But only a small percentage of users will go to the trouble of adding value to your application via explicit means. Therefore, Web 2.0 companies set inclusive defaults for aggregating user data and building value as a side-effect of ordinary use of the application. As noted above, they build systems that get better the more people use them.
[S17] 자, 그럼 지금부터 대표적인 케이스로 다음의 네 가지를 살펴 보겠습니다.
1) Google PageRank
2) Amazon Recommendation
3) Folksonomy
4) Collaborative Spam Filtering
3.3.1 Google PageRank

[S18] 일반적으로 Google 검색엔진의 성공요인으로 PageRank라는 검색 순위 알고리즘을 언급합니다. Google 이전 대부분의 검색엔진들은 검색 결과 순위를 웹페이지내 검색 키워드의 빈도에 따라 결정했습니다. 하지만 이 방법은 중요한 문서를 찾아내는데는 그다지 효과적이지 못하고 스팸에 취약한 단점이 있습니다. 그에 대한 해결책으로 Google은 웹페이지가 다른 웹페이지에 의해 링크된 개수를 순위에 적용하는 PageRank를 개발했습니다. (여기서 Page가 웹페이지의 Page갔죠? 사실은 처음 고안한 구글 창업자 래리 페이지의 Page 입니다. ^^) 웹페이지에 링크 거는 행위를 민주주의 투표에서 한표를 던지는 행위(voting)로 생각한 것입니다. 하지만 한가지 틀린 점이 있습니다. 민주주의에선 대통령의 한표나 보통 사람의 한표나 똑같지만 PageRank에선 링크를 건 주체의 영향력(PageRank)에 따라 링크의 가치가 다르다는 것입니다. 예를 들어 제 개인 블로그에서 이 블로그를 링크한 것보다 야후 디렉토리 페이지에서 링크한 것이 훨씬 높은 점수를 받는 것이죠. 일리있죠?
자, 그렇다면 지금까지 설명드린 Google PageRank에서 Collective Intelligence가 보이십니까? 바로 그겁니다. 사용자들은 PageRank를 위해 링크를 단 것이 아니라 각 개인의 목적을 위해 링크를 달았을 뿐이고 그렇게 개인적인 용도에 제한되었을 수 있는 행위를 Google은 모아서 PageRank라는 시스템으로 "참여"시킨 것입니다. (Implicit하게) PageRank 알고리즘의 기본 아이디어는 기술적으로 복잡하지 않습니다. 웹을 사용하는 사람이면 누구나 생각해 낼 수 있는 것입니다. 앞으로 설명드릴 대부분의 예도 기본 아이디어는 누구나 생각할 수 있는 수준입니다. (물론 구현에선 기술적인 지식이 있어야 합니다.) 우리가 얻어야 할 교훈은 성공적인 기술은 복잡하지 않다는 것, 그러므로 주의깊게 관찰하여 가치를 끌어낼 수 있는 부분을 찾고 빠르게 실행하는 것입니다.
3.3.2 Amazon Recommendation
[S19] Amazon의 성공요인 중 하나는 그들의 강력한 추천 시스템입니다. 지금 한번 Amazon을 방문해서 책을 하나 검색해 보세요, 얼마나 다양한 종류의 추천들이 나오는지 보실 수 있을겁니다. 이러한 추천은 사용자들로 하여금 관심을 불러일으켜 구매를 유발합니다. 수익과 직결되는 부분이죠. 사용자와 아무 관련없는 베스트셀러를 내세우는 것보다 사용자가 사려는 책과 관련된 책을 제시하는게 더 의미가 있는겁니다. 개인화 서비스로 연결되는 것이죠. 저는 추천 시스템을 매우 중요하게 봅니다. 다음과 같은 세 가지 이유 때문이죠.

1) Long Tail 활성화
[S20] Long Tail은 웹 2.0을 설명하는 중요한 키워드 중 하나입니다. Amazon과 같이 온라인 판매 싸이트에서 베스트셀러가 아닌 대부분의 상품들은 그 수가 매우 많아 판매순위 그래프에서 긴꼬리를 이룹니다. 긴꼬리에 있는 유명하지 않은 아이템들은 개별 판매량은 적더라도 그 총합을 따지면 무시하지 못할 수익을 달성한다는 거죠. 바로 롱~~~~테일이기 때문입니다. 온라인에서 판매되고 소비되는 많은 아이템들이 롱테일 현상을 보입니다. 자, 여기서 한가지 의문이 생깁니다. 롱테일에 포진되어 있는 그 수많은 유명하지 않은 아이템들의 존재를 사용자가 어떻게 알 수 있는가? 소비를 하려해도 알아야 할 것 아닙니까? 즉, Findability가 떨어지는 것 아니냐는거죠. 바로 추천 시스템이 롱테일 아이템들의 Findability를 높여주는 것입니다. 베스트셀러 정보 옆에 관련된 내용의 롱테일 아이템 리스트를 보여주는거죠. 따라서 추천 시스템이 얼마나 정확하냐에 따라 롱테일 아이템들의 판매량이 영향을 받을 것이고 수익으로 직결되므로 추천 시스템은 보조적인 도구 이상의 역할을 한다고 볼 수 있습니다.

2) Attention Economy의 핵심기술
[S21] 앞으로 가장 희소한 자원은 사용자의 "Attention"이 될 것입니다. 정보의 양은 폭발적으로 늘어나지만 사용자가 관심을 가질 수 있는 시간은 언제나 한정적이기 때문이죠. 이에 대한 해결책으로 Attention Economy에선 사용자의 허락하에 자신의 Attention을 제공해 주고 관련 개인화 서비스를 받을 수 있도록하는 마켓플레이스를 만들것을 제안합니다. 지금은 사용자 Attention이 각 서비스별로, 사용자의 동의와 상관없이(가입시 약관에 있을테지만 거의 무용지물) 서비스의 목적을 위해 사용되고 있습니다. 이것을 Attention을 모으는 서비스, 저장하는 서비스, Attention에 맞는 개인화 서비스 등으로 나누어 사용자의 선택에 따라 각각이 연결되도록 하자는 것이죠. Attention Economy가 제안하는 방식으로 서비스들이 진화할지 아직 확실하지는 않지만 Attention이 점점 더 희소자원이 될 것이고 Attention을 인식하는 서비스, 즉 개인화 서비스가 향후 대세를 이룰 것이라는 것은 의심의 여지가 없습니다. (이 부분은 논란의 여지가 있다. 정말 개인화 서비스가 성공할 것인가? 여러 분의 의견을 듣고 싶습니다. 댓글, 트랙백 주세요~) 개인화 서비스에 핵심기술이 바로 추천 시스템이고 결국 Attention Economy를 이끌 미래 기술로 각광받을 것입니다.
3) Next Search Engine?
[S22] 이 부분이 가장 공격적인(혹은 허무맹랑한 ^^) 예측입니다. 여러 분들은 검색과 추천의 차이가 뭐라고 생각하세요? 검색은 찾고자 하는걸 사용자가 알려주는 것이고 추천은 알려주지도 않았는데 찾아주는 것입니다. 말하자면 "찾는다"라는 것은 똑같다는겁니다. 만약 요즘 이슈가 되고 있는 사건을 찾으려 네이버에 들어갔는데 인기검색어가 떡~ 하니 나오면 검색할 필요가 없겠죠? 애기가 이유식을 먹을 때가 되어 검색 서비스에 들어갔더니 이유식 관련 정보들을 대문에 쏟아낸다면? 검색할 필요가 없겠죠! 검색이 진화하면 결국 가장 진화된 형태의 추천 시스템이 되지 않을까 싶습니다. Google과 네이버를 뒤집으려면 현 검색의 방식틀에선 힘들거라 봅니다. 뭔가 패러다임을 바꿀 수 있는게 필요한데 제 생각엔 추천 시스템을 잘 생각해 보면 되지 않을까 점쳐봅니다~
[S23] 이런 이유들로 추천 시스템을 강조하고 있습니다. 그럼 지금부터 쬐끔 머리 아픈 기술 얘기를 해 볼까요? 추천 시스템은 어떻게 방식으로 만들어질까요? 일반적으로 세 가지 방식이 있습니다.
- Content-Based Recommendation
- Collaborative Filtering
- Hybrid Approach
1) Content-Based Recommendations
[S24] 컨텐츠의 내용을 분석하여 유사한 컨텐츠를 찾아 주는 방식입니다. 음악 추천 서비스 중에 Pandora라는 서비스가 내용기반 추천의 대표적인 예입니다. (아쉽게도 얼마전부터 미국 이외 지역에선 사용할 수 없습니다.) 이들은 수백가지의 음악적 속성을 정의하고 각 곡을 직접 들으면서 각 속성별로 값을 정해서 곡의 특징벡터를 만드는 것입니다. 그렇게 만든 음악적 특징벡터를 이들은 Music Genome이라고 부릅니다. 말되죠? ^^ 이제 곡들의 비교는 이 벡터들 사이의 수학적인 비교로 기계적으로 처리할 수 있습니다. 이 방식의 장점은 사용자의 데이터가 전혀 없더라도 아무 곡이나 하나 좋아하는 곡을 입력하면 유사한 분위기의 곡들을 찾아준다는 것입니다. 하지만 단점은 추천한 곡의 좋고 나쁨은 보장하지 못한다는거죠. 판단은 사용자의 몫으로 맡기는겁니다. 이것은 매우 중대한 단점입니다. 열심히 추천하고도 욕먹는 일이 자주 생기겠죠. 이런 문제를 해결한 것이 Collaborative Filtering입니다.
2) Collaborative Filtering
[S25][S26][S27] 추천 시스템으로 가장 많이 쓰이고 있는 기술입니다. 또한 우리가 논의하고 있는 Collective Intelligence의 좋은 예이기도 하구요. Amazon에서 사람들이 어떤 책을 검색하고 훓어보고 구매를 하는 일련의 행위는 그 책에 대해 관심이 있기 때문입니다. 따라서 사용자가 그 책의 가치에 대해 한표 던진 것으로 생각할 수도 있겠죠. 물론 서비스에 따라서는 사용자가 직접 평점을 주도록 하는 경우도 있습니다. 이와 같이 여러 가지 방법에 의해 사용자들은 각 아이템에 대해 평점을 주게 되고 그 정보를 모으면 사용자의 취향 정보 벡터를 만들 수 있습니다. 이 정보를 각 사용자끼리 비교해 보면 각 사용자에 대해 유사한 성향의 사용자 리스트를 얻어낼 수 있고 유사한 성향의 사용자들이 좋게 평가했던 아이템을 추천해 주게 되는 것이지요. (좀 복잡하게 설명한 듯 한데 강의자료 슬라이드 25번을 보면 예로 간단히 설명되어 있으니 참고하시기 바랍니다.) 구매를 하든 평점을 매기든 이런 행위들은 사용자의 개인적인 행위이지만 이 정보를 잘 모아 비교함으로써 추천 시스템이라는 집단지성을 끌어낸 것입니다. 이 방식을 이용하여 음악을 추천하는 대표적인 서비스가 Last.fm입니다. Pandora와 반대되는 방식의 서비스이죠. 재밌는 서비스니 한번쯤 경험해 보시기 바랍니다.
3) Hybrid Approach
Collaborative Filtering을 통해 사용자의 취향에 맞으면서도 괜찮은(좋은 평점) 아이템을 추천 받을 수 있게 되었습니다. 즉, 내용기반 추천의 단점을 해결한 셈이죠. 하지만 모든 사용자들끼리 비교해야 하기 때문에 사용자가 많은 대규모 서비스에선 확장성이 떨어집니다. 또한 초기 사용자 정보가 어느 정도 쌓이기 전까진 추천이 부정확한 단점도 안고 있습니다. 그래서 Collaborative Filtering과 Content-Based Recommendation을 접목한 Hybrid Approach가 등장했습니다. 이에 대한 내용들은 너무 기술적이기 때문에 이쯤에서 멈추기로 하고 더 관심이 있으신 분은 Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions라는 서베이 논문을 살펴 보시기 바랍니다. 추천 시스템과 관련된 거의 모든 기술과 문제점, 이슈 등이 잘 정리되어 있습니다. 다만 좀 기술적입니다. ^^ (다운받으려면 IEEE이나 ACM 계정이 필요하므로 필요하신 분은 댓글 남겨 주시면 개인적으로 메일로 보내드리겠습니다.)
[S28] 추천 시스템에 대해 마무리짓기 전에 상금이 걸린 재밌는 이벤트를 소개해 드리겠습니다. Netflix라는 온라인 DVD 대여 서비스가 있습니다. 여기가 수익을 많이 남기려면 사용자들이 영화를 자주 빌려 봐야 합니다. 그러려면 관심있을만한 영화를 잘 추천해 주는 것이 중요하죠. 그래서 그들은 자체적으로 추천 시스템을 갖추고 있습니다. 여기서 재밌는 것은 자신들의 추천 시스템을 개선하기 위한 R&D를 외부로 오픈해 버렸다는 점입니다. (Crowdsourcing이라는 개념이죠.) Netflix Prize라는 것을 걸고 자신들의 시스템 보다 성능이 10%만 향상되면 상금을 주겠다고 했습니다. 상금이 얼마나 될까요? 자그마치 100만달러입니다!!! 한번 도전해 볼만 하지 않습니까? 누구나 도전할 수 있습니다. 미국에선 수업 프로젝트로도 많이 도전한답니다. 시작한지 아직 2년이 안되었는데 벌써 8.7% 정도 향상되었습니다. 대단하죠? 핵심은 이렇게 큰 액수의 상금을 걸만큰 추천 시스템이 중요하다는 것입니다. ^^
3.3.3 Folksonomy
[S29][S30][S31] 태깅은 del.icio.us나 Flickr와 같은 대표적인 웹 2.0 서비스의 성공요인입니다. 태깅을 통해서 정보가 조직화되고 멀티미디어 데이터가 검색 가능해지는 장점이 있습니다. 여기에 추가적으로 사람들에 의한 분류, 즉 Folksonomy의 장점을 얻을 수 있습니다. 일반적으로 분류(Taxonomy)는 각 분야의 전문가들이 모여서 고민 끝에 분류 체계를 만들어 냅니다. 하지만 이런 분류체계가 완전하지도 않고 일부 전문 분야에 대해서만 되어 있습니다. 하지만 많은 사람들이 컨텐츠에 태깅을 한다면 자동으로 분류체계를 만들 수 있는 가능성이 있습니다. 한 컨텐츠에 함께 달린(co-occurance) 태그들은 서로 연관성이 있는 키워드로 볼 수 있고 빈도수를 측정하면 키워드간에 계층구조를 알 수 있습니다. 예를들어 "암"과 "질병"이란 태그는 자주 함께 달릴 것이지만 전체적으로 보면 "질병"이라는 태그수가 더 많을 것입니다. 결론적으로 "질병"을 "암"의 상위 개념으로 분류할 수 있겠죠. 실제로 "위암(stomach cancer)"에 대해 위키피디아의 카테고리에 의해 Folksonomy를 만들어 보면 의학전문 분류체계보다 덜 전문적이지만 더 포괄적임을 알 수 있습니다. (슬라이드 30) 물론 Folksonomy가 Taxonomy보다 더 좋다거나 대체를 할 것이라고 볼 순 없습니다. 다만 Folksonomy는 분류에 대한 새로운 가능성을 열었고 Folksonomy를 활용할 수 있는 응용을 개발하면 그 힘을 발휘할 수 있을 것입니다. Folksonomy 역시 태깅이라는 개인적인 행위를 모아서 분류 체계라는 의미있는 참여로 바꾼 Collective Intelligence의 예라고 할 수 있겠죠. 태깅과 Folksonomy에 대해선 2006년도 TagDay 행사 발표자료에 잘 정리되어 있으니 참고하시기 바랍니다.
3.3.4 Collaborative Spam Filtering
[S32] 앞서 말씀드렸듯이 스팸과의 전쟁은 아마 영원히 계속 될 것입니다. 요즘 스팸을 걸러내는 방법으로 Collaborative한 방법을 많이 사용합니다. 태터툴즈의 EAS(EOLIN Anti Spam Service)도 이 방법을 쓰고 있죠. 어떤 방법이냐고요? 제가 모든걸 다 얘기해 주면 여러 분이 생각할게 없잖습니까? 이건 한번 고민해 보세요. 지금까지 설명드린 예를 곰곰히 생각해 보면 비슷한 방법으로 스팸 필터링도 떠 오를 것입니다.

4. 참여의 확대
[S33] 웹 2.0이 보통 "참여"라는 키워드로 정의되기 때문에 "참여"가 마치 웹 2.0에서 등장한 것처럼 오해할 수도 있습니다. 하지만 그 전에도 "참여"의 케이스는 많았고 지금도 웹을 넘어 다양한 분야에서 "참여"가 시도되고 있습니다. 오픈소스 운동은 어떻게 생각하면 웹 2.0의 산파 역할을 하지 않았나 생각됩니다. 그리고 우리나라의 자랑스러운 오마이뉴스는 세계 최초로 시민기자라는 사용자 참여에 의한 뉴스 미디어를 만든 경우지요. Skype는 사용자들의 PC들이 참여하여 만든 전세계적인 P2P 네트워크 위에서 전화가 되도록 만든 "User-Generated Network"입니다. 또한 FON은 사용자들이 자신이 가진 유선 가입자망에 무선공유기를 연결하고 이를 공유함으로써 공짜로 무선랜을 사용할 수 있는 인프라를 제공하고 있습니다. 또한 R&D를 불특정 다수에게 아웃소싱하는 Crowdsourcing이 시도되고 있습니다.

Posted by 한재선
- Tag
- attention, collaborative filtering, folksonomy, kaist, ksim, longtail, pagerank, recommendation, 차세대웹수업, 참여
- Response
- No Trackback , No Comment

