Information Retrieval (정보 검색)

김두환 (라도)·2025년 9월 19일

📚 Information Retrieval (정보 검색)

IR의 핵심 가치LLM(대규모 언어 모델)과 결합하여 더 강력한 가치를 제공하는 데 있습니다. 대량의 데이터에서 사용자가 원하는 정보를 추출해내는 IR 기술을 LLM과 결합하여 신뢰성 있는 대화형 정보 검색 시스템(RAG)을 구축할 수 있습니다.


1. 전통적인 IR의 도전 과제와 기본 구조

1.1 IR의 문제 정의 및 도전 과제

IR은 대규모의 비정형 텍스트 문서 집합으로부터 사용자의 질의에 적합한 문서를 추출하는 과정입니다. 핵심적인 도전 과제는 다음 두 가지입니다:

  1. 속도 (Speed): 방대한 문서에서 질의에 가장 적합한 문서를 최대 1초 이내에 빠르게 추출해야 하며, 실시간 데이터 유입 및 업데이트에 대응해야 합니다.
  2. 품질 (Quality): 질의와의 적합도를 수치화(랭킹)하고, 문서 자체의 품질 및 사용자 피드백을 반영해야 합니다.

1.2 데이터 구조: 역색인 (Inverted Index)

속도 문제를 해결하기 위해 역색인(Inverted Index) 데이터 구조를 활용합니다.

  • 정의: 키워드를 입력했을 때 문서를 빠르고 효율적으로 검색하기 위해 문서 집합을 미리 가공하는 작업입니다.
  • 구조: 일반적인 문서-단어 매핑과 달리, 단어가 Key 값이 되고, 그 단어가 존재하는 문서들이 Value가 됩니다. 이를 통해 검색 속도가 빨라집니다.
  • 색인 단계: 텍스트 추출 → 토큰 추출 → 불용어(Stop-word) 처리 → 정규화(표제어 및 어간 추출) → 역색인 생성 순으로 이루어집니다.

1.3 한국어 처리: 형태소 분석기

토큰화(Tokenization)는 문서나 질의를 기본 단위인 토큰(단어)으로 나누는 과정으로, 역색인의 Key로 사용됩니다.

  • 한국어의 이슈: 한국어는 교착어이며, 다양한 문법 변화, 복합 명사, 조사 문제, 중의성 해소의 필요성 등으로 인해 공백 기반 토크나이저 대신 사전 기반 토크나이저(형태소 분석기)가 필수적입니다.
  • 주요 분석기: Elasticsearch에서 공식적으로 지원하는 노리(Nori)와 오픈소스인 은전한닢(Seunjeon)이 대표적입니다.

2. 검색 엔진 랭킹 모델링

랭킹은 질의와 문서의 적합도를 계산하는 알고리즘을 사용합니다.

2.1 주요 검색 모델

모델 유형설명특징 및 한계
Boolean 모델질의가 Boolean 형식(AND, OR, NOT)으로 표현.가장 단순하지만, 단어 순서/중요도 무시, 순위 매기기 불가, 단독 사용은 거의 없음.
Vector Space Model (VSM)질의와 문서를 n차원 벡터로 표현, 유사도 측정. TF-IDF 알고리즘 사용.IR 시스템에서 가장 잘 알려짐. 단어 철자 매칭 기반으로 맥락상의 의미 반영 부족.
Probabilistic 모델불확실성에 기반하여 Query-document relevance 확률값으로 랭킹 산출. BM25 알고리즘 사용.TF-IDF와 함께 가장 일반적으로 사용되며, 기존 TF-IDF의 한계점(단어 빈도 포화, 문서 길이 편향)을 개선함.

2.2 랭킹에 대한 추가 고려 사항

Retrieval 모델이 쿼리와의 적합도만 고려하므로, 최적의 결과를 위해 다음 요소들이 추가적으로 반영됩니다:

  1. 문서 품질 (Document Quality):
    • Page Rank: 하이퍼링크를 이용해 웹 페이지의 중요도 측정.
    • Recency (시의성): 최근에 게시/업데이트된 문서에 순위를 높게 측정 (Time Decay Score 등).
    • Spam Score: 키워드 스터핑, 저품질 링크, 과도한 외부 링크 등 스팸 요소를 판단.
  2. Relevance Feedback (사용자 피드백):
    • 사용자의 선호는 시간에 따라 변하므로, 서비스 운영 중 사용자들이 남기는 Implicit Relevance Feedback (IRF)를 활용하여 랭킹을 최적화합니다.
    • IRF는 사용자 클릭 비율, 페이지 체류 시간 등의 정보를 수집하여 랭킹 함수에 가중치를 반영합니다.

