Welcome to golbin.net

골빈해커의 블로그 시즌 2 : 웰컴 투 골빈넷

블로그(글) 검색 랭킹 알고리즘

April 29th, 2008 · 5 Comments · 셈틀 이야기, 올블로그

근래 올블로그의 블로그 검색을 조금 더 쓸만하게 만들어야겠다는 생각이 들어서 올블로그 검색엔진을 약간(많이?) 고치고 있는 중이다. (올블로그의 거의 모든 서비스가 검색으로 이루어져있어서 검색엔진이 후달리면 큰일난다;; )

원래 생각했던 구성으로까지 고치는 것은 구조를 완전히 바꿔야 해서 시간이 너무 많이 걸릴 것 같아서 중간단계를 일단 작성하고 있는데(그래도 너무 오래 걸리고 있다. 일주일이면 끝나야 되는건데.. ㅜㅜ), 작성하면서 일부 랭킹 알고리즘을 변화시켜보고 있다. (엔진쪽은 거의 완료 되었고, 이제 웹용 라이브러리를 만들고 인덱싱만 새로 하면 된다.)

뭐 구글은 커녕 국내의 다양한 블로그 검색 엔진들처럼 대단한 정도는 아니지만, 그래도 나름 키워드 매칭을 제외하고 약 십여가지정도의 변수를 통해 랭킹을 산정하도록 했는데(구글의 페이지랭크 개념은 사용하고 있지 않다. 링크들을 유효한 수준으로 많이 걸지 않아서 의미를 찾기가 좀 힘들다. -0-;; ), 하면 할 수록 영 불만스럽다.

이게 지식 검색이나, 웹사이트 검색이 아니라 블로그 검색이기 때문인데, 이는 블로그의 평판, 글의 평판이 다를 뿐더러, 평판을 안다고 해도 블로그의 정보는 대개 최신 정보가 가치가 높기 때문에 대개의 경우 최신 글들이 가장 만족스러운 결과를 주게 된다. 그래서 시간 가중치를 높게 주다보면 결국 시간순 정렬과 다를바가 없거나 또는 시간순보다 못한 경우도 많기 때문이다.

결국 할 수 있는 것은 키워드와 키워드에 따른 변수별 가중치를 평가하는 알고리즘을 만들거나 알바를 써서 때에 따라 가중치를 시시 때때로 바꿔줘야 한다. 이에 대해 완벽하진 않지만 어느정도 보완할 수 있는 몇 가지 시스템적 해결 방법을 생각해놓고는 있는데, 이것 역시 쉬운 일이 아니라.. 글쎄, 아직은 잘 모르겠다.(장비 걱정 없고, 다른일 하나 없이 검색엔진만 만들고 있다면 모를까..부하문제로 서비스에 영향을 주지 않으려면 인덱싱도 짬짬히 해야된다. ㅜㅜ)

이제 데이터가 넘쳐나는 이 시대에, 차세대 검색에서의 문제는 사용자가 과연 무엇을 의도하고 검색창문을 두드리냐를 파악해야하는 단계까지 와 있고(구글의 유니버셜 서치가 이를 준비하는 것일테고), 이 단계를 넘어서는 곳이 분명 2차 검색전쟁에서 승리할 것이라고 생각한다. (물론 알바를 이용해서 돈으로 바르면 되긴 한다. -_-b)

생각하면 생각할 수록 검색은 분명 돈이 되는 사업이지만, 여러모로 돈이 무지하게 필요한 사업이더라(닭이 먼저냐 알이 먼저냐?). 이 역시 영세 업체에게는 쉽지 않은 일이랄까..ㅜ.ㅡ;;

그래서 도널드 트럼프가 "부동산은 승리한다"라고 말한 것일까? (응?;;;)

Tags: ····

