Share           Pin It

지난 글들에서 CF 알고리즘과 CF에서 가장 중요한 유사도를 구하는 방식에 대해서 간략히 설명을 드렸습니다. 이번에는 그런 추천 알고리즘들이 잘 개발되었는지를 측정하는 성능지표에 대해서 다루겠습니다. 평가지표에 더해서 추천 시스템을 개발할 때 고려해야할 사항도 함께 적겠습니다.

다른 대부분의 데이터마이닝 기술들이 그렇듯이 첫번째 성능지표는 정확도입니다. 제안된 방법이 얼마나 사용자의 선호도를 잘 예측해서 레이팅값을 제대로 예측하느냐 또는 추천된 아이템을 선택할/좋아할 가능성이 높은가를 측정합니다. 정확도는 보통 두가지 방법으로 계산됩니다. 가장 흔히 사용하는 방식은 예측된 레이팅과 실제 레이팅 사이의 차이, 즉 Error 텀을 측정하는 것입니다. MAE (Mean Absolute Error)와 RMSE (Root Mean Square Error)가 가장 흔히 사용되는 지표입니다. Netflix Prize에서도 RMSE를 기존의 것보다 10% 개선하는 것이 목표였습니다. 두번째 방법은 예측값과 실측치의 Correlation을 측정하는 것입니다. MAE 등이 값의 차이를 구했다면, Correlation은 값의 변화 경향을 측정합니다. 유사도 글에서 언급되었던 Pearson correlation coefficient가 가장 흔한 방법입니다. ROC (Receiver Operating Characteristic) Curve도 자주 활용되는데, 제가 잘 모르는 분야라서 설명은 생략합니다. (ROC 위키페이지)

제가 처음 추천시스템을 접했던 2006년 2007년까지만 하더라도 대부분의 논문들이 정확도를 측정하는 것이 주요 목표였고, 제안된 방법이 기존 것보다 정확도가 조금이라도 높아지면 대단한 성과인양 논문을 쓰고 제출했던 것같습니다. 당시만 하더라도 대규모 자동화된 추천 시스템이 흔치 않았기 때문에 정확도만으로도 충분했던 것같습니다. 그런데 최근에 다시 추천 논문을 읽어보니 정확도 이외에 다른 요소들을 더 내세우는 경향이 짙었습니다. 어떤 측면에서 보면 정확도 개선은 더이상의 여지가 거의 없기 때문에 다른 측면을 강조하는 것일 수도 있습니다.

그래서 최근에 등장하는 논문이나 시스템들은 정확도 뿐만 아니라, 사용자 만족도 또는 사용자 경험에 많은 중점을 두고 있습니다. 추천 시스템은 사용자들과 접점이 많은 매우 실용적인 것입니다. 그렇기 때문에 단순히 사용자의 선호도를 예측하는 것 이상으로, 사용자들이 실제 추천된 아이템을 만족하느냐는 중요한 이슈입니다. 예를들어, A라는 사용자가 a 제품에 대한 레이팅을 4점으로 했을 때, 어떤 추천 알고리즘은 3점을 예측하고, 다른 추천 알고리즘은 5점으로 예측했다면 MAE (정확도) 관점에서 보면 둘다 에러가 1로 동일합니다. 그렇지만 이 두 추천 시스템의 성능을 같다고 볼 수 없습니다. 사용자가 만약 4점 이상 예측된 아이템만 보겠다라는 규칙이 있다면, 첫번째 추천 시스템은 a 제품을 추천해주지 못하는 현상이 발생합니다. 다른 경우를 생각해보면, 어떤 추천 시스템이 5점으로 예측해서 영화를 추천해줬는데 (물론 사용자가 그 영화를 봤을 때 5점으로 레이팅한다는 가정 하에), 해당 영화가 19금 영화이고 사용자는 미성년자였다면 이 또한 제대로된 추천이 아닙니다. 그래서 최근 연구/시스템들은 정확도 이상의 것 -- 러프하게 말해서 '사용자 만족도' -- 을 요구하고, 지표화하고 있습니다.