3. IR 성능 평가 지표 (Evaluation Metric)

IR 모델 평가는 Precision과 Recall 외에 순위와 관련성 정도를 고려하는 지표를 사용합니다.

Metric설명주요 특징 및 사용 적합성
Precision@k추출된 결과 중 상위 k개까지만의 Precision.대규모 IR에서 Recall이 큰 의미가 없을 때 (UX 관점) 활용.
MRR (Mean Reciprocal Rank)가장 상위 관련 문서의 위치에 중점을 두고 평가.정답이 하나 또는 소수인 경우 적합.
MAP (Mean Average Precision)질의 N개에 대한 Average Precision의 평균 값.적합한 문서가 다수일 때를 고려하여 평가하며, 상위 오류에 더 큰 가중치를 부여함.
NDCG (Normalized Discounted Cumulative Gain)문서의 관련 여부를 이분법적으로 구분하지 않고 순위별로 가중치를 다르게 적용.검색 결과의 다양성이 필요하거나, 적합도가 다양한 값으로 정량화 가능한 경우 효과적.

4. 인공신경망과 벡터 유사도

전통적인 키워드 매칭의 한계를 극복하기 위해 인공신경망이 도입되었습니다.

4.1 임베딩과 벡터 유사도

임베딩은 단어나 문장을 산술 연산이 가능한 고차원 벡터로 표현하여, 단어나 문장 사이의 유사도 측정에 활용됩니다. Word2Vec부터 시작하여 ELMo, BERT 등 주변 맥락(Context)을 고려한 임베딩 모델로 발전했습니다.

4.2 Query-Document 매칭 알고리즘 (Encoder)

모델 유형구조특징현실 적용
Cross-Encoder질의와 문서를 하나의 입력 스트림으로 넣어 Relevance Score 계산.높은 성능. 느린 속도 (문서 수에 비례하여 모델 Inference 필요).연산 비용 및 속도 문제로 실제 서비스 활용은 어려움.
Bi-Encoder질의와 문서를 각각의 모델(파라미터 공유 가능)로 인코딩하여 임베딩 생성 후, 벡터 유사도(Cosine Similarity) 계산.매우 빠른 속도 (문서 임베딩 사전 계산 가능). Cross-encoder보다 성능은 낮음.연산 비용과 속도를 고려하여 현실적으로 적용 가능 (대표 모델: DPR, Sentence-BERT).
ColBERTLate Interaction (지연된 상호작용) 방식. 질의 토큰 임베딩과 문서 토큰 임베딩을 모두 사용하여 유사도(MaxSim) 계산.Cross-encoder 수준의 높은 성능을 유지하면서 Bi-encoder에 가까운 속도를 목표. 연산 최적화를 위해 벡터 차원 축소 기법 적용.

4.3 상용 벡터 인코더

  • Sentence Transformers (S-BERT): Siamese BERT-Network 구조를 활용하여 학습하며, Hugging Face를 통해 500개 이상의 학습된 모델이 공유됨.
  • OpenAI Embeddings: API 형태로 제공되며, Contrastive Pre-training을 통해 학습. 긴 입력(8K) 처리에 유리하지만, 유료이며 영어를 포함한 다국어 지원에 최적화되어 있습니다.

5. 벡터 DB와 ANN 알고리즘

문서의 양이 많아져 벡터 유사도 계산 비용이 커지면 ANN (Approximate Nearest Neighbor) 기술 적용이 필수적입니다.

5.1 ANN 알고리즘 종류

ANN은 정확도를 일부 포기하고 탐색 범위를 좁혀 가장 유사한 벡터를 찾는 방법입니다.

알고리즘작동 방식주요 특징
LSH (Locality Sensitive Hashing)여러 벡터를 하나의 버켓으로 군집화하여 검색 범위 축소.비교적 적은 데이터 규모에 적합. 인덱싱 속도가 가장 빠름.
Tree/Space Partitioning (ANNOY)벡터 공간을 부분 공간으로 나누고 트리에 저장.대규모 데이터 사용 가능. 질의 처리 속도가 느린 편.
Graph-based Methods (HNSW)문서 데이터를 그래프로 나타내고 그래프 탐색을 통해 최근접 노드를 찾음.대규모 데이터에 적합. 질의 처리 속도가 ANN 중 가장 빠름.
Inverted File Index (IVF)고차원 데이터를 클러스터로 나누고 역색인 구조를 사용.확장성이 뛰어나 대규모 데이터셋 처리에 효율적. 색인 시간이 오래 걸림.

5.2 상용 Vector DB 소개