5 responses so far ↓

  • 1 미고자라드 // Apr 29, 2008 at 21:39

    검색결과 정렬좀 잘 고쳐주세요.. 추천글 정렬 눌러도 오른쪽 추천수는 중구난방으로.. ㅠ.ㅠ;

  • 2 골빈해커 // Apr 29, 2008 at 23:01

    미고자라드 / 추천글 정렬은 단순히 추천수로만 정렬한 것이 아니라 추천수+a 에 시간 가중치를 더한 것이기 때문에 추천버튼에 보이는 게이지가 일정치 않은 것입니다. 추천수로만 한다면 정말 오래전 것들이 나오는데, 그렇게 되면 정말 엉뚱한 글이 나오게 되거든요. ^^;

  • 3 거북거북 // Apr 29, 2008 at 23:01

    음. 비밀 댓글이 없군요 ~_~;

    아무튼. 블로고스피어 내에서의 검색 알고리즘에 대해서는 “Blogrank: Ranking weblogs based on connectivity and similarity features” 이 논문에서 개요를 다루고 있습니다. 말씀하신대로 블로고스피어 내에서는 유의미한 수준의 링크가 생성되지 않기 때문에 비슷한 토픽을 다루는 글들의 사이에 implicit한 link를 만들어서 -> 페이지 랭크와 같은 link analysis를 해야 한다는 분석인데요. 분석을 좀 발로 하긴 했습니다만 그냥 한 번 이런 고민을 2006년에 했던 사람들이 있구나 하고 아이디어 정도는 차용하실 수 있을 것 같습니다.

    에. 그리고 “Identifying the Influential Bloggers in a Community” 이란 논문도 2008년에 WSDM(Web Search and Data Mining)이란 학회에 실렸는데 한 번 읽어보셔도 괜찮을 것 같습니다.

    그리고 서비스 업체의 입장에서는 유저의 implicit한 feedback을 지속적으로 검색 결과에 반영할 수 있도록 log analysis에도 좀 슬슬 더 많은 노력을 기울여야 할 때가 아닌가 생각합니다.

    올블로그 잘 쓰고 있어요~ 힘 내시길. (__)

  • 4 골빈해커 // Apr 29, 2008 at 23:06

    거북거북 / 앗, 위에 댓글 다는 사이에 댓글을..^^; 그래서 올블에서는 추천가중치가 거의 실시간으로 적용되고 있습니다.(대부분 잘 못느끼시겠지만..-_-;; )
    그리고 현재 적용하려 하는 것 중에 말씀하신 implicit 한 링크를 몇가지 정보들을 활용해서 만들고 적용하고는 있습니다만, 완벽하지는 못한 수준이네요. 그리고, 위에 몇가지 해결책 중에 하나가 또한 말씀하신 log analysis 에 기반한 것이라고 할 수 있겠고, 블로그 자체에 대한 평판정보를 활용하는 방법쪽으로 접근을 하려고 하고 있습니다.
    조금 더 자세히 연구하고 싶은데 고졸이라 그런지 머리가 나빠서 더 깊이있게 접근하지 못하는 것이 안타까울 따름입니다..OTL
    잘 써주셔서 감사합니다. 더 열심히 하겠습니다. (_ _)

  • 5 거북거북 // Apr 30, 2008 at 1:38

    저도 병특을 회사에서 했는데 개발 쪽, 특히 팀도 소수고 그러면 따로 공부할 시간 내기가 어렵더라구요. 그게 참 힘들기도 하고. ㅜㅜ

    저도 이 분야에서는 계속 공부를 하고 있긴 하지만 관련 연구를 많이 읽는게 중요한거 같애요. ㅜ_ㅜ 학계라고는 해도 Yahoo나 Google의 리서치 랩 같은데서 논문들이 많이 나와서 정말 최신의 트렌드나 기술에서 지금 풀어야 할 문제들에 대한 언급이 늘 적절하게 나오는 것 같네요.

    사실 웹2.0 서밑 같은건 기업들이 딱 기술 영업 수준으로만 이야기하는 톡들이라 기술적인 면에서 도움이 될 것 같지는 않구요. 개발하시다가 여유가 나실 때 몇몇 학회들, 예를 들면 World Wide Web, http://www2007.org, www2008.org, …해마다 갱신됨 / WSDM http://wsdm2008.org/ 같은 곳에서 웹서치나 웹엔지니어링, 웹어플리케이션, 크롤링, personalization, recommendation 세션들 논문을 읽으시면 큰 도움이 될거라고 생각합니다. ㅎㅎ.

    올블로그는 아직 회사가 크지 않은만큼 아이디어를 바로바로 구현할 수 있는 재미도 있을 것 같은데, 그만큼 그 아이디어가 얼마나 말이 되는 이야기인지, 그리고 사용자들이 그 기능을 어떤 식으로 사용할지 등등에 대한 기술적인 접근이 함께 이루어진다면 좀 더 서비스의 이용 행태에 대한 예측이 가능해지지 않을까. 그런 생각을 해봅니다. (__)