카테고리 없음

[LLM] 검색 최적화를 위한 쿼리 리라이팅(Query Rewriting)과 맥락 검색(Contextual Retrieval)

Haru_29 2025. 3. 5. 00:19

1. 쿼리 리라이팅(Query Rewriting): 더 정확한 검색을 위한 검색어 변환

📌 쿼리 리라이팅이란?

"사용자의 검색어를 보다 명확하고 효과적인 형태로 변환하여 검색 정확도를 높이는 기법"

💡 이유: 검색어 모호하면 검색 품질이 떨어진다!

  • 사용자가 입력한 검색어가 불완전하거나 애매한 경우, 검색 시스템이 정확한 결과를 제공하기 어려움
  • 검색어를 적절하게 변환하면 검색 품질이 크게 향상됨

🔹 예제: 모호한 검색어 해결하기

📝 사용자가 입력한 검색어:

"John Doe가 우리 가게에서 마지막으로 물건을 산 게 언제야?"

AI 응답:

"John이 2030년 1월 3일에 모자를 샀어요."

📝 추가 질문:

"그럼 Emily Doe는?"

🚨 문제점:

  • "그럼 Emily Doe는?"이라는 질문만으로는 AI가 사용자의 의도를 정확히 이해하기 어려움
  • AI가 의미를 추론하려고 하면 잘못된 정보(환각, hallucination)를 생성할 가능성 증가

해결 방법: 쿼리 리라이팅 적용

  • 기존 문맥을 반영하여 새로운 검색어를 자동으로 생성
  • 변환된 검색어:
  • "Emily Doe가 우리 가게에서 마지막으로 물건을 산 게 언제야?"

💡 쿼리 리라이팅은 검색 정확도를 높이고, AI 모델이 더 적절한 문맥을 이해하도록 돕는다!


🔹 쿼리 리라이팅을 적용하는 방법

1️⃣ 동의어 및 문장 변형 처리

  • "AI 연구" → "인공지능 연구"

2️⃣ 불완전한 질문을 문맥을 반영하여 완전한 문장으로 변환

  • "그럼 Emily Doe는?" → "Emily Doe가 마지막으로 물건을 산 날짜는?"

3️⃣ 특정 도메인에 맞게 변환

  • "비트코인 가격?" → "현재 비트코인 시세는 얼마인가?"

🚀 AI 기반 검색 시스템에서는 쿼리 리라이팅이 필수적이다!


2. 맥락 검색(Contextual Retrieval): 검색된 정보의 문맥을 보강하는 기법

📌 맥락 검색이란?

"단순한 키워드 매칭이 아니라, 검색된 정보를 보완하여 문맥을 더 풍부하게 만드는 방식"

💡 이유: 검색된 문서가 단편적인 정보만 포함하고 있을 수 있다!

  • 검색된 정보가 너무 짧거나, 전체 맥락 없이 제공될 경우 AI 모델이 잘못된 결과를 생성할 가능성이 높음
  • 문서의 제목, 태그, 메타데이터를 활용하여 검색된 정보를 보강할 수 있음

🔹 맥락 검색을 위한 주요 기법

1️⃣ 메타데이터 추가(Metadata Augmentation)

  • 문서에 태그, 키워드, 설명을 추가하여 검색 품질 향상
  • 예제:
    • 문서 내용: "애드런노타발(ADDRNNOTAVAIL) 오류 해결 방법"
    • 메타데이터 추가: "네트워크 오류, IP 충돌, 해결 방법"
    • 효과: 사용자가 "네트워크 오류 해결 방법"을 검색했을 때도 해당 문서가 검색될 수 있음

2️⃣ 문서에 관련 질문 추가(Question Augmentation)

  • 고객 지원 챗봇의 경우, 특정 문제 해결 방법과 관련된 질문을 함께 저장
  • 예제:
    • 문서 내용: "비밀번호 재설정 방법"
    • 추가 가능한 질문:
      • "비밀번호를 잊어버렸어요."
      • "로그인이 안 돼요."
      • "내 계정에 접근할 수 없어요."
    • 효과: 사용자가 "로그인이 안 돼요"라고 검색해도 올바른 문서가 검색될 확률 증가

3️⃣ AI 모델을 활용한 문맥 생성(Context Generation)

  • AI가 문서를 요약하여 각 청크(chunk)가 전체 문서에서 어떤 의미를 갖는지 설명
  • 📌 Anthropic의 예제 (맥락을 추가하여 검색 품질 개선)
<document>
    {{WHOLE_DOCUMENT}}
</document>

<chunk>
    {{CHUNK_CONTENT}}
</chunk>

Please give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else.

효과:

  • 검색된 정보가 해당 문서에서 어떤 역할을 하는지 AI가 이해할 수 있도록 도움
  • 검색 품질이 향상되어 더 적절한 문서가 반환됨

3. 결론: 검색 시스템의 정확도를 높이려면?

쿼리 리라이팅(Query Rewriting) → 사용자 입력을 보다 효과적인 검색어로 변환

맥락 검색(Contextual Retrieval) → 검색된 정보를 보강하여 의미를 명확하게 전달

미래의 검색 시스템은 단순한 키워드 매칭이 아니라, AI를 활용하여 검색 품질을 극대화하는 방향으로 발전할 것이다!