Vector DB는 고차원 벡터 데이터에 대한 빠른 유사도 계산과 효율적인 ANN 알고리즘을 지원하는 특화된 데이터베이스입니다.

  • Elasticsearch: 기존 검색엔진 기능에 Vector DB 기능(HNSW 지원)이 추가되었으며, Self-hosted와 Managed service를 모두 제공합니다.
  • Faiss (Meta): Library 형태로 제공되며, 메타 데이터는 다루지 않고 임베딩에 대한 벡터 유사도만 고려합니다. Milvus, ColBERT 등 다른 솔루션의 서브모듈로 활용되기도 합니다.
  • Pinecone: Managed service 형태로 제공되며, 클라우드 기반으로 확장성이 뛰어납니다. Sparse vector를 지원하여 키워드 검색과 하이브리드 사용이 가능합니다.

6. LLM 활용 및 대화형 IR (RAG)

6.1 LLM의 한계와 RAG의 등장

LLM은 자연스러운 대화형 답변을 제공하지만, Knowledge Cutoff (특정 시점까지의 정보만 학습)와 Hallucination (거짓 정보 생성)이라는 치명적인 한계를 가집니다.

Retrieval Augmented Generation (RAG)은 이러한 한계를 극복하기 위해 등장했습니다.

  • RAG 작동 방식: LLM은 자체 지식 대신 추론 능력만 사용하고, IR을 통해 데이터베이스/검색엔진에서 시의성 있고 정확한 외부 지식(Reference)을 추출하여(Retrieval) 답변을 생성합니다(Generation).
  • 역할 분담: IR은 정보에 대한 색인 및 검색 기능을 제공하며 휘발성 정보 처리를 담당하고, LLM은 의도 분석, 적합한 질의 생성, 그리고 레퍼런스를 기반으로 정리된 대답 생성을 담당합니다.

6.2 LLM 응용 구현 기술

LLM 응용 시스템 구축 시, LLM의 출력을 구조화하고 외부 툴을 활용하기 위한 기술이 필요합니다.

  1. JSON Mode: LLM이 자연어가 아닌 구조화된 출력(JSON)을 반환하도록 유도하며, OpenAI API는 response_format을 통해 이를 공식적으로 지원하여 오류를 줄입니다.
  2. Function Calling: LLM의 추론 능력을 외부 툴 또는 API 호출에 적합한 형태로 최적화합니다. LLM이 요청의 의도를 분류하고 필요한 속성 정보를 추출하여, 사전에 정의된 함수 명세에 따라 함수 호출을 유도합니다.

6.3 대화형 IR 구현

RAG는 대화형 IR로 확장되어, LLM이 기존 대화 히스토리를 활용하여 질의 의도를 파악하고 Standalone Query를 생성하도록 지시하여 자연스러운 멀티턴 인터페이스를 제공합니다.


7. IR 발전 방향 전망

LLM의 등장은 IR 분야의 문제를 재정의하는 기술적 전환점이 되었습니다.

7.1 문제 재정의: Agent의 Submodule

Traditional IR이 문서 추출에 집중했다면, 이제 IR은 최종 답변을 생성하는 대화형 Agent의 Submodule로서 레퍼런스 추출 역할을 담당합니다.

대화형 Agent의 요구사항은 다음과 같습니다:

  • 분석/판단: 단순 정보 나열이 아닌 의사결정에 도움이 되는 분석된 결과 제공.
  • 멀티모달: 텍스트뿐만 아니라 음성, 비전 정보 처리.
  • 개인화: 사용자의 행동 및 대화 히스토리를 반영한 최적화된 정보 제공.

7.2 미래 기술 및 전망

  1. 데이터 전처리 고도화: LLM을 활용하여 문서를 더 체계적으로 분석/가공하여 색인하며, Layout Analysis와 LLM 기반 Semantic Chunking 등을 통해 텍스트 전처리 및 품질을 높이는 시도가 중요해지고 있습니다.
  2. 멀티 모달 지원: OpenAI Whisper 같은 Speech to Text 기술이나, GPT-4V, Gemini AI 같은 모델을 활용하여 음성, 이미지/비디오 정보까지 색인하고 다룰 수 있게 됩니다.
  3. 추론 모듈 최적화: 도메인 특화 LLM, Inference 비용 최적화를 위한 Small size LLM, 정보에 대한 확신도(confidence)를 판단하고 제공하는 능력이 중요해질 것입니다.
  4. 장기 전망: 궁극적으로는 AGI(범용 인공지능)를 목표로 하며, Learning Loop를 통한 지속적인 학습과 메타 인지 능력이 중요한 과제가 됩니다.
profile
20세기소년

0개의 댓글