Share           Pin It

불특정 다수를 위한 추천을 제외하면, 대부분의 추천은 개인화에 바탕을 두고 있습니다. 개인의 선호도를 바탕으로 명시점수를 예측하거나 특정 아이템을 선호할 확률을 계산해서 보여주기 때문입니다. 그리고 나와 유사한 사용자들이 좋아하는 제품들이나 내가 좋아하는 제품의 관련 제품들도 개인의 선호에 바탕으로 맺어지는 것입니다. 그렇기에 추천 개인화라는 타이틀이 조금 어색하지만, 최근에 제가 고민하는 플랫폼/프로세스에 대한 간략한 스케치만 다루겠습니다. 그리고, 추천 개인화에 관심이 있으신 분들은 Netflix에서 나온 Mining Large Streams of User Data for Personalized Recommendations를 읽어보시기 바랍니다.

제가 생각하는 추천 시스템 또는 추천 개인화는 1. 개인의 과거 이력을 바탕으로 관심사를 찾아내고 모델링하는 User Profiling, 2. 유저프로파일에 연관된 모든 아이템을 찾아내는 Matching, 3. 매칭된 아이템들을 특정 기준에 따라 점수화/순위화하는 Ranking, 그리고 4. 랭크된 아이템들 중에서 유저의 이력이나 선호도에 따라서 불필요한 것들을 제외시키는 Filtering으로 구성됩니다. 이전 글에서도 명시했듯이 랭킹과 필터링은 따로 구분해서 순차적으로 적용되는 것은 아닙니다. 필터링이 매칭단계에서 적용될 수도 있고, 랭킹 함수의 한 요소로 사용될 수도 있습니다.

유저 프로파일링은 문자 그대로 사용자의 프로파일을 만드는 과정입니다. 사용자가 명시한 것들이나 과거 이력, 또는 데모그래픽 정보 등을 모두 이용해서 해당 사용자의 관심사를 파악하고, 그것을 기계가 이해할 수 있는 데이터 구조 및 형태로 표현하는 것입니다. CF방식에서 사용되는 유사사용자도 프로파일이 될 수도 있고, 최근에 조회했던 아이템들도 프로필이 될 수 있습니다. 검색을 많이 하는 사용자의 경우 최근 검색히스토리, 최근 본 기사에서 주로/많이 사용된 키워드 및 기사의 카테고리, 트위터나 페이스북의 친구 등도 모두 사용자 프로파일이 추가될 수 있습니다. 사용자가 직접 등록/지정하는 키워드/토픽/카테고리도 빠질 수가 없습니다.

유저 프로파일이 만들어졌다면, 그것과 관련/연결된 모든 아이템들을 찾아내는 과정이 매칭입니다. (참고로, 매칭에서 '아이템'은 경우에 따라서 다른 의미를 가집니다. 페이스북이나 트위터에서 친구를 추천해주는 경우에는 다른 '유저'가 아이템이 됩니다.) 유사 사용자들이 최근에 관심을 가졌던 아이템들, 최근 본 아이템들의 연관 아이템들, 내가 지정한 또는 암묵적으로 관심을 가졌던 키워드를 포함하는 아이템들 (뉴스기사나 제품설명서 등), 내가 팔로잉하는 사람들이 최근에 적은/추천한 기사 등... 프로파일에 명시된 것들과 연결된 모든 아이템들을 찾아내는 것이 매칭 단계입니다.

