Skip to content

[Refactor] RAG 검색 품질 개선을 위한 임베딩 테스트 및 검색 로직 실험 #26

@wongakim-99

Description

@wongakim-99

기능

현재 RAG 기반 포트폴리오 추천 시스템에서, 검색된 뉴스 기사의 유사도 점수가 0.000 으로 나타나는 문제가 있습니다.
이를 개선하기 위해 claud-3.7 의 제안 내용을 바탕으로 임베딩 품질 검증검색 쿼리 개선 , 모델 실험 , 을 통해 검색 정확도를 향상시키고, GPT 에 전달되는 뉴스 데이터의 품질을 높이기 위한 이슈 입니다.

작업 상세 내용

1. 임베딩 생성 품질 검증

  • np.linalg.norm()으로 쿼리 임베딩, 문서 임베딩의 벡터 노름 확인
  • 0.1 이하의 벡터는 로그 출력 후 저장 제외 처리
  • zero vector 감지 시 모델 로딩/호환성 문제 여부 확인

2. 검색 쿼리 구조 개선

  • 단어 나열자연어 문장형 쿼리 전환
  • "기술, 반도체""기술 및 반도체 산업 관련 최신 뉴스"
  • 테마별 설명 사전(THEME_DESCRIPTIONS)을 활용한 쿼리 강화

3. 뉴스 기사 텍스트 품질 개선

  • 제목 + 요약 기반 full_text 구성
  • 불완전한 요약 시 title-only 대신 보완 처리
  • 저장 전 정제(clean_text) + 품질 체크 진행

4. 벡터 검색 방식 실험

  • 기본 cosine 검색 → MMR (Maximum Marginal Relevance) 검색으로 전환
  • diversity=0.3 등 다양한 값 실험
  • 검색 결과 수 / 다양성 / 유사도 평균 비교 분석

5. 임베딩 모델 교체 실험

  • 현재 모델 "jhgan/ko-sroberta-multitask""BM-K/KoSimCSE-roberta" 교체
  • 벡터 노름 분포 및 GPT 결과 비교 테스트

6. 테스트 데이터셋 구성

  • 특정 테마(예: "기술")에 대해 대표 뉴스 기사 10~20개 수동 선정
  • query vs article 유사도 분석으로 min_relevance_score 튜닝 기준 수립

참고할만한 자료(선택)

X

Metadata

Metadata

Assignees

Labels

refactor코드 리팩토링test테스트 코드, 리팩토링 테스트 코드 추가

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions