A expansão de consultas é o afrouxamento incremental das restrições de consultas para incluir mais resultados quando não são encontrados resultados ou são encontrados poucos inicialmente. Isto leva a um ajuste do tamanho do resultado por consulta.
Quando não existem documentos relevantes para uma consulta, a expansão de consultas devolve documentos menos relevantes para garantir que não devolve zero resultados da pesquisa.
Ao contrário da segmentação dinâmica ou dos controlos de publicação, por exemplo, a expansão de consultas não pode ser configurada diretamente na Google Cloud consola. Em alternativa, tem de configurar a expansão de consultas de forma programática para cada pedido de pesquisa. Leia mais para saber como configurar a expansão de consultas na API.
Tutorial de expansão de consultas
Este tutorial mostra como ativar a funcionalidade de expansão de consultas. Quando um comprador usa uma expressão de pesquisa ambígua ou com várias palavras, pode receber uma resposta vazia. Depois de ativar a expansão de consultas, o pedido é analisado e é devolvida a lista expandida de produtos com base na consulta de pesquisa analisada.
Para seguir orientações passo a passo para esta tarefa diretamente no editor do Cloud Shell, clique em Orientar-me:
Vista geral da expansão de consultas
A expansão de consultas é uma funcionalidade poderosa concebida para melhorar a capacidade de memorização da pesquisa e evitar cenários com zero resultados, particularmente para consultas de utilizadores complexas ou de cauda longa.
Em vez de não devolver resultados quando não é encontrada uma correspondência exata no catálogo de produtos, a expansão de consultas identifica e apresenta produtos relacionados ou alternativos. Isto melhora a experiência do utilizador e pode aumentar as taxas de conversão.
Os principais exemplos de utilização da expansão de consultas são:
- Consultas de cauda longa: para pesquisas altamente específicas, como leite biológico com elevado teor de proteína e baixo teor de gordura para diabéticos,o catálogo pode não ter uma correspondência perfeita. A expansão de consultas pode devolver produtos que correspondam a partes da intenção, como produtos etiquetados com atributos ou valores de atributos de leite adequado para diabéticos ou leite com elevado teor de proteína.
- Produtos alternativos: se os seus utilizadores pesquisarem uma marca ou um produto que não esteja no catálogo, como café Starbucks 100 ml,a expansão de consultas pode sugerir marcas de café alternativas disponíveis para compra, evitando uma pesquisa sem resultados.
As secções seguintes descrevem a funcionalidade, o mecanismo de acionamento e as nuances de configuração da funcionalidade de expansão de consultas na Vertex AI Search for commerce, com um foco específico no papel fundamental do filtro canónico.
Mecanismo de acionamento da expansão de consultas
A decisão de ativar a expansão de consultas ou uma determinada consulta de pesquisa é automática e baseada numa regra de filtro canónica rapidamente configurável.
- Condição de acionamento: a expansão de consultas só é acionada se a pesquisa inicial com a consulta de filtro canónica gerar menos de 3 resultados de produtos.
- Limite: este limite de 3 por predefinição pode ser alterado. Funciona bem para a maioria dos exemplos de utilização de comércio eletrónico, garantindo que a expansão de consultas só é ativada se e quando o conjunto de resultados inicial for genuinamente escasso.
Configure a expansão de consultas na API
A expansão de consultas é configurada programaticamente por pedido através da API da seguinte forma:
Configuração da API: controla a expansão de consultas incluindo o objeto
queryExpansionSpecno seuSearchRequest.Definições: no
queryExpansionSpec, define o campoconditioncomoAUTOpara ativar a funcionalidade ouDISABLEDpara a desativar, que é a predefinição se não for especificado.Fixação: opcionalmente, pode definir
pinUnexpandedResultscomotrueno pedido para garantir que as correspondências exatas da consulta original aparecem na parte superior dos resultados da pesquisa, seguidas pelos resultados expandidos. Para mais informações, leia a página sobre a fixação.
Configure filtros canónicos
Para que a expansão de consultas seja acionada de forma eficaz, tem de configurar corretamente o canonical_filter no seu pedido de pesquisa.
Para implementar corretamente a expansão de consultas, é fundamental compreender os dois parâmetros de filtro principais num pedido de pesquisa: os filtros de nível superior e os filtros canónicos.
Filtro de nível superior (
filter): este é o filtro principal aplicado aos resultados da pesquisa antes de serem devolvidos ao utilizador. É uma combinação de duas potenciais camadas:Filtro empresarial/base: regras predefinidas aplicadas a todas as pesquisas, muitas vezes sem introdução direta do utilizador, como
inStock=TRUE, category="groceries", storeId="XYZ".Filtros de facetas selecionados pelo utilizador: filtros aplicados dinamicamente pelo utilizador durante a interação com a interface de pesquisa, como a seleção de filtros de facetas para marca="Adidas", tamanho="L".
Filtros canónicos (
canonical_filter): este é um filtro de finalidade especial usado exclusivamente pelo módulo de decisão de expansão de consultas. A sua única função é definir a vista do catálogo em relação à qual a condição de acionamento da expansão de consultas (menos de cinco resultados) é avaliada.
Funções de filtro canónicas essenciais
O filtro canónico foi concebido para distinguir entre um resultado da pesquisa organicamente fraco e um conjunto de resultados que foi intencionalmente restrito pelo utilizador.
Cenário 1
-
Percurso do utilizador: o utilizador pesquisa t-shirt e recebe milhares de resultados. Existe um
business_filterpredefinido, de modo que, por exemplo, filtra apenas produtos em stock e produtos que correspondem a um atributo personalizado ao nível da loja. Em seguida, o utilizador aplica filtros de facetas para marca="Adidas" e tamanho="L", o que reduz a quantidade de resultados para dois. - Se
canonical_filterfor igual afilter: o sistema de decisão de expansão de consultas veria apenas 2 resultados e acionaria incorretamente a expansão de consultas, mostrando produtos relacionados, mas irrelevantes, como t-shirts da Nike, o que desrespeita a filtragem explícita do utilizador. - A definição correta é
canonical_filter = business filter: a decisão de expansão de consultas deve ser tomada com base na consulta inicial, excluindo as facetas selecionadas pelo utilizador.
Cenário 2
-
Percurso do utilizador: o utilizador pesquisa t-shirt adidas com estampados gráficos pretos e são apresentados apenas um ou dois resultados, se existirem. Existe um
business_filterpredefinido, de modo que, por exemplo, filtra apenas produtos em stock e produtos que correspondem a um atributo personalizado ao nível da loja. - Se
canonical_filternão estiver definido ou não estiver configurado corretamente, a pesquisa com o filtro canónico pode encontrar produtos que correspondem à consulta, mas que estão esgotados ou são de uma loja diferente, o que significa um valor diferente do atributo personalizado ao nível da loja. Neste caso, a expansão de consultas não é acionada. -
A definição correta é
canonical_filter = business filter. A decisão de expansão de consultas encontraria menos de três produtos para a consulta longa especificada e, em seguida, acionaria uma expansão de consultas e apresentaria produtos relacionados com a consulta original, ou seja, produtos em stock que correspondem ao atributo ao nível da loja. Assim, os resultados da pesquisa seriam expandidos para incluir uma t-shirt preta com um gráfico estampado de uma marca diferente, uma t-shirt com um gráfico estampado de outra cor ou outros produtos de t-shirts da marca na consulta.
Práticas recomendadas para a expansão de consultas
O filtro canónico deve ser quase sempre definido como idêntico ao filtro da empresa ou base. Isto garante que o módulo de expansão de consultas avalia o potencial da consulta em função da mesma vista geral do catálogo que os utilizadores veem inicialmente antes de começarem a aplicar facetas.
Fluxo do processo de pesquisa e expansão de consultas ponto a ponto
Quando é feito um pedido de pesquisa, ocorrem vários processos paralelos:
Pedido recebido: a API recebe o pedido de pesquisa que contém a consulta, o
filterprincipal e ocanonical_filter.Pesquisa de decisão de expansão de consultas: em paralelo, o módulo de decisão de expansão de consultas executa a sua própria pesquisa interna usando a consulta combinada com o filtro canónico.
Verificação da quantidade de resultados: o módulo verifica o número de produtos devolvidos pela respetiva pesquisa interna.
- Se os resultados forem cinco ou mais: a expansão de consultas não é acionada. Os resultados da pesquisa padrão avançam para o passo de filtragem final.
- Se os resultados forem inferiores a cinco: a expansão de consultas é acionada. O modelo afrouxa sistematicamente a consulta para encontrar produtos relacionados. Por exemplo, o modelo pode encontrar um telemóvel Pixel 5, telemóveis Pixel 4, auriculares Pixel ou até telemóveis Samsung.
- Filtragem final: o conjunto de produtos (o conjunto original ou o conjunto expandido da expansão de consultas) é transmitido para a fase final. Neste caso, o filtro de nível superior, que contém regras empresariais e facetas selecionadas pelo utilizador, é aplicado rigorosamente.
- Resposta enviada: a lista final filtrada de produtos é devolvida na resposta da API.
Exemplo de utilização avançado da ativação seletiva da expansão de consultas
Pode configurar estrategicamente os filtros para ativar ou desativar a expansão de consultas para partes específicas do seu catálogo.
Considere o cenário de um catálogo grande que contenha mercearia, eletrónica e vestuário de moda. Para este cenário, deve ter em atenção os seguintes aspetos.
Objetivo
Ativar a expansão de consultas para consultas de mercearia difíceis de encontrar ou escassas, mas mostrar zero resultados para artigos de eletrónica ou moda. A necessidade empresarial aqui é ativar a expansão de consultas apenas seletivamente na parte de mercearia.
Configuração
Para este cenário de exemplo de utilização, a expansão de consultas seletiva pode ser configurada da seguinte forma:
canonical_filter: defina-o como amplo. Deve incluir todas as categorias: mercearia, eletrónica e moda, além de quaisquer regras base, como a disponibilidade de stock, que definem o filtro canónico comcategory="groceries" OR category="electronics" OR category="fashion") AND inStock=TRUE)filter: defina-o como estreito, com base no contexto do utilizador. Para um utilizador na secção de mercearia, o filtro seriacategory="groceries" AND inStock=TRUE.
Como funciona
A expansão de consultas seletiva funciona neste cenário da seguinte forma:
- O utilizador pesquisa "iPhone 20": o módulo de expansão de consultas usa o canonical_filter amplo, encontra modelos de iPhone existentes (< 5 resultados) e decide não acionar a expansão de consultas. Os resultados da pesquisa padrão (iPhones existentes) são, em seguida, transmitidos ao filtro principal, que os bloqueia porque
category="electronics"não corresponde acategory="groceries". O utilizador vê corretamente zero resultados. - O utilizador pesquisa *leite para diabéticos com elevado teor de proteína:* o módulo de expansão de consultas usa a correspondência ampla
canonical_filtere encontra <5 resultados, acionando assim a expansão de consultas através da procura de produtos lácteos relacionados. Estes produtos são transmitidos para o filtro principal. Uma vez que correspondem acategory="groceries", estes produtos são devolvidos com êxito ao utilizador.
Ao manipular o âmbito do canonical_filter (a vista de tomada de decisões) e o filter principal (a vista de saída final), obtém um controlo preciso sobre a experiência de pesquisa.
Exemplo de conjunto de dados
Esta página usa o seguinte conjunto de dados como exemplo. Expanda-o para ver os campos no conjunto de dados de descrição do produto de exemplo.
Exemplo de conjunto de dados de produtos
| ID | título | marcas | categorias | price_info.price |
|---|---|---|---|---|
| "nest_mini_2nd_gen" | "Nest Mini (2.ª geração)" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 49,00 |
| "nest_audio" | "Nest Audio" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 99,99 |
| "nest_hub_max" | "Nest Hub Max" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 229,00 |
| "nest_hub" | "Nest Hub" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 88,99 |
| "google_home_max" | "Google Home Max" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 299,00 |
| "google_home_mini" | "Google Home Mini" | ["Google", "Nest"] | ["Nest > altifalantes e ecrãs"] | 49,00 |
| "google_pixel_5" | "Google Pixel 5" | ["Google", "Pixel"] | ["Pixel > phones"] | 699,00 |
| "google_pixel_4a_with_5g" | "Google Pixel 4a com 5G" | ["Google", "Pixel"] | ["Pixel > phones"] | 499,00 |
| "google_pixel_4a" | "Telemóveis Google Pixel 4a" | ["Google", "Pixel"] | ["Pixel > phones"] | 349,00 |
| "google_pixel_stand" | "Google Pixel Stand" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 79,00 |
| "google_pixel_buds" | "Google Pixel Buds" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 179,00 |
| "google_pixel_5_case" | "Capa para Google Pixel 5" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40,00 |
| "google_pixel_4a_5g_case" | "Capa para Google Pixel 4a (5G)" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40,00 |
| "google_pixel_4a_case" | "Capa para Google Pixel 4a" | ["Google", "Pixel"] | ["Pixel > featured accessories"] | 40,00 |
Expansão de consultas
A expansão de consultas aumenta a capacidade de resposta para termos de consulta com poucos resultados, especialmente consultas de cauda longa.
Esta funcionalidade de pesquisa é gerada por uma especificação que determina as condições de expansão de consultas. Inclui uma opção pinUnexpandedResults que está desativada por predefinição. Quando definida como true, apresenta produtos não expandidos na parte superior dos resultados da pesquisa. A parte superior é seguida pelos resultados expandidos.
Java
Por exemplo, se pesquisar Google Pixel 5 sem expansão de consultas, o resultado é restrito a IDs google_pixel_5. No entanto, com a expansão de consultas, também pode obter IDs google_pixel_4a_with_5g, google_pixel_4a e google_pixel_5_case no conjunto de dados de descrição do produto de exemplo.