사용자 만족도는 정확도만큼 깔끔하게 지표화하기 어렵습니다. 만족도라는 것이 정성적인 부분이라서 이를 정량화하는 것이 매우 어렵습니다. 그래도 시스템에서는 다양한 방법으로 사용자의 만족도를 예측하고 있습니다. 대표적인 방법이 추천된 상품이 조회/구매되는 비율, 즉 CTR을 구하는 경우가 많습니다. CTR이 높다는 것은 사용자가 추천된 아이템에 흥미를 느꼈다는 증거가 됩니다. 그런데 CTR만으로도 만족도를 충분히 설명할 수 없습니다. 오히려 추천이 제대로 이뤄졌다면 클릭회수 또는 CTR이 감소할 수도 있습니다. 그래서, 추천된 아이템을 즐기는 시간 (예를들어, 영화를 조금 보다가 그만 뒀다면 만족도가 낮은 것이고, 끝까지 봤다면 만족도가 높은 것입니다)을 측정하기도 하고 (Duration Time), 웹사이트의 경우 재방문률 retention rate를 구하기도 합니다. 클릭회수나 CTR보다는 Duration Time이나 Retention Rate의 변화를 측정하는 것이 조금 더 장기적이로 이뤄질 가능성이 높습니다. 이 말은 사용자 만족도라는 것을 단기적으로 파악하는 것이 어렵다는 의미이기도 합니다. 새로운 방법론을 적용했을 때, 너무 조급하게 결과가 나올 것을 기대하는 것은 경계해야 합니다.

그리고 최근 추천 논문에는 Serendipity (Serendipitous recommendation)라는 용어가 자주 등장합니다. 즉, 우연 또는 우연적 발견이라는 의미입니다. 추천 알고리즘들이 개인화되었다고는 하지만, 그래도 아이템의 인기도에 크게 의존을 합니다. 그렇기 때문에 많은 사용자들이 좋아하는 일반적인 아이템은 자주 추천이 됩니다. 일반적인 아이템이 추천이 되면 너무 뻔해서 만족도가 떨어집니다. 그래서 연관성은 있지만 (관심을 가질 법 한 범위 내에서) 그래도 새로운/신선한 것을 추천해주도록 추천 시스템들이 진화하고 있습니다. 그런 측면에서 추천 시스템은 Recommendation Engine에서 Discovery Engine으로 발전하고 있습니다. 우연성을 너무 강조해서 너무 생뚱맞은 것을 추천해주면 또 곤란합니다. 어려운 문제입니다. 추천 점수에서 상위 1~2개 정도의 아이템만 추천해주는 경우에는 뻔하지만 연관성이 높은 아이템을 추천해줄 때 사용자들의 만족도가 높아지고, 다수의 아이템을 동시에 추천해주는 경우 (Top 10 등)에는 다양한 아이템들이 추천될 때 사용자 만족도가 증가한다고 알려져있습니다. 그리고, 초보 서비스 이용자들에게는 연관성이 높은 아이템들을, 헤비 유저에게는 우연성이 높은 아이템들을 추천해주는 것도 대부분의 사용자를 만족시키는 한 방안입니다.

