logo
Search

    Dev-wiki 의 Ai 검색, Rerank 에 대해 알아보기.

    ELASTICSEARCHML
    #위키방장 · # 2024/12/10
    216 5 1 0
    좋아요
    별로

    Rerank 란 ?

    Rerank는 초기 검색 결과를 다시 정렬하여 사용자에게 더 관련성 높은 정보를 제공하는 과정입니다.

    이 과정에서 rerank 모델을 사용하여 검색어의 문맥에 맞는 검색 결과를 다시 정렬하게 됩니다.

    이를 통해 기존의 키워드 기반 검색의 한계를 극복하고, 사용자의 의도에 부합하는 정확한 검색 결과를 얻을 수 있습니다.

    Dev wiki 의 rerank 검색 도식화

    추가된 이미지

    Dev-wiki에서의 rerank 검색은 일차적으로 문서에 대한 벡터 검색을 일차적으로 수행하고, 그 결과에 대해 rerank로 다시 정렬한 결과를 유저에게 서빙합니다.

    자연어로 검색을 하였을 때에도 연관이 높은 문서를 순서대로 서빙할 수 있습니다.

    아래는 Cohere 사에서 제공한 multilingual rerank 2.0 모델과 Elasticsearch에서 제공하는 고전적인 문서 유사도 알고리즘인 BM25 스코어와의 비교 예시입니다.

    Rerank 의 input, output 예시 살펴보기 .

    살펴볼 예시 데이터

    종류내용
    검색어효율적인 데이터베이스 인덱스를 설계하는 법
    문서 1Mysql의 인덱스는 기본적으로 PK는 클러스터드 인덱스, 이외의 키 값은 B+ 트리 기반으로 정렬된 상태를 말합니다.
    문서 2효율적인 인덱스 설계는 쿼리 성능 최적화에 크게 기여합니다. 복합 인덱스를 사용하면 여러 컬럼을 동시에 검색할 때 유리합니다.
    문서3백업과 복구 기능을 통해 MySQL 데이터베이스의 안정성을 보장할 수 있습니다.
    문서 4Java는 객체 지향 프로그래밍 언어로, 다양한 애플리케이션 개발에 사용됩니다.

    스코어 비교

    종류검색어rerank scorebm25 score
    문서 1Mysql의 인덱스는 기본적으로 PK는 클러스터드 인덱스, 이외의 키 값은 B+ 트리 기반으로 정렬된 상태를 말합니다.0.00255091230.775408
    문서 2효율적인 인덱스 설계는 쿼리 성능 최적화에 크게 기여합니다. 복합 인덱스를 사용하면 여러 컬럼을 동시에 검색할 때 유리합니다.0.99744913.0350852
    문서 3백업과 복구 기능을 통해 MySQL 데이터베이스의 안정성을 보장할 수 있습니다.4.4694072E-53.1549354
    문서 4Java는 객체 지향 프로그래밍 언어로, 다양한 애플리케이션 개발에 사용됩니다.1.3420014E-50

    결과 해석

    효율적인 데이터베이스 인덱스를 설계하는 법이라는 검색어에 대해서 문서 2와 문서 3의 순위가 바뀐 것을 확인할 수 있습니다.

    BM25 score는 검색어와 문서 사이의 실제 일치 여부를 기반으로 점수를 채점하기 때문에 문맥 자체는 고려하지 않습니다. 겹치는 단어가 있는 문서 3이 가장 스코어가 높음을 확인할 수 있습니다.

    그에 반해 rerank에서는 검색어의 의미와 일치하게 문서 2번이 가장 높은 스코어를 가지게 됨을 볼 수 있습니다.

    모두 행복하세요

    기술검색은 원하는 검색과 실제 문서 사이에 연관이 없거나 적을수도 있습니다.

    가령, Spring 에서 open ai api 를 호출하는 법 이라는 검색어와 ChatModel 이라는 단어 사이에는 직접적인 연관이 없으나, 유저가 원하는 정보는 ChatModel 객체의 초기화 과정과 사용 방법일 것입니다.

    Dev-wiki 에서는 vector search 와 rerank 를 통해 자연어 검색을 제공합니다. 모두 원하는 양질의 정보 빠르게 찾아서 시간과 노력을 많이 세이브하시길 바합니다.

    모두 행복하세요 ㅎvㅎ

    다음에는 vector 서치에 대한 설명과 왜 벡터 서치를 사용할 때, rerank 같은 정렬 기준을 추가로 적용해야 하는지에 대해 다뤄보겠습니다 .

    Comments
    새로운 댓글