매칭을 통해서 수많은 아이템들이 찾아지면, 그것들을 그냥 유저들에게 보여줄 수가 없습니다. 특정한 기준에 따라서 정열을 하고 상위의 Top N개만 선별해서 보여줘야 합니다. 랭킹글에서도 적었듯이 연관성이 높은 아이템들, (일반/특정그룹의) 인기도가 높은 아이템들, 최신 아이템들, 희귀한 아이템들, 오리지널 아이템들 (원본글), 품질이 높은 아이템들 (권위있는 사용자가 적은 글이나 유명 브랜드의 제품 등), 쇼핑에서는 가격이 싼 또는 비싼 아이템들... 등과 같은 다양한 기준에 따라서 아이템들을 정열합니다. 특정 기준에 따라서만 정열할 수도 있고, 여러 요소들을 선형/비선형으로 통합할 수도 있습니다. 그리고 추천랭킹에서 컨텍스트 정보도 중요합니다. 특정 요일이나 시간대, 지역, 성별/연령이 좋아하는 아이템들이 있다면 그런 컨텍스트에 맞게 랭킹이 조정될 필요도 있습니다. 예를들어, 남녀의 선호도가 명확한 상품의 경우 여성에게는 여성 선호 상품을 우선적으로 보여주는 것입니다.

랭킹점수가 높다고 해서 유저들이 그것들을 모두 좋아하는 것은 아닙니다. 이제 사용자들이 싫어할만한 것들 속아내는 과정이 필요합니다. (기본적으로 랭킹이 선호와 비선호를 나눴다고 가정하지만) 유저가 최근에 조회했던 아이템을 중복해서 제시되면 피로도가 쌓이기 때문에, 최근에 본 아이템을 제외하는 것은 가장 기본입니다. 그 외에도 오래된 아이템을 제외할 수도 있습니다. 뉴스 추천에서 최근 일주일, 최근 하루, 또는 최근 1시간정도로 현재 이슈가 되는 것을 위주로 보여줘야 합니다. 그리고 유저가 지정한 (또는 기계적으로 파악된) 비선호 카테고리 정보를 이용해서 비선호 아이템을 제거하는 것도 필요합니다. 정치뉴스를 절대로 안 읽는 사용자에게 정치뉴스만을 추천해주면 추천 시스템이 무용해집니다. (이 이슈는 다음의 필터버블 글에서 다시 다루겠습니다.)

간략히 정리해서 "개인화 추천 (PR) = 유저프로파일링 (P) + 아이템 매칭 (M) + 아이템 랭킹 (R) + 아이템 필터링 (F)"입니다.

추천시스템 전체 목록

  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

댓글을 달아 주세요

Share           Pin It

일곱번째 주제는 랭킹으로 정했습니다. 보통 추천 시스템은 Top N개의 아이템을 추천해줍니다. Top N을 결정하는 것은 일반적인 의미에서 랭킹 문제로 볼 수 있습니다. 그리고 추천 시스템을 검색엔진의 특수형/변형이라고 볼 수도 있습니다. 검색엔진은 사용자가 입력한 키워드 (쿼리)에 대해서 가장 적합한 (매칭률, 인기도, 최신성, 다양성 등 고려) 문서들을 제공하는 것이지만, 추천 시스템에서의 쿼리는 키워드가 아니라 유저 또는 아이템 그 자체입니다. 즉, 어떤 사용자를 쿼리해서 그/그녀에게 가장 적합한 아이템을 검색결과로 던져주거나 특정 아이템에 대해서 가장 연관성이 높은 것을 제시하는 것이 추천 시스템입니다. 입력의 형태만 키워드에서 유저 또는 아이템으로 바뀌었을 뿐, 기본 작동원리는 검색엔진의 그것과 동일합니다. 그래서 결국 추천에서도 랭킹이 중요한 이슈입니다.

보통 Top 5, Top 10 등의 다수의 아이템을 추천해주지만, 경우에 따라서 Top 1만을 제시하는 경우도 있습니다. 소수의 아이템을 추천해줄수록 랭킹이 더욱 중요한 역할을 합니다. 다수의 아이템을 추천해주는 경우에는 1, 2 위 자리에 적당한 아이템이 제시되지 않더라도 그 후순위의 것을 바로 확인이 가능하지만, 한두개만을 제시할 때는 그렇지 않기 때문입니다. 이전 글에서도 언급했는데, 다수의 아이템을 추천할 때는 의도적으로 다양성/우연성을 더 장려합니다.