그리고, 특히 헤비 유저들에게는 자유도 user control를 제공해줄 필요가 있습니다. 기계적으로 아이템들을 추천해주는 것이 아니라, 사용자들에게 자신이 추천 방식을 변경시켜주는 것입니다. '나는 최신 상품을 우선으로 보겠다' 아니면 '평점이 높은 것 위주로 보겠다' 등과 같은 옵션을 제공해줌으로써, 시스템의 단점도 보완하면서 사용자들에게 자유도를 제공해줄 수 있습니다. (글을 적고 보니 user control은 평가지표는 아니네요.) 유저 컨트롤 못지 않게 중요한 것이 추천 신뢰도입니다. 유저들은 가끔 왜 이 아이템이 추천되었는지?를 궁금해합니다. 그렇기 때문에, '네가 이러이런한 상품을 구입했고, 그런 상품을 구입한 다른 사용자들이 이런 상품을 좋아했다' 또는 '네 친구 XX가 이 상품을 좋아했다' 등과 같은 설명 또는 추천의 근거를 제공해주는 것도 매우 중요합니다. 이전 글에서도 적었는데, 소셜 데이터를 사용함으로써 추천 시스템 자체의 (수치화/지표화된) 품질은 별로 개선시키지 않았지만, 추천의 이유를 설명해줌으로써 추천 신뢰도는 높였다는 연구결과도 있습니다.

그리고, 뉴스 기사를 추천해주는 경우에 중요한 요소가 하나 더 있습니다. 바로 공정성입니다. 정치 경제 사회 문제에 대해서 특정 견해를 가진 이들에게 비슷한 견해의 다른 기사들을 추천해주면 만족도는 증가합니다. (사용자가 추천 시스템(의 작동)을 인지하지 못한 상황에서) 특정 견해의 뉴스만을 제공해주면, 편향된 시각으로 뉴스를 편집한다는 오해를 불러일으키기도 합니다. 그래서 에디터들은 특정 중대 사안에 대해서 두가지 다른 견해를 동시에 노출시켜주려고 노력하는 경향이 있는데, 자동화된 시스템도 중립성을 학습할 필요가 있습니다. 소셜픽이라는 검색서비스를 만들 때, 관련된 기사/글이 두개밖에 없으면 그냥 두개열로 나란히 나열해서 보여주자라고 의견을 낸 적이 있습니다. 그랬더니 뉴스/블로그 쪽에서 오래 일하셨던 분이 그렇게 되면 사용자들이 두 기사를 놓고 논쟁을 시키는 것처럼 보인다는 의견을 더했습니다. 그래서 현재는 3개열에 노출하데, 마지막 세번째 열은 공백으로 놓고 제공해주고 있습니다.

(글을 마치려고 했는데 한 가지 더 생각났습니다.) 추천 커버리지도 추천 시스템의 품질과 직결됩니다. 커버리지는 (연관아이템추천에서) 연관아이템을 가지는 아이템의 개수와 연관아이템의 개수, 둘 모두를 뜻합니다. CF 알고리즘은 간단하지만 잘 작동한다고 말했습니다. 그런데 치명적인 단점은 커버리지가 낮습니다. 일단 사용자들에게 한번 이상 조회된 아이템에 한해서만 추천 (커버리지의 두 측면에서)이 됩니다. 정확한 수치는 경우에 따라서 다르겠지만, 전체 아이템에서 10%정도만 유저들에 의해 한번이라도 조회됩니다. 전체 상품수는 1000개인데, 100개 상품만 추천/피추천 대상이 된다는 얘기입니다. 그러면 나머지 900 제품은 절대 추천되지 못하는 현상이 발생합니다. 그래서 CF 방식에 CBF 방식을 결합해서 하이브리드 형태로 추천 시스템을 만듭니다. 예를들어, '이영화를 봤던 사람들이 봤던 다른 영화들'과 '이 영화의 장르/감독/배우들의 다른 영화들'을 혼합해서 추천해주는 것입니다. 그리고, 커버리지가 낮다는 것은 (같은 아이템을 계속 추천/노출시킴으로써) 사용자들은 추천 피로도가 쌓이게 됩니다. 그래서 추천 커버리지 또는 다양성, 그리고 앞서 말했던 우연성은 중요합니다.

이 외에도 다양한 측면에서 추천 시스템의 품질을 평가, 측정할 수 있습니다.

(Coming Soon) 앞으로 추천랭킹, 필터링, 개인화, 필터버블 등의 글이 계속 이어집니다.

