월간 <네트워커> - 정보화에 대한 다른 시각
9호 이동영의
인터넷 검색 엔진
내가 볼 수 있는 것과 볼 수 없는 것

이동영  
조회수: 4897 / 추천: 54
인터넷은 말 그대로 정보의 바다다. 하지만 그 사실이 곧 내가 원하는 정보를 쉽게 얻을 수 있다는 뜻은 아니다. 내가 원하는 정보가 어디에 있는지 찾아내는 것이 중요한 것이다. 원하는 정보를 찾는 데는 사람 손으로 잘 정리된 목록(디렉토리)도 유용하지만, 많은 경우에 검색어(키워드)를 이용해 검색을 하게 된다.

한마디로, 검색 엔진은 사용자가 검색어를 입력하면 거기에 관련된 홈페이지들을 알려 주는 일을 한다. 이 일을 제대로 하기 위해서는 세 가지 요소가 필요하다. 첫째로 수많은 홈페이지들의 내용을 모으고, 둘째 주어진 검색어와 관련이 있는 홈페이지들을 알아내고, 셋째는 관련된 홈페이지들을 보여주는 순서를 정하는 일이다.

정보를 모으는 로봇
여러 홈페이지의 내용을 모으기 위해서는 흔히 로봇이라고 불리는 프로그램을 사용한다. 스스로 인터넷을 돌아다니면서 정보를 모으기 때문에 로봇이라고 하는데, 웹(거미줄)을 돌아다닌다는 뜻에서 스파이더(거미)라고 부르기도 한다. 로봇의 기본 작동 원리는 비교적 간단하다.

대형 포탈사이트 등 몇몇 지점으로부터 시작해서, 웹 문서를 다운로드 받은 후 그 안에 있는 링크들을 따라가서 또 다운로드 받는 것을 반복하는 것이다. 하나의 홈페이지에 여러 개의 링크가 있는 것이 보통이기 때문에, 이것을 반복하면 엄청난 분량의 정보를 수집하게 되는 것이다. 물론 이렇게 링크를 따라가다 보면 같은 홈페이지를 여러 번 반복하기 때문에, 방문한 페이지들의 기록을 남겨서 다시 방문하지 않도록 해야 한다.

간혹 로봇이 방문하기에 적당하지 않은 홈페이지가 있을 수 있다. 같은 URL(주소)이라도 내용이 자주 바뀌는 게시판이라든가, 웹으로 구현된 게임 등이다. 이런 경우에는 로봇의 방문을 막도록 특별한 표시를 할 수 있다(서버 차원에서 로봇 배제 프로토콜(Robot Exclusion Protocol)을 사용하든가, 웹문서에 로봇에 대한 메타 태그를 써서 표시한다).

또다른 문제는 인터넷에도 고립된 섬과 같은 부분이 있다는 점이다. 인터넷에 있는 홈페이지들이 링크를 통해 서로 연결되어 있기는 하지만, 그 링크가 고르게 잘 퍼져 있지 않다는 것이 문제이다. 예를 들어 어떤 평범한 사용자가 자신의 홈페이지를 만들어도, 이미 알려진 다른 홈페이지에서 그 홈페이지를 링크해 주지 않는다면 로봇이 그 홈페이지를 방문할 방법이 없게 된다. 검색으로부터 소외되는 것이다.

실제로 인터넷에도 중심부와 주변부가 엄연히 존재해서, 중심부 안끼리 혹은 주변부로부터 중심부로의 링크는 많이 있어도 그 반대의 링크는 별로 없다는 연구 결과가 있다.

이 홈페이지는 무엇에 대한 것일까
다음 요소는 주어진 검색어와 관련이 있는 홈페이지들을 알아내는 일이다. 이를 위해서 홈페이지 내용을 모을 때, 그 내용을 분석해서 그 홈페이지에 해당하는 검색어를 추출한다. 그리고 검색어마다 주소 목록이 있어서, 해당되는 홈페이지의 주소를 기록해 둔다. 즉 책 뒤에 있는 색인에서 단어마다 그 단어가 나온 쪽번호의 목록이 있는 것처럼, 검색어마다 그 검색어가 나오는 홈페이지 주소의 목록을 작성하는 것이다(이러한 자료 구조를 inverted list라고 한다). 그러면 사용자가 특정한 검색어를 주고 검색할 때, 이 목록을 보고 관련된 홈페이지들을 알려줄 수 있는 것이다.