이론적으로는 추천 시스템에서 명시점수를 사용하는 경우에는 예측된 레이팅 점수로, 암묵점수를 사용하는 경우에는 예측된 선호확률로 랭킹을 결정하면 됩니다. 그렇지만 실제 서비스에서는 예측값 이상의 랭킹 요소들이 필요합니다. 검색엔진에서도 쿼리와 문서와의 매칭률 (보통 BM25로 계산됨) 뿐만 아니라, 인기도 (클릭률, PageRank 등), 최신성, 출처의 신뢰성 등의 다양한 요소로 최종 랭킹을 정하듯이 추천 시스템에서도 예측치 외에 다양한 요소들이 필요합니다.

가장 우선시 되는 요소는 연관도입니다. 유저기반의 CF에서 A와의 유사도는 0.7이고, B와의 유사도는 0.4라면 A에 의해서 매핑되는 아이템이 더 나의 선호에 맞을 가능성이 높습니다. 아이템기반에서도 유사도/연관도가 높은 아이템을 우선 추천해주는 것이 합리적입니다. 연관도는 앞서 말했던 레이팅/확률 예측치와 같은 개념으로 봐도 무방할 것같습니다.

그외에는 이전 글에서 밝혔던 추천 시스템의 평가측도와 관련된 모든 요소들이 랭킹 요소로 활용될 수 있습니다. 가장 대표적으로 아이템의 인기도/선호도가 랭킹에 반영됩니다. a와 b 모두 연관도가 0.7로 동일할 때, 그들의 인기도 (유저들의 총 조회회수 등)가 각각 0.8과 0.3이라면 b보다 a를 우선 추천해주는 것이 맞습니다. 그리고 아이템의 최신성도 중요한 요소입니다. 유사한 아이템이라면 더 최신의 정보/상품을 추천하는 것이 전반적인 만족도를 높여줍니다. 물론, 검색에서 원본 문서에 가중치를 두듯이, 최신성이 절대적일 수는 없습니다. 그래도 뉴스와 같은 시간에 민감한 정보의 경우 최신 뉴스를 우선 보여주는 것이 맞습니다. 그리고 한 사용자가 a는 어제 조회했고, b는 오늘 조회했다면, 아이템 기반으로 추천해주는 경우 b와 연관된 것을 a의 그것들보다 우선순위에 놓는 것이 합리적입니다. 즉, 사용자의 최근 관심사를 랭킹에 반영하는 것입니다.

그리고 대부분의 실서비스에서는 중립적인 계산된 랭킹값에 더해서 비즈니스 로직 / 도메인 지식도 결합됩니다. 앞서 말했던 최신성도 일종의 비즈로직입니다. 예를들어, 뉴스 추천에서 정치 뉴스를 주로 소비하는 사용자에게 스포츠나 연예 뉴스를 생뚱맞게 추천해준다면 만족도가 떨어질 가능성이 높습니다. 이런 경우, 사용자가 선호하는 카테고리의 뉴스들에 가중치를 둔다거나 역으로 비선호 카테고리는 페널티를 줄 수도 있습니다. 경우에 따라서는 비선호 카테고리는 추천에서 배제한다는 필터링이 적용될 수도 있습니다. 유저기반의 개인화에서는 다양성의 측면에서 덜 하지만, 아이템 기반의 연관아이템을 추천해주는 경우에는 연관된 상품의 카테고리가 너무 상이하면 추천에 대한 신뢰도가 떨어질 수도 있습니다. 쇼핑에서 상품 추천의 경우 가격이 낮은 것을 추천해준다와 같은 룰도 적용이 가능합니다.

