곰돌이 푸, 768차원의 세계로: YDB에서 코덱스 펫을 위한 시맨틱 검색
Яндекс
한 개발자가 YDB에 저장된 임베딩을 사용하여 코덱스 펫 카탈로그용 시맨틱 검색을 구축했습니다. 이 시스템은 어휘적, 텍스트 시맨틱, 시각적 시맨틱 순위를 결합합니다. 테스트 결과, 어휘 검색만 사용했을 때보다 NDCG 및 Recall 지표가 개선된 것으로 나타났습니다.
Codex Pets 카탈로그에는 AI 에이전트와 함께하는 153개의 승인된 애니메이션 펫이 포함되어 있습니다. 카탈로그가 성장함에 따라 태그 기반 검색은 실용적이지 않게 되었고, 정확한 태그보다는 외모로 설명되는 펫을 찾지 못했습니다. 저자는 시맨틱 검색을 구현했습니다: 텍스트 필드(이름, 설명, 태그)는 768차원 벡터로 인코딩되고, 멀티모달 모델은 선택된 네 개의 애니메이션 프레임에 대한 캡션을 생성하며, 이 캡션도 벡터화됩니다. YDB는 벡터를 저장하고 Knn::CosineSimilarity를 통해 코사인 유사도를 계산합니다. 임베딩, 캡션, 추천, 버전 관리를 처리하기 위해 네 개의 새 테이블이 추가되었습니다. 검색은 가중 순위 융합(Weighted Reciprocal Rank Fusion)을 사용하여 세 개의 순위 목록을 병합하며, 어휘 및 텍스트 가중치는 1이고 시각적 가중치는 조정되었습니다. 시각적 분기는 독립적으로 실패할 수 있으며, 어휘 결과로 대체됩니다. 테스트 결과, 시맨틱 검색은 전체 14개 쿼리 집합에서 NDCG@5를 0.539에서 0.724로, Recall@5를 0.528에서 0.743으로 향상시켰습니다.
출처: Habr — хаб ML —
원문
