Share           Pin It
 '네트워크'라는 용어에 또 반응하게 되었다. 아래의 글은 특별히 학술적이거나 실험적 증거에 의해서 적는 것이 아니라, 개인 경험과 평소의 생각을 바탕으로 적는 글이니 너무 심각하게 받아들이지 말기 바랍니다. 그리고, 본문 중에 사용된 몇몇 용어들이 잘못 사용될 수도 있습니다. 이름이 정확히 기억이 나지 않아서 전혀 다른 또는 정반대의 이름을 사용할 수도 있습니다. 추후에라도 정확한 이름이 기억나면 수정할 수도 있으나 큰 기대는 하지 않습니다.

 소셜네트워크 때문에 네트워크라는 용어가 매우 친근해졌다. 그러나 네트워크가 가지는 그 모습이나 속성은 유사이래도 우리의 삶에 밀접하게 연결되어왔다. 현재 우리의 삶 속에서 형성되는 여러 네트워크의 속성 및 현상에 대해서는 많은 연구들이 되어왔다. 대표적으로 알베르트-라즐로 바라바시 교수님의 <Linked>에 잘 설명되어있다. 예전에는 단순한 Random-Network라는 걸 가정했었는데, 실제는 Scale-Free Network라고 한다. 특징적인 특성으로는 하나의 노드에 연결된 인접노드의 수분포는 Power Law를 따른다는 거다. (보통 롱테일분포로 알려진) 그런 분포를 이루는 이유도 Preferential Attachment (선호연결)이라는 특성 때문에 이뤄진단다. 같은 책에서 이런 스케일프리 네트워크에서 특정 노드의 실패가 전체 네트워크의 실패로 잘 연결되지 않느다고 한다. 네트워크의 특성상 A와 B 사이에 존재하는 C라는 노드가 없더라도 D, E, F.. 등의 다른 노트를 통해서 간접적으로 연결이 될 수도 있고, 때로는 G - H - I ... 등의 여러 단계를 거쳐서 연결이 될 수도 있기 때문이다. 그런데, 스케일프리네트워크는 파워로를 따르기 때문에 대부분의 노드들이 가지는 인접노드의 개수는 네트워크의 크기에 비해서 매우 작지만, 몇몇 노드들은 인접노드의 개수가 보통의 것들보다 엄청나게 큰 것들이 존재한다. 그런 노드들을 보통 허브 Hub 노드라고 부른다. 그런데, 이런 허브노드들에서 실패가 발생하면 전체 네트워크의 실패로 연결될 가능성이 높다고 한다. 너무 당연한 소리지만, 이런 것들이 실험이나 시뮬레이션 등을 통해서 밝혀졌다. 그리고, 그동안 몇몇 대형 사고들을 통해서도 밝혀진 사실이다. 대표적으로 몇 해 전에 아시아 지역의 광케이블이 끊어져서 대륙간 정보흐름이 일시적으로 박힌 적도 있다. 그리고, 또 네트워크에 대해서 잘 알려진 이야기는 6단계 분리 Six Degree of Separation이다. 네트워크가 크더라도 (노드 수가 많더라도) 두개의 개별노드는 5~6단계 정도만 거치면 연결된다는 얘기다. 이에 대한 연구는 오래전부터 있어왔고, 잘 알려진 실험이 헐리우드의 케빈 베이컨의 연결이다. (물론, 케빈 베이컨보다 더 큰 허브가 존재한다는 것도 밝혀졌다.) 이런 6단계 연결이 가능한 것도, 일반 노드들은 리프 Leaf 노드들이지만, 중간중간에 전체를 연결해주는 많은 허브노드들이 존재하기 때문에 가능한 얘기다. 그런데, 이제까지의 네트워크에서는 평균 6단계 연결로 가능했지만, 실제 네트워크가 더 큰 경우에는 6단계보다 더 많은 단계를 거쳐야 연결이 된다. 그러니, 모든 네트워크에서 노드들간의 거리가 6이다라고 단정적으로 말하면 안 된다. 네트워크의 크기나 밀접도 등에 따라서 파워로의 계수도 달라지고, 그래서 노드들 간의 평균 거리도 달라진다. 이런 평균 거리도 어쩌면 파워로를 따르리라 본다. 네트워크에 대한 더 많은 이야기들이 있지만 여기서 접자.

 그런데, 최근에 읽는 많은 창의성, 혁신, 지식산업 등과 관련된 많은 책들이 이 네트워크를 차용해서 그런 개념들을 설명해주고 있다는 것이 재미있다. 단순히 생각의 발상에서부터 구현 및 저변확대라는 단순한 프로세스도, 과거에는 단지 개인의 천재에서 시작했다는 얘기가 많았는데, 최근에는 그룹싱킹 또는 그룹인터렉션의 개념으로 많이 설명되고 있는 것같다. 콜레보레이티브 필터링과 같은 협업적 과정도 네트워크를 기본으로 생각하는 것같고, 사회/경제적인 문제를 설명하는 복잡계 Complex System도 기본적으로 네트워크를 바탕으로 설명되는 것같다. 유명한 저자인 말콤 그래드웰의 책 <티핑포인트>에서도 생각의 확산이 기본적으로 네트워크에 편성해서 설명해주고 있지 않은가? 그렇도, 스케일프리 네트워크인 듯하다. 생각을 처음 만들어낸 사람, 그리고 그런 생각을 수집한 사람, 그리고 그런 생각을 전파한 사람으로 연결되는 그런 네트워크. 그런데, 수집자와 분산자는 대표적인 네트워크에서의 허브노드라는 결론... 너무 뻔하지만, 우리 삶에서 너무 멱혀들어가기 때문에 비슷한 내용들이 계속 만들어질 것이 분명하다. 그리고, 대니얼 골먼이 주장했던 감성지능과 사회지능 등도 어쩌면 당연히 네트워크를 기본 가정으로 뒀기 때문에 만들어진 결과물로 보인다. 나만의 지능에서 발전해서 너의 생각 그리고 우리의 관계를 발전시키다 보면 자연히 나와 너의 감정, 그리고 우리의 동화라는 감성과 사회성을 다루는 것도 당연해 보인다. 그 외에 최근에 발표되는 많은 개념들이 겉으로 직접 표현이 되지 않더라도, 대부분 네트워크를 은연중에 묘사하고 있다. 못 믿겠다는 서점에 가서 사회, 경제, 정치 등과 관련된 최근 10년 동안의 책들을 모두 읽어보기 바란다. 

 참 서론이 지루했다. 대신 본론은 짧게 적을 것같다. 예전부터 사용하던 전화나 이메일부터 해서 최근에는 트위터나 페이스북 등의 다양한 소셜서비스들이 존재한다. 트위터나 페이스북은 현재 너무 유명해졌지만, 국내의 싸이월드, 미투데이, 요즘 등과 같은 아류성 SNS들 뿐만 아니라, 최근에 많은 인기를 얻고 있는 사진공유SNS인 인스타그램, 그리고 애플에서 야침차게 발표했지만 아직은 제대로된 진가를 발휘하지는 못하는 Ping, 그리고 구글의 다양한 소셜시도들을 보면서 지금 우리는 소셜의 시대, 아니 더 기술적으로 말하면 네트워크의 시대를 살고 있다. (사실, 우리가 네트워크에 바탕을 두고 있다는 것은 더 오래전의 이야기지만... 표면적으로 더욱 부각된 시대를 살고 있는 것같다.) 그런데, 이런 서비스들을 하나둘 더 사용하면 사용할 수록 느끼게 되는 것이 있다. 바로, 관계의 중복에 대한 거다. 오프라인에서 맺어진 관계가 그래도 트위터로 연결이 되고, 트위터에서 맺어진 관계가 또 페이스북에서 연결이 된다. 또는 다른 여러 방향으로 한 서비스에서 맺어졌던 것이 다른 서비스에서 중복으로 맺어진다. 실제 오프라인에서 전혀 일면식도 없는 트위터 친구들이 어느날 페이스북에서 친구가 되어있고, 4Sq의 친구가 되어있고, 인스타그램의 친구가 되어있는 것을 보게 된다. 계속 이렇게 관계가 재생산되고 있다. 그런데, 이렇게 관계가 중복될 수록 그들과 더 친밀해지는가?라는 물음에는 적어도 나에게는 그렇지 않다는 답변을 얻었다. 어차피 대화하던 상대들과만 더 친밀해지지, 아무리 네트워크가 커지더라도 새로운 친밀도는 생겨나지 않는 것같다. 그런데도, 각 SNS들이 제공해주는 친구찾기 기능을 통해서 새로운 친구들을 또 맺고 맺고 한다. 그들과 더 친근해질 가능성도 없으면서 무조건 네트워크의 크기만을 키우고 있다. 그래서, 가끔은 특정 서비스에서는 기존의 친밀한 사람들과 만의 네트워크를 구성해봐야겠다는 생각을 가지고, 새로운 서비스에 가입해보기도 하지만... 일단은 기존의 친구들이 해당 서비스를 이요하지 않다보니 어느새 그 서비스에서의 친구들도 전혀 모르는 사람들로 채워지는 경우가 많아졌고, 어느 샌가 기존의 서비스에서 느꼈던 그런 공허함에 또 이곳에서도 발생해버리는 일들이 끊임없이 이어지고 있는 듯하다. 물론, 여기에서의 설명은 지극히 개인적인 경험과 감정에 바탕을 뒀기 때문에 일반화에 문제가 있다. 그렇지만, 나와 비슷한 경험과 감정을 토로하는 이들도 상당히 있으리라 짐작한다. 그래서, 네트워크는 어떻게 발전/진화할 것인가?에 대한 진지한 고민을 계속하게 된다.

 적어도 이제까지의 경험으로는 두가지 방향이 있다. 그냥 친구/관계를 수집하듯이 계속 새로운 친구관계를 맺어가면서 옅은 네트워크를 확장해가는 방향과, 반대로 한번 맺어진 관계 속에서 규모는 작지만 더욱 친밀한 네트워크를 형성해가는 방향이 있는 것같다. 나는 트위터에서나 페이스북 등에서 이미 너무 비대해진 네트워크를 가졌기 때문에, 트위터나 페이스북에서는 친밀한 네트워크를 만들기 힘들다라고 말할 수도 있지만, 대부분의 트위터/페이스북의 사용자들은 그들의 친구가 수명, 수집명 내일테니 제가 지금 하는 말에 별로 수긍하기 어려울 듯하다. 네트워크의 규모를 키우면서 친밀도를 유지/높일 수 있는 방법이 있을까? 동전 던지기에서 앞면과 뒷면이 동시에 나올 수가 없듯이, 새로운 네트워크 서비스에 가입하면서 모두 하나의 선택을 해야한다. 친밀하지만 작은 네트워크냐? 아니면, 인터렉션이 없더라도 더 큰 네트워크냐? 물론, 동전던지기에서 하나의 동전만을 던질 필요는 없다. 두개의 동전을 동시에 던지면 앞면과 뒷면이 동시에 나타나는 경우도 있다. 그러니 두개 이상의 서비스에서 서로 다른 전략을 가지고 서비스를 이용하면 되기도 한다. 그런데, 이런 고민은 단순히 네트워크 서비스를 이용하는 사용자들의 고민으로 끝나면 안 된다. 그런 서비스를 만드는 서비스 제공자들이 새로운 서비스를 내놓기 전에 이걸 심각하게 고민을 해봐야 한다. 대표적으로 사진공유서비스인 Path의 경우, 친구의 수를 50명으로 제한을 뒀다. (앞에서 말하지 못했지만, 던바넘버라는 것이 있다. 네트워크에서 친밀도를 유지하는 숫자를 의미한다. 보통 150정도까지 친밀도가 유지되고 그 이상이면 친밀도가 떨어진다고 한다. 많은 책에서 자주 언급되는 고어텍스의 경우에, 한 사업장에 근로자의 숫자가 200명인가 300명이 넘어가면 두개의 사업장으로 분사한다고 한다. 다 이런 이유 때문이다.) 그런데, 이미 인스타그램이라는 대중화된 서비스를 이용하면서 또 별도의 Path 서비스를 동시에 사용하는 것도 익숙치가 않아서 그냥 인스타그램만 사용하게 되는 경향이 있다. 그리고, 네트워크 서비스를 이용하면서 두가지 감정을 가진다. 원래부터 알던 이들과 더 친밀한 관계를 형성하고 싶은 욕구와 더 많은 사람들에게 나 자신을 뽐내고 싶은 욕구를 동시에 가진다. 그런데, 보통은 이미 친밀도는 포기된 상태라서 더 많은 친구들을 맺어려는 경향이 더 크지는 것같다.

 참 두없이 말했다. 그냥 이런저런 생각들이 네트워크와 연결된다는 걸 말하고 싶었다. 나만의 특수한 경우일 수도 있지만, 그래도 비슷한 경험과 감정을 호소하는 이들이 많으리라 생각해서 짧게 적었다. 과연 네트워크는 어떻게 진화할까? 궁금하다.