랭킹과 함께 고려되어야할 사항이 필터링 이슈입니다. 앞서 언급했듯이 같은 카테고리의 아이템만 연결한다 또는 가중치를 차등한다와 같은 소프트한 필터링도 존재하겠지만, 이미 유저가 소비했던 아이템을 추천 대상에서 제외하는 것과 같은 하드한 필터링은 꼭 필요합니다. 물론 쇼핑과 같은 경우에는 특정 제품의 구매욕구가 생겼을 때, 바로 구매하는 경우는 더뭅니다. 여러 상품을 조회해보고 며칠을 고민하다가 결국 하나를 선택하는 경우가 많습니다. 이런 경우에는 이미 조회했던 상품을 다시 보여주는 것도 의미가 있습니다. 그러나 같은 상품을 너무 자주 노출하면 그것 -- 특히 광고 -- 에 대한 피로도만 쌓입니다. 이렇게 이미 조회했던 아이템이나 빈번히 노출되었던 아이템을 추천에서 제외시킴으로써 새로운 아이템을 발견하는 기쁨을 제공해줄 수 있습니다.

또 중요한 랭킹 및 필터링 요소로 에디터/운영자의 운영점수도 있습니다. 각 언론사/포털의 편집자들이 그날의 주요/당위 이슈를 수작업으로 선정하기 때문에 그런 뉴스의 경우에는 중요할 뿐만 아니라 (운영자에 의해) 검증되었기 때문에 더 높은 가중치를 부여할 수도 있습니다. 역으로 특정 기사 (성인 컨텐츠나 지나친 상업성 기사, 또는 법에 의해서 정해진 블라인드 처리 기사 등)은 추천에서 배제하는 것도 가능합니다. 검색이나 추천 시스템이 기본적으로 자동화를 위한 방편이지만, 사람들의 intervention을 완전히 배제할 수는 없습니다.

필터링은 완전 배제이고, 랭킹은 조정이기 때문에 별도의 글로 작성하려 했으나 0/1과 (0, 1)의 차이일뿐, 개념적으로 둘이 동일하다고 판단해서 함께 적었습니다.

추천시스템 전체 목록

  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

댓글을 달아 주세요

Share           Pin It
 그림 한장으로 다음 블로거뉴스와 열린편집을 도식화해보았습니다. 열린편집 알고리즘에 대해서는 이미 특허도 출원이 되었고, 발표 및 논문의 형태로 공개가 될 예정이라 자세한 사항은 특허문서나 논문 (조만간 발표될 예정)을 참조하시기 바랍니다. 자세한 내용을 어느 선까지 다루어야할지 애매하기 때문에 간단한 설명만 다룹니다. (회사에서 진행하고 있는 서울대 컴공과 학생들을 위한 발표자료를 준비 중에 잠시 만든 자료/그림이라서 자세한 내용을 다루지 못합니다.)

한장으로 그려보는 다음 블로거뉴스와 열린편집



 블로거뉴스
- 블로거이라면 다음의 블로거뉴스에 기자단으로 등록한다. (등록방법은 다른 포스팅들을 참조바람)
- 자신의 글을 블로그에 등록한다.
- 블로그에 글을 등록할 때, 블로거뉴스에 발행을 선택하거나 블로거뉴스 홈페이지에서 RSS를 이용해서 글을 발행한다.
- 블로거뉴스 이용자들은 마음에 드는 블로그포스팅을 보고 추천을 누른다.

열린편집
 - 포스팅 추천행위에 따라서 추천점수를 부여받는다. (자세한 추천점수체계는 공개할 수 없습니다.)
 - 일정 기간동안 누적 추천점수가 일정값이상인 블로거들은 에디터풀에 등록된다.
 - 주기적으로 (1주, 2주, 1달?) 에디터풀에서 열린편집자들을 (거의) 임의로 선정한다.
 - 선정된 열린편집자들의 추천수에 따라서 블로거뉴스베스트글이 선정된다.
 - 베스트글 중에서 열린편집자들의 추가추천에 의해서 랭킹이 매겨진다.
 ** 베스트글은 또 다른 열린편집자들을 발굴하는 근거가 된다.

댓글을 달아 주세요

랭킹 이야기

