점수 매기기 프로필을 추가하여 결과의 관련성 향상

완료됨

Azure AI 검색은 BM25 유사성 순위 지정 알고리즘을 사용합니다. 이 알고리즘은 사용된 검색어를 기준으로 문서에 점수를 매깁니다.

여기서는 점수 매기기 프로필을 추가하여 사용자 고유의 기준에 따라 문서의 점수를 변경하는 방법을 알아볼 것입니다.

검색 점수 계산 방법

점수 매기기는 검색 쿼리를 처리하는 마지막 단계입니다.

검색의 점수 단계가 강조 표시된 다이어그램

검색 엔진은 처음 세 단계에서 반환된 문서에 점수를 매깁니다. 점수는 문서에 식별된 검색어가 표시되는 횟수, 문서의 크기 및 각 용어의 희귀도를 나타내는 함수입니다. 기본적으로 검색 결과는 가장 높은 점수부터 검색 점수별로 정렬됩니다. 두 문서의 검색 점수가 동일한 경우 $orderby 절을 추가하여 동률 상태를 해제할 수 있습니다.

좀 더 적합한 문서의 점수 높이기

기본 점수 매기기는 용어 빈도 및 희귀도에 따라 수행되므로 최종 계산에서 가장 관련성이 높은 문서에 대해 가장 높은 점수를 반환하지 않을 수 있습니다. 각 데이터 세트는 다르므로 AI 검색을 사용하면 점수 매기기 프로필을 사용하여 문서 점수에 영향을 미칠 수 있습니다.

가중 필드 점수를 보여 주는 다이어그램

가장 간단한 점수 매기기 프로필은 인덱스의 필드에 대해 서로 다른 가중치를 정의합니다. 위의 예제에서 Hotel 인덱스는 Description 필드가 Location 또는 Rooms 필드의 데이터보다 관련성이 5배 더 높은 점수 매기기 프로필을 포함합니다. Category 필드는 HotelName보다 관련성이 2배 더 높습니다.

점수 매기기 프로필에는 distance 또는 freshness와 같은 함수도 포함될 수 있습니다. 함수는 간단한 가중치보다 더 많은 제어를 제공합니다. 예를 들어 이전 문서와 동일한 점수를 매기기 전에 최신 문서에 적용되는 부스팅 기간을 정의할 수 있습니다.

점수 매기기 프로필을 사용하면 검색 요청에서 특정 용어를 부스팅하는 대신 모든 쿼리에 대해 필드가 자동으로 부스팅되도록 점수 매기기 프로필을 인덱스에 적용할 수 있습니다.

가중 점수 매기기 프로필 추가

검색 인덱스에 최대 100개의 점수 매기기 프로필을 추가할 수 있습니다. 점수 매기기 프로필을 만드는 가장 간단한 방법은 Azure Portal에 있습니다.

  1. 검색 서비스로 이동합니다.
  2. 인덱스를 선택한 다음, 점수 매기기 프로필을 추가할 인덱스를 선택합니다.
  3. 점수 매기기 프로필을 선택합니다.
  4. +점수 매기기 프로필 추가를 선택합니다.
  5. 프로필 이름에 고유한 이름을 입력합니다.
  6. 점수 매기기 프로필을 모든 검색에 적용할 기본값으로 설정하려면 기본 프로필로 설정을 선택합니다.
  7. 필드 이름에서 필드를 선택합니다. 그런 다음 무게에 가중치 값을 입력합니다.
  8. 저장을 선택합니다.

Azure Portal 점수 매기기 프로필 창의 스크린샷.

위의 예제에서 boost-category 점수 매기기 프로필이 hotels-sample-index에 추가되었습니다. Category의 가중치는 5입니다.

프로필이 기본 프로필로도 설정되었습니다. 그런 후 다음 검색 쿼리를 사용할 수 있습니다.

search=luxury AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

이제 결과는 용어가 부스팅된 동일한 쿼리와 일치합니다.

search=(Description:luxury OR Category:luxury^5) AND Tags:'air con'*&$select=HotelId, HotelName, Category, Tags, Description&$count=true&queryType=full

&scoringProfile=PROFILE NAME 매개 변수를 추가하여 검색 쿼리에 적용되는 점수 매기기 프로필을 제어할 수 있습니다.

또한 .NET용 Azure SDK의 ScoringProfile 클래스와 같이 업데이트 인덱스 REST API 또는 Azure SDK를 사용하여 프로그래밍 방식으로 점수 매기기 프로필을 추가할 수 있습니다.

점수 매기기 프로필에서 함수 사용

점수 매기기 프로필에 추가할 수 있는 함수는 다음과 같습니다.

기능 Description
Magnitude 숫자 필드의 값 범위를 기준으로 점수 변경
최신 상태 DateTimeOffset 필드에 지정된 문서의 최신 여부를 기준으로 점수 변경
거리 참조 위치와 GeographyPoint 필드 간의 거리를 기준으로 점수 변경
태그 문서 및 쿼리의 일반적인 태그 값을 기준으로 점수 변경

예를 들어 hotel 인덱스를 사용하여 magnitude 함수를 Rating 필드에 적용할 수 있습니다. Azure Portal에서는 각 함수에 대한 매개 변수를 완성하는 방법을 안내합니다.

magnitude 함수의 매개 변수를 보여 주는 스크린샷.