그래프서치 - 관계 중심형 검색엔진을 꿈꾸다

시스템 잡설  |   2013. 2. 1. 02:04

심차게 페이스북이 뉴스피드, 타임라인에 이어서 발표한 내용은 그래프서치(Graph Search)이다. 그래프하면 가장 먼저 떠올릴 이미지는 통계자료의 파이(Pie) 그래프나 막대 그래프와 같이 수치를 시각적으로 표시해주는 것을 떠올릴 수 있듯이 데이터를 시각적으로 표시해주고 그 관계나 역학관계를 살펴보는 대상을 포함해서 모두 그래프라고 부른다. 조금 더 관심이 있다면 오일러(Euler)를 시작으로 다루어지기 시작한 위상기하학을 시작으로 그래프 이론(graph theory) 등을 살펴보면 재미있는 학문의 줄기를 찾을 수 있을 것이다. 페이스북에서 발표한 그래프서치란 쉽게 말해 우리가 페이스북에서 맺은 관계를 통해서 내가 찾고 싶은 정보를 좀 더 정확하게, 어쩌면 더 친근하게 찾기를 원하는 기술이라고 생각하면 좋을 것이다. 대부분 그래프서치에 대한 분석과 전망을 내 놓으면서 어떤 기능을 할 수 있고 현재 어느정도 공개되어 있다. 그리고 페이스북의 새로운 성장 동력원이 될 것이다. 그리고 몇몇 분석가들의 입장을 통해서 페이스북이 광고 수익을 증가시키는데 큰 기여를 할 수 있을 것이다. 구글과의 경쟁 시장에서 좋은 기술이 될 것이다 등 다양한 의견들이 나오고 있다. 



같은 이야기를 반복해서 쓰는 것은 별로 도움이 되지 않을 것이라 생각해서 조금은 다른 시각에서 생각해보고 싶다. 우선은 그래프서치를 통해서 우리가 할 수 있는 찾을 수 있는 것들을 살펴보고, 그래프서치가 가지는 기능에서 고려해야할 점, 그리고 사용자 입장에서 같은 작업을 했을 때 다른 검색엔진(구글)과 다른 점이 무엇인지에 대해서 생각해본다면 사용자와 검색엔진의 사용자 인터페이스(UI) 측면에서 생각해볼 것을 살펴보고자 한다. 



그래프서치를 살펴보다. 


그래프서치는 쉽게 말해 조금 더 섬세하게 검색할 수 있게 도와준다. 그래프서치가 활성화 되면 기존의 메뉴바(menu bar)는 그래프서치를 위해서 검색창이 우선으로 변경된다. 마치 도스 시절 열심히 스크립트에 익숙해져 있다가 윈도우로 넘어가서 마우스 드래그&드랍(drag & drop)에 익숙해져 있지만 그래도 뭔가 섬세한 작업을 위해 도스창(명령어창;cmd)을 찾는 그런 사용자들에게는 반가울 듯한 화면이다. 



기존 가운데 검색창에서 사람이나 페이지, 장소등 페이스북에 존재하는 모든 대상을 검색하던 창은 그래프서치를 통해서 통합되고 맨 앞에 검색할 수 있는 공간이 가장 먼저 보이게 된다. 그리고 사람, 메세지, 업데이트 알림 등은 뒤쪽으로 빠지게 되면서 마우스 클릭해서 찾아가는 여정보다 그래프서치를 통해서 살펴볼 수 있다. 우선 검색창에 포커싱을 맞추면 찾아볼 수 있는 항목들이 나온다. 



간단하게 내 친구 목록부터 시작해서 사진, 주변의 음식점 내 친구의 친구 등 다양한 목록이 보인다. 처음에 검색어를 넣지 않고 나오는 해당 항목은 우리가 그래프서치를 통해 결과로 볼 수 있는 대상이다. 즉, 그래프 서치의 검색어와 조건이 아무리 복잡해도 결국 해당 대상이 결과로 보여지게 되는 것이고 그래프서치의 처음 키워드 시작도 해당 목록이 대상이 되는 것이 원하는 결과에 접근할 가능성이 높아질 것이다. 아주 간단하게 Restaurants nearby 를 검색하면 자신의 위치에서 가까운 위치에 있는 음식점들, 위치 해당 음식점에서 찍은 사용자들의 사진 등 관련 정보들이 나오게 된다. 다른 예를 통해서 그래프서치의 확장 검색 능력을 살펴보자. 



