docs: 벡터 검색 실패 원인 확정 — 쿼리-문서 임베딩 거리 문제 실측
- 옐로펀치 MOU: 인덱싱 완료, 임베딩 정상, 문서간 유사도 0.8+ - 쿼리 임베딩과 문서 청크 간 cosine 거리가 멀어 top-50에도 미등장 - Gemini 비대칭 임베딩(RETRIEVAL_QUERY vs DOCUMENT)의 한계 확인 - keyword 보완 실패와 합쳐 이중 실패 구조 확정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
cb39cbd8ee
commit
59eeec2117
@ -123,7 +123,7 @@ hybrid 모드에서 `relevance_score`가 RRF 점수로 대체된다. RRF 점수
|
||||
| keyword recall = 0 (원인1) | `simple` 토크나이저가 한국어 조사 분리 불가 → tsv 토큰과 tsquery 불일치 | DB/인덱스 |
|
||||
| keyword recall = 0 (원인2) | `keyword_search()` 단독 호출 시 threshold 0.35 적용 → ts_rank 최대 0.089로 전부 필터링 | 검색/점수 |
|
||||
| RRF score ≪ threshold | RRF 점수(0.01~0.03)와 threshold(0.35)의 스케일 불일치 | 검색/점수 |
|
||||
| 인덱싱 문서 있는데 검색 실패 | 벡터 임베딩이 해당 청크를 근접 이웃으로 잡지 못함 + keyword 보완 불가 | 검색 |
|
||||
| 인덱싱 문서 있는데 검색 실패 | 쿼리 임베딩과 문서 청크 임베딩 사이의 cosine 거리가 멀어 top-50에도 미등장 (아래 §4 참조) + keyword 보완 불가 | 검색/임베딩 |
|
||||
| 3건 grounding 미진입 | intent/domain 마커에 일반 질문 패턴 미포함 | 라우팅 |
|
||||
|
||||
## 해결 방향 (구현은 별도 계획)
|
||||
@ -147,11 +147,22 @@ hybrid 모드에서 `relevance_score`가 RRF 점수로 대체된다. RRF 점수
|
||||
| 한국어 형태소 분석 | mecab + textsearch_ko | 근본 해결 | 확장 설치 필요 (51123 서버), PG14 EOL 고려 |
|
||||
| 하이브리드 보완 | ILIKE fallback | 간단 | 인덱스 미사용, 느림 |
|
||||
|
||||
### 벡터 검색 품질 개선
|
||||
### 4. 벡터 검색 품질 — 인덱싱 문서 있는데 검색 실패의 직접 원인 확정
|
||||
|
||||
- 200개 인덱싱 대상에 옐로펀치 협약/오늘전통 문서가 포함되어 있는지 확인 필요
|
||||
- 포함되어 있다면 청킹 경계에서 핵심 내용이 잘리는지 확인
|
||||
- 임베딩 모델(Gemini 768d)의 한국어 고유명사 처리 능력 검증
|
||||
옐로펀치 MOU(`TalkFile_MOU_옐로펀치X컴퍼니엑스- 25.01.23.pdf.pdf`)를 지표로 확인:
|
||||
|
||||
- **인덱싱 여부**: completed, doc_id `b7116f6a`, 청크 1개 (2,703자), 임베딩 존재
|
||||
- **자기 유사도**: self-cosine = 1.000 (임베딩 정상)
|
||||
- **다른 MOU와 유사도**: 0.81~0.91 (같은 문서군끼리는 근접)
|
||||
- **쿼리 "옐로펀치 컴퍼니엑스 업무협력협약서"로 검색**: threshold=0.0, limit=50에서도 **미등장**
|
||||
|
||||
직접 원인: **쿼리 임베딩(짧은 질문)과 문서 청크 임베딩(2,703자 긴 본문)의 cosine 거리가 멀다.**
|
||||
|
||||
이는 Gemini Embedding 2가 task_type `RETRIEVAL_QUERY` vs `RETRIEVAL_DOCUMENT`로 비대칭 임베딩을 생성하는데, 짧은 한국어 고유명사 쿼리와 긴 법률/계약 문서 사이의 의미 거리가 크기 때문이다. 문서끼리(document-document)는 유사하지만 쿼리-문서 간은 다른 공간에 놓임.
|
||||
|
||||
keyword 검색이 이를 보완해야 하지만, 위 §1의 이유로 keyword도 작동하지 않아 이중 실패.
|
||||
|
||||
### 벡터 검색 품질 개선 방향
|
||||
|
||||
### 라우팅 마커 확장
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user