Tech Story 2008.12.02 19:25 |
Share           Pin It
 이전 글들을 종합해 보면 제가 어디서 어떤 일들을 하고 있는지 알 수 있을 것이다. 일명 (호라이즌) 포탈을 운영하는 곳에서 일하고 있기 때문에 회사 내에 다양한 서비스들이 존재한다. 즉 내가 이 회사에 몸을 담고 있다고 하더라도 다른 팀이나 서비스들에 대해서는 경우에 따라서 전혀 모를 수도 있다는 소리다. 팀의 성격상 cross-team 업무가 많기는 하지만 회사에서 운영하고 있는 대부분의 서비스들에 대해서 전혀 아는 것이 없다고 해도 맞는 말이다. 그런데 오늘 다른 팀의 서비스에 대해서 좀 이야기를 하고 싶어졌다. 블로거뉴스나 한참 때의 아고라의 글들 중에 자신의 글의 랭킹이라던가, 베스트글에 존재여부 등에 대해서 매우 민감한 반응을 보이는 이들이 종종있다. 어쩌면 그들이 직감한 것이 맞을 수도 있지만 맞지 않을 수도 있다. 문제는 그들은 '이것이 문제다'라고 종종 주장하지만, 서비스를 운영하는 쪽에서는 일일이 답변을 해주는 것도 아니고 그렇다고 해서 가끔 종합해서 서비스에 대해서 설명을 해주는 것도 아니고... 설사 있다고 하더라도 그런 글들을 찾기도 만만치 않고...

 앞서 말했듯이 다른 팀에서 하고 있는 업무 (예, 블로거뉴스 랭킹)에 대해서 전혀 모른다고 해도 과언이 아니지만... 적어도 대부분의 일들이 상식선에서 해결되고 있다는 가정아래 다음의 글을 적는다. 팀내에서 그리고 다른 팀의 사람들과 가끔 좋은 글이란 무엇인가에 대해서 얘기를 자주 나눌 때가 있다. 유명하고 영향력이 있는 사람이 적은 글나 좋은 출처 좋은 글일 수도 있고, 현재 이슈가 되는 주제를 다룬 글이 좋은 글일 수도 있고, 가장 시기적절하게 적은 글이 좋은 글일 수도 있고, 가장 간단하게 핵심을 찌른 글이 좋은 글일 수도 있고, 추천을 많이 받은 글이 좋은 글일 수도 있고, 때로는 감동을 준다거나 예측한 내용이 맞았을 경우 좋은 글이 될 수도 있다. 우리가 저자를 보고 책을 살 때도 있고, 가격을 보고 책을 살 때도 있고, 쪽수를 보고 책을 살 때도 있다. 가장 직접적인 이유가 책의 내용을 모르는 상태에서 값을 지불해야하기 때문이 아닐까 생각한다.

 그런데 온라인 상에서 블로거뉴스나 아고라 같은 서비스의 경우 일반 대중들의 추천수라는 것은 글의 품질을 측정하는데 매우 중요한 지표가 될 수가 있다. 그래서 현재 블로거뉴스의 베스트글에는 대부분 추천수가 많은 글들을 올려놓는 경향이 있다. 그렇지만 앞서 말했듯이 추천수는 단지 문서의 품질을 평가하는 하나의 측도에 불과하다는 것이다. 대표적인 추천수의 문제점은 어뷰징이 아닐까 생각한다. 같은 사람이 여러 개의 ID를 가지는 경우도 존재할 것이고, 어떤 경우 친구나 동료들이 한꺼번에 추천을 하는 경우도 있고, 심한 경우 로봇을 만들어서 추천수를 조작할 수도 있을 것이다. (좀비PC를 이용한 추천수 조작이 실제 일어나는지는 확인할 수 없기때문에 사실을 말하는 것이 아니라, 가능성을 말하고 있는 것이다. 그러나 실제 다른 영역에서 조직적으로 조작이 일어나고 있는 것은 사실인듯하다. 이런 일을 전문으로 하는 불법 회사들이 많이 존재하고 있다는 사실이 그렇다는 것이지, 직접 눈으로 확인했다거나 그런 것은 아니니 오해하지는 말았으면 좋겠다.) 실시간 서비스에서는 같은 사용자에 의한 중복추천을 필터링해내기가 쉽지만은 않다. 그렇지만 최종 집계를 하는 단계에서 IP 주소 등으로 중복 추천하는 것을 제거하고 있는 것다. (물론, 공용 IP를 공유하는 경우 불이익을 당하겠지만, 현실적으로 어쩔 수 없는 듯하다.)

 그래도 추천수는 문서의 품질을 평가하는데 아주 좋은 측도이다. 추천수가 많다고 좋은 글로 볼 수는 없다. 시간이 지날 수록 추천수는 분명 증가하기 때문이다. 그래서 '추천수 / 게시시간'이라는 변형 측도를 사용할 수도 있고, 단위 시간당 peak 추천수를 사용할 수도 있을 것이다. 그리고 추천수의 문제점을 해결할 수 있는 좋은 방법으로 '추천수 / 조회수'의 비율을 사용하는 것이다. 즉 사람들이 많이 반응하는 글이 좋은 글일 가능성이 높다는 의미다. 실제 아고라나 블로거뉴스에 이런 비율이 포함되었으면 하는 바램이 있다. 이 비율을 사용하면 좋은 점으로 최상단에 위치된 글들이 다이내믹하게 변할 수 있기 때문에 한시간 뒤에 새로운 좋은 글을 읽을 가능성이 높아진다는 것이다. 그러나 여전히 문제는 존재한다. 악의적으로 보기 싫은 글의 조회수를 높인다면 위의 비율이 감소하고 문서의 품질이 낮은 것처럼 속일 수가 있다는 점이다. 일명 '알바'글들이 문제가 되듯이 알바들에 의해서 문서의 품질이 결정될 수도 있다는 말이다. (실제 추천은 로그인이 필요하지만, 조회는 로그인이 필요없다. 물론, IP 등의 부가 정보를 이용해서 러프하게 체크는 할 수가 있다.)

 앞의 문단에서 '추천수 / 게시시간'을 이미 말했다. 그런데, 실시간 베스트글에서 중요한 점은 최근 1 ~ 2시간 동안 받은 추천수가 매우 중요하다. 때로는 최근 1시간은 추천은 가중치 1을 주지만, 1시간 전의 추천들은 가중치 0.7, 0.5 등으로 낮추어서 계산을 할 수도 있다. (실제로 그렇게 하고 있는지 아닌지는 잘 모르겠다. 그리고 어떤 시간 주기로 이루어지고 있는지도 잘 모르겠다.) 즉, 추천수가 많아서 베스트 글에 올랐다고 하더라도 최근에 추천이 별로 없으면 베스트에서 탈락할 수도 있다는 얘기다. 이런 현상 때문에 오해하는 경우가 종종 발생하는 것같다. 그래서 여러 포스팅에서 언제 글을 올리는 것이 가장 추천을 많이 받을 것이가에 대한 글들도 있지 않은가? 밤 늦게 올린 글들은 사람들이 보지 않기 때문에 사장될 수도 있지만, 점심시간 직전이나 퇴근 전에 올린 글은 더 많은 사람들이 볼 가능성이 높다. 그래서, 분석 주기를 동적으로 가져가는 문제도 발생할 수가 있다. 낮시간중에는 최근 3시간의 추천만을 고려한다면 밤 시간에는 6시간의 추천을 고려한다거나... 주중과 주말의 추천을 달리 해석한다거나 그런 여러 변치 조건들이 추가될 수도 있을 것이다. (다시 강조하지만 해당 팀에 속해있지 않기 때문에 어떻게 이루어지는지는 알 수가 없고, 알고 있더라도 공공 장소에서 발설할 수가 없는 것이 집단에 속한 개인의 의무인 것을...)

 ..... 글의 밑천이 다 떨어져가는 것같다. (다음에 생각날 때마다 더 추가/수정하겠지만...)