검색어는 My friends of friends who work in California 이다. 검색어를 입력하면 입력할 때 검색 가능한 문법이나 어법을 자동으로 제시해준다. 그래서 완벽한 자연어(natural language) 검색이라 하기 부족하지만 그래도 기존의 검색 방법에서 일보한 검색 방법을 제시해주는 것은 사실이다. 만약 예전에 내 친구의 친구들 중에서 캘리포니아에 일하고 있는 친구들을 찾고 싶었다면 내 친구 목록에 있는 친구들을 일일히 들어가서 해당 친구의 친구목록에서 캘리포니아에서 일하고 있다는 사람을 찾아야 했을 것이다. 그래프서치의 가장 기본적인 검색은 바로 친구,페이지, 좋아요 등을 통해서 구축된 자신의 관계 안에서 자신이 원하는 조건에 맞는 사람, 페이지, 장소 등을 찾을 수 있다는 것이다. 따라서 내가 한번에 찾아볼 수 없는 대상을 조건만으로 쉽게 찾을 수 있다는 점이 가장 큰 장점이 된다. 


래프서치의 결과는 그래서 실제로는 마치 결과를 인사카드처럼 보여주는 것 같지만 실제로는 나의 친구들과 연결된 친구들의 네트워크 중에서 캘리포니아에서 일하는 사람들만 반짝 반짝 빛나게 해주는 네트워크 그래프를 보여주는 것과 같은 것이다. 그리고 내가 검색한 조건이 제대로 맞는지 보여주기 위해 검색 결과는 내가 검색한 조건을 우선 보여준다. 예를 들어 위의 검색 결과에서는 다른 내용보다 해당 사용자의 근무지 정보를 가장 먼저 보여준다. 검색을 직접 해보면 느끼지만 검색어를 만드는 것은 일반적인 영어 문법을 알고 있는 사람에게 그리 어렵지 않게 느껴진다. 그리고 다양한 예시를 보여주기 때문에 혹시 내가 생각하지 못한 검색 조건의 예도 볼 수 있다. 



검색 결과 이후 오른쪽 상단엔 해당 검색 조건이 창으로 나타난다. 만약 더 검색결과를 좁히고 싶거나 변경하고 싶다면 문장으로 검색을 하는 것을 풀어서 해당 검색 결과를 간단하게 클릭으로 변경할 수 있다. 



그래프서치를 탐구하다. 


래프서치를 사용하면서 처음 받는 느낌은 신선한듯 신선하지 않다는 생각이다. Wolfram Alpha 와 같은 범용 검색엔진에서도 거의 자연어에 가까운 질문을 적절하게 필요한 정보를 가공해서 사용자에게 보여주는 서비스를 하고 있지만 범위가 거의 무한대에 가까운 검색엔진 범위에서도 많이 시도되었고 페이스북은 그보다는 좀더 편하게 검색의 범위를 페이스북에서 활동되는 사람, 페이지, 장소 등 모두 페이스북 안에 등록되고 활동되는 내용으로 한정할 수 있다는 점에서 범용 검색엔진보다는 좀 더 쉽지 않았을까 하는 느낌이 들었다. 그리고 가장 크게 주목해야할 점은 그래프서치의 모든 검색 결과는 페이스북을 사용하며 자신의 일상과 자신의 흔적을 열심히 남기고 사용한 사용자들의 정보와 관계를 통해서 이루어진다는 점이다. 따라서 사용자들이 얼마나 열심히 정보를 올리고 네트워크를 가지는가에 따라서 검색결과의 양과 질이 달라질 수 있다는 점이다. 표면적으로 사용자들이 많이 참여하고 있다는 이유와 이런 다양한 관계와 선호도 (페이지의 좋아요 등) 를 통해서 사용자 맞춤 광고 (타켓 광고) 혹은 지역기반 광고에 유용할 것이라는 시각이 큰 것이 사실이다. 그리고 그래프서치가 어떤 측면에서 현재의 광고 수익 모델을 강화시켜줄 좋은 도구라고 보는 시각도 한편으로 적절한 분석이라고 생각한다. 그런 수익 모델에 얼마나 도움이 될지는 온라인 광고 및 광고주가 판단할 일이고 개인적인 관심분야로 넘어가 다른 부분을 살펴보고자 한다. 


1. 개인정보에 대한 보호 


한번의 말실수로 페이스북의 CEO 주커버그는 마치 개인정보의 종말을 암시하는 사람이 되어버렸다. 비록 개인적으로 개인정보에 대한 그런 견해를 가지고 있다고 하더라도 사용자들의 상당수는 개인정보가 노출되는 것에 대해서 좋아하지 않을 것이다. 따라서 서비스를 운영하는데 있어 개인정보를 보호하는 방법은 중요한 이슈가 될 것이다. 실제로 그래프서치가 시작되지 전 페이스북에서는 이례적으로 개인정보 및 개인 게시물에 대한 공개 설정에 대한 안내를 몇번에 걸쳐 알렸다. 대부분의 사용자는 자신의 페이지와 개인정보가 어떻게 다른 사람들에게 보이는지 심각하게 인식하지 못할 때가 많다. 왜냐하면 대부분 하나의 계정을 가지고 자신이 올린 개인정보가 자신에게 다 보이는 것은 제대로 된 것이라고 생각하기 때문이다. 정작 완전 공개가 되어서 해당 사용자가 악의적인 사용자의 범죄의 대상이 될 수도 있고 또한 사생활의 문제, 심지어는 법적 증거물로 불리한 상황이 만들어지는 경우도 흔하게 발생하기 때문이다. 