검색어를 추출하는 것은 사실 간단한 문제는 아니다. 한 가지 방법은 그 홈페이지에서 자주 나오는 단어를 검색어로 간주하는 것이다. 그밖에도 제목에 있는 단어라든가, 크기가 크게 나오는 단어라든가, 앞부분에 나오는 단어 등 중요한 단어를 찾는 여러 가지 방법이 고안되었다. 극단적으로는 그 홈페이지 안에 있는 모든 단어를 검색어로 쓰는 것인데, 알타비스타(www.altavista.com)가 이런 방법을 사용하는 것으로 알려져 있다.

구글(www.google.com)의 경우 홈페이지들이 링크로 서로 연결되어 있다는 점에 착안해서, 링크의 이름을 검색어로 쓰는 아이디어를 사용했다. 예를 들어 진보네트워크의 홈페이지를 가리키는 링크는 대부분 진보네트워크나 진보넷, 참세상 등의 이름을 갖고 있을 것이다. 수많은 홈페이지 저자들이 붙인 이름이라면 좋은 검색어가 될 수 있다.

순서는 권력이다
마지막 요소는 주어진 검색어와 관련된 수많은 홈페이지들을 어떤 순서로 보여 주느냐는 문제이다. 웬만한 검색어의 검색 결과는 수천 수만이 되기가 일쑤인데, 그 중에서 앞에 나오는 몇 개 혹은 몇십 개를 제외하고서는 사실 잘 찾아보지 않는다. 따라서 사용자가 원할 만한 결과를 앞쪽에 내어놓는 것이 중요하다.

또 한가지 문제는 검색어만으로는 사용자의 의도를 정확히 알 수 없다는 점이다. 사용자가 배라는 검색어를 입력하였다면, 이것이 먹는 배인지 물위에서 타는 배인지 컴퓨터는 알기 어렵다.

검색 결과의 순서를 정하는 기본적인 방법은 검색어를 추출할 때 사용했던 단어의 중요도를 이용하는 것이다. 검색어가 제목에 들어 있는 홈페이지가 본문에 들어 있는 홈페이지보다 우선 순위가 높게, 검색어를 여러 번 포함할수록 우선 순위가 높게, 다른 사이트로부터 링크가 많이 되어 있는 홈페이지일수록 우선 순위가 높게 한다는 것 등이다. 그러나 컴퓨터 프로그램만으로 이 일을 잘 하기는 어려워서, 사회적으로 관심을 모으는 사안이 있으면 관련된 검색어에 그에 대한 홈페이지를 사람이 직접 등록하는 등의 방법으로 보완하기도 한다.

인터넷이 상업화되면서 일어나는 또다른 현상은 순수하게 검색어와 관련이 크거나 중요한 홈페이지뿐만 아니라, 돈을 지불한 홈페이지를 검색 결과의 앞쪽에 보여 주는 추세이다. 또 검색어와 관련된 광고가 함께 나오기도 한다. 이런 광고는 사용자의 관심에 맞추어 보여지기 때문에 효과가 매우 크다. 또 한가지 우려는 검색 결과가 특정한 정치적, 문화적 편향성을 가질 수 있다는 점이다. 가령 어떤 사람이 동성애에 대해 알아보려고 검색을 했을 때, 그 검색 결과가 어떤 사이트들을 보여 주느냐에 따라 그 사람의 생각이 많은 영향을 받게 된다.

검색 기술의 미래
검색 엔진 기술은 그 중요성만큼이나 많은 연구가 진행되는 분야 중 하나다. 검색 엔진의 궁극적인 목표가 사용자의 의도를 파악해서 그에 맞는 검색 결과를 보여 주는 것이라는 점에서, 사용자의 의도를 제대로 파악하기 위한 연구가 활발히 진행되고 있다. 검색어만으로는 무엇을 알고 싶은지를 완벽히 표현하기 어려우므로, 검색어 대신 자연어 문장을 사용해 질문을 받는 것이 대표적인 예이다. 또 사용자가 준 검색어 외에 그와 밀접히 관련된 다른 단어도 사용해서 검색한다든가, 사용자의 검색어에 대해 그 의도를 컴퓨터가 역으로 질문한다든가(예를 들어 먹는 배를 원하십니까 아니면 물위에서 타는 배를 원하십니까?) 등의 방법도 생각할 수 있다.

필자를 비롯해서 많은 사람들에게, 특히 컴퓨터와 인터넷에 익숙한 신세대일수록 검색 엔진은 무엇인가를 알아보는 첫번째 도구다. 검색 엔진이란 창을 통해서 세상을 탐색하고 배운다고 해도 과언이 아닐 정도이다. 내가 볼 수 있는 것과 볼 수 없는 것 - 누가 정해주는가.
추천하기