댓글을 달아 주세요

Share           Pin It
 제가 처음 '소셜검색 My Drawing of Social Search'라는 글을 적은지도 벌써 3개월이 지났습니다. 1편에서는 현재 여러 분야에서 말하는 소셜검색의 정의를 다루었고, 2편에서는 블로고스피어와 다음뷰를 중심으로 소셜그래프의 관계에 대한 제 생각을 정리했습니다. 2편에서 첨부한 그림을 통해서 모든 것을 파악할 수가 있지만, 제가 생각하기에 소셜 블로고스피어는 블로깅을 하는 글작성자, 작성된 글을 읽고 평가를 하는 글추천자, 그리고 양질의 글들을 소비하는 글소비자로 구성됩니다. 작성자, 추천자, 소비자를 별도의 객체로 볼 이유도 없고, 또 굳이 이들 사이의 (일반) 소셜릴레이션이 존재한다고 말할 이유도 없습니다. 지난 2편의 그림을 바탕으로, 제가 생각하는 소셜검색에서의 소셜랭킹모델에 대해서 이번 포스팅에서 다루도록 하겠습니다. 제가 말하는 것이 완벽한 소셜검색/랭킹모델은 아니고, 원시적인 형태임을 밝힙니다. 지난 3개월동안 부지런히 노력을 해서, 해당 모델을 구현하고 시연해봤더라면 지금쯤 새로운 서비스를 오픈했거나 재미있는 논문을 출판했을텐데, 저의 게으름이 아직 아이디어를 아이디어 수준에 머물도록 내버려두었습니다.

 검색에서 (검색)랭킹이 사용자가 입력한 키워드/검색어와 해당 키워드를 포함한 문서와의 연관성으로 측정되듯이, 기본적으로 소셜검색랭킹도 검색어와 문서와의 연관성으로 표현될 수 있습니다. 다만, 아무게의 글을 찾는 것이 아니라, 내가 알고 있는 친구나 전문가의 글을 찾는다는 점에서 일반 검색랭킹과는 차이점을 줍니다. 그리고, 일반 소셜그래프에서의 소셜검색이 아니라, 다음뷰/메타블로그를 중심으로한 블로고스피어에서의 소셜검색랭킹을 다룬다는 점에서도 (일반)소셜검색랭킹과도 차별점을 둡니다. 제가 구상하는 구체적인 소셜검색랭킹모델을 설명하기에 앞서, 간단한 노테이션 notation을 먼저 정리하겠습니다.

 객체 Object
  • q: 사용자가 입력한 검색어 query (또는 keyword)
  • d: 주어진 검색어 q를 포함한 문서 document (본 포스팅에는 나오지 않을 것이지만, D는 이런 d들의 합을 뜻하겠죠.)
  • w: 2편의 그림에서 글작성자 writer
  • c: 2편의 그림에서 글소비자 consumer
  • r: 2편의 그림에서 글추천자 recommender
 함수 Method/Function
  • Rnk(d, q): 랭킹함수 - 사용자가 입력한 검색어 q와 검색엔진이 찾은 문서 d와의 최종 랭킹점수
  • M(d, q): 매칭점수 - 사용자가 입력한 검색어 q와 문서 d 사이의 매칭정도, 보통 relevance라고 말함
  • R(d): 검색된 문서 d의 최신점수, recency
  • E(w, q): 사용자가 입력한 검색어 q에 대한 글작성자 w의 전문성, expertise
  • I(w, c): 사용자/글소비자 s와 글작성자 w와의 친밀도, intimacy
  • P(d | r): 글추천자 r의 authority에 바탕을 둔 글의 인기도, popularity (e.g., 추천회수)
  • A(w): 글작성자 w의 인기도/권위도, authority
 이상의 노테이션만을도 제가 구상했던 원시적인 소셜검색랭킹모델이 완성이 됩니다. 최종적으로 소셜랭킹은