추천시스템 전체 목록

  1. 추천 시스템과의 조우 (PR시리즈.1)
  2. 추천 시스템을 위한 데이터 준비 (PR시리즈.2)
  3. 추천대상에 따른 추천 시스템의 분류 (PR시리즈.3)
  4. 알고리즘에 따른 추천 시스템의 분류 (PR시리즈.4)
  5. 추천 시스템을 위한 유사도 측정 방법 (PR시리즈.5)
  6. 추천 시스템의 성능 평가방법 및 고려사항 (PR시리즈.6)
  7. 추천 시스템에서의 랭킹과 필터링 문제 (PR시리즈.7)
  8. 추천 시스템의 쇼핑하우 적용예 (PR시리즈.8)
  9. 개인화 추천 시스템에 대하여 (PR시리즈.9)
  10. 추천 시스템의 부작용 - 필터버블 (PR시리즈.10)
  11. 추천 시스템의 레퍼런스 (PR시리즈.11)
  12. 추천 시스템에 대한 잡다한 생각들 (PR시리즈.12)
  13. 추천 시스템을 위한 하둡 마훗 사용하기 (PR시리즈.13)
  14. 추천 시스템에 대해서 여전히 남은 이야기들 (PR시리즈.14)

==

페이스북 페이지: https://www.facebook.com/unexperienced

댓글을 달아 주세요

  1. Favicon of http://sdoood.tistory.com BlogIcon 이젠모든것이~! 2017.11.04 18:14 신고 Address Modify/Delete Reply

    좋은 글 잘봤습니다 ^^

Share           Pin It

내가 기억하기로 Serendipity라는 말을 처음 들었던 것은 존 쿠색과 케이트 베킨세일 주연의 <세렌디피티>를 통해서다. TV의 영화정보프로그램을 통해서 영화를 알게 되었고, 또 시간이 흘러 TV에서 방영하는 것을 두번정도 시청한 듯하다. 영화의 내용은 좀 뻔하다. 우연히 마주친 운명적 상대를 시간이 흐른 뒤에 다시 만나서 운명을 이어간다는 뭐 그런... 현대 소설에서는 모든 사건사고가 필연에 의해서 이뤄져야 하는데, 제목부터 '우연한 행운'으로 지었으니...

사용자들을 상대로 하는 서비스를 만들다보니 Serendipity라는 말을 자주 하게 된다. 그저 누구나 예상할 수 있는 뻔한 서비스로는 계속 변화하는 사용자들의 필요 Needs와 욕구 Desire를 제대로 충족시켜주지 못한다. 카노모델 Kano Model에서 말하듯이 서비스가 기본적인 기능을 모두 충족시키면 그 이후에는 사용자들이 예상하지 못했던 부가기능을 제공해서 사용자들을 열광시키게 만들어야 한다. (물론, 기본 전제는 '기본 기능'에 충실해야 한다는 점.) 그런 예상치 못한 기능에 해당되는 것이 일종의 serendipity다.

여러 추천 알고리즘이나 랭킹 모델을 만들면서도 늘 마지막까지 고민이 되는 점이 serendipity다. 일전에 다음개발자컨퍼런스에서도 발표했듯이 대부분의 서비스는 기본적으로 CARTS, 즉 Coverage, Accuracy, Robustness, Timeliness, 그리고 Serendipity가 필요하다고 했다. (물론 다른 많은 기능이나 측도를 만족시켜줘야 한다.) 앞쪽의 4가지는 어느 정도 파라메터를 조정해가면서 일반적인 설정값 Optimal Setting을 정하면 되는데, 마지막 serendipity는 좀 더 사용자 개인에 치중한 것이어서 일반적 최적값이라는 것이 불가능할지도 모르겠다. (참고글. 의도된 우연) 관련검색어/연관검색어 서비스를 만들면서 관련성만 따지다보면 추천되는 모든 키워드들이 그냥 같은 (결과를 제공하는) 단어들의 나열로 끝난다. 이런 경우 주어진 키워드와 연관은 되지만 조금은 다른 세계로 이끌어주는 단어를 제시할 필요가 있다. 지금 개인적으로 관련영화를 뽑는 작업을 진행중인데, 추천되는 대부분의 영화들이 관련성은 보장이 되지만 너무 재미없다는 느낌을 받곤 한다. 많은 영화에서 유명한 몇몇 작품이 계속 반복해서 추천되기 때문이다. 새로움 Freshness를 줄 수 있는 방법은...?