그래프서치가 가능해지면서 우리가 인지하지 못하는 공개된 개인정보들은 누군가에게 더 쉽게 노출될 가능성이 높아진다는 것이다. 예를 들어 앞서 검색한 내 친구의 친구들 중에서 캘리포니아에 사는 사람을 검색하거나 특정 회사의 사람들의 목록을 만들어서 타켓 광고를 하듯이 좀더 섬세한(?) 범죄의 대상이 될 수 있다는 점이다. 따라서 그래프서치는 타켓광고나 자신이 원하는 조건의 사람들을 찾을 수 있는 기술이 될수도 있지만 악의적으로 이용된다면 좀 더 쉬운 범죄 대상을 찾을 수 있는, 혹은 좋은 개인정보 스토킹 기술이 될수 있는 가능성도 충분히 존재한다는 것이다. 역시 이런 점 때문에 주커버그는 그래프서치를 소개하면서 개인정보 보호에 대한 강조를 하면서 검색의 대상은 사용자가 공개한 대상에 해당한다는 점을 이야기했다. 


2. 페이스북의 개인정보 설정 


그래프서치의 내용을 보기 이전에 페이스북에서 개인정보 설정에 대한 내용을 잠깐 언급할 필요가 있을 것 같다. 이전 페이스북 개인정보 설정에 대한 블로그 내용처럼 대부분의 내용은 변경되지 않거나 그 개념은 동일하지만 아주 간단하게 정리한다면... 


페이스북에서 관리할 큰 두가지 내용은 


a. 개인 프로필 내용 b. 개인 포스팅 내용 으로 구별해서 생각하면 된다. 우선 개인 프로필 내용은 자신의 프로필 내용이 나온 페이지에서 각 구역별로 편집을 하면서 완전 공개, 친구에게 공개 등 다양한 설정이 가능하다. 포스팅 내용 (사진, 글 등...) 또한 기본적으로 누구에게 보일 것인지 설정할 수 있다. 특히 개인 포스팅 내용에 있어서 사용자 리스트(Lists)를 만들어서 예를 들어 대학교 친구, 고등학교 친구, 직장 동료와 같이 해당 내용이 특정 집단에 관련된 내용이고 다른 사람들은 보지 않아도 된다면 해당 목록에 들어가서 글을 올리면 공개 설정이 해당 목록으로 자동으로 올라가게 된다. 



기본적으로 페이스북은 기본 목록으로 Close Friends (친한 친구), Acquaintances (아는 사람) 과 자신이 등록한 학교, 지역에 대한 목록을 자동으로 생성된다. 이외에 자신이 원하는 목록을 만든다면 자신의 포스팅하는 내용을 볼 수 있는 대상을 설정하기 쉬워진다. 목록은 자신의 글을 공개하는데 설정할 수도 있지만 해당 목록 친구들의 글을 어느정도 볼 것인지도 설정할 수 있다. 



해당 목록의 친구들이 올린 댓글이나 좋아요 내용을 표시하지 않게 하거나 사진을 보지 않는 등 내용을 확인할 수 있다. 그리고 최근에 페이스북에 올라온 친구 목록 중에는 Restricted 가 있다. 해당 목록은 사용자를 차단하는 단계 바로 이전의 기능이라고 생각하면 될 것이다. 그리고 개별 글에 대해서도 공개 설정 내용을 세부적으로 설정할 수 있어서 특정 사용자만 볼 수 없도록 할 수도 있다. 이렇게 해도 사실 상대방에게 어떻게 보이는지 전혀 감을 잡을 수 없을 때가 있다면 Privacy Settings 에 들어가서 Timeline and Tagging Settings 에 있는  View As 설정으로 들어가면 실질적인 도움을 많이 받을 수 있을 것이다. 


이처럼 자신의 개인 정보 설정을 어느정도 공개할지에 대해서 설정을 하고 난 다음 다시 그래프 서치로 넘어가 보자. 


친구목록 관리에서 보면 구글플러스의 서클 개념이 상당히 편리하고 페이스북의 관리 방법보다 진일보한 느낌을 받는다. 구글플러스의 서클은 일단 관리하기 편리하고 구글플러스를 사용하는 사용자뿐만 아니라 이메일을 입력하여 간편한 메일링 리스트로 관리가 가능하기 때문이다. 




3. 그래프서치와 개인정보 


