섞인 문서 묶음에서 검색 오염을 줄이는 방법

정부 업무용 검색 기반 생성 플랫폼을 .NET으로 새로 만들고 있으며, 이미 몇 가지 시범 사용 사례가 준비되어 있다. 문제는 여러 업무 분야의 문서가 한 컬렉션에 섞일 때 검색 결과가 오염된다는 점이다. 예를 들어 이륜차 절도, 소매치기, 목걸이 날치기 같은 서로 다른 신고 문서가 한곳에 들어가면, 실제 질문과 관계없는 문서 조각이 높은 순위로 올라온다.

현재는 하이브리드 검색, RRF, 신뢰도 점수를 쓰고 있지만, 문제는 순위 매기기 전에 생기는 것으로 보인다. 잘못되거나 너무 넓은 범위의 노드가 먼저 선택되기 때문에 후보 문서의 품질이 낮아진다. 해결 방향은 문서를 넣을 때 반드시 카테고리를 고르게 하고, BAAI/bge-m3와 선택적인 LLM 분류기로 질문의 카테고리를 판별한 뒤, 해당 카테고리 안에서만 검색하는 것이다.

그 다음 필요하면 재정렬을 적용한다. 속도보다 정확도가 더 중요하다.

핵심 포인트

  • 여러 업무 분야 문서를 한 컬렉션에 넣으면 관련 없는 결과가 섞일 수 있다.
  • 문제는 재정렬 단계보다 앞선 노드 선택 단계에서 생기는 것으로 판단된다.
  • 문서 입력 시 카테고리를 반드시 지정하는 방식이 검토되고 있다.
  • 질문의 카테고리를 분류한 뒤 그 범위 안에서만 검색하면 잡음이 줄 수 있다.
  • 정확도를 우선하며, 지연 시간은 큰 문제가 아니다.

용어 한 줄 설명

검색 기반 생성
AI가 외부 문서를 먼저 찾고 그 내용을 바탕으로 답을 만드는 방식이다.
.NET
마이크로소프트가 만든 소프트웨어 개발 도구 묶음입니다.
컬렉션
검색할 문서들을 모아 둔 묶음이다.
하이브리드 검색
키워드 검색과 의미 기반 검색을 함께 쓰는 검색 방식이다.
하이브리드
두 가지 방식을 섞어 쓰는 구조다.
AI 에이전트
사람 대신 정보를 찾거나 작업을 처리하도록 만든 AI 프로그램입니다.
운영 부담
서비스를 쓰기 위해 계속 관리하고 확인해야 하는 일의 양입니다.
지연 시간
사용자 입력 후 AI가 응답을 시작할 때까지 걸리는 시간
원문 보기