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 a compreensão 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 de linguagem natural
Se você tiver um app de pesquisa personalizado com dados estruturados, as consultas de linguagem natural dos usuários poderão ser reformuladas como consultas filtradas. Isso pode levar a resultados de pesquisa de melhor qualidade do que a pesquisa de 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\").
Flexíveis. Uma alternativa ao filtro rígido é aplicar um aumento aos resultados da pesquisa. Os resultados aumentados têm mais probabilidade de serem retornados, mas os resultados que não atendem ao critério de aumento também podem ser retornados.
Exemplo: extração de campos de consultas (filtro rígido)
Esse recurso de compreensão de consultas de linguagem natural é explicado pelo exemplo de pesquisa de um hotel.
Faça a seguinte consulta a um repositório de dados estruturados para um site de hotel:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, lets me bring my dog, and has free Wi-Fi."
Sem a compreensão de consultas de linguagem natural, o app de pesquisa procura documentos que contenham as palavras na consulta.
Com a compreensão de consultas de linguagem natural e dados estruturados adequadamente, a pesquisa se torna mais eficaz substituindo 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, exceto que inclui um filtro de geolocalização , que é um tipo especial de filtro extraído.
A Pesquisa do agente tem a capacidade de reconhecer locais em uma consulta e criar filtros de proximidade para os locais.
Faça a seguinte consulta a um site de negócios estadual:
"Find me a chic and stylish hotel with at least 4 stars that is in San
Francisco."
Com a compreensão de consultas de linguagem natural e o filtro de geolocalização, a pesquisa é reformulada para incluir o seguinte filtro para um hotel com pelo menos 4 estrelas e em um raio de 10 km de São Francisco:
Neste exemplo, o GEO_DISTANCE é um endereço, mas em outras consultas, ele pode ser escrito como uma 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 de linguagem natural é explicado pelo exemplo de pesquisa de um hotel, mas mostrando alguns resultados que não atendem a todos os critérios.
Faça a seguinte consulta a um site de viagens:
"Find me a family-friendly hotel with at least four stars that costs less
than 300 a night, and lets me bring my dog."
Com a compreensão de consultas de linguagem natural e dados estruturados adequadamente, a pesquisa se torna mais eficaz substituindo 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 aumento:
Condição de aumento extraída da consulta de linguagem natural:
Nesse caso, talvez alguns hotéis com classificação mais baixa ou que não aceitam animais de estimação sejam retornados.
A intensidade do aumento depende do número de filtros estruturados que um documento corresponde. Se três condições forem extraídas e o documento corresponder apenas a uma delas, o documento receberá um pequeno aumento.
Como alternativa, se o documento corresponder a todas as três condições, ele receberá um aumento forte.
Limitações
As seguintes limitações se aplicam à compreensão de consultas de linguagem natural:
A compreensão de consultas de linguagem natural não pode ser aplicada a apps de pesquisa combinados. Você receberá um erro se tentar usar a compreensão de consultas de linguagem natural com um app de pesquisa combinado.
A compreensão de consultas de linguagem natural funciona apenas para apps de pesquisa personalizados que usam repositórios de dados estruturados.
O uso da compreensão de consultas de linguagem natural aumenta a latência. Portanto, você pode optar por não usá-la se a latência for um problema.
Para a geolocalização, o local precisa ser descrito explicitamente. Não é possível usar locais como "perto de mim" ou "casa".
O raio da 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 "Find
me a non-smoking hotel room", 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 de linguagem natural, você precisa ativá-la para os repositórios de dados estruturados conectados aos apps que planeja usar.
Para ativar a compreensão de consultas de 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 Google Cloud console, 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 de linguagem natural antes que o repositório de dados esteja pronto, a resposta recebida será a mesma que se filterExtractionCondition estivesse definido como DISABLED.
Pesquisar, convertendo consultas de linguagem natural em filtros
Para pesquisar uma consulta em linguagem natural e receber resultados otimizados para consultas de 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 de linguagem natural, incluindo a proximidade de locais, faça o seguinte:
Especificar campos para consultas de linguagem natural
Para que um campo seja usado como filtro na compreensão de consultas de 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 Pesquisa do agente determina quais dos campos indexáveis no esquema fazem sentido para usar em filtros de compreensão de consultas de linguagem natural. No entanto, se você incluir campos que não quer, será necessário criar 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. Desses, se o id for uma string de caracteres e números, é provável que a Pesquisa do agente o exclua dos campos usados para a compreensão de consultas de linguagem natural.
No entanto, se você observar que a Pesquisa do agente está retornando resultados de consulta de baixa qualidade porque não está excluindo os campos que deveria, será necessário especificar quais campos podem ser usados. Por exemplo, se o esquema do hotel tiver um campo para renovation_status que não seja útil para os clientes e possa ser embaraçoso para a rede de hotéis, você poderá excluí-lo da lista de campos permitidos.
Exemplo de um registro do repositório de dados estruturados de dados de hotel.
{"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"].
O renovation_status está ausente da lista.
Para especificar uma lista de permissões de campos que podem ser usados em uma compreensão de consultas de 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 2026-05-21 UTC."],[],[]]