2007년도에 학위를 받고 박사후 과정으로 연구실에 남아있으면서 몇 편의 협업필터링 Collaborative Filtering 관련 논문을 적은 적이 있다. 당시에 나와있던 많은 논문들을 리뷰했지만, 대부분의 논문들에서 다루는 주제 또는 알고리즘의 성능을 평가하는 측도는 바로 정확도였다. (대표적인 측도로 MAE mean absolute error) 어떤 데이터를 사용하면 더 정확한 추천이 가능할까? 어떤 유사도 함수를 사용하면 더 정확한 추천이 가능할까? Netflex에서 실시했던 추천알고리즘 개선 경진대회도 현재의 정확도를 10%이상 높이는 팀에게 우승상금 100만달러를 주기로 했고, 또 그런 팀이 나와서 최종 우승을 차지했었다. 그런데 위의 영화추천 작업을 하면서 그런 추천 알고리즘을 좀 정리해놓을 필요가 있을 것같아서 최근의 논문들을 찾아봤다. 5년 전에 읽었던 논문들과 기본적으로 크게 변한 것은 눈에 잘 띄지 않았다. 그런데 많은 논문들에서 눈에 띄는 것은 Serendipity / Serendipitous라는 단어다. 학술논문도 이제는 정확도의 세계에서 우연의 세계로 넘어온 것일까? (추천시스템 자체가 워낙 응용 Application 분야이기 때문에 과학/학술적 용어보다는 시장의 용어를 받아들인 듯하다.)

