정보 검색이란 무엇인가?
정보 검색(Information Retrieval, IR)은 데이터베이스 시스템 분야와 오랜 기간 병행하여 발전해 온 학문 분야입니다. 구조화된 데이터의 질의(query) 처리와 트랜잭션 처리를 다루는 데이터베이스 시스템과 달리, 정보 검색은 여러 텍스트 기반 문서로부터 데이터를 조직하고 원하는 정보를 찾아내는 작업에 초점을 맞춥니다.
데이터베이스 시스템과 정보 검색의 차이
정보 검색과 데이터베이스 시스템은 서로 다른 종류의 데이터를 다루기 때문에, 일부 데이터베이스 시스템의 고질적인 문제들은 정보 검색 시스템에서는 보통 나타나지 않습니다. 대표적으로 동시성 제어(concurrency control), 회복(recovery), 트랜잭션 관리, 갱신(update) 등이 있습니다.
반대로 정보 검색 고유의 문제들도 존재합니다. 비정형(unstructured) 문서의 처리, 키워드에 기반한 근사 검색(approximate search), 그리고 '관련성(relevance)'이라는 개념이 그것으로, 이러한 문제들은 전통적인 데이터베이스 시스템에서는 잘 접하기 어려운 것들입니다.
정보 검색의 주요 응용 분야
방대한 텍스트 데이터가 축적되면서 정보 검색은 다양한 분야에서 폭넓게 활용되고 있습니다. 온라인 도서관 목록 시스템, 온라인 기록 관리 시스템, 그리고 최근 급속히 발전한 웹 검색 엔진 등이 대표적인 정보 검색 시스템입니다.
일반적인 데이터 검색 문제
일반적인 데이터 검색 문제란 사용자의 질의에 따라 문서 집합에서 관련 있는 문서를 찾아내는 것입니다. 질의는 보통 정보 요구(information need)를 정의하는 몇 개의 키워드로 구성되며, 경우에 따라서는 관련 레코드의 예시가 질의 역할을 하기도 합니다.
이러한 방식은 중고차 구매를 위한 자료 찾기처럼 사용자가 일시적(ad hoc)인 단기 데이터 필요성을 가질 때 가장 적합합니다. 반면 연구자의 관심 분야처럼 장기적인 데이터 필요성이 있는 경우에는, 검색 시스템이 새로 도착한 데이터 요소가 사용자의 필요와 관련 있다고 판단하면 이를 능동적으로 '푸시(push)'하는 방식도 활용할 수 있습니다.
검색 품질 평가의 두 가지 기본 지표
텍스트 검색의 품질을 평가하는 기본 척도는 다음 두 가지입니다.
정확률(Precision) − 검색된 데이터 중 실제로 질의와 관련 있는 데이터의 비율, 즉 '올바른' 응답의 비중을 의미하며 다음과 같이 공식화됩니다.
$$precision=\frac{|\{ Relevant \}\cap\{ Retrieved \}|}{|\{ Retrieved \}|}$$
재현율(Recall) − 질의와 관련 있는 전체 레코드 중 실제로 검색에 성공한 레코드의 비율을 의미합니다.
$$recall=\frac{|\{ Relevant \}\cap\{ Retrieved \}|}{|\{ Relevant \}|}$$
F-점수(F-Score): 정확률과 재현율의 균형
정보 검색 시스템은 종종 재현율을 희생하고 정확률을 높이거나, 그 반대로 절충(trade-off)해야 하는 상황에 직면합니다. 가장 널리 사용되는 절충 지표가 바로 F-점수(F-score)로, 정확률과 재현율의 조화평균(harmonic mean)으로 표현됩니다.
$$F\_score=\frac{2 \times recall \times precision}{recall+precision}$$
조화평균은 한 척도를 지나치게 희생하여 다른 척도를 극단적으로 끌어올리는 시스템에 불이익을 주는 특성이 있습니다. 정확률, 재현율, F-점수는 검색된 레코드 집합을 평가하는 기본 척도입니다. 다만 이 세 가지 척도는 검색 결과 집합 내부의 문서 순위(ranking)에 민감하지 않기 때문에, 순위가 매겨진 두 개의 문서 목록을 서로 비교하는 용도로는 일반적으로 적합하지 않습니다.