주커버그의 설명대로 그래프서치의 검색결과 내용은 사용자가 공개한 내용을 바탕으로 결과가 나온다고 이야기했다. 따라서 개인정보를 완전 비공개로 한 상태라면 자신의 그래프서치에서 검색되지 않을 것이다. 그래프서치의 가장 강력한 기능은 조건에 맞는 관계, 네트워크를 찾아준다는 점이다. 대부분의 사용자는 서비스를 섬세하게 설정하려고 하지 않는다. 단순히 자신에게 필요한 글쓰는 공간, 사진올리고 태그 올리는 공간, 자신이 좋아하는 대상을 좋아요 누르고 자신의 학교를 입력하는 정도의 공간이면 충분하다고 생각한다. 그리고 그 정보에 대한 공개 설정이 어떻게 된지는 별로 관심없는 경우가 많다. 따라서 그래프서치를 사용하기 시작하는 사람들을 위해서 본 블로그에서 알리고 싶은 첫번째가 바로 자신에 관련된 정보에는 공개 여부를 설정(개인정보 설정)을 할 수 있다는 것이다. 공개 설정 내용중에는 자신의 친구목록을 공개할 것인지 비공개로 할 것인지를 나타낼 수 있다. 비공개로 설정을 해도 '같이아는친구(mutual friends)'는 보이게 된다. 


그래프서치에서는 검색의 조건에 해당하는 부분은 굵은 표시(bold)가 된다. 앞서 본 California 와 같은 것이다. 이런 대상은 실제 페이스북에서 검색할 수 있는 대상으로 사용자, 페이지, 장소, 사진 등을 포함하고 있다. 따라서 그래프서치에서 다음과 같은 검색도 가능하다. 


Friends of Someone John who live in Boston, Massachusetts  


여기서 Someone John 은 친구 목록을 공개로 해놓았다. 그래프서치는 자연스럽게 Someone John 의 친구 중에서 Boston 에 사는 친구들 (더 정확하게는 자신이 Boston 에 산다고 설정을 한 공개 사용자) 을 찾아서 검색 결과를 보여준다. 그런데 만약 Someone John 의 친구 목록 설정이 비공개로 되어 있다면 단 한명도 보여주지 않을 것이다. 결과적으로 모든 사용자들이 친구 목록을 비공개로 한다는 극단적인 가정을 한다면 그래프서치에서 친구를 찾아줄 수 있을까? 


복잡한 네트워크 관계도를 가지고 생각해보면 그래프서치를 통해 찾을 수 있지만 개인정보 설정으로 인해 보여주지 않는 정보인지, 아니면 개인정보 설정이 되면 그래프서치의 검색 도메인에 들어가지 않을는지는 페이스북 그래프서치 관계자만이 알 수 있을 것이다. 그런데 여기에서 재미난 의문이 든다. 사용자에게만 개인정보 설정에 따른 결과를 보여주고 내부적으로는 검색이 가능하다면 페이스북은 이를 다양한 마케팅이나 타켓광고의 좋은 자료로 사용할 수 있는 것이 아닌가 하는 점이다. 즉, 그래프서치와 개인정보 설정의 옵션이 실제 그래프서치의 결과를 내놓는데 있어 선필터 후검색인지 선검색 후필터인지에 따라서 개인 사용자에겐 별 차이가 없지만 기업 입장에서는 충분히 다를 것이다. 



흥미로운 실험을 하나 하면, 계정 두개를 동일하게 만들고 (계정에 사용되는 아이디는 인터넷 상에서 한번도 사용되지 않은 완벽히 새로운 계정이다.) 이 두계정의 모든 좋아요, 네트워크 뿐만 아니라 모든 활동 내용을 거의 동일하게 해준다. 단, 두 계정의 차이점은 사는 지역, 출신 등 개인 프로필에 관련된 내용은 하나는 공개, 다른 하나는 비공개로 설정을 하고 활동 내용도 하나는 공개, 다른 하나는 친구에게만 공개 정도로 설정을 한 상태에서 오른쪽에 나타나는 광고의 내용을 살펴보는 것이다. 가장 많은 정보는 지역 정보에 관련된 내용이다. 지역정보의 학교 정보, 음식점 정보, 회계사 정보 등 두 계정 모두 공개, 비공개 여부에 관계 없이 해당 사용자에게 보여주는 내용은 거의 동일했다는 것이다. 물론 비공개 사용자의 프로필이 다른 사용자에게 공개되지 않으니 제대로 운영된 것이지만 소위 맞춤형 광고에 있어서는 페이스북 내부적으로는 충분히 개인정보의 내용을 사용한다는 점이다. 


마찬가지의 논리이다. 비록 그래프서치가 일반 사용자에게는 이런 비공개의 영역까지 볼 수 있는 방법은 없다고 하지만 기업의 활동 차원에서 개인 정보를 충분히 활용, 가공해서 이익을 남길 수 있다는 점이다. 예를 들어 뉴욕 지역에서 어떤 음식점에서 사진이 많이 찍힌다, 어느 클럽에 사람들이 많이 체크인을 남긴다 등의 내용을 통해 충분히 마케팅적 자료로 사용할 수 있거나 이를 가공해서 (최소한 기업의 도덕성을 생각한다면 개인 신상 내용은 제거하는 등) 활용할 수 있다는 점이다. 이러한 활동이 잘못되거나 문제가 있다는 점을 이야기하는 것이 아니다. 오히려 그래프서치는 일반사용자들이 사용했을 때 다가오는 그런 기능이라기 보다는 기업의 마켓팅이나 광고 수익 모델을 증가시키는 모델을 만드는데 더 적극적으로 활용될 수 있다는 가능성을 중립적으로 이야기하고 싶을 뿐이다. 