사사키 도시나오의 <큐레이션의 시대>를 읽으면서 한번 정리하고 싶었던 내용을 이제 적으려 합니다. 참고로, <큐레이션의 시대>는 딱히 추천하고 싶지는 않지만 그냥 읽을만하다정도입니다. 제가 일본인 저자의 책을 잘 읽지 않는 이유가 그대로 반영된 책이기도 하지만, 그래서 서구의 시각과 다른 개념이나 용어를 사용해서 조금 생각할 거리를 준다는 점에서는 좋은 점도 있습니다. (그것도 개인적 차이를 반영하겠지만) 책의 중간에도 Serendipity와 관련된 내용이 있었던 걸로 기억합니다. 그래서 당시에 명시적 우연 Explicit Serendipity과 암묵적 우연 Implicit Serendipity라는 용어를 (책에 나오는 용어는 아님) 블로그에 적었던 기억이 납니다. 오늘 적고 싶었던 글이 바로 우연에도 측도가 있다는 것입니다. 바로 명시-암묵의 측도입니다. 0에서 100까지를 놓고 보면 0은 완전히 명시적이고, 100은 완전히 암묵적이겠죠. 명시적이라면 그의 필연적으로 A 다음에 B가 오는 것이고, 암묵적이라면 진짜 소 뒷걸음질치다가 쥐를 잡는 식 이상의 임의/우연에 의한 사건입니다. 실생활에서는 0보다는 커고 100보다는 작은 그런 우연들이겠죠.

  • 명시적 우연 Explicit Serendipity은 거의 필연에 가깝습니다. 인터넷 정보 습득의 측면에서 보면 (열심히 활동하는) 카페/커뮤니티에서 얻는 정보가 될 듯합니다. 만약 내가 디아블로3에 빠져있으면서 관련된 카페나 커뮤니티에 가입하고 또는 루니웹 등의 전문 게시판에서 살다시피 한다면... 그런 카페나 게시판에 올라오는 대부분의 글들을 읽어보게 될 것입니다. 다른 이들이 올리는 그런 디아블로와 관련된 글들은 나의 입장에서는 랜덤으로 전달되는 정보들입니다. 그러나 내가 그런 커뮤니티에 가입되어있기 때문에 얻을 수 있는 정보입니다. 우연히 얻는 정보같지만 또 그렇지 않습니다. 카페 커뮤니티나 페이스북 팬페이지 등은 같은 관심사를 가진 이들의 모임이므로 좀 더 명시적 우연에 의해서 수집되는 정보입니다.
  • 암묵적 우연 Implicit Serendipity은 더 랜덤합니다. 처음 명시적 우연과 암묵적 우연이라는 말을 생각했을 때는 트위터의 타임라인이나 페이스북의 뉴스피드에 올라오는 정보가 암묵적 우연정도로 생각했었는데, 지금은 타임라인이나 뉴스피드 정도는 명시/암묵도가 50정도밖에 되지 않는 듯합니다. 검색엔진을 통한 것은 키워드라는 매개체가 있으니 70정도는 될 듯하고, 인터넷 전체가 8~90정도가 되지 않을까 합니다. 트위터나 페이스북에 올라오는 글들은 카페나 팬페이지처럼 특정 주제에 한정되지 않습니다. 그런 측면에서 암묵적 우연의 예시라고 생각했었는데, 또 달리 생각해보면 트위터의 타임라인이나 페이스북의 뉴스피드는 내가 선택한 이들의 글이 올라온다는 점에서 완벽한 우연성을 기대하기는 어렵습니다. 좀더 관심사가 같은 이들끼리의 친구네트워크가 생긴다면 트위터/페이스북도 명시적 우연에 더 근접하고, 역으로 그냥 대중 anonymous을 친구로 추가한다면 (검색엔진 이상의) 암묵적 우연이 될 듯합니다. 타임라인이나 뉴스피드에서 얻는 정보가 얼마만큼의 우연에 의해서 얻게되는지를 분석해보는 것도 재미있을 듯합니다.
  • 괜히 50짜리 우연인 트위터나 페이스북을 중간적 우연이라고 표현해야할까요?
많은 서비스를 사용해고 또 그런 서비스를 만들다보면 이런 우연성에 대한 생각을 많이 하게 됩니다. 그냥 '이게/우연성이 중요해'정도로만 생각했지, 실제로 내가 만들고 있는 서비스는 어느 수준까지의 우연성을 제공해줘야하는지에 고민은 깊이 해보지는 않은 듯합니다. 우연에 따른 행운이 아니라 필연으로 이어지는... 가끔 '흘러넘치는 정보는 무시해라. 그게 정작 내게 필요한 것이라면 언젠가 어느 경로를 통해서든 내게 전달될 것이다.'라고 말하곤 합니다. 우연에 의한 것이 아니라 어쩌면 그게 필연인지도 모릅니다. 데이터 분석가로써 그런 우연을 만들고 또 그래서 그것이 필연으로 만들어주는 방법을 더 깊이 고민하게 됩니다.


댓글을 달아 주세요