추천 데이터가 없다는 가정아래... 사람들을 어떻게 유인할 것인가? 제목을 잘 정해야한다. 근데 낚시 제목은 사양해줬으면 좋겠다. 제목은 그 글의 전체를 요약할 수가 있어야 한다. 글의 첫 문장만으로 제목이 낚시였는지 알 수가 있다. 트래픽은 증가할지 모르겠으나, 사람들에 긍정적인 영향을 줄 수가 없다. 그래서 좋은 제목은 글의 전체를 요약할 수 있는 것으로, 때로는 논문의 keywords나 tag 태그에 포함된 용어들을 대부분 활용해서 글의 제목을 정하는 것이 좋다. 둘째, 사진을 잘 활용해야 한다. 실제 검색 서비스를 담당하는 회사들에서 연구한 보고서의 의하면 사진이 있는 경우 사람들의 시선을 더 잘 받도록 한다는 것은 기정 사실이다. (Eyetracking을 이용한 연구) 그런 점에서 현재 블로거뉴스의 이미지는 오른쪽에 위치해 있기 때문에 읽기에 불편하다. 왼쪽으로 옮겨줬으면 좋겠는데, 내부 제안 후에 마우스를 올린 경우 사진이 크지도록 하는 인터페이스로 바뀌었을 뿐이다. 세째, 용어를 잘 선택해야 한다. 검색이 많이 되는 용어가 있고 그렇지 않은 용어가 있다. 그래서 인기검색어를 이용해서 글을 적으면 트래픽이 많이 증가한다. (실제 본인의 [인기 검색어] 포스팅들이 낚시성으로 사람들을 많이 낚고 있다. 낚시를 위한 글이 아니라 검색 트렌드를 보여주기 위해서 그리고 전날을 요약해주기 위해서 글을 적는 것이기 때문에 이 글을 통해서 혹시 낚였구나라고 생각하셨던 분들에게는 다시 한번 죄송하다는 마을 전하고 싶다.) 미담의 신문 기사들을 보면 간혹 하이퍼링크가 걸린 단어들을 볼 수가 있다. 그 하이퍼링크는 검색으로 통하고 있지만... 그런 단어들을 유심히 살펴보면 기사에서 매우 중요한 위치를 차지하는 단어일 가능성이 높다. (물론 분석이 잘못 되어서 영 엉뚱한 단어에 하이퍼링크가 걸린 경우도 종종 있지만...) 요는, 좋은 단어를 사용하면 로봇들이 좋은 글인 걸로 착각할 수도 있다는 소리다.

 기회가 된다면 다음에는 구글 페이지랭크니 Okapi's BM25와 같은 일반적인 검색에서의 랭킹에 대한 이야기를 할 수 있을지도 모르겠다. 오늘 적지 못한 내용은 앞으로 계속 추가/수정하겠다.

 중요한 것 하나 더... 모든 추천이 동일한 효과를 발휘할까요? 좋은 추천을 해주는 사용자가 있을 것이고 대강 또는 마구잡이로 추천해주는 사용자들이 있습니다. 마구잡이라고 몰아세우는 것은 아니지만 좋고 나쁨을 판단하는 사용자들의 역치 수준이 모두 다르기 때문에 (만인은 평등하다지만) 추천자들의 성향 등에 따라서 추천 가중치가 달라질 수도 있습니다. ... 그리고 보통의 회사들의 입장에서 더 많은 글들이 올라오는 것에는 신경을 쓰지만 개인의 글이 베스트로 올라가고 내려오고 그런 것에는 신경을 쓸 여력도 없고, 그래서 별로 신경을 쓰지 않습니다. 물론, 악의적인 루머를 퍼뜨린다거나 그런 경우가 아니라면 말이죠. 본인의 글이 베스트로 올라갔느니 또는 내려왔느니 그런 것에 신경을 쓰지 않고 대범하게 인터넷 세상을 즐기세요. 정신 건강에도 그게 나을 겁니다.

댓글을 달아 주세요