다른 플랫폼을 살펴보자 


만약 음식점이 있는데 대체로 평이 좋은 음식점과 내 친구가 가서 사진찍고 좋다고 이야기한 음식점이 있다면 어떤 음식점을 가고 싶겠는가? 그래프서치는 기본적으로 관계에 지향을 둔 검색 방법이기 때문에 단순히 음식점을 찾는 것에 장점을 가지기 보다는 내 친구와 내 주변 사람들이 선호했던 음식점이 더 중심이 된다. 처음 이런 비교를 들었을 때 들었던 질문은 "그래프서치를 통해서 우리의 선택이 좀 더 현명해질 수 있는가?" 였다. 친구들이나 주변 사람들의 추천이나 방문이 꼭 내가 더 선호해야할 직접적인 이유가 되지는 않는다. 그런 가정이 좀더 현실적으로 현명한 판단이 되어야 한다면 기본적으로 나의 관계 네트워크는 충분히 큰 수와 집단을 가지고 있어야 한다는 점이다. 두번째는 내가 어떤 여론에도 치우지지 않게 다양한 성격의 네트워크를 가지고 있어야 한다는 점이다. 


잠시 다른 이야기로 넘어가서 페이스북이나 구글플러스 와 같은 다양한 쇼셜네트워크서비스(SNS)의 전략에 대해서 생각해보자. 트위터는 조금 대상에서 제외해야할 것 같아서 논외의 대상으로 두고 우선 페이스북이나 구글플러스 포스퀘어 와 같은 서비스를 살펴보면 다양한 사용자들이 박쥐떼처럼 움직이고 자신의 기호와 목적을 가지고 움직이게 된다. 그리고 자신이 맘에 드는 장소에 배설물을 남기고 간다. 아무리 많은 박쥐떼라도 개별 박쥐들은 자신만의 유일한 지문같은 배설물을 남긴다. 이렇게 되면 특정 지역의 배설물만 나열하면 해당 지역에 어떤 박쥐들이 좋아하는 장소인지 하나의 인덱스(Index)가 만들어지는 것이다. 마찬가지로 우리가 페이스북에서 어떤 특정 주제나 영화, 드라마 등을 좋아요 누르는 순간 해당 페이지에 대한 인덱스에 좋아요 누른 사용자가 들어가는 것이다. 만약에 The Dark Knight 영화가 좋다고 한다면 후속 작품에 대한 흥보를 할때도 좋아요를 누른 해당 사용자들에게는 더 세부적인 마켓팅 흥보가 가능하게 되는 것이다. 광고 차원에서도 대상자를 찾는다는 점도 있지만 사실 페이지나 내가 누르는 모든 활동, 체크인하는 장소 등은 가상의 사용자가 만들어져 그 사용자가 나와 관계를 맺은 것이라고 생각하면 더 편리할 것이다. 


그런데 그래프서치가 제대로 돌아가기 위해서는 선제조건이 있다. 보통 내가 좋아요 누르는 대상이 존재할 경우가 많겠지만 존재하지 않는 경우도 있다. 이런 경우 사용자가 페이지를 만들 수 있고 관리할 수 있는데, 같은 대상인데 다수의 페이지가 존재하는 경우가 있고 부정확한 관리자가 부정확한 정보로 페이지를 구성하는 경우도 존재한다. 따라서 어느정도 사용자들이 모이고 이를 수정, 관리, 감독하는 제대로 된 순환(cycle)이 이루어지도록 해주는 것이 플랫폼의 역할이기도 하다. 이런 과정을 거치면서 페이스북이나 구글플러스를 보면 기업적 목적을 위한 페이지나, 특정 지역 음식점이나 그 기능과 특징만 차별화가 있지 결국 일반 사용자와 전혀 다르지 않은 대상이 되어간다는 것을 알 수 있다. 보통 법무법인, 회계법인 이라고 부를때 법인이라는 말이 법이 정한 인격체란 뜻도 포함을 하듯이 이제 단순한 정보를 표시하기 위한 페이지가 아니라 서로 의사소통을 하는 사용자가 된다는 점을 살펴볼 필요가 있다. 


제 음식점을 찾는 것을 통해서 페이스북과 구글플러스의 차이점을 한번 찾아보자. 


내가 찾고 싶은 것은 Boston Common 주변의 음식점들이다. 따라서 초기 검색어는 


Restaurants near Boston Common 


이고 결과는 다음과 같이 오른쪽 상단의 지도와 함께 표시된다. 



좀더 구체적으로 인도음식을 찾아보고 싶어져서 


Indian Restaurants near Boston Common 


