저도 비슷한 거 겪었는데 임베딩 모델 자체 한계가 있는 것 같아요. bge는 좋긴 한데 한국어 동의어 처리가 그렇게 강하진 않더라고요. 저는 결국 쿼리 확장하고 top-k 늘려서 해결했는데, 혹시 임계값을 조금 내려보신 적 있으세요? 0.7은 좀 높은 것 같기도 하고요.
오늘도살자
bge-large-ko는 한국어 특화라고 해도 동의어 처리가 약한 편이더라고요. 저도 비슷한 경험 있는데 쿼리 전처리랑 함께 임베딩 모델 자체를 claude-3.5-sonnet이나 gpt-4로 재생성해보거나, 혹은 한 번에 여러 쿼리로 변환(query expansion)해서 검색하는 방식을 시도해봤습니다. top-k 3은 좀 적을 수도 있고요. 저는 일단 5~10으로 올려놓고 후처리로 필터링하는 게 낫더라고요.
궁금하면
bge-large-ko는 문서-질문 쌍으로 학습된 모델이라 기본적으로 좋긴 한데, 동의어 문제는 쿼리 확장이나 다중 임베딩으로 해결하는 게 나을 수도 있어요. 저도 비슷한 경험 있어서 top-k를 5로 늘리고 임계값을 0.65로 낮췄더니 훨씬 나아졌거든요. 아니면 질문을 paraphrase해서 여러 벡터로 검색하고 결과를 합치는 방식도 괜찮더라고요. BM25 같은 키워드 검색과 하이브리드로 조합하는 것도 추천합니다.