쿼리 확장은 처음 검색된 결과가 없거나 너무 적은 경우 더 많은 결과를 포함하도록 쿼리 제약 조건을 점진적으로 완화하는 것입니다. 이렇게 하면 쿼리당 결과 크기가 조정됩니다.
쿼리와 관련된 문서가 전혀 없는 경우 쿼리 확장 기능은 쿼리가 검색 결과를 0개 반환하지 않도록 관련성이 낮은 문서를 반환합니다.
검색어 확장 튜토리얼
이 튜토리얼에서는 검색어 확장 기능을 사용 설정하는 방법을 보여줍니다. 쇼핑객이 모호하거나 여러 단어로 된 검색구문을 사용하면 빈 응답을 받을 수 있습니다. 쿼리 확장을 켜고 요청을 분석하면 파싱된 검색어에 따라 확장된 제품 목록이 반환됩니다.
Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
검색어 확장 개요
검색어 확장은 특히 롱테일 또는 복잡한 사용자 검색어의 경우 검색 재현율을 개선하고 결과가 없는 시나리오를 방지하도록 설계된 강력한 기능입니다.
제품 카탈로그에서 정확히 일치하는 제품을 찾을 수 없는 경우 검색어 확장은 관련 제품이나 대체 제품을 식별하여 표시합니다. 이렇게 하면 사용자 환경이 개선되고 전환율이 높아질 수 있습니다.
질문 확장 기능의 주요 사용 사례는 다음과 같습니다.
- 롱테일 검색어: 당뇨병 환자용 고단백 저지방 유기농 우유와 같이 매우 구체적인 검색의 경우 카탈로그에 완벽하게 일치하는 제품이 없을 수 있습니다. 검색어 확장을 사용하면 의도의 일부와 일치하는 제품(예: 당뇨병 환자용 우유, 고단백 우유 속성 또는 속성 값으로 태그된 제품)이 반환될 수 있습니다.
- 대체 제품: 사용자가 카탈로그에 없는 브랜드 또는 제품(예: 스타벅스 커피 100ml)을 검색하는 경우 쿼리 확장을 통해 구매 가능한 대체 커피 브랜드를 제안하여 검색이 막히는 것을 방지할 수 있습니다.
다음 섹션에서는 Vertex AI Search for Commerce의 쿼리 확장 기능의 기능, 트리거 메커니즘, 구성의 미묘한 차이를 설명하며, 특히 표준 필터의 중요한 역할에 중점을 둡니다.
검색어 확장 트리거 메커니즘
검색어 확장 또는 특정 검색어를 활성화하는 결정은 자동화되며 빠르게 구성할 수 있는 표준 필터 규칙을 기반으로 합니다.
- 트리거 조건: 표준 필터 쿼리를 사용한 초기 검색에서 제품 결과가 3개 미만인 경우에만 검색어 확장이 트리거됩니다.
- 기준: 기본적으로 3인 이 기준은 변경할 수 있습니다. 대부분의 전자상거래 사용 사례에 적합하며, 초기 결과 집합이 실제로 희소한 경우에만 검색어 확장이 활성화되도록 합니다.
최상위 필터와 표준 필터의 차이점 이해하기
검색 요청에서 두 가지 기본 필터 매개변수를 이해하는 것은 쿼리 확장을 올바르게 구현하는 데 매우 중요합니다.
최상위 필터 (
filter): 사용자에게 반환되기 전에 검색 결과에 적용되는 기본 필터입니다. 두 가지 잠재적 레이어의 조합입니다.비즈니스/기본 필터:
inStock=TRUE, category="groceries", storeId="XYZ"와 같이 사용자의 직접 입력 없이 모든 검색에 적용되는 사전 정의된 규칙입니다.사용자 선택 패싯 필터: 사용자가 검색 인터페이스와 상호작용하는 동안 동적으로 적용되는 필터입니다(예: brand="Adidas", size="L"의 패싯 필터 선택).
정규 필터 (
canonical_filter): 쿼리 확장 결정 모듈에서만 사용하는 특수 목적 필터입니다. 이 구성요소의 유일한 작업은 쿼리 확장 트리거 조건 (결과 5개 미만)이 평가되는 카탈로그 뷰를 정의하는 것입니다.
핵심 표준 필터 함수
표준 필터는 자연 검색 결과가 좋지 않은 경우와 사용자가 의도적으로 범위를 좁힌 결과 집합을 구분하기 위해 설계되었습니다.
시나리오 1
-
사용자 여정: 사용자가 티셔츠를 검색하고 수천 개의 결과를 확인합니다. 기본
business_filter가 있어 예를 들어 재고가 있는 제품과 맞춤 매장 수준 속성과 일치하는 제품만 필터링합니다. 그런 다음 사용자가 brand="Adidas" 및 size="L"에 패싯 필터를 적용하여 결과 수를 2개로 줄입니다. canonical_filter이filter와 동일한 경우: 쿼리 확장 결정 시스템에 결과가 2개만 표시되고 쿼리 확장이 잘못 트리거되어 사용자의 명시적 필터링을 무시하는 관련성이 없는 제품(예: Nike 티셔츠)이 표시됩니다.- 올바른 설정은
canonical_filter = business filter입니다: 쿼리 확장 결정은 사용자가 선택한 패싯을 제외한 초기 쿼리를 기반으로 이루어져야 합니다.
시나리오 2
-
사용자 여정: 사용자가 검은색 그래픽 프린트가 있는 아디다스 티셔츠를 검색하면 결과가 하나 또는 두 개만 표시됩니다(있는 경우). 예를 들어 재고가 있는 제품과 맞춤 스토어 수준 속성과 일치하는 제품만 필터링하는 기본
business_filter가 있습니다. canonical_filter이 설정되지 않았거나 올바르게 구성되지 않은 경우, 표준 필터로 검색하면 쿼리와 일치하지만 재고가 없거나 다른 매장의 제품(즉, 맞춤 매장 수준 속성의 값이 다른 제품)이 검색될 수 있습니다. 이 경우 검색어 확장이 트리거되지 않습니다.-
올바른 설정은
canonical_filter = business filter입니다. 쿼리 확장 결정에 따라 지정된 긴 쿼리에 대해 3개 미만의 제품이 발견되면 쿼리 확장이 트리거되고 관련 제품이 원래 쿼리로 가져옵니다. 즉, 재고가 있고 매장 수준 속성과 일치하는 제품이 가져옵니다. 따라서 검색 결과가 확장되어 다른 브랜드의 검은색 그래픽 프린트 티셔츠, 다른 색상의 그래픽 프린트 티셔츠 또는 검색된 브랜드의 다른 티셔츠 제품이 포함됩니다.
쿼리 확장 권장사항
표준 필터는 거의 항상 비즈니스 또는 기본 필터와 동일하게 설정해야 합니다. 이렇게 하면 사용자가 패싯을 적용하기 전에 처음 보는 광범위한 카탈로그 뷰에 대해 쿼리 확장 모듈이 쿼리의 잠재력을 평가합니다.
엔드 투 엔드 검색 및 검색어 확장 프로세스 흐름
검색 요청이 이루어지면 다음과 같은 여러 병렬 프로세스가 발생합니다.
요청 수신: API가 쿼리, 기본
filter,canonical_filter이 포함된 검색 요청을 수신합니다.질문 확장 결정 검색: 이와 동시에 질문 확장 결정 모듈은 표준 필터와 결합된 질문을 사용하여 자체 내부 검색을 실행합니다.
결과 수 확인: 모듈이 내부 검색에서 반환된 제품 수를 확인합니다.
- 결과가 5개 이상인 경우: 쿼리 확장이 트리거되지 않습니다. 표준 검색 결과는 최종 필터링 단계로 진행됩니다.
- 결과가 5개 미만인 경우: 쿼리 확장이 트리거됩니다. 모델은 관련 제품을 찾기 위해 쿼리를 체계적으로 완화합니다. 예를 들어 Pixel 5 휴대전화, Pixel 4 휴대전화, Pixel 이어폰 또는 삼성 휴대전화를 찾을 수 있습니다.
- 최종 필터링: 제품 세트 (원래 세트 또는 쿼리 확장으로 확장된 세트)가 최종 단계로 전달됩니다. 이 경우 비즈니스 규칙과 사용자가 선택한 패싯이 포함된 최상위 필터가 엄격하게 적용됩니다.
- 응답 전송됨: 최종 필터링된 제품 목록이 API 응답으로 반환됩니다.
선택적 검색어 확장 활성화의 고급 사용 사례
필터를 전략적으로 구성하여 카탈로그의 특정 부분에 대해 쿼리 확장을 사용 설정하거나 사용 중지할 수 있습니다.
식료품, 전자제품, 패션 의류가 포함된 대규모 카탈로그 시나리오를 고려해 보세요. 이러한 시나리오에서는 다음 사항을 염두에 두어야 합니다.
목표
찾기 어렵거나 부족한 식료품 검색어에 대해서는 검색어 확장을 사용 설정하지만 전자 제품이나 패션 상품에 대해서는 결과가 표시되지 않습니다. 여기서 비즈니스 요구사항은 식료품 부분에서만 선택적으로 검색어 확장을 사용 설정하는 것입니다.
구성
이 사용 사례 시나리오의 경우 선택적 쿼리 확장을 다음과 같이 구성할 수 있습니다.
canonical_filter: broad로 설정합니다. 식료품, 전자제품, 패션 등 모든 카테고리와 재고 여부와 같은 기본 규칙을 포함해야 합니다(category="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUE로 표준 필터 정의).filter: 사용자 컨텍스트에 따라 narrow로 설정합니다. 식료품 섹션의 사용자의 경우 필터는category="groceries" AND inStock=TRUE입니다.
작동 방식
이 시나리오에서 선택적 검색어 확장은 다음과 같이 작동합니다.
- 사용자가 'iPhone 20'을 검색하는 경우: 쿼리 확장 모듈은 광범위한 canonical_filter를 사용하여 기존 iPhone 모델을 찾고(결과 5개 미만) 쿼리 확장을 트리거하지 않기로 결정합니다. 그런 다음 표준 검색 결과 (기존 iPhone)가 기본 필터로 전달되며,
category="electronics"이category="groceries"과 일치하지 않으므로 차단됩니다. 사용자에게 결과가 0개로 올바르게 표시됩니다. - 사용자가 *고단백질 당뇨병 우유* 를 검색합니다. 질문 확장 모듈이 광범위한
canonical_filter를 사용하고 결과가 5개 미만이므로 관련 우유 제품을 찾아 질문 확장을 트리거합니다. 이러한 제품은 기본 필터로 전달됩니다.category="groceries"와 일치하므로 이러한 제품은 사용자에게 반환됩니다.
canonical_filter (의사 결정 뷰) 및 기본 filter (최종 출력 뷰)의 범위를 조작하면 검색 환경을 정확하게 제어할 수 있습니다.
데이터 세트 예시
이 페이지에서는 다음 데이터 세트를 예시로 사용합니다. 샘플 제품 설명 데이터 세트 내의 필드를 보려면 확장합니다.
제품 데이터 세트 예시
| ID | title | 브랜드 | 카테고리 | price_info.price |
|---|---|---|---|---|
| 'nest_mini_2nd_gen' | 'Nest Mini(2세대)' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 49.00 |
| 'nest_audio' | 'Nest Audio' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 99.99 |
| 'nest_hub_max' | 'Nest Hub Max' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 229.00 |
| 'nest_hub' | 'Nest Hub' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 88.99 |
| 'google_home_max' | 'Google Home Max' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 299.00 |
| 'google_home_mini' | 'Google Home Mini' | ['Google', 'Nest'] | ['Nest > 스피커 및 디스플레이'] | 49.00 |
| 'google_pixel_5' | 'Google Pixel 5' | ['Google', 'Pixel'] | ['Pixel > 휴대전화'] | 699.00 |
| 'google_pixel_4a_with_5g' | 'Google Pixel 4a 5G' | ['Google', 'Pixel'] | ['Pixel > 휴대전화'] | 499.00 |
| 'google_pixel_4a' | 'Google Pixel 4a 휴대전화' | ['Google', 'Pixel'] | ['Pixel > 휴대전화'] | 349.00 |
| 'google_pixel_stand' | 'Google Pixel Stand' | ['Google', 'Pixel'] | ['Pixel > 추천 액세서리'] | 79.00 |
| 'google_pixel_buds' | 'Google Pixel Buds' | ['Google', 'Pixel'] | ['Pixel > 추천 액세서리'] | 179.00 |
| 'google_pixel_5_case' | 'Google Pixel 5 케이스' | ['Google', 'Pixel'] | ['Pixel > 추천 액세서리'] | 40.00 |
| 'google_pixel_4a_5g_case' | 'Google Pixel 4a(5G) 케이스' | ['Google', 'Pixel'] | ['Pixel > 추천 액세서리'] | 40.00 |
| 'google_pixel_4a_case' | 'Google Pixel 4a 케이스' | ['Google', 'Pixel'] | ['Pixel > 추천 액세서리'] | 40.00 |
검색어 확장
검색어 확장은 특히 검색어(특히 롱테일 쿼리)의 결과가 적은 쿼리의 검색어 재현율을 높입니다.
이 검색 기능은 검색어 확장 조건을 결정하는 사양에 의해 작동합니다. 기본적으로 사용 중지된 pinUnexpandedResults 옵션이 포함되어 있습니다. true로 설정하면 비확장 제품이 검색 결과 상단에 표시됩니다. 상단에는 펼쳐진 결과가 표시됩니다.
Java
예를 들어 쿼리 확장 없이 Google Pixel 5를 검색하면 결과가 google_pixel_5 ID로 제한됩니다. 하지만 쿼리 확장을 사용하면 예시 제품 설명 데이터 세트에도 google_pixel_4a_with_5g, google_pixel_4a, google_pixel_5_case ID가 표시될 수 있습니다.