을 검색하지만 해당 페이스북 안에는 Indian Restaurant 라는 검색 대상이 존재하지 않기 때문에 외부검색엔진인 MS의 빙으로 바로 키워드 검색으로 넘어간다. (결과도 실제로 나오지 않았다 아직...) 또한 페이스북은 한계적으로 사용자들이 올리거나 만든 (물론 음식점 운영자가 만든 페이지 등을 포함해서) 내용을 바탕으로 정보를 제공해줄 수 밖에 없다. 앞서 음식점 결과에서는 운영시간, 별점, 그리고 간단한 설명 등과 함께 체크인한 사람들 그리고 혹시 이 중 나의 친구 들이 있다면 먼저 보여준다. 그렇다면 "인도사람들이 좋아하는 Boston Common 지역 근처의 음식점"을 검색할 수 있을까? 인도사람들이 좋아하는... 이라는 검색어를 어떻게 넣을까 고민하다가 다음과 같이 검색을 해보았다. 


Restaurants near Boston Common liked by people who were born in India 



인도에서 태어난 사람들이 좋아하는 Boston Common 주변의 음식점으로 찾은 결과는 위와 같이 보여주었고 People who were born in India 를 클릭하면 해당 음식점을 좋아요 누른 사용자들 (해당 음식점에 인덱스된) 을 보여준다. 그래프서치에서 인상적인 부분을 꼽으라면 이런 사용자들의 정보와 관계를 바탕으로 섬세한 검색이 가능하다는 점이 있지만 잠시 생각을 해보면 정말 이런 검색이 나에게 얼마나 큰 도움이 되는 검색인지, 아니면 그래프서치의 검색 능력을 알아보기 위해서 내가 검색한 것인지에 대해서는 조금 생각해볼 필요가 있다고 느낀다. 


구글플러스를 한번 비교해보자. 구글플러스 안에는 Local 이라는 항목으로 지역정보 및 지역기반 서비스를 별도로 제공해준다. 그렇다고 해서 구글플러스에서 별도의 서비스처럼 제공되는 것은 아니고 사용자들이 자신이 올리는 글 중 체크인 내용이나 지역에 관련된 내용이 있거나, 해당 음식점의 직접적인 리뷰를 올리면 그런 정보를 모아서 검색을 별로로 해줄 수 있는 서비스를 제공해주는 것이다. 



검색 결과가 나오고 오른쪽엔 지도와 함께 표시된다. 음식점 정보 그리고 특이하게 ZAGAT 의 평가 내용이 있을 때 함께 정보를 보여준다. 해당 음식점에 들어가면 리뷰 내용과 예약을 제공해주는 OpenTable 서비스를 구글플러스 안에서 가능하게 해주었다. 페이스북에 비해 실제 사용자와의 관계 및 사용자의 활동을 보여주지 않지만 음식점을 검색하는 목적에 맞추어서 필요한 서비스를 연결해 놓은 부분이 특징이라 할 수 있다. 좀더 구체적인 비교는 직접 들어가서 검색해보고 차이점을 확인해보는 것이 좋을 것 같다. 



그래프서치를 기대한다


앞서 설명한 것처럼 그래프서치의 검색 방법이 나에게 자연스러운지 아닌지는 그리 중요하지 않다. 왜냐하면 이런 기술이 대중적으로 얼마나 매력적일 수 있는가가 더 중요하기 때문이다. 물론 대중적이란 말에는 사업적 의미도 포함되어 있기도 하다. 그런데 특별히 검색의 효과나 효율을 떠나서 그래프서치가 개인적으로 흥미로웠던 이유는 검색의 방식을 다르게 해주었다는 측면도 있지만 네트워크 그래프 상에서 시각적으로만 그려지는 그 관계나 복잡도가 실제 검색이라는 2D의 평면 공간(컴퓨터 화면)에서도 구현이 가능하다는 점이다. 쉽게 말해 어떤 사용자가 맺고 있는 친구 관계 그리고 확장된 친구의 영역의 그래프를 복잡한 그래프 네트워크를 통해서 표현하기는 쉽지만 그렇게 그려진 네트워크 안에서 내가 원하는 정보를 찾는다는 것은 생각보다 쉽지 않기 때문이다. 



잘못된 페이지들: 앞서 말한 것처럼 The Dark Knight 라는 영화 페이지를 좋아요 누르고 싶은데 해당 영화에 대해 페이지가 5개가 만들어졌다면 어떤 페이지를 좋아요 눌러야 할지 결정하기 힘들때가 많다. 그때 대부분은 좋아요가 많은 정보를 선호하게 된다. 그런데 이런 문제를 단적으로 보여준 문제가 페이스북의 서울대학교 페이지 중 좋아요 수가 가장 많은 정보에는 서울대학교가 아프리카의 어떤 알지 못하는 장소에 위치한 것으로 나오고 연세대학교의 경우도 엉뚱한 위치에 있는 것으로 나오고 (그런데 해당 페이지는 거의 만명 이상이 자신의 프로필로 사용했었다.) 고려대학교의 경우 영문은 Korea University 인데 한국어소개 페이지는 '조선대학교'로 연결되기도 한다. 즉, 정확한 정보를  관리하거나 제대로 확인되지 않은 상황에서 다양한 페이지가 난립하는 경우 하나의 대상을 정확하게 표현하는 페이지가 하나가 아닐 경우가 많다는 점이다. 이런 경우 문제점을 본 사람이 페이스북에 정정 요청을 하거나 해당 관리자를 변경할 수 있도록 했지만 여전히 비슷한 문제가 발생할 것이다. 즉, 이러한 페이지는 적절하지 못한 인덱싱을 하는 경우가 되는 것이다. 


