구글
구글 검색은 어떻게 작동할까?
구글 Google은 사용자가 검색어를 입력하면 무려 30조 개가 넘는 웹페이지web page를 뒤져서 가장 좋은 결과물을 10개로 추린다… 어떻게 그럴 수 있을까? 사용자가 검색어를 입력할 때마다 구글이 그 많은 웹페이지에 일일이 접속하진 않는다. 대신 데이터베이스database(엑셀 스프레드시트 처럼 정보를 일목요연하게 정리해 놓은 표라고 생각하면 된다)에 각 웹페이지의 정보를 저장해두고 알고리즘agorithm을 이용해서 무엇을 보여줄지 정한다. 알고리즘은 일련의 명령어다.
크롤링
크롤링은 인터넷이 있는 모든 웹페이지를 찾을 때까자(격이 도 구글이 판단하기에 그럴 매까지) 지속된다. 스파이더는 일단 몇 개 의 웹페이지를 크롤링해서 ‘색인’이라고 하는 웹 페이지 목록에 추가 한다. 그리고 각 웹페이지에서 밖으로 나가는 링크, 즉 외부 링크를 따라가서 또 새로운 웹페이지를 색인에 추가한다. 그렇게해서 더는 새로운 웹페이지를 찾을 수 없을 때까지 이 과정이 반복된다. 크롤링은 항상 진행 중이다. 구글은 밤낮없이 새로운 웹페이지를 색인에 추가하고 혹시 기존의 웹페이지에 변동 사항이 있으면 그것 역시 색인에 반영한다.
페이지 랭크
구글은 키워드 밀도 대신 페이지랭크PageRank라는 혁신적인 알고리즘을 사용한다. 페이지랭크는 설립자 래리 페이지Larry Page와 세르게이 브린Sergey Brin이 1998년에 박사 논문을 작성하며 개발했다. 당시 두 사람은 어떤 웹페이지의 중요도를 측정하려면 다른 중요한 웹페이지에서 그 웹페이지로 들어오는 링크를 봐야 한다고 판단했다. 유하자면 파티에서 인기인을 찾으려면 다른 인기인들이 주변에 있는지 보면 되는 것과 같다. 페이지랭크는 웹페이지의 점수를 계산할 때 해당 웹페이지를 링크한 다른 모든 웹페이지의 페이지랭크 점수를 집계한다.
추천
첫째, 각 사용자가 듣고 마음에 들어서 라이브러리나 플레이 리스트에 추가한 노래가 무엇인지 본다. 반대로 30초도 안 듣고 건 너떤 노래는 좋아하지 않는 것으로 간주한다. 둘째, 다른 사용자들이 만든 플레이리스트를 본다. ‘조깅용 노래’나 ‘비틀즈 베스트’ 같은 플레이리스트에서 주제의 연관성을 파악하는 것이다. 스포티파이는 이렇게 확보한 데이터로 두 가지 상식을 이용해서 추천곡을 선정한다. 첫 번째는 두 개의 데이터세트dataset를 비교해 서 사용자가 좋아하는 노래와 연관성이 있는 새로운 노래를 찾는 것이다. 만약에 A가 만든 플레이리스트에 8곡이 담겨 있는데 그중 1곡 이 B의 보관함에 있다고 해보자. 그러면 B는 A 스타일의 노래를 좋아한다고 볼 수 있다. 그래서 금주의 발견에서 B의 보관함에 없는 A 의 나머지 한 곡을 추천해주는 방식이다. 이것을 ‘협업 필터링’ 이라고 한다.
왜 추천 기능에 투자할까?
이와 같은 추천시스템을 개발하자면 어마어마한 인건비가 든다. 아닌게 아니라 스포티파이 엔지니어들의 연봉은 수십만 달러에 이른다. 그러면 스포티파이는 왜 그렇게 까지 큰돈을 투자하는 걸까? 우선 탁월한 추천시스템이 스포티파이를 애플뮤직. 라이벌 서비스와 차별화하는 강점이 되기 때문이다. 단순히 음원 보유량이 방대하다고 다가 아니다. 전문용어를 쓰자면 이제 음원은 동질화되어 있다. 어차피 스포티파이나 애플뮤직이나 똑같은 노래는 똑같이 들린다. 방대한 음원을 보유하는 것도 라이선스를 취득할 돈만 있으면 누구나 가능하다. 사실상 음원으로 차별화가 불가능한 상황에서 스포티파이가 우위를 점하려면 경쟁사를 꺾을 ‘한 방’이 필요하다. 그게 바로 추천시스템이다. 스포티파이의 추천시스템은 애플뮤직보다 한 수 위로 평가 받는다. 그리고 협업 필터링은 사용자가 많을수록 효과적이기 때문에 이미 어마어마한 사용자를 보유한 스포티파이가 선두를 유지 할 수 있는 것이다. 스포티파이가 추천시스템에 투자하는 두 번째 이유는 그 덕분에 사용자가 유지될 확률이 높아지기 때문이다. 사용자 입장에서는 스포티파이를 많이 쓸수록 알고리즘이 취향 정보를 많이 수집해서 추천의 정확도가 높아진다. 반대로 애플뮤직으로 갈아타면 축적된 정보가 없기 때문에 취향에 맞는 곡을 추천받는 맛을 못 느낀다. 이렇게 ‘전환 비용’이 높으면 전환이 잘 안 일어난다. (이처럼 일단 어떤 앱에 데이터가 입력되고 나면 다른 앱으로 갈아탈 때 데이터를 새로 만들어야 하기 때문에 전환 비용이 높아진다.) 정리하자면 맞춤형 플레이리스트는 사용자에게 유익한 기능인 동시에 스포티파이의 스마트한 비즈니스 전략이다. 개인 추천 기능을 제공하는 앱이 점점 늘어나는게 당연하다.
페이스북은 뉴스피드에 표시되는 게시물을 어떻게 정할까?
매일 전 세계에서 10억 명 이상이 페이스북 뉴스피드를 보고, 미국인은 오프라인에서 사람을 직접 만나는 시간과 비슷한 시간을 페이스북에서 보낸다. 이처럼 수많은 사람의 시선이 몰리는 만큼 뉴스피드의 위력은 막강하다. 뉴스피드는 우리의 기분을 움직 일 수 있고 우리가 이념적으로 비슷한 성향의 사람들끼리 어울리게 한다.
첫째, 게시물을 올린 사람이다. 페이스북은 사용자가 상호작용을 많이 한 사람(예: 메시지를 더 많이 주고받거나 태그를 더 많이 한 사람) 의 게시물을 더 많이 보여준다. 그 사람의 새로운 게시물에 더 강하 게 반응할 것이라고 보기 때문이다. 둘째, 게시물의 질이다. 페이스북은 사람들의 반응(예: ‘좋아요(lke, 댓글)이 많은 게시물일수록 더 흥미로운 게시물이라고 판단해서 뉴스피드의 상단에 표시한다. 셋째, 게시물의 종류다. 페이스북은 사용자가 어떤 종류의 게시물 (동영상, 글, 사진 등)에 더 많이 반응하는지 파악해서 그에 해당하는 게시물을 더 많이 보여준다. 넷째, 게시물의 최신성이다. 최근에 올라온 게시물일수록 순위가 높아진다. 물론 그 밖에도 많은 요인이 존재한다. 다음은 <타임Time>의 기사 에서 발췌한 내용이다.
API의 세 가지 유형
첫 번째 유형은 기능 API다. 기능 API는 경로 계산, 문자시지 전송, 문장 번역 같은 작업을 전문적인 앱에 맡길 수 있게 한다. 두 번째 유형은 ‘데이터 API로, 다른 앱으로부터 스포츠 경기 점수, 최신 트윗weet, 오늘의 날씨 등 흥미로운 정보를 넘겨받을 수 있게 한다. 세 번째 유형은 ‘하드웨어 API’로, 기기의 고유한 기능을 이용 할 수 있게 한다. 인스타그램Instagam은 휴대폰의 카메라 A미를 통 해 줌, 초점, 촬영 기능을 빌려 쓴다. 구글지도는 휴대폰의 지리위치 미로 사용자의 현위치를 파악한다. 물론 API가 장점만 있는 것은 아니다. API를 활용하면 앱 개발이 한층 수월해지지만 앱이 API에 종속된다. 예를 들어 메일 전송 API 가 다운되면 그 API를 쓰는 모든 앱이 메일을 전송할 수 없게 된다. 그리고 어디까지나 가정일 뿐이지만 혹시 구글이 승차공유 서비스 를 출시한다면 경쟁사인 우버가 구글지도 API를 못 쓰게 막아버릴 수도 있다. 만일 우버에도 자체 지도 서비스가 있다면 그럴 때 구글 에 휘둘리지 않을 것이다. 이렇게 사업에 타격을 입을 가능성이 있긴 해도 타사의 전문화된 API를 쓰면 필요한 기능을 직접 개발할 때보다 더 쉽고 안정적으로 서비스를 구현할 수 있고 보통은 비용도 더 적게 든다. 그러면 다시 처음의 질문으로 돌아가보자. 우버, 옐프, 포켓몬고 의 기술적 공통점은 무엇일까? 그 답은 이미 존재하는 기술을 새로 만들지 않고 API, 구체적으로 말하자면 구글지도 API를 사용한다는 점이다. 사실상 세상의 모든 앱이 API를 빼면 무용지물이라고 해도 과언이 아니다.
출처 및 저작권 안내
본 글은 아래 도서의 핵심 내용을 개인적으로 정리·요약한 2차 저작물입니다. 원저작물의 저작권은 원저자에게 있으며, 직접 인용은 공정 이용(fair use) 범위 내로 제한합니다.
저자: [‘닐 메타’, ‘아디티야 아가쉐’, ‘파스 디트로자’]