쿼리 이해 단계에서 사용자 의도를 분류하고, 리트리벌과 랭킹을 순서대로 최적화하는 접근이 효과적이라는 개인 생각
제가 직접 검색 시스템을 구축한 경험은 없지만, 사이드 프로젝트로 공연 리뷰 검색 기능을 만들면서 이 구조를 처음 의식하게 됐습니다. 쿼리 이해 단계에선 '뮤지컬'이라는 단어가 장르를 뜻하는지 제목을 뜻하는지 구분하는 게 어려웠고, 형태소 분석기만 쓰니 엉뚱한 결과가 많이 나왔습니다. 그때 의도 분류를 먼저 하고 이후에 검색 범위를 좁히는 식으로 바꾸니 결과가 훨씬 좋아졌습니다. 리트리벌에선 키워드 매칭과 벡터 유사도를 같이 쓰는 게 단일 방법보다 나았고, 랭킹에선 클릭 데이터를 피드백으로 넣는 구조가 유의미하다고 논문에서 읽었습니다. 각 레이어가 독립적으로 보이지만 앞 단계 품질이 뒤를 결정하는 구조라는 게 인상적이었습니다.