초기이기 때문에 개선될 부분은 많겠지만 이런 문제는 그래프서치의 검색 내용과 연결된다. 보통 My Photos 라고 한다면 내 사진을 뜻하는 것이다. 그런데 페이스북 안에는 My Photos 라는 앱이 존재한다. 만약에 나의 사진을 좋아하는 친구들을 보고 싶다고 검색을 하면... (실제로 my photos My Photos 는 다르게 인식된다.)


People who like My Photos  혹은 My Friends who like My Photos


전혀 엉뚱한 사람들이 검색되는 것을 알 수 있다. 이들은 나의 사진을 좋아한다고 한사람들이 아니라 My Photos 라는 앱을 좋아하는 사람들이 검색된 것이다. 즉, 앱의 이름이나 특정 페이지가 일반적 검색 문법에 사용되는 경우 이런 혼란이 생길 수 있다는 점이다. (이 부분은 페이스북이 현명하게 고쳐나갈 것이라고 믿는다.) 



그래프검색과 컴퓨팅파워 


[읽다가 눈에 안들어오신다면 바로 결론으로 넘어가주세요.]


물론 이런 부분까지 내가 페이스북을 걱정할 이유는 전혀 없겠지만 그래프 이론은 상당히 재미있는 이론을 제시해준다. 복잡성도 복잡성이지만 관계성을 나타내는 방법이 간단한 방정식으로 표시해줄 수 없다. 간단한 예를 들자면 자연계에 아무리 복잡해 보이는 행성과 항성 등 우주의 수많은 별들과 천체들이 존재해도 이들을 설명하는데는 간단하게 만유인력의 법칙 혹은 조금 더 나아간다면 상대성이론 정도면 우주의 움직임이나 패턴을 어느정도 근사하게(approximately) 예측해낼 수 있다. 이는 천체가 deterministic 시스템에 존재하기 때문이다. 그런데 쇼설네트워크는 이러한 설명을 하기 위해서는 예측의 정확도도 떨어지고 예측이 정확한 듯 보여도 그 예측을 빗나가는 예외성이 많이 발생한다. 쉽게 말해 각 쇼셜네트워크 안의 사용자의 행동 패턴은 절대 몇몇 방정식에 좌우되지 않는 것이다. 이렇기 때문에 통계적 기법으로 예측할 수 밖에 없고 이를 deterministic 과 대조적으로 stochastic 시스템이 된다. 이런 시스템에 예측성을 좀 더 높여 줄 수 있는 방법이 있다. 페이스북이나 구글플러스 등 여러 서비스들이 하는 것처럼 좋아하는 것이 무엇인지, 어디에 사는지, 그리고 물리적으로 가능한 범위가 어느정도인지, 직업은 무엇인지 등을 통해서 가능한 행동의 패턴을 추측하는 것이다. 무엇보다 영향을 받는 네트워크 관계는 더욱 더 중요한 것이고 그러한 예측은 얼마나 많은 친구와 관계를 맺고 교류를 하는가(!)에 따라 달려있다. 



문제는 이렇게 복잡해지는 네트워크 안에서 내가 가지는 특성이나 선호도에 따라서 내가 궁극적으로 원하는 검색을 찾아낼 수 있는가이다. 바로 그래프서치가 찾아주는 결과와 마찬가지로 얼마나 섬세하게 결과를 찾아주는가이다. 즉, 지금 그래프서치가 사용자의 데이터량이 충분하지 않기 때문에 검색해야하는 영역이 적어서인가 아니면 충분히 많지만 검색의 조건이 강하지 않은 것인지는 아직 두고봐야 할 것 같다. 사실 네트워크 안에서의 다양한 값들을 계산하고 특히 특정 조건과 관계만을 주어지고 전체 네트워크에서 특정 ID를 찾는 identifying 문제는 생각처럼 계산이 쉽지 않다는 점이다. 그래서 네트워크를 어떻게 구별하고 나누고 나눈 상태에서 계산하는지에 대한 많은 연구가 이루어지는 것이다. 페이스북의 그래프서치가 그 정도의 복잡성이나 강직성을 가지는 것은 아니겠지만 사용자의 데이터량이 증가하면 할수록 그것을 뒷바침할 컴퓨팅파워가 충분한지 아니면 컴퓨팅파워에 맞추는 그래프서치의 현명한 운영이 가능할지 관심의 대상이 된다. 


