본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 19. 17:27

고정된 범용 토큰화 환경에서의 BM25 코드 검색 개선: 드롭인(Drop-In) BM25 수정을 위한 적응형 q-Log Odds

요약

고정된 토큰화 환경에서 코드 검색 성능을 높이기 위해 BM25의 RSJ-odds IDF를 q-로그(q-logarithm)로 변환하는 적응형 q-Log Odds 방식을 제안합니다. 이 방식은 식별자 꼬리 부분을 더 효과적으로 분리하여 CoIR CodeSearchNet Go 데이터셋에서 NDCG@10 성능을 약 89.3% 향상시켰습니다. 인덱스 생성 비용과 쿼리 지연 시간의 증가 없이도 프로그래밍 언어 전반에서 유의미한 검색 성능 개선을 보여줍니다.

핵심 포인트

  • BM25의 로그 기반 RSJ-odds IDF를 q-로그 변환을 통해 개선하여 식별자 분리 성능을 강화함
  • CoIR CodeSearchNet Go 데이터셋에서 NDCG@10 지표가 0.2575에서 0.4874로 대폭 상승함
  • 추가적인 인덱스 생성 시간 비용이나 쿼리 지연 시간의 증가 없이 적용 가능한 드롭인(Drop-in) 방식임
  • 식별자 인식 토큰화(identifier-aware tokenization)가 제공하는 이득의 상당 부분이 q-IDF를 통해 확보됨

검색 증강 코딩 (Retrieval-augmented coding)에서, 실패는 종종 검색된 컨텍스트 (context)에 관련 파일이 누락될 때 시작됩니다. 실무자가 분석기 (analyzer)를 제어할 수 없는 검색 시스템에 의해 BM25 인덱스가 구축된 고정된 범용 토큰화 (frozen generic tokenization) 환경 하에서, 이러한 실패는 일상적입니다. BM25의 로그 기반 RSJ-odds IDF는 하나의 함수를 다른 함수와 구별하는 식별자 꼬리 (identifier tail) 부분을 충분히 분리하지 못합니다. 우리는 Robertson-Spärck-Jones odds의 외부 로그를 q-로그 (q-logarithm)로 대체합니다. q=1일 때 이 변환은 로피탈의 정리 (L'Hôpital's rule)에 의해 BM25를 정확히 복구하며, q<1일 때 이는 lambda = 1-q인 RSJ odds의 Box-Cox 변환이 됩니다. CoIR CodeSearchNet Go (182K 문서) 데이터셋에서, 오라클 튜닝된 NDCG@10은 0.2575에서 0.4874로 상승했습니다 (절대치 +0.2299; 상대치 +89.3%; 10,000회의 쌍별 부트스트랩 재표본 추출에서 부호 반전 0회, p <= 10^-4로 보고됨). 이 효과는 프로그래밍 언어 전반에 걸쳐 단계적으로 나타나며, BEIR 텍스트에서는 거의 0에 가깝습니다. 단일 파라미터 폐형 (one-parameter closed form)은 hapax 밀도를 통해 코퍼스 수준의 q를 추정하며, BM25가 이미 최적인 코퍼스에서는 q=1 근처를 유지합니다. 인덱스 생성 시간 비용은 희소 점수 행렬 (sparse score matrix)에 대한 단일 패스(pass)이며, 쿼리 지연 시간 (query latency)은 변하지 않습니다. 토크나이저 절제 연구 (tokenizer ablation)에 따르면, 식별자 인식 토큰화 (identifier-aware tokenization)는 q-IDF의 점진적인 이득을 대부분 제거합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0