느린 검색(Slow Search)

by SL

배달 온 CACM 잡지를 뒤적이다가 재미난 글을 발견했다. Slow Search 느린 검색이라니, 무슨 얘기일까?

이제 우리는 네모난 박스에 키워드를 입력하면 몇 초 이내로 검색 결과가 나오는 걸 당연하게 받아들인다. 요구사항을 구구절절 나열한다고 결과가 그만큼 좋아지지 않는다는 걸 알고 있을 뿐더러 키워드 몇 개만 입력해도 대부분은 원하는 정보를 잘 찾아주기에 애초에 그럴 필요를 느끼지도 않는다. 사용자는 자신의 정보 요구를 키워드로 압축해서 표현하는 법을 익히고, 검색서비스는 그 키워드로부터 정보 요구를 잘 추측하도록 서로를 강화시켜왔다.

잠시 이런 익숙함에서 떨어져 생각해보자. 빠른 응답시간은 사실 큰 제약조건이다. 1초도 아닌 밀리초를 다투는 시급한 상황에서 수백수천만 개의 문서 중 최고의 답을 찾기 위해 할 수 있는 일은 상당히 제한적일 수밖에 없다. 복잡한 알고리즘을 그 짧은 시간에 처리하는 방법을 찾는 대신 저자들은 이런 질문을 던진다.

검색 속도가 그렇게 중요한가? 정말로?

어떤 쿼리는 확실히 그렇지만, 모두가 그렇지는 않다는 저자들의 의견에 대부분이 동의할 것 같다. 특정 사이트를 찾거나, 기업 주가를 묻거나, 단답형 질문을 던진다면 즉시 결과를 내놓아야 한다. 하지만, 휴가 여행 계획을 짜거나, 특정 주제에 대해서 서베이를 하는 사용자에게, 1초 내로 답을 내놓기 위해 더 좋은 정보를 제공할 가능성을 포기할 필요는 없다.

원문에서 한국의 사례가 나와서 신기했는데, SMS로 질문을 보내면 크라우드소싱을 통해서 사람이 직접 만든 답변을 배달해주는 지식로그 유료 서비스를 언급하면서, 결과의 품질만 보장된다면 사람들은 기꺼이 기다릴 준비가 되어있음을 보여준다.

속도와 품질은 트레이드오프 관계에 있다. 시간을 많이 준다고 품질이 그에 비례해서 향상되지는 않지만, 1초가 10초/1분/1시간 심지어 1일로 늘어나면, 방대한 데이터와 분석 능력을 갖춘 검색서비스가 할 수 있는 일의 범위는 크게 확장가능하다.

기존의 키워드 검색을 넘어서, 여행하고 싶은 도시들과 일정을 입력하면, 그에 어울리는 코스를 자동으로 짜주는 서비스를 생각해볼 수 있다. 스포츠 기사를 작성하는 알고리즘에서 쓴 적이 있고 원문에서도 얘기하지만, 이미 존재하는 문서를 찾는 것이 아니라 사용자의 정보 요구에 맞추어서 정보를 수집한 뒤 그걸로 답을 작성 또는 요약해주는 서비스도 더이상 뜬구름 잡는 소리는 아니다.

Slow라는 조건을 붙이면서 검색이라는 용어로 포장하고 있지만 이쯤되면 마치 컨설팅 업체나 도메인 전문가에게 일을 의뢰하듯이, 엄청난 데이터와 알고리즘을 갖춘 계산지능에 일을 맡기는 세상이 오는가 하는 생각도 든다.