예를 들어 검색 범위를 좁혀갈 수 있는 형태(narrow-down)가 아닌 일일히 대조해봐야 하는 검색의 경우를 보면 알 수 있다. 김연아 선수와 손연재 선수를 동시에 좋아하는 사람들이 얼마나 있을까 궁금증에, 


People who like Yuna Kim and 손연재


로 검색을 하면 1페이지당 12명 정도를 보여주고 계속 검색을 통해서 찾아준다. 즉, 몇명인지를 알기 위해서는 상당한 인내심을 요구하게 된다. 이러한 부분을 고려했기에 한꺼번에 검색을 완료한다음 보여주는 것이 아니라 페이지별로 단계적으로 보여주게 된다. 페이지 수가 거듭될 수록 페이스북의 서버 반응속도도 주목할 필요가 있을 것이다. 


그래서 웹서비스는 업타임(uptime)이 중요하다. 서비스가 중지되지 않고 얼마나 지속되는가를 나타내는 수치인데 데이터량이 증가하면 검색의 양도 증가하기 때문에 이에 적절한 컴퓨팅파워가 따라주지 않는 예가 LinkedIn 서비스였다. 특히 개인정보에 관련되었기 때문에 앞서 설명한 같은 대상에 대해서도 다양한 표현과 표시가 이루어지면서 검색에도 쉽지 않은 문제가 발생하고 그에 따라서 업타임이 점점 줄어드는 현상을 보여주기도 했다. 페이스북의 경우 그래프서치를 내놓기 이전 페이지를 정비하거나 redirect 와 통합 등을 통해서 여러가지 노력을 했기에 잘 대처할 것이라고 생각한다. 



마무리하며... 


그래프서치가 우리에게 어떤 변화를 가져오게 될지는 확신할 수 없지만 다양한 기회를 줄 것이라는 점에 대해서는 대부분 동의하는 것 같다. 누구에게 기회를 줄 수 있는지는 생각해봐야겠지만 그와 함께 개인정보가 어디까지 공개되어야 하고 어느 부분까지는 보호되어야 하는지, 그리고 사용자 측면이 아닌 마켓팅이나 사업적 측면에서 개인정보가 사용될 수 있는지에 대해서도 생각해봐야 할 것이다. 


페이스북의 정책과 기술에 대해서 적극적인 팬은 아니지만 그들이 만들어내는 새로운 개념이 세상의 인식 범위를 넓혀가고 있다는 점에 대해서는 큰 박수를 보내고 싶다. 특히 기존의 검색에 관계와 사용자의 쇼설미디어 정보가 결합될 수 있다는 점에서 멋진 첫 발걸음이라고 할 것이다. 국내의 다양한 기술도 이러한 쇼설네트워크의 수혜자가 아닌 공급자로 적극 참여했으면 좋겠다. 기존의 패러다임을 바꾸어주고 그 패러다임이 문제점도 있을 수 있고 가능성도 있을 수 있지만 그래도 새로운 시도를 추구하는 그런 공급자 말이다. 페이스북을 보면서 항상 느끼는 것이 하나 있다. 내가 만약 Atlanta, Georgia 에 산다고 했을 때 페이스북 광고는 Atlanta, Georgia 에 있는 음식점, 병원, 학교 등의 정보를 제공해준다. 그런데 만약 내가 이미 그 지역의 학생이라면 나에게 학교 정보들은 나에게 필요한 정보가 아닐 가능성이 더 많다는 것이다. 따라서 우리가 좋아요 누르는 페이지에도 특성(properties)이 있어야 한다. 예를 틀어 초콜렛을 좋아요 누른다면 그것은 별로 편차없이 초콜렛이라는 대상을 좋아한다는 것을 파악할 수 있지만 지역 정보는 단순히 지역의 광고주이기 때문에 지역 사용자에게 제공한다면 부적절하거나 이미 필요없는 대상일 가능성이 많다는 것이다. 이런 대상(class)이 가지는 속성(properties)이 연결될 수 있는 구체물(instance)을 개발한다면 좀더 효과적인 광고 도구가 될 것이라 생각된다. 그래프서치는 이런 문제를 해결해주는 좋은 기술이 되어줄 수 있을지는 모르겠다. 쉽게 말해 Atlanta, Georgia 에 사는 Graduate Students 라면 학교에 대한 광고는 상당히 불필요한 것이다. 따라서 Atlanta, Georgia 라는 페이지가 가지는 구체물이 직업의 요소를 연결시킨다면 좀더 정밀한 광고를 할 수 있는 대상이 될 것이다. 


많은 시간동안 검색엔진이 발전하는 것을 보면서 개인적으로 느낀 한가지는... 


컴퓨터는 정말로 멍청하다는 것이다. 인간이 무엇을 그리도 원하는지 그렇게 몰라준다니... 

마찬가지로 인간도 멍청하다는 것이다. 무엇을 보여줘야 할지 아직까지 모르고 있었다니...