Share           Pin It
 작년 전반기 6개월동안은 다음에서 관련검색어 서비스의 데이터를 집계/분석하는 업무를 담당했었다. 다음에서는 관련검색어로 네이밍되었지만, 네이버에서 연관검색어로 서비스되기 때문에 연관검색어라는 용어가 더 통용되는 듯하다. 어쨌던 6개월의 개편 후에, 관련검색어 관련 메인롤은 다른 이에게 넘겨줬지만 여전히 서브롤은 담당하고 있다. 메인롤을 넘겨줘야했던 비하인드 스토리도 있지만 6개월동안 나름 집중했었는데... 그래서 지난 늦가을에 다음개발자컨퍼런스에서 관련검색어 데이터를 어떻게 만들어지는가에 대한 발표를 했다. (참고: DDC2011 (다음개발자컨퍼런스) 발표자료 - 가이드쿼리 및 관련검색어) 이 발표의 거의 마지막 부분에 관련검색어나 기타 여러 서비스들을 분석/준비하면서 고려해야할 대표적인 특성을 5개로 정리해서 CARTS라는 이름을 붙였다. (발표자료에서 빨간 카트라이드 캐릭터가 포함된 페이지 참조)

 CARTS는 커버리지 Coverage, 정확도 Accuracy, 강건성 Robustness, 시의성 Timeliness, 그리고 우연성 Serendipity이 약자다. 좀 말장난 word play처럼 만들어진 용어였지만, 이후로 계속 저 단어를 떠올리면서 흡족해하는 내 모습을 보고 있다. 그런데 앞의 네개의 특성은 어떻게 잘 하면 충족시켜줄 수 있을 것같은데, 마지막 우연성은 어떻게 처리해야할지 난감할 때가 많다. (관련검색어에서) 100% 우연성에 초점을 맞춰서 전혀 뜬구름같은 단어를 추천해주면 서비스의 네이밍인 '관련검색어'에 위배된다. 그렇다고 우연성을 거의 0%로 낮추면 추천된 키워드들의 재미가 떨어진다. 초기에 사용자가 입력한 키워드와 거의 같은 뜻의 다른/변형된 형태의 단어들만 추천해주면 사용자들이 굳이 클릭해볼 니즈가 없다. 그래서 적당히 관련되면서도 적당히 엉뚱한 결과/키워드를 제시해줘야지 사용자들은 자신의 처음 (검색)의도에서 크게 벗어나지도 않으면서 더 다양하고 재미있는 것들을 찾아갈 수 있다. 그냥 수학적으로는 인터넷 네비게이션을 거의 랜덤서핑 (랜덤워크)로 간주해서 모델링을 하지만, 완벽한 랜덤으로 가정한다면 지금의 인터넷이 만들어질 수도 없다. 랜덤서핑이 우연성을 뜻하는 것인데, 그런 우연성도 의도를 가져야 한다.

 관련검색어를 가지고 이야기를 시작했지만, 추천이라는 일반적인 서비스/기능에서도 의도된 또는 연결된 우연성은 매우 중요하다. 특히 제한된 사용자풀 UV에서 더 많은 페이지뷰를 이끌어낼려고 혈안인 이노무 인터넷 서비스에서는 더욱 그렇다. 의도와 연결된 우연성... 네이버나 다음 등의 포털의 탑페이지를 보면서 한숨을 돌리는 경우가 많다. 너무 많은 정보를 보여줄려고 한다. 그래서 참 혼잡스럽다. 현실적으로 어쩔 수 없는 측면이 있다. 사용자가 어떤 의도를 가지고 서비스에 접속했는지를 파악할 수 없는 상황에서는 모든 메뉴를 다 보여주고 그 중에서 선택하세요라고 할 수 밖에 없다. 그렇기 때문에 이곳저곳에서 정보를 조금씩 가져와서 피쳐링해주는 거다. 때로는 낚시를 위해서 제목을 자극적으로 바꾸는 경우도 있었고, 지금도 성행하고 있다. 지금 포털들의 메인페이지를 보면 그냥 거의 90% '우연성'에 기반을 둔 것같다. 100%라고 말할 수 없는 이유는 그래도 나름 현재 이슈가 되는 뉴스를 피쳐링해두거나 아니면 검색량 상위를 차지하는 검색어 등을 보여주는 정도의 10%정도의 (개인의 의도가 아닌) 군중/집단의 의도를 보여주고 있기 때문이다.

 이런 저런 서비스를 기획, 개발하다보면  가장 놓치기 쉬운 것이 사용자의 의도이다. 그렇기 때문에 처음에는 기획자난 개발자들의 경험을 바탕으로 이런 저런 기능들을 추가하고 삭제한다. 여러 설문조사나 심층인터뷰 등을 바탕으로 사용자의 니즈를 파악하는 경우도 존재하고, 기존에 있던 서비스들을 사용하면서 불편했던 점이나 사용자 피드백 등을 기반으로 새로운 서비스를 구상하는 경우도 많다. 그래도 그런 것들은 기존의 서비스에 대한 불편불만이고 또는 전혀 존재하지 않는 서비스/제품에 대한 환상일 뿐, 실제 모습을 더러낸 제품이나 서비스에 대한 니즈/의도는 아니다. 스티브잡스가 밝혔듯이 애플은 사용자조사를 하지 않는다 (수사적으로 그렇다는 얘기겠지만)고 말했다. 사용자들은 그들 앞에 제품/서비스를 보여주기 전까지는 그들이 진정 뭘 원하는지 모르기 때문에 (대표적인 사례로 헨리포드가 했다는 '사용자들에게 뭐가 필요하냐고 물어보면 그들은 분명히 더 빠른 말/마차를 원한다고 대답했을 것이다.'라는 것도 있다.) 굳이 몇몇 제한된 사용자들을 대상으로 심층인터뷰 등을 할 필요가 없다는 얘기다. 어쨌던 이런저런 조사과정을 거치든지 아니면 애플처럼 인간의 심연을 궁리해서 만들어내든 어쨌던 사용자의 니즈를 제대로 파악할 수는 없다. 니즈가 너무 다양한 경우도 존재하고 극단적인 경우에는 니즈 자체가 없을 때도 있다.

 장황하게 말을 이어갔지만, 사용자의 니즈는 파악하기 힘들다. 때론 명확한 사용자의 니즈가 있더라도 초기 서비스 화면에서 그 니즈를 어떻게 충족시켜줄 방법도 없다. 서비스를 기획하고 만드는 사람의 입장에서는 참 답답한 현실이다. 검색 얘기를 좀 더 해보면, 검색에서도 검색결과를 어떻게 보여줄 것인가가 바로 사용자 니즈와 관련된 거다. 특정 정보를 찾기 위해서 제한된 키워드를 입력하는 사용자들에게 어떻게 하면 더 적합한 결과를 제공해줄 수 있을 것인가가 검색랭킹에서의 최대 이슈다. 사용자들이 검색어를 타이핑하는 것을 굉장히 꺼린다. 그래서 검색창에 서제스트기능을 넣기도 하고, 앞서 말했던 관련검색어/확장검색어 등을 넣기도 한다. 순수히 검색랭킹/결과페이지의 측면에서 보면 가능하면 다양한 검색결과를 보여줘서 사용자들이 선택하도록 해야한다는 의견/논문도 있다. 예를들어, apple이라고 검색하면 구글에서도 온통 애플(컴퓨터)에 관한 내용이 전부인데, 다양한 카테고리/출처/주제에서 나온 결과들을 분산시켜서 보여줘야 된다는 의견이다. 그런데, 사용자의 의도가 반영된 하나의 검색결과가 화면에 노출되고 또 사용자가 그 검색결과를 클릭한 이후에 후속과정이 없다. 사용자가 키워드에 의도를 넣어서 검색하고 또 그 의도에 맞는 결과를 클릭했으면 그것을 종합해서 새로운 검색결과를 보여주는 인터랙티브한 검색서비스를 만들 수도 있을텐데... (... 이걸 적을려고 했던 아닌데... 내용이 또..)

 더 다양하고 싶은 생각은 각자 해보세요. 이 글이 처음부터 뭔가를 보여줄 의도로 쓰여진 것은 아니니... 그냥 이런저런 일을 하다가 이 화두를 꺼내보고 싶어서 글을 적었습니다. 여러분들의 생각의 시작이 되었으면 합니다.

 어쨌던 서비스나 기능을 만들면서 의도된 또는 연결된 우연성을 어떻게 확보할 수 있을까요?

댓글을 달아 주세요