검색
모아 둔 것 중에서 사람이 찾는 것을 골라 내주는 일을 다루는 구역입니다. 무엇이 정답인지가 미리 하나로 정해져 있지 않습니다. 그래서 맞았나 틀렸나가 아니라 얼마나 잘 맞췄나로 잽니다.
쉽고 빠른 이해
이 구역이 무엇을 다루나 — 모아 둔 것 중에서 사람이 찾는 것을 골라 내주는 일입니다. 웹 검색엔진에 낱말을 치거나 자기 메일함을 뒤지는 것이 이 구역 안에서 벌어지는 일입니다. 이것이 없으면, 찾으려는 것을 미리 정확한 이름표로 알고 있어야만 찾을 수 있습니다.
왜 한 문장 정의가 안 서나 — 학문 분야로서 정의는 있습니다. 다만 검색 결과가 실제로 찾던 것을 찾아냈는지는 미리 정해 둔 답으로 재지 않고, 내놓은 결과를 나중에 채점해서 얼마나 잘 맞았는지로 잽니다. 그래서 "이런 일을 하는 것" 한 문장보다, 안에서 실제로 하는 일을 나열해야 이 구역이 다 잡힙니다.
안에서 무엇으로 갈리나 — 하는 일에 따라 갈립니다.
- 미리 찾아보기 쉬운 형태로 정리해 두는 일
- 사람이 입력한 말을 다루기 알맞은 단위로 쪼개는 일
- 후보를 골라내는 일
- 후보 중 무엇을 먼저 보여줄지 순서를 매기는 일
- 실제로 잘 맞췄는지 재는 일
어디서는 이 구역 밖인가 — 조건으로 행을 골라내는 쪽은 이 구역 밖입니다. 자연어 문서를 적합도(질의와 얼마나 맞아떨어지는지의 정도) 순으로 내주는 쪽은 이 구역 안입니다.
상세
이 구역을 학계는 정보 검색(information retrieval, IR)이라고 부릅니다. 스탠퍼드 정보 검색 교재는 이 말의 뜻이 아주 넓을 수 있다고 먼저 적습니다. 지갑에서 신용카드를 꺼내 번호를 입력하는 것도 일종의 정보 검색이라는 겁니다. 학문 분야로서는 이렇게 정의할 수 있다고 적습니다. 대개 컴퓨터에 저장된 큰 모음 안에서 정보 요구(주문번호 같은 정확한 식별자가 아니라, 사람이 품은 「이런 걸 찾고 싶다」는 요구)를 만족시키는 비정형(대개 텍스트인) 자료를 찾아내는 일입니다. 자료는 대개 문서입니다. 웹 검색 엔진을 쓰거나 자기 메일을 뒤지는 것이 그런 경우입니다. 이것이 없으면, 찾으려는 것을 미리 정확한 이름표로 알고 있어야만 찾을 수 있습니다.
같은 교재는 이 일을 하던 사람이 예전에는 소수였다고 적습니다. 참고 사서, 법률 보조원, 그와 비슷한 전문 검색자를 그 소수로 듭니다. 지금은 수억 명이 매일 이 일을 합니다. 교재는 정보 검색이 정보 접근의 지배적인 형태가 빠르게 되어 가고 있다고 적습니다. 전통적인 데이터베이스식 검색을 앞지르는 중이라는 겁니다.
정답을 미리 하나로 못 박아 둘 수 없다는 점이 평가를 다르게 만듭니다. 참가자가 검색 결과를 먼저 내고, 그 결과가 정보 요구를 만족하는지는 나중에 판정합니다. 그래서 잘 됐는지 재는 장치가 이 구역에 따로 붙어 있습니다. TREC(Text REtrieval Conference, 텍스트 검색 컨퍼런스)이 그 자리입니다. NIST(National Institute of Standards and Technology, 미국 국립표준기술연구소)가 참가자들이 낸 결과를 모아 찾아낸 문서가 맞았는지 판정하고 그 결과를 평가합니다. 이 절차의 끝에 남는 것은 정답 하나가 아니라 얼마나 잘 맞췄나입니다.
이 정의를 실제로 어떻게 채우는지는 안에서 하는 일을 나열해야 잡힙니다. 미리 만들어 두는 색인, 사람이 입력한 말 즉 질의를 낱말로 쪼개는 일, 후보를 고르는 일, 순서를 매기는 일, 잘 됐는지 재는 일입니다. 이름들은 맨 아래 관련 항목이 받습니다.
경계
데이터베이스에 조건을 걸어 행을 골라내는 것도 이 구역인가. 아닙니다. 정보 검색 교재는 이 구역을 비정형 자료 쪽에 세웁니다. 그리고 전통적인 데이터베이스식 검색과 갈라 놓습니다. 그 검색은 점원이 「주문번호를 주셔야 주문을 조회해 드릴 수 있습니다」라고 말할 때 벌어지는 종류입니다. 주문번호는 정보 요구가 아니라 식별자입니다. 답이 하나로 정해져 있으니 얼마나 잘 맞췄나를 잴 자리가 없습니다.
같은 데이터베이스 안에 이 구역이 들어와 있기도 합니다. PostgreSQL 문서는
전문 검색을 이렇게 정의합니다. 질의를 만족하는 자연어 문서를 식별하는 기능입니다.
선택적으로 질의와의 적합도 순으로 정렬하는 것까지 포함합니다. 이어서 텍스트 검색 연산자가
데이터베이스에 수년간 있어 왔다고 적습니다. PostgreSQL 에는 텍스트 데이터 타입을 위한
~ · ~* · LIKE · ILIKE 연산자가 있습니다. 같은 문서가 그 연산자들과 전문 검색을
별개 기능으로 가릅니다.
그러니 판정은 도구가 아니라 하는 일로 갈립니다. 같은 데이터베이스 제품 안에서도 조건으로 행을 고르는 쪽은 이 구역 밖입니다. 자연어 문서를 적합도 순으로 내주는 쪽은 이 구역 안입니다.
여담
Eugene Garfield 는 1997년 The Scientist 에 Calvin N. Mooers 추모글을 실었습니다. 그 글은 Mooers 가 매사추세츠 공과대학교 석사논문을 쓸 때 「정보 검색」이라는 말을 만든 것으로 아마 가장 잘 알려져 있을 것이라고 적었습니다. 같은 글은 옥스퍼드 영어사전 제2판 온라인판이 이 말의 원 출처로 Zator Technical Bulletin No. 48(1950)을 지목한다고 전합니다. 거기 실린 정의는 「정보 검색의 요건은 위치도 존재 자체도 미리 알려져 있지 않은 정보를 찾아내는 것이다」라는 문장으로 시작합니다. Zator Co. 는 Mooers 가 1947년에 세운 매사추세츠주 케임브리지의 회사입니다.
관련 항목
미리 만들어 두는 색인
역색인 · 딕셔너리 · 포스팅 · 포스팅 리스트 · 색인 · 증분 색인 · 색인 갱신 · 클러스터 · 노드 · 샤드 · 프라이머리 샤드 · 레플리카 샤드
말을 쪼개는 토큰화
토큰화 · 토큰 · 문서 단위 · 어휘 · 불용어 · 어간 추출 · 표제어 추출 · 표제어 · 형태소 분석 · 굴절형
후보를 고르는 검색 방식
불리언 검색 · 전문 검색 · 구조적 검색 · 키워드 검색 · 벡터 검색 · 시맨틱 검색 · 최근접 이웃 검색 · 근사 최근접 이웃 · 고차원 벡터 · 수치 표현 · 오타 교정 · 질의 제안 · 정보 요구
순서를 매기는 순위 모델
랭킹 · 용어 빈도 · 역문서 빈도 · TF-IDF(Term Frequency-Inverse Document Frequency, 용어 빈도-역문서 빈도) · 벡터 공간 모델 · BM25 · Okapi · 확률 모델 · 문서 길이 · 순위 모델
잘 됐는지 재는 평가 체계
정밀도 · 재현율 · 테스트 세트 · TREC · NIST
굴릴 때 마주치는 기능과 엔진
패싯 · 하이라이팅 · 결과 그룹핑 · 조인 · 검색 엔진 · 검색 엔진 라이브러리 · Apache Lucene · Elasticsearch · PostgreSQL 전문 검색
이 구역과 맞닿은 이웃 분야
정보 접근 · 비정형 데이터 · 문서 분류 · 문서 군집화 · 머신러닝 · 정규 표현식 · 데이터베이스 · 데이터베이스식 검색
다른 이름: 정보 검색 · information retrieval · search