더보기

입니다. 소셜랭킹모델에 사용된 함수 f는 경우에 따라서 곱하기 (*)가 될 수도 있고, 더하기 (+)가 될 수도 있고, 아니면 더 복합한 수식/로직으로 중무장할 수도 있습니다.

 개별 함수를 다시 설명하면, 매칭점수 M(d, q)는 Information Retrieval에서 사용하던 단순 블리언 boolean 매칭을 사용하거나, 조금더 복잡한 Okapi BM25 (BM의 경우, 파라메터설정에 따라서 BM27, .. 등의 다양한 이름을 가지지만, BM25가 가장 일반적인 모델임)을 그대로 사용하면 됩니다. 최신점수 R(d)의 경우, 특수한 경우가 아니면, 가장 최근에 업데이트된 최신문서가 높은 랭킹점수를 갖도록 하는 것입니다. 함수정의에 따라서 연속함수나 계단식함수를 정의할 수 있고, 최신성의 기준도 많은 실험을 통해서 얻어야 합니다. 매칭점수와 최신점수는 일반 검색랭킹의 그것들과 동일합니다. 현재 구상중인 소셜랭킹의 차별점은 이후에 나오는 전문성, 친밀도, 인기도, 및 권위도에 있습니다. 간단히 설명하자면, 글쓴이의 전문성은 특정 검색어 q에 반응하는 문서들 D 중에서, 검색어 q에 전문성을 가진 글쓴이에 의해서 작성된 문서 d가 가장 높은 랭킹을 받도록 하는 것입니다. 글쓴이의 전문성은 이제까지 블로깅한 모든 내용을 바탕으로 평소에 자주 사용하던 단어/주제 등을 미리 학습시켜둬야 합니다. 글쓴이와 검색자의 친밀도가 소셜검색의 가장 차별점입니다. 단순히 친구 (또는 검색자가 지정한 전문가)가 작성한 글중에서 q에 반응하는 문서 d만을 보여주는 것입니다. 단순히 검색범위를 제한한다는 의미로 보시면 됩니다. 그렇지만, 소셜그래프상에서 친구의 숫자가 적은 경우, '친구의 친구'와 같이 확장된 소셜그래프에서 문서를 검색해주게 됩니다. 개념적으로 검색범위를 축소시키기 때문에 일반 검색보다 더 쉽게 느껴질 수 있지만, 역으로 검색범위가 좁아지기 때문에 기술적으로 더 많은 어려움을 가지게 됩니다. 친밀도에 대한 부분은 대부분의 소셜검색/서비스와 관련된 문서들이 다루고 있는 부분이니 자세한 내용은 생략하겠습니다. 다섯번째로, 글의 인기도의 경우는 보통 다음뷰나 디그에서 보여주는 추천회수로 보시면 됩니다. 그런데, 모든 추천이 동일한 가중치를 받는 것이 아닙니다. 지금 다음뷰에서 오픈에디터라는 제도를 활용하듯이, 평소에 양질의 추천을 하는 이들의 추천에 더 높은 점수를 부여하고, 또는 스팸/어뷰징 추천자의 추천은 점수를 제하거나 감산하는 것도 방법에 포함될 수 있습니다. 그리고, 소셜의 개념을 더 확장해서 '친구/지인'이 추천한 글에 대해서는 더 높은 인기도를 받도록 조정을 할 수도 있습니다. 마지막으로, 글작성자의 권위도의 경우는 전문성과 개념상 중복되는 부분도 있지만, 전문성의 경우 검색어에 종속 (query-dependent)된 개념이지만, 권위도의 경우 검색어 비종속 개념입니다. 예를 들어, 트위터에서 이찬진님, 이외수님, 박경철님 등과 같이 이미 특정 분야에 권위를 가진 분들이 작성한 글을, 일반인들이 작성한 것보다 먼저 보여준다는 개념입니다. 이런 글쓴이의 권위는 쉽게는 소셜그래프의 인링크 개수로 점수화할 수도 있고, 아니면 다음뷰/디그에서 글을 발행했을 때 얻을 수 있는 예상추천수 등으로 권위도를 측정할 수가 있습니다.

 제가 원시적인 소셜검색랭킹모델을 장황하게 설명했지만, 이런 수식적 모델보다 더 중요한 것이 있습니다. 바로 Query Intent 또는 User Intent라고 불리는 사용자/검색어 의도입니다. 현재 소셜검색이 주목을 받고 있는 것이, 단순히 친구의 글을 보여주겠다는 것이 아니라 사용자의 의도에 더 부합한 글을 보여주겠다는 것입니다. 그렇기에, 아무리 좋은 소셜검색모델을 가진다고 하더라도 검색어/사용자의도를 제대로 파악을 하지 못한다면 제대로된 소셜검색결과를 제공해줄 수가 없습니다. 그리고, 검색어의 의도에 맞도록 위에서 제시된 여러 점수체계들이 유기적이고 동적으로 설정되어야 합니다. ... (오늘은 여기까지)

댓글을 달아 주세요