Filtrar com o processamento de linguagem natural
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página explica como aplicar o processamento de linguagem natural para criar filtros automaticamente para consultas de pesquisa e, assim, melhorar a qualidade dos resultados retornados.
Você pode usar esse recurso com apps de pesquisa conectados a repositórios de dados estruturados.
Sobre a compreensão de consultas em linguagem natural
Se você tiver um app de pesquisa personalizada com dados estruturados, as consultas em linguagem natural dos usuários poderão ser reformuladas como consultas filtradas. Isso pode levar a resultados de pesquisa de melhor qualidade do que pesquisar palavras na string de consulta.
Por exemplo, uma consulta de linguagem natural como "Find a coffee shop serving
banana bread" pode ser reformulada como uma consulta e um filtro: "query": "banana bread", "filter": "type": ANY(\"cafe\").
Há dois tipos de filtros que podem ser aplicados para o entendimento de consultas em linguagem natural: rígidos e flexíveis.
Difícil. Por padrão, os filtros extraídos são aplicados como critérios obrigatórios que um resultado precisa atender para ser retornado.
O comportamento é semelhante ao campo filter na mensagem SearchRequest.
Suave. Uma alternativa ao filtro rígido é aplicar um reforço aos resultados da pesquisa. Os resultados promovidos têm mais chances de serem retornados, mas os que não atendem ao critério de promoção também podem ser retornados.
O comportamento é semelhante ao campo boost_spec na mensagem SearchRequest.
Você pode testar os dois tipos de filtro. Se as pesquisas não retornarem resultados suficientes, use o filtro flexível em vez do rígido.
Exemplo: extração de campos de consultas (filtro rígido)
Esse recurso de compreensão de consultas em linguagem natural é explicado com o exemplo de pesquisa de um hotel.
Considere a seguinte consulta feita a um repositório de dados estruturados para um site de hotel:
"Encontre um hotel para famílias com pelo menos quatro estrelas que custe menos
de R$ 300 por noite, permita que eu leve meu cachorro e tenha Wi-Fi gratuito."
Sem o entendimento de consultas em linguagem natural, o app de pesquisa procura documentos que contenham as palavras da consulta.
Com a compreensão de consultas em linguagem natural e dados estruturados adequadamente, a pesquisa se torna mais eficaz ao substituir parte da linguagem natural na consulta por filtros.
Se os dados estruturados tiverem campos para star_rating (números), price (números) e amenities (strings), a consulta poderá ser formulada para incluir os seguintes filtros:
Exemplo: com um filtro de geolocalização (filtro rígido)
Este exemplo é semelhante ao anterior, mas inclui um filtro de geolocalização, que é um tipo especial de filtro extraído.
A Vertex AI para Pesquisa consegue reconhecer locais em uma consulta e
criar filtros de proximidade para eles.
Faça a seguinte consulta em um site de negócios em todo o estado:
"Encontre um hotel elegante e moderno com pelo menos quatro estrelas em São Francisco".
Com a compreensão de consultas em linguagem natural e o filtro de geolocalização, a pesquisa é reformulada para incluir o seguinte filtro de um hotel com pelo menos uma classificação de 4 estrelas e em um raio de 10 km de São Francisco:
Neste exemplo, GEO_DISTANCE é um endereço, mas em outras consultas, ele pode ser escrito como latitude e longitude, mesmo que a consulta original contenha um endereço.
Exemplo: extração de campos de consultas (filtro flexível)
Esse recurso de compreensão de consultas em linguagem natural é explicado com o exemplo de pesquisar um hotel, mas mostrar alguns resultados que não atendem a todos os critérios.
Confira a seguinte consulta feita a um site de viagens:
"Encontre um hotel para famílias com pelo menos quatro estrelas que custe menos
de R$ 300 por noite e que permita que eu leve meu cachorro."
Com a compreensão de consultas em linguagem natural e dados estruturados adequadamente, a pesquisa se torna mais eficaz ao substituir parte da linguagem natural na consulta por filtros flexíveis. Se os dados estruturados tiverem campos para star_rating (números), price (números) e amenities (strings), a consulta poderá ser reescrita como o seguinte reforço:
Condição de otimização extraída da consulta em linguagem natural:
Nesse caso, talvez alguns hotéis com classificação mais baixa ou que não aceitam animais de estimação sejam retornados.
Limitações
As seguintes limitações se aplicam à compreensão de consultas em linguagem natural:
A compreensão de consultas de linguagem natural não pode ser aplicada a apps de pesquisa combinada. Você vai receber um erro se tentar usar a compreensão de consultas em linguagem natural com um app de pesquisa combinada.
A compreensão de consultas em linguagem natural só funciona para apps de pesquisa personalizados que usam repositórios de dados estruturados.
Usar o entendimento de consultas em linguagem natural aumenta a latência. Por isso, talvez você prefira não usar esse recurso se a latência for um problema.
Para geolocalização, o local precisa ser descrito explicitamente. Não é possível usar locais como "perto de mim" ou "casa".
O raio para geolocalização é de 10 km e não pode ser configurado.
Campos booleanos não podem ser usados em filtros. Por exemplo, se a consulta for "Encontre um quarto de hotel para não fumantes", um campo booleano como "non_smoking": true não será útil, mas um campo de string como "non_smoking": "YES" poderá fazer parte do filtro.
Antes de começar
Antes de começar a usar a compreensão de consultas em linguagem natural, é preciso ativar esse recurso para os repositórios de dados estruturados conectados aos apps que você planeja usar.
Para ativar a compreensão de consultas em linguagem natural, siga estas etapas:
REST
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console Google Cloud , acesse a página Aplicativos de IA e
no menu de navegação, clique em Repositórios de dados.
Repita as etapas 1 e 2 para cada repositório de dados.
Aguarde aproximadamente 24 horas.
Se você tentar usar a compreensão de consultas em linguagem natural antes que o repositório de dados esteja pronto, a resposta
será a mesma que se filterExtractionCondition estivesse definido como DISABLED.
Pesquisar, convertendo consultas em linguagem natural em filtros
Para pesquisar uma consulta em linguagem natural e receber resultados otimizados para
consultas em linguagem natural, faça o seguinte:
Pesquisar, convertendo locais em consultas para filtros de geolocalização
Para pesquisar uma consulta em linguagem natural e receber resultados otimizados para
consultas em linguagem natural, incluindo proximidade de locais, faça o seguinte:
Especificar campos para consultas em linguagem natural
Para que um campo seja usado como filtro na compreensão de consultas em linguagem natural, ele precisa ser marcado como
indexável no esquema. Para informações gerais sobre como visualizar e editar um esquema, consulte Atualizar um esquema.
A Vertex AI Search determina quais dos campos indexáveis no esquema fazem sentido usar em filtros de compreensão de consultas em linguagem natural. No entanto, se
campos forem incluídos que você não quer, crie uma lista de permissões para
especificar quais campos podem ser usados.
Considere um site de reservas de hotéis, em que há campos como amenities, id, price_per_night, rating e room_types. Se o id for uma string de caracteres e números, a Vertex AI para Pesquisa provavelmente vai excluir esse valor dos campos usados para entender consultas em linguagem natural.
No entanto, se você notar que a Vertex AI Search está retornando resultados de consulta de baixa qualidade porque não está excluindo campos que deveria, especifique quais campos podem ser usados. Por exemplo, se o esquema de hotel tiver um campo para renovation_status que não é útil para os clientes e pode ser embaraçoso para a rede de hotéis, é possível excluir esse campo da lista de campos permitidos.
Exemplo de um registro do repositório de dados estruturados de dados de hotéis.
{"title":"Miller-Jones","rating":1.7,"price_per_night":115.16,"id":2902,…],"amenities":["Spa","Parking","Restaurant"…],"renovation_status":"Restaurant and spa renovation planned for 2027"}
Uma lista de permissões adequada para campos neste exemplo seria ["amenities",
"price_per_night", "rating", "title"].
renovation_status não está na lista.
Para especificar uma lista de permissões de campos que podem ser usados em uma compreensão de consulta em linguagem natural em uma pesquisa, faça o seguinte:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